hidden field

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

PHP Developer

Zie jij mogelijkheden om onze tooling technisch te verbeteren en uit te bouwen? Over Jobmatix Jobmatix is een innovatieve en internationale speler op het gebied van jobmarketing. Onze jobmarketing automation tool helpt organisaties bij het aantrekken van nieuw talent door vacatures digitaal, geautomatiseerd en op een efficiënte manier te adverteren en onder de aandacht te brengen bij de doelgroep op 25+ jobboards. Volledig performance-based, waarbij organisaties betalen op basis van cost per click of cost per applicant. Maandelijks wordt onze jobmarketing automation tool al gebruikt door vele directe werkgevers, intermediairs en mediabureaus, waaronder Picnic, Rijkswaterstaat, AdverOnline, Schiphol, DPA, Teleperformance en

Bekijk vacature »

Medior/senior Front-end developer (Vue.js)

Functie Als Front-end developer ben je uiteindelijk overkoepelend aan de slag voor de 3 ontwikkelteams die ieder aan een specifiek product werken. In samenwerking met de UX-designer en de huidige Front-end developer zorg je voor gebruiksvriendelijke software. Lijkt het jou interessant om complexe problemen op te lossen en feautures naar een hoger niveau te tillen? En vind je het niet erg om oudere delen van de applicaties te refactoren i.c.m. het toevoegen van nieuwe functionaliteiten? Dan komen wij graag met je in contact. Eisen • HBO werk- en denkniveau (ze kijken niet naar papieren, maar naar denkniveau, motivatie en zelfredzaamheid)

Bekijk vacature »

Frontend Developer

Functieomschrijving Voor de NIPV zijn wij opzoek naar een Frontend Developer. Als Frontend Developer ga jij aan de slag om dashboards te bouwen vanuit het datawarehouse. Dit stelt NIPV in staat om snel en eenvoudig bij correcte bedrijfsvoeringsinformatie te kunnen. Je ontwikkelt dashboards in PowerBI, publiceert en onderhoud die, verzameld en verwerkt feedback in overleg met het ontwikkelteam. Naast dashboards ontwikkel en onderhoud je een datamodel in Excel waarmee adviseurs, controllers en analisten in staat worden gesteld om de gegevens uit de dashboards te raadplegen en anders te filteren of bepaalde gegevens nader te verfijnen, zodat verdiepende vragen kunnen worden

Bekijk vacature »

Full Stack Software Developer C#.NET

Functieomschrijving Wij zijn op zoek naar een gepassioneerde Full Stack C#.NET Software Developer. Als Software Developer ben je verantwoordelijk voor het ontwikkelen van webapplicaties, apps en dashboards voor de eigen IOT-oplossingen. Je werkt samen met andere ontwikkelaars en engineers om de sensoren in machines uit te lezen en deze data om te zetten in management informatie voor jullie klanten. Taken en verantwoordelijkheden: Ontwikkelen en onderhouden van webapplicaties, apps en dashboards voor de eigen IOT-oplossingen. Testen en valideren van de ontwikkelde software. Actief deelnemen aan code reviews en bijdragen aan het verbeteren van de kwaliteit van de software. Je gaat aan

Bekijk vacature »

Junior PHP ontwikkelaar

Functie Wij hebben onlangs onze eerste collega’s aangenomen, waardoor ons development team momenteel uit 4 personen bestaat. We bouwen onze software op basis van een PHP-framework (wat op zichzelf een Symfony framework is). Qua ontwikkeling focussen wij ons op 3 focus velden; – API-ontwikkeling/ Component Creatie – Implementatie – Framework ontwikkeling; het toevoegen van nieuwe functionaliteit of interne microservices Onze senior software engineer focust zich momenteel op de laatste twee punten, maar wij komen handen te kort op het eerste veld. Daarom zijn wij op zoek naar een enthousiaste junior software engineer die graag de kneepjes van het vak wil

Bekijk vacature »

Mendix Ontwikkelaar - Vernieuwen van het applicati

Bedrijfsomschrijving De ontwikkelingen in de transportsector gaan razendsnel. Bij ons kun je een belangrijke rol spelen in deze sector. We streven ernaar om onze klanten te ontzorgen op het gebied van continuïteit en veiligheid met innovatieve producten en diensten. We willen dat onze klanten de veiligste vervoerders van Europa worden. Ons team werkt hard om deze ambitieuze doelstellingen te bereiken en we bieden een motiverende werkomgeving aan. We zijn op zoek naar zelfstarters met een focus op resultaat en beslissingsbevoegdheid. Functieomschrijving Als Mendix ontwikkelaar bij deze organisatie heb je een gevarieerde baan. Het applicatielandschap wordt vernieuwd en de “schade en

Bekijk vacature »

Ervaren Software Developer

Functie omschrijving Ben jij een ervaren Software Developer, en heb je ervaring met technieken zoals C#, MS Access & SQL? Vind jij het leuk om maatwerk software te ontwikkelen voor klanten in een specifieke branche? Dan is dit de baan voor jou! Als ontwikkelaar ben jij samen met een team van 12 collega’s verantwoordelijk voor het bouwen van nieuwe functionaliteiten en het uitbreiden van de core applicatie. Belangrijk is dat je ervaring hebt met C# en MS Access. Je bent flexibel en klantvriendelijk ingesteld, omdat het belangrijk is om de klanten zo goed mogelijk van dienst te kunnen zijn. Thuiswerken

Bekijk vacature »

Software developer (Python)

Functie Je komt te werken in het IT-team bestaande uit de Lead developer en 4 (medior/senior) developers. Gezamenlijk werken jullie aan de verbetering en uitbreiding van de software. Binnen het development team is er veel vrijheid en zelfstandigheid, zonder dat ze hiermee afdoen aan de kwaliteit. Zo hebben ze elke ochtend een korte stand-up (10:00 uur) en houden ze zo nu en dan pair-programming sessies. Ook is er een hele professionele ontwikkelcyclus waarbij code altijd eerst door een collega wordt getest voordat het naar deployement gaat. Je hebt in je werk oog voor kwaliteit, risico’s en het klantbelang. Communicatie met

Bekijk vacature »

Fullstack developer

Functieomschrijving Heb jij kort geleden jouw HBO ICT diploma in ontvangst mogen nemen? Of ben je toe aan een andere uitdaging? Voor een erkende werkgever in de omgeving van Breda zijn wij op zoek naar een Fullstack developer. Kennis of ervaring met C# & SQL is een must! Je houdt je bezig met het ontwikkelen van nieuwe functionaliteiten; Je bent verantwoordelijk voor de beheer en ontwikkeling van de software; Je draagt bij aan de implementatie van aanpassingen, verbeteringen en aanvullingen in de C# based applicaties; Je test de software en ontwikkelt deze door; Je brengt de aanpassingssuggesties van klanten in

Bekijk vacature »

Senior Airport Developer ( System engineer)

De functie Nice to know (you) De nieuwe A-pier wordt de duurzaamste van Schiphol. Als deze af is ligt er 4000 vierkante meter zonnepanelen op het dak. En de toiletten? Die spoelen door met regenwater. we gaan ervoor: het creëren van de meest duurzame en hoogwaardige luchthavens ter wereld. een toekomstbestendig en duurzaam Schiphol. Daar werken we elke dag hard aan in team Development & Sustainability. Jij bent regisseur, expert én aanjager van de ontwikkeling van Schiphol. Connecting your world Hoe maak je de ambities en doelstellingen van Schiphol concreet in een project? De waarde voor Schiphol naar eisen die

Bekijk vacature »

.NET Developer C#

Dit ga je doen Als developer nieuwe gave features implementeren; Werken met technieken als C# .NET en (REST) API's webservices; Ontwikkelen van koppelingen middels API's; Maken van technische keuzes en beslissingen over de architectuur; Junior collega's coachen; Initiatief nemen voor nieuwe technische mogelijkheden; Je bent een belangrijke schakel - en vindt het leuk - om te schakelen met de business. Hier ga je werken Als C# .NET Developer wordt je verantwoordelijk voor het ontwikkelen van applicaties voor belangrijkste product van deze organisatie. Dit product is een applicatie voor alles omtrent hypotheken. De programmeertaal die je hierbij beheerst is C#. Er

Bekijk vacature »

.NET Developer

Dit ga je doen Programmeren in .NET, Javascript & C# en ontwikkelen in Web Services, Windows Services en MS SQL Server; Zelfstandig verbanden maken Analyseren, testen, bugs fixen, reviewen en rapporteren; Juiste prioriteiten stellen en verantwoordelijkheid nemen; Op architectuur niveau meedenken; Af en toe klanten bezoeken. Hier ga je werken Voor onze relatie zijn wij opzoek naar een .NET ontwikkelaar met minimaal 3 jaar werkervaring. Je komt te werken in een groeiend bedrijf met betrokken collega's die zorgen voor een familiaire sfeer op de werkvloer. Als .NET ontwikkelaar word jij vanaf de eerste werkdag betrokken bij het gehele ontwikkelproces. De

Bekijk vacature »

Software Ontwikkelaar PHP

Functie omschrijving Full Stack Software Ontwikkelaar gezocht! Voor een bedrijf in de regio van Ermelo zijn wij op zoek naar een Software Ontwikkelaar die gaat bijdragen aan het door ontwikkelen, onderhouden en optimaliseren van SaaS applicatie van dit bedrijf. Hierbij ga jij voor- en samenwerken met de klanten van de organisatie, het is hierbij dus van groot belang dat je communicatief vaardig bent en dat je beschikt over beheersing van zowel de Nederlandse als Engelse taal. Bedrijfsprofiel Waar ga je werken? Altijd al in een echt familiebedrijf willen werken? Dan is dit je kans! Het bedrijf waar je komt te

Bekijk vacature »

PHP developer (Symfony, Doctrine)

Functie Als PHP developer wordt er een hoge mate van zelfstandigheid verwacht, maar ook dat je goed opereert in een team waar kennis wordt gedeeld en dingen als codereviews erg veel voorkomen. Kwaliteit staat voorop, mede hierom werken ze bijvoorbeeld zonder echte deadlines in hun sprints. De SaaS-applicatie wordt volledig ontwikkeld in PHP en Symfony. De module bestaat uit een stuk informatie verrijking en intelligentie wat resulteert in een medische check. De logica wordt daarom in de code geïntrigeerd. Je bent onder andere bezig met complexe databases waar meer dan 80.000 medicijnen op verschillende niveaus in staan, die maandelijks worden

Bekijk vacature »

Fullstack developer (NodeJS, React, AWS)

Functie Als Fullstack developer kom je te werken in het ontwikkelteam, maar zoals gezegd komt er veel meer bij kijken dan alleen maar ontwikkelen. Je bent samen met je collega’s continu bezig om de software uit te breiden maar hiernaast doe je doorlopend onderzoek naar de inzet van bijvoorbeeld Machine Learning. Ze willen met hun software echt voorlopen op andere en toegevoegde waarde leveren voor de eindgebruiker. Mede hierom zijn ze erg benieuwd naar iemand zijn persoonlijkheid, of hij graag nieuwe dingen uitzoekt (Google!), en initiatief neemt. Maar waar staan ze nu? Na een onderzoeksfase van ruim een jaar zijn

Bekijk vacature »
Rob migaleddu

rob migaleddu

13/03/2017 21:09:59
Quote Anchor link
The return URL is already set in form form as a hidden field

mijn vraag is kan ik de plaats opzoeken waar de hidden field zou moeten zijn


(op mijn site als je betaald met paypal het geld komt wel aan ...maar de mensen krijgen een foutmelding,
dus ik vermoed dat de foutmelding komt via de auto return
foutmelding is : eeror occurred! whoops an error ha occured the payment was stopped if the problem persist please contact us

maar het geld overmaken is wel juist en komt goed aan
of is mijn return url niet goed bij PayPal ( want ik weet niet wat ik daar zou moeten invullen


als iemand idee heeft


mvg rob
 
PHP hulp

PHP hulp

22/11/2024 10:41:53
 
- Ariën  -
Beheerder

- Ariën -

13/03/2017 21:53:34
Quote Anchor link
Ik vermoed dat je de return URL op twee manieren al meegeeft, waaronder al in het formulier. Dit kan mogelijk een GET-request zijn.

Heb je relevante code hoe jij die request naar PayPal doet.
 
Rob migaleddu

rob migaleddu

13/03/2017 21:55:43
Quote Anchor link
bedoel je dit???

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?php
  * @param object $oMembership The Object Membership Model.
     * @
return void
     */
    public function buttonPayPal($oMembership)
    {

        $oPayPal = new PayPal($this->config->values['module.setting']['sandbox.enabled']);

        $oPayPal->param('business', $this->config->values['module.setting']['paypal.email'])
            ->
param('custom', base64_encode($oMembership->groupId . '|' . $oMembership->price)) // Use base64_encode() to discourage curious people
            ->param('amount', $oMembership->price)
            ->
param('item_number', $oMembership->groupId)
            ->
param('item_name', $this->registry->site_name . ' ' . $oMembership->name)
            ->
param('no_note', 1)
            ->
param('no_shipping', 1)
            ->
param('currency_code', $this->config->values['module.setting']['currency'])
            ->
param('tax_cart', $this->config->values['module.setting']['vat_rate'])
            ->
param('return', Uri::get('payment', 'main', 'process', 'paypal'))
            ->
param('rm', 2) // Auto redirection in POST data
            ->param('notify_url',  Uri::get('payment', 'main', 'notification', 'PayPal'))
            ->
param('cancel_return', Uri::get('payment', 'main', 'pay', '?msg=' . t('The payment was aborted. No charge has been taken from your account.'), false));

        echo
        '<form action="', $oPayPal->getUrl(), '" method="post">',
            $oPayPal->generate(),
            '<button class="btn btn-primary btn-lg" type="submit" name="submit">', static::buyTxt($oMembership->name, 'PayPal'), '</button>
        </form>'
;

        unset($oPayPal, $oMembership);
?>

- Ariën -:
Gelieve in het vervolg bij code de [code][/code]-tags gebruiken.
Hier kan je meer lezen over de mogelijke opmaakcodes.
Alvast bedankt!


Toevoeging op 13/03/2017 21:57:07:

ik weet niet wat ik in de return url moet schrijven bij PayPal
omdat ik de url niet vind



gr
Gewijzigd op 13/03/2017 21:57:00 door - Ariën -
 
- Ariën  -
Beheerder

- Ariën -

13/03/2017 21:58:10
Quote Anchor link
En de generate() functie?
 
Rob migaleddu

rob migaleddu

13/03/2017 21:59:45
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
/**
 * @title          Stripe
 *
 * @author         Pierre-Henry Soria <[email protected]>
 * @copyright      (c) 2015-2016, Pierre-Henry Soria. All Rights Reserved.
 * @license        GNU General Public License; See PH7.LICENSE.txt and PH7.COPYRIGHT.txt in the root directory.
 * @package        PH7 / App / System / Module / Payment / Inc / Class
 * @version        1.0
 */

namespace PH7;

class Stripe extends Framework\Payment\Gateway\Api\Stripe
{
    use Api; // Import the Api trait

    /**
     * @param string $sPrice Normal price format (e.g., 19.95).
     * @return integer Returns amount in cents (without points) to be validated for Stripe.
     */

    public static function getAmount($sPrice)
    {

        return str_replace('.', '', $sPrice);
?>


Toevoeging op 13/03/2017 22:00:34:

wat bedoel je met generate functie ? of waar vind ik deze
 
- Ariën  -
Beheerder

- Ariën -

13/03/2017 22:03:10
Quote Anchor link
Die vind je in de class PayPal.
 
Rob migaleddu

rob migaleddu

13/03/2017 22:05:50
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
<?php
/**
 * @title            PayPal Class
 *
 * @author           Pierre-Henry Soria <[email protected]>
 * @copyright        (c) 2012-2016, Pierre-Henry Soria. All Rights Reserved.
 * @license          GNU General Public License; See PH7.LICENSE.txt and PH7.COPYRIGHT.txt in the root directory.
 * @package          PH7 / Framework / Payment / Gateway / Api
 * @version          1.1
 */


namespace PH7\Framework\Payment\Gateway\Api;
defined('PH7') or exit('Restricted access');

use PH7\Framework\File\Stream, PH7\Framework\Url\Url;

/**
 * PayPal class using PayPal's API
 *
 * @link https://developer.paypal.com/docs/integration/direct/identity/seamless-checkout/
 */

class Paypal extends Provider implements Api
{

    private
    $_sUrl = 'https://www.paypal.com/cgi-bin/webscr',
    $_sRequest = 'cmd=_notify-validate',
    $_sMsg,
    $_bValid = null;


    /**
     * @param boolean $bSandbox Default FALSE
     * @return void
     */

    public function __construct($bSandbox = false)
    {

        if ($bSandbox) $this->_sUrl = 'https://www.sandbox.paypal.com/cgi-bin/webscr';

        $this->param('cmd', '_xclick');
    }


    /**
     * Get Checkout URL.
     *
     * @return string
     * @internal We added an empty parameter for the method only to be compatible with the API interface.
     */

    public function getUrl($sParam = '')
    {

        return $this->_sUrl;
    }


    /**
     * Get message status.
     *
     * @return string
     */

    public function getMsg()
    {

        return $this->_sMsg;
    }


    /**
     * Check if the transaction is valid.
     *
     * @return boolean
     * @internal We added two empty parameters for the method only to be compatible with the API interface.
     */

    public function valid($sParam1 = '', $sParam2 = '')
    {

        // If already validated, just return last result
        if (true === $this->_bValid || false === $this->_bValid) return $this->_bValid;

        $this->setParams();

        $mStatus = $this->getStatus();

        // Valid
        if (0 == strcmp('VERIFIED', $mStatus))
        {

            if ($_POST['payment_status'] == 'Completed')
            {

                $this->_bValid = true;
                $this->_sMsg = t('Transaction valid and completed.');
            }

            else
            {
                $this->_bValid = false;
                $this->_sMsg = t('Transaction valid but not completed.');
            }
        }

        // Invalid
        elseif (0 == strcmp('INVALID', $mStatus))
        {

            $this->_bValid = false;
            $this->_sMsg = t('Invalid transaction.');
        }

        // Bad Connection
        else
        {
            $this->_bValid = false;
            $this->_sMsg = t('Connection to PayPal failed.');
        }


        return $this->_bValid;
    }


    /**
     * Connect to Paypal.
     *
     * @return mixed (boolean | string) Message from the transaction status on success or FALSE on failure.
     */

     protected function getStatus()
     {

         $rCh = curl_init($this->_sUrl);
         curl_setopt($rCh, CURLOPT_POST, 1);
         curl_setopt($rCh, CURLOPT_RETURNTRANSFER, 1);
         curl_setopt($rCh, CURLOPT_POSTFIELDS, $this->_sRequest);
         curl_setopt($rCh, CURLOPT_SSL_VERIFYPEER, 1);
         curl_setopt($rCh, CURLOPT_SSL_VERIFYHOST, 2);
         curl_setopt($rCh, CURLOPT_HTTPHEADER, array('Host: www.paypal.com'));
         $mRes = curl_exec($rCh);
         curl_close($rCh);
         unset($rCh);

         return $mRes;
     }


    /**
     * Set the data parameters POST from PayPal system.
     *
     * @return object this
     */

     protected function setParams()
     {

         foreach ($this->getPostDatas() as $sKey => $sValue)
             $this->setUrlData($sKey, $sValue);

         return $this;
     }


    /**
     * Set data URL e.g., "&key=value"
     *
     * @param string $sName
     * @param string $sValue
     * @return object this
     */

    protected function setUrlData($sName, $sValue)
    {

        $this->_sRequest .= '&' . $sName . '=' . Url::encode($sValue);
        return $this;
    }


    /**
     * Get the Post Data.
     *
     * @return array
     */

    protected function getPostDatas()
    {

        $rRawPost = Stream::getInput();
        $aRawPost = explode('&', $rRawPost);
        $aPostData = array();

        foreach ($aRawPost as $sKeyVal)
        {

            $aKeyVal = explode ('=', $sKeyVal);
            if (count($aKeyVal) == 2)
                $aPostData[$aKeyVal[0]] = Url::encode($aKeyVal[1]);
            unset($aKeyVal);
        }

        unset($aRawPost);

        return $aPostData;
    }

}

//deze

?>
 
- Ariën  -
Beheerder

- Ariën -

13/03/2017 22:09:08
Quote Anchor link
Zoek anders even je met editor naar function generate
Gewijzigd op 13/03/2017 22:09:24 door - Ariën -
 
Rob migaleddu

rob migaleddu

13/03/2017 22:14:16
Quote Anchor link
op lijn 383

Toevoeging op 13/03/2017 22:15:18:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
<?php
tinyMCEPopup.requireLangPack();

var
defaultFonts = "" +
    "Arial, Helvetica, sans-serif=Arial, Helvetica, sans-serif;" +
    "Times New Roman, Times, serif=Times New Roman, Times, serif;" +
    "Courier New, Courier, mono=Courier New, Courier, mono;" +
    "Times New Roman, Times, serif=Times New Roman, Times, serif;" +
    "Georgia, Times New Roman, Times, serif=Georgia, Times New Roman, Times, serif;" +
    "Verdana, Arial, Helvetica, sans-serif=Verdana, Arial, Helvetica, sans-serif;" +
    "Geneva, Arial, Helvetica, sans-serif=Geneva, Arial, Helvetica, sans-serif";

var
defaultSizes = "9;10;12;14;16;18;24;xx-small;x-small;small;medium;large;x-large;xx-large;smaller;larger";
var
defaultMeasurement = "+pixels=px;points=pt;inches=in;centimetres=cm;millimetres=mm;picas=pc;ems=em;exs=ex;%";
var
defaultSpacingMeasurement = "pixels=px;points=pt;inches=in;centimetres=cm;millimetres=mm;picas=pc;+ems=em;exs=ex;%";
var
defaultIndentMeasurement = "pixels=px;+points=pt;inches=in;centimetres=cm;millimetres=mm;picas=pc;ems=em;exs=ex;%";
var
defaultWeight = "normal;bold;bolder;lighter;100;200;300;400;500;600;700;800;900";
var
defaultTextStyle = "normal;italic;oblique";
var
defaultVariant = "normal;small-caps";
var
defaultLineHeight = "normal";
var
defaultAttachment = "fixed;scroll";
var
defaultRepeat = "no-repeat;repeat;repeat-x;repeat-y";
var
defaultPosH = "left;center;right";
var
defaultPosV = "top;center;bottom";
var
defaultVAlign = "baseline;sub;super;top;text-top;middle;bottom;text-bottom";
var
defaultDisplay = "inline;block;list-item;run-in;compact;marker;table;inline-table;table-row-group;table-header-group;table-footer-group;table-row;table-column-group;table-column;table-cell;table-caption;none";
var
defaultBorderStyle = "none;solid;dashed;dotted;double;groove;ridge;inset;outset";
var
defaultBorderWidth = "thin;medium;thick";
var
defaultListType = "disc;circle;square;decimal;lower-roman;upper-roman;lower-alpha;upper-alpha;none";

function
init() {
    var
ce = document.getElementById('container'), h;

    ce.style.cssText = tinyMCEPopup.getWindowArg('style_text');

    h = getBrowserHTML('background_image_browser','background_image','image','advimage');
    document.getElementById("background_image_browser").innerHTML = h;

    document.getElementById('text_color_pickcontainer').innerHTML = getColorPickerHTML('text_color_pick','text_color');
    document.getElementById('background_color_pickcontainer').innerHTML = getColorPickerHTML('background_color_pick','background_color');
    document.getElementById('border_color_top_pickcontainer').innerHTML = getColorPickerHTML('border_color_top_pick','border_color_top');
    document.getElementById('border_color_right_pickcontainer').innerHTML = getColorPickerHTML('border_color_right_pick','border_color_right');
    document.getElementById('border_color_bottom_pickcontainer').innerHTML = getColorPickerHTML('border_color_bottom_pick','border_color_bottom');
    document.getElementById('border_color_left_pickcontainer').innerHTML = getColorPickerHTML('border_color_left_pick','border_color_left');

    fillSelect(0, 'text_font', 'style_font', defaultFonts, ';', true);
    fillSelect(0, 'text_size', 'style_font_size', defaultSizes, ';', true);
    fillSelect(0, 'text_size_measurement', 'style_font_size_measurement', defaultMeasurement, ';', true);
    fillSelect(0, 'text_case', 'style_text_case', "capitalize;uppercase;lowercase", ';', true);
    fillSelect(0, 'text_weight', 'style_font_weight', defaultWeight, ';', true);
    fillSelect(0, 'text_style', 'style_font_style', defaultTextStyle, ';', true);
    fillSelect(0, 'text_variant', 'style_font_variant', defaultVariant, ';', true);
    fillSelect(0, 'text_lineheight', 'style_font_line_height', defaultLineHeight, ';', true);
    fillSelect(0, 'text_lineheight_measurement', 'style_font_line_height_measurement', defaultMeasurement, ';', true);

    fillSelect(0, 'background_attachment', 'style_background_attachment', defaultAttachment, ';', true);
    fillSelect(0, 'background_repeat', 'style_background_repeat', defaultRepeat, ';', true);

    fillSelect(0, 'background_hpos_measurement', 'style_background_hpos_measurement', defaultMeasurement, ';', true);
    fillSelect(0, 'background_vpos_measurement', 'style_background_vpos_measurement', defaultMeasurement, ';', true);

    fillSelect(0, 'background_hpos', 'style_background_hpos', defaultPosH, ';', true);
    fillSelect(0, 'background_vpos', 'style_background_vpos', defaultPosV, ';', true);

    fillSelect(0, 'block_wordspacing', 'style_wordspacing', 'normal', ';', true);
    fillSelect(0, 'block_wordspacing_measurement', 'style_wordspacing_measurement', defaultSpacingMeasurement, ';', true);
    fillSelect(0, 'block_letterspacing', 'style_letterspacing', 'normal', ';', true);
    fillSelect(0, 'block_letterspacing_measurement', 'style_letterspacing_measurement', defaultSpacingMeasurement, ';', true);
    fillSelect(0, 'block_vertical_alignment', 'style_vertical_alignment', defaultVAlign, ';', true);
    fillSelect(0, 'block_text_align', 'style_text_align', "left;right;center;justify", ';', true);
    fillSelect(0, 'block_whitespace', 'style_whitespace', "normal;pre;nowrap", ';', true);
    fillSelect(0, 'block_display', 'style_display', defaultDisplay, ';', true);
    fillSelect(0, 'block_text_indent_measurement', 'style_text_indent_measurement', defaultIndentMeasurement, ';', true);

    fillSelect(0, 'box_width_measurement', 'style_box_width_measurement', defaultMeasurement, ';', true);
    fillSelect(0, 'box_height_measurement', 'style_box_height_measurement', defaultMeasurement, ';', true);
    fillSelect(0, 'box_float', 'style_float', 'left;right;none', ';', true);
    fillSelect(0, 'box_clear', 'style_clear', 'left;right;both;none', ';', true);
    fillSelect(0, 'box_padding_left_measurement', 'style_padding_left_measurement', defaultMeasurement, ';', true);
    fillSelect(0, 'box_padding_top_measurement', 'style_padding_top_measurement', defaultMeasurement, ';', true);
    fillSelect(0, 'box_padding_bottom_measurement', 'style_padding_bottom_measurement', defaultMeasurement, ';', true);
    fillSelect(0, 'box_padding_right_measurement', 'style_padding_right_measurement', defaultMeasurement, ';', true);
    fillSelect(0, 'box_margin_left_measurement', 'style_margin_left_measurement', defaultMeasurement, ';', true);
    fillSelect(0, 'box_margin_top_measurement', 'style_margin_top_measurement', defaultMeasurement, ';', true);
    fillSelect(0, 'box_margin_bottom_measurement', 'style_margin_bottom_measurement', defaultMeasurement, ';', true);
    fillSelect(0, 'box_margin_right_measurement', 'style_margin_right_measurement', defaultMeasurement, ';', true);

    fillSelect(0, 'border_style_top', 'style_border_style_top', defaultBorderStyle, ';', true);
    fillSelect(0, 'border_style_right', 'style_border_style_right', defaultBorderStyle, ';', true);
    fillSelect(0, 'border_style_bottom', 'style_border_style_bottom', defaultBorderStyle, ';', true);
    fillSelect(0, 'border_style_left', 'style_border_style_left', defaultBorderStyle, ';', true);

    fillSelect(0, 'border_width_top', 'style_border_width_top', defaultBorderWidth, ';', true);
    fillSelect(0, 'border_width_right', 'style_border_width_right', defaultBorderWidth, ';', true);
    fillSelect(0, 'border_width_bottom', 'style_border_width_bottom', defaultBorderWidth, ';', true);
    fillSelect(0, 'border_width_left', 'style_border_width_left', defaultBorderWidth, ';', true);

    fillSelect(0, 'border_width_top_measurement', 'style_border_width_top_measurement', defaultMeasurement, ';', true);
    fillSelect(0, 'border_width_right_measurement', 'style_border_width_right_measurement', defaultMeasurement, ';', true);
    fillSelect(0, 'border_width_bottom_measurement', 'style_border_width_bottom_measurement', defaultMeasurement, ';', true);
    fillSelect(0, 'border_width_left_measurement', 'style_border_width_left_measurement', defaultMeasurement, ';', true);

    fillSelect(0, 'list_type', 'style_list_type', defaultListType, ';', true);
    fillSelect(0, 'list_position', 'style_list_position', "inside;outside", ';', true);

    fillSelect(0, 'positioning_type', 'style_positioning_type', "absolute;relative;static", ';', true);
    fillSelect(0, 'positioning_visibility', 'style_positioning_visibility', "inherit;visible;hidden", ';', true);

    fillSelect(0, 'positioning_width_measurement', 'style_positioning_width_measurement', defaultMeasurement, ';', true);
    fillSelect(0, 'positioning_height_measurement', 'style_positioning_height_measurement', defaultMeasurement, ';', true);
    fillSelect(0, 'positioning_overflow', 'style_positioning_overflow', "visible;hidden;scroll;auto", ';', true);

    fillSelect(0, 'positioning_placement_top_measurement', 'style_positioning_placement_top_measurement', defaultMeasurement, ';', true);
    fillSelect(0, 'positioning_placement_right_measurement', 'style_positioning_placement_right_measurement', defaultMeasurement, ';', true);
    fillSelect(0, 'positioning_placement_bottom_measurement', 'style_positioning_placement_bottom_measurement', defaultMeasurement, ';', true);
    fillSelect(0, 'positioning_placement_left_measurement', 'style_positioning_placement_left_measurement', defaultMeasurement, ';', true);

    fillSelect(0, 'positioning_clip_top_measurement', 'style_positioning_clip_top_measurement', defaultMeasurement, ';', true);
    fillSelect(0, 'positioning_clip_right_measurement', 'style_positioning_clip_right_measurement', defaultMeasurement, ';', true);
    fillSelect(0, 'positioning_clip_bottom_measurement', 'style_positioning_clip_bottom_measurement', defaultMeasurement, ';', true);
    fillSelect(0, 'positioning_clip_left_measurement', 'style_positioning_clip_left_measurement', defaultMeasurement, ';', true);

    TinyMCE_EditableSelects.init();
    setupFormData();
    showDisabledControls();
}

function
setupFormData() {
    var
ce = document.getElementById('container'), f = document.forms[0], s, b, i;

    // Setup text fields

    selectByValue(f, 'text_font', ce.style.fontFamily, true, true);
    selectByValue(f, 'text_size', getNum(ce.style.fontSize), true, true);
    selectByValue(f, 'text_size_measurement', getMeasurement(ce.style.fontSize));
    selectByValue(f, 'text_weight', ce.style.fontWeight, true, true);
    selectByValue(f, 'text_style', ce.style.fontStyle, true, true);
    selectByValue(f, 'text_lineheight', getNum(ce.style.lineHeight), true, true);
    selectByValue(f, 'text_lineheight_measurement', getMeasurement(ce.style.lineHeight));
    selectByValue(f, 'text_case', ce.style.textTransform, true, true);
    selectByValue(f, 'text_variant', ce.style.fontVariant, true, true);
    f.text_color.value = tinyMCEPopup.editor.dom.toHex(ce.style.color);
    updateColor('text_color_pick', 'text_color');
    f.text_underline.checked = inStr(ce.style.textDecoration, 'underline');
    f.text_overline.checked = inStr(ce.style.textDecoration, 'overline');
    f.text_linethrough.checked = inStr(ce.style.textDecoration, 'line-through');
    f.text_blink.checked = inStr(ce.style.textDecoration, 'blink');

    // Setup background fields

    f.background_color.value = tinyMCEPopup.editor.dom.toHex(ce.style.backgroundColor);
    updateColor('background_color_pick', 'background_color');
    f.background_image.value = ce.style.backgroundImage.replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1");
    selectByValue(f, 'background_repeat', ce.style.backgroundRepeat, true, true);
    selectByValue(f, 'background_attachment', ce.style.backgroundAttachment, true, true);
    selectByValue(f, 'background_hpos', getNum(getVal(ce.style.backgroundPosition, 0)), true, true);
    selectByValue(f, 'background_hpos_measurement', getMeasurement(getVal(ce.style.backgroundPosition, 0)));
    selectByValue(f, 'background_vpos', getNum(getVal(ce.style.backgroundPosition, 1)), true, true);
    selectByValue(f, 'background_vpos_measurement', getMeasurement(getVal(ce.style.backgroundPosition, 1)));

    // Setup block fields

    selectByValue(f, 'block_wordspacing', getNum(ce.style.wordSpacing), true, true);
    selectByValue(f, 'block_wordspacing_measurement', getMeasurement(ce.style.wordSpacing));
    selectByValue(f, 'block_letterspacing', getNum(ce.style.letterSpacing), true, true);
    selectByValue(f, 'block_letterspacing_measurement', getMeasurement(ce.style.letterSpacing));
    selectByValue(f, 'block_vertical_alignment', ce.style.verticalAlign, true, true);
    selectByValue(f, 'block_text_align', ce.style.textAlign, true, true);
    f.block_text_indent.value = getNum(ce.style.textIndent);
    selectByValue(f, 'block_text_indent_measurement', getMeasurement(ce.style.textIndent));
    selectByValue(f, 'block_whitespace', ce.style.whiteSpace, true, true);
    selectByValue(f, 'block_display', ce.style.display, true, true);

    // Setup box fields

    f.box_width.value = getNum(ce.style.width);
    selectByValue(f, 'box_width_measurement', getMeasurement(ce.style.width));

    f.box_height.value = getNum(ce.style.height);
    selectByValue(f, 'box_height_measurement', getMeasurement(ce.style.height));
    selectByValue(f, 'box_float', ce.style.cssFloat || ce.style.styleFloat, true, true);

    selectByValue(f, 'box_clear', ce.style.clear, true, true);

    setupBox(f, ce, 'box_padding', 'padding', '');
    setupBox(f, ce, 'box_margin', 'margin', '');

    // Setup border fields

    setupBox(f, ce, 'border_style', 'border', 'Style');
    setupBox(f, ce, 'border_width', 'border', 'Width');
    setupBox(f, ce, 'border_color', 'border', 'Color');

    updateColor('border_color_top_pick', 'border_color_top');
    updateColor('border_color_right_pick', 'border_color_right');
    updateColor('border_color_bottom_pick', 'border_color_bottom');
    updateColor('border_color_left_pick', 'border_color_left');

    f.elements.border_color_top.value = tinyMCEPopup.editor.dom.toHex(f.elements.border_color_top.value);
    f.elements.border_color_right.value = tinyMCEPopup.editor.dom.toHex(f.elements.border_color_right.value);
    f.elements.border_color_bottom.value = tinyMCEPopup.editor.dom.toHex(f.elements.border_color_bottom.value);
    f.elements.border_color_left.value = tinyMCEPopup.editor.dom.toHex(f.elements.border_color_left.value);

    // Setup list fields

    selectByValue(f, 'list_type', ce.style.listStyleType, true, true);
    selectByValue(f, 'list_position', ce.style.listStylePosition, true, true);
    f.list_bullet_image.value = ce.style.listStyleImage.replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1");

    // Setup box fields

    selectByValue(f, 'positioning_type', ce.style.position, true, true);
    selectByValue(f, 'positioning_visibility', ce.style.visibility, true, true);
    selectByValue(f, 'positioning_overflow', ce.style.overflow, true, true);
    f.positioning_zindex.value = ce.style.zIndex ? ce.style.zIndex : "";

    f.positioning_width.value = getNum(ce.style.width);
    selectByValue(f, 'positioning_width_measurement', getMeasurement(ce.style.width));

    f.positioning_height.value = getNum(ce.style.height);
    selectByValue(f, 'positioning_height_measurement', getMeasurement(ce.style.height));

    setupBox(f, ce, 'positioning_placement', '', '', ['top', 'right', 'bottom', 'left']);

    s = ce.style.clip.replace(new RegExp("rect\\('?([^']*)'?\\)", 'gi'), "$1");
    s = s.replace(/,/g, ' ');

    if (!hasEqualValues([getVal(s, 0), getVal(s, 1), getVal(s, 2), getVal(s, 3)])) {
        f.positioning_clip_top.value = getNum(getVal(s, 0));
        selectByValue(f, 'positioning_clip_top_measurement', getMeasurement(getVal(s, 0)));
        f.positioning_clip_right.value = getNum(getVal(s, 1));
        selectByValue(f, 'positioning_clip_right_measurement', getMeasurement(getVal(s, 1)));
        f.positioning_clip_bottom.value = getNum(getVal(s, 2));
        selectByValue(f, 'positioning_clip_bottom_measurement', getMeasurement(getVal(s, 2)));
        f.positioning_clip_left.value = getNum(getVal(s, 3));
        selectByValue(f, 'positioning_clip_left_measurement', getMeasurement(getVal(s, 3)));
    }
else {
        f.positioning_clip_top.value = getNum(getVal(s, 0));
        selectByValue(f, 'positioning_clip_top_measurement', getMeasurement(getVal(s, 0)));
        f.positioning_clip_right.value = f.positioning_clip_bottom.value = f.positioning_clip_left.value;
    }


//    setupBox(f, ce, '', 'border', 'Color');
}

function
getMeasurement(s) {
    return s.replace(/^([0-9.]+)(.*)$/, "$2");
}

function
getNum(s) {
    if (new RegExp('^(?:[0-9.]+)(?:[a-z%]+)$', 'gi').test(s))
        return s.replace(/[^0-9.]/g, '');

    return s;
}

function
inStr(s, n) {
    return new RegExp(n, 'gi').test(s);
}

function
getVal(s, i) {
    var
a = s.split(' ');

    if (a.length > 1)
        return a[i];

    return "";
}

function
setValue(f, n, v) {
    if (f.elements[n].type == "text")
        f.elements[n].value = v;
    else
        selectByValue(f, n, v, true, true);
}

function
setupBox(f, ce, fp, pr, sf, b) {
    if (typeof(b) == "undefined")
        b = ['Top', 'Right', 'Bottom', 'Left'];

    if (isSame(ce, pr, sf, b)) {
        f.elements[fp + "_same"].checked = true;

        setValue(f, fp + "_top", getNum(ce.style[pr + b[0] + sf]));
        f.elements[fp + "_top"].disabled = false;

        f.elements[fp + "_right"].value = "";
        f.elements[fp + "_right"].disabled = true;
        f.elements[fp + "_bottom"].value = "";
        f.elements[fp + "_bottom"].disabled = true;
        f.elements[fp + "_left"].value = "";
        f.elements[fp + "_left"].disabled = true;

        if (f.elements[fp + "_top_measurement"]) {
            selectByValue(f, fp + '_top_measurement', getMeasurement(ce.style[pr + b[0] + sf]));
            f.elements[fp + "_left_measurement"].disabled = true;
            f.elements[fp + "_bottom_measurement"].disabled = true;
            f.elements[fp + "_right_measurement"].disabled = true;
        }
    }
else {
        f.elements[fp + "_same"].checked = false;

        setValue(f, fp + "_top", getNum(ce.style[pr + b[0] + sf]));
        f.elements[fp + "_top"].disabled = false;

        setValue(f, fp + "_right", getNum(ce.style[pr + b[1] + sf]));
        f.elements[fp + "_right"].disabled = false;

        setValue(f, fp + "_bottom", getNum(ce.style[pr + b[2] + sf]));
        f.elements[fp + "_bottom"].disabled = false;

        setValue(f, fp + "_left", getNum(ce.style[pr + b[3] + sf]));
        f.elements[fp + "_left"].disabled = false;

        if (f.elements[fp + "_top_measurement"]) {
            selectByValue(f, fp + '_top_measurement', getMeasurement(ce.style[pr + b[0] + sf]));
            selectByValue(f, fp + '_right_measurement', getMeasurement(ce.style[pr + b[1] + sf]));
            selectByValue(f, fp + '_bottom_measurement', getMeasurement(ce.style[pr + b[2] + sf]));
            selectByValue(f, fp + '_left_measurement', getMeasurement(ce.style[pr + b[3] + sf]));
            f.elements[fp + "_left_measurement"].disabled = false;
            f.elements[fp + "_bottom_measurement"].disabled = false;
            f.elements[fp + "_right_measurement"].disabled = false;
        }
    }
}

function
isSame(e, pr, sf, b) {
    var
a = [], i, x;

    if (typeof(b) == "undefined")
        b = ['Top', 'Right', 'Bottom', 'Left'];

    if (typeof(sf) == "undefined" || sf == null)
        sf = "";

    a[0] = e.style[pr + b[0] + sf];
    a[1] = e.style[pr + b[1] + sf];
    a[2] = e.style[pr + b[2] + sf];
    a[3] = e.style[pr + b[3] + sf];

    for (i=0; i<a.length; i++) {
        if (a[i] == null)
            return false;

        for (x=0; x<a.length; x++) {
            if (a[x] != a[i])
                return false;
        }
    }


    return true;
};

function
hasEqualValues(a) {
    var
i, x;

    for (i=0; i<a.length; i++) {
        if (a[i] == null)
            return false;

        for (x=0; x<a.length; x++) {
            if (a[x] != a[i])
                return false;
        }
    }


    return true;
}

function
applyAction() {
    var
ce = document.getElementById('container'), ed = tinyMCEPopup.editor;

    generateCSS();

    tinyMCEPopup.restoreSelection();
    ed.dom.setAttrib(ed.selection.getSelectedBlocks(), 'style', tinyMCEPopup.editor.dom.serializeStyle(tinyMCEPopup.editor.dom.parseStyle(ce.style.cssText)));
}

function
updateAction() {
    applyAction();
    tinyMCEPopup.close();
}

function
generateCSS() {
    var
ce = document.getElementById('container'), f = document.forms[0], num = new RegExp('[0-9]+', 'g'), s, t;

    ce.style.cssText = "";

    // Build text styles
    ce.style.fontFamily = f.text_font.value;
    ce.style.fontSize = f.text_size.value + (isNum(f.text_size.value) ? (f.text_size_measurement.value || 'px') : "");
    ce.style.fontStyle = f.text_style.value;
    ce.style.lineHeight = f.text_lineheight.value + (isNum(f.text_lineheight.value) ? f.text_lineheight_measurement.value : "");
    ce.style.textTransform = f.text_case.value;
    ce.style.fontWeight = f.text_weight.value;
    ce.style.fontVariant = f.text_variant.value;
    ce.style.color = f.text_color.value;

    s = "";
    s += f.text_underline.checked ? " underline" : "";
    s += f.text_overline.checked ? " overline" : "";
    s += f.text_linethrough.checked ? " line-through" : "";
    s += f.text_blink.checked ? " blink" : "";
    s = s.length > 0 ? s.substring(1) : s;

    if (f.text_none.checked)
        s = "none";

    ce.style.textDecoration = s;

    // Build background styles

    ce.style.backgroundColor = f.background_color.value;
    ce.style.backgroundImage = f.background_image.value != "" ? "url(" + f.background_image.value + ")" : "";
    ce.style.backgroundRepeat = f.background_repeat.value;
    ce.style.backgroundAttachment = f.background_attachment.value;

    if (f.background_hpos.value != "") {
        s = "";
        s += f.background_hpos.value + (isNum(f.background_hpos.value) ? f.background_hpos_measurement.value : "") + " ";
        s += f.background_vpos.value + (isNum(f.background_vpos.value) ? f.background_vpos_measurement.value : "");
        ce.style.backgroundPosition = s;
    }


    // Build block styles

    ce.style.wordSpacing = f.block_wordspacing.value + (isNum(f.block_wordspacing.value) ? f.block_wordspacing_measurement.value : "");
    ce.style.letterSpacing = f.block_letterspacing.value + (isNum(f.block_letterspacing.value) ? f.block_letterspacing_measurement.value : "");
    ce.style.verticalAlign = f.block_vertical_alignment.value;
    ce.style.textAlign = f.block_text_align.value;
    ce.style.textIndent = f.block_text_indent.value + (isNum(f.block_text_indent.value) ? f.block_text_indent_measurement.value : "");
    ce.style.whiteSpace = f.block_whitespace.value;
    ce.style.display = f.block_display.value;

    // Build box styles

    ce.style.width = f.box_width.value + (isNum(f.box_width.value) ? f.box_width_measurement.value : "");
    ce.style.height = f.box_height.value + (isNum(f.box_height.value) ? f.box_height_measurement.value : "");
    ce.style.styleFloat = f.box_float.value;
    ce.style.cssFloat = f.box_float.value;

    ce.style.clear = f.box_clear.value;

    if (!f.box_padding_same.checked) {
        ce.style.paddingTop = f.box_padding_top.value + (isNum(f.box_padding_top.value) ? f.box_padding_top_measurement.value : "");
        ce.style.paddingRight = f.box_padding_right.value + (isNum(f.box_padding_right.value) ? f.box_padding_right_measurement.value : "");
        ce.style.paddingBottom = f.box_padding_bottom.value + (isNum(f.box_padding_bottom.value) ? f.box_padding_bottom_measurement.value : "");
        ce.style.paddingLeft = f.box_padding_left.value + (isNum(f.box_padding_left.value) ? f.box_padding_left_measurement.value : "");
    }
else
        ce.style.padding = f.box_padding_top.value + (isNum(f.box_padding_top.value) ? f.box_padding_top_measurement.value : "");

    if (!f.box_margin_same.checked) {
        ce.style.marginTop = f.box_margin_top.value + (isNum(f.box_margin_top.value) ? f.box_margin_top_measurement.value : "");
        ce.style.marginRight = f.box_margin_right.value + (isNum(f.box_margin_right.value) ? f.box_margin_right_measurement.value : "");
        ce.style.marginBottom = f.box_margin_bottom.value + (isNum(f.box_margin_bottom.value) ? f.box_margin_bottom_measurement.value : "");
        ce.style.marginLeft = f.box_margin_left.value + (isNum(f.box_margin_left.value) ? f.box_margin_left_measurement.value : "");
    }
else
        ce.style.margin = f.box_margin_top.value + (isNum(f.box_margin_top.value) ? f.box_margin_top_measurement.value : "");

    // Build border styles

    if (!f.border_style_same.checked) {
        ce.style.borderTopStyle = f.border_style_top.value;
        ce.style.borderRightStyle = f.border_style_right.value;
        ce.style.borderBottomStyle = f.border_style_bottom.value;
        ce.style.borderLeftStyle = f.border_style_left.value;
    }
else
        ce.style.borderStyle = f.border_style_top.value;

    if (!f.border_width_same.checked) {
        ce.style.borderTopWidth = f.border_width_top.value + (isNum(f.border_width_top.value) ? f.border_width_top_measurement.value : "");
        ce.style.borderRightWidth = f.border_width_right.value + (isNum(f.border_width_right.value) ? f.border_width_right_measurement.value : "");
        ce.style.borderBottomWidth = f.border_width_bottom.value + (isNum(f.border_width_bottom.value) ? f.border_width_bottom_measurement.value : "");
        ce.style.borderLeftWidth = f.border_width_left.value + (isNum(f.border_width_left.value) ? f.border_width_left_measurement.value : "");
    }
else
        ce.style.borderWidth = f.border_width_top.value + (isNum(f.border_width_top.value) ? f.border_width_top_measurement.value : "");

    if (!f.border_color_same.checked) {
        ce.style.borderTopColor = f.border_color_top.value;
        ce.style.borderRightColor = f.border_color_right.value;
        ce.style.borderBottomColor = f.border_color_bottom.value;
        ce.style.borderLeftColor = f.border_color_left.value;
    }
else
        ce.style.borderColor = f.border_color_top.value;

    // Build list styles

    ce.style.listStyleType = f.list_type.value;
    ce.style.listStylePosition = f.list_position.value;
    ce.style.listStyleImage = f.list_bullet_image.value != "" ? "url(" + f.list_bullet_image.value + ")" : "";

    // Build positioning styles

    ce.style.position = f.positioning_type.value;
    ce.style.visibility = f.positioning_visibility.value;

    if (ce.style.width == "")
        ce.style.width = f.positioning_width.value + (isNum(f.positioning_width.value) ? f.positioning_width_measurement.value : "");

    if (ce.style.height == "")
        ce.style.height = f.positioning_height.value + (isNum(f.positioning_height.value) ? f.positioning_height_measurement.value : "");

    ce.style.zIndex = f.positioning_zindex.value;
    ce.style.overflow = f.positioning_overflow.value;

    if (!f.positioning_placement_same.checked) {
        ce.style.top = f.positioning_placement_top.value + (isNum(f.positioning_placement_top.value) ? f.positioning_placement_top_measurement.value : "");
        ce.style.right = f.positioning_placement_right.value + (isNum(f.positioning_placement_right.value) ? f.positioning_placement_right_measurement.value : "");
        ce.style.bottom = f.positioning_placement_bottom.value + (isNum(f.positioning_placement_bottom.value) ? f.positioning_placement_bottom_measurement.value : "");
        ce.style.left = f.positioning_placement_left.value + (isNum(f.positioning_placement_left.value) ? f.positioning_placement_left_measurement.value : "");
    }
else {
        s = f.positioning_placement_top.value + (isNum(f.positioning_placement_top.value) ? f.positioning_placement_top_measurement.value : "");
        ce.style.top = s;
        ce.style.right = s;
        ce.style.bottom = s;
        ce.style.left = s;
    }


    if (!f.positioning_clip_same.checked) {
        s = "rect(";
        s += (isNum(f.positioning_clip_top.value) ? f.positioning_clip_top.value + f.positioning_clip_top_measurement.value : "auto") + " ";
        s += (isNum(f.positioning_clip_right.value) ? f.positioning_clip_right.value + f.positioning_clip_right_measurement.value : "auto") + " ";
        s += (isNum(f.positioning_clip_bottom.value) ? f.positioning_clip_bottom.value + f.positioning_clip_bottom_measurement.value : "auto") + " ";
        s += (isNum(f.positioning_clip_left.value) ? f.positioning_clip_left.value + f.positioning_clip_left_measurement.value : "auto");
        s += ")";

        if (s != "rect(auto auto auto auto)")
            ce.style.clip = s;
    }
else {
        s = "rect(";
        t = isNum(f.positioning_clip_top.value) ? f.positioning_clip_top.value + f.positioning_clip_top_measurement.value : "auto";
        s += t + " ";
        s += t + " ";
        s += t + " ";
        s += t + ")";

        if (s != "rect(auto auto auto auto)")
            ce.style.clip = s;
    }


    ce.style.cssText = ce.style.cssText;
}

function
isNum(s) {
    return new RegExp('[0-9]+', 'g').test(s);
}

function
showDisabledControls() {
    var
f = document.forms, i, a;

    for (i=0; i<f.length; i++) {
        for (a=0; a<f[i].elements.length; a++) {
            if (f[i].elements[a].disabled)
                tinyMCEPopup.editor.dom.addClass(f[i].elements[a], "disabled");
            else
                tinyMCEPopup.editor.dom.removeClass(f[i].elements[a], "disabled");
        }
    }
}

function
fillSelect(f, s, param, dval, sep, em) {
    var
i, ar, p, se;

    f = document.forms[f];
    sep = typeof(sep) == "undefined" ? ";" : sep;

    if (em)
        addSelectValue(f, s, "", "");

    ar = tinyMCEPopup.getParam(param, dval).split(sep);
    for (i=0; i<ar.length; i++) {
        se = false;

        if (ar[i].charAt(0) == '+') {
            ar[i] = ar[i].substring(1);
            se = true;
        }


        p = ar[i].split('=');

        if (p.length > 1) {
            addSelectValue(f, s, p[0], p[1]);

            if (se)
                selectByValue(f, s, p[1]);
        }
else {
            addSelectValue(f, s, p[0], p[0]);

            if (se)
                selectByValue(f, s, p[0]);
        }
    }
}

function
toggleSame(ce, pre) {
    var
el = document.forms[0].elements, i;

    if (ce.checked) {
        el[pre + "_top"].disabled = false;
        el[pre + "_right"].disabled = true;
        el[pre + "_bottom"].disabled = true;
        el[pre + "_left"].disabled = true;

        if (el[pre + "_top_measurement"]) {
            el[pre + "_top_measurement"].disabled = false;
            el[pre + "_right_measurement"].disabled = true;
            el[pre + "_bottom_measurement"].disabled = true;
            el[pre + "_left_measurement"].disabled = true;
        }
    }
else {
        el[pre + "_top"].disabled = false;
        el[pre + "_right"].disabled = false;
        el[pre + "_bottom"].disabled = false;
        el[pre + "_left"].disabled = false;

        if (el[pre + "_top_measurement"]) {
            el[pre + "_top_measurement"].disabled = false;
            el[pre + "_right_measurement"].disabled = false;
            el[pre + "_bottom_measurement"].disabled = false;
            el[pre + "_left_measurement"].disabled = false;
        }
    }


    showDisabledControls();
}

function
synch(fr, to) {
    var
f = document.forms[0];

    f.elements[to].value = f.elements[fr].value;

    if (f.elements[fr + "_measurement"])
        selectByValue(f, to + "_measurement", f.elements[fr + "_measurement"].value);
}

?>

tinyMCEPopup.onInit.add(init);
 
- Ariën  -
Beheerder

- Ariën -

13/03/2017 22:21:53
Quote Anchor link
Dat is JavaScript. Het gaat hier om PHP.
 
Rob migaleddu

rob migaleddu

13/03/2017 22:23:36
Quote Anchor link
dacht dat deze geintergreerd was

ok bedankt

groeten

Toevoeging op 13/03/2017 22:24:53:

een stomme vraag
hoe krijg ik de url er dan uit ??
niet of is deze verborgen in java


gr
 
- Ariën  -
Beheerder

- Ariën -

13/03/2017 22:26:55
Quote Anchor link
Er wordt een functie aangeroepen die 'iets' genereert:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
            $oPayPal->generate(),


Als ik weet dat dit doet, dan komen we mogelijk wat meer te weten.
Vermoedelijk staat hier ook een return URL in, en zou mogelijk deze weg kunnen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
->param('return', Uri::get('payment', 'main', 'process', 'paypal'))

Of anderzijds die uit die generate() functie.

Ik ben niet bekend met de class, maar het valt te proberen.
Gewijzigd op 13/03/2017 22:27:11 door - Ariën -
 
Rob migaleddu

rob migaleddu

13/03/2017 22:32:04
Quote Anchor link
waar zou ik dan moeten zoeken



Toevoeging op 13/03/2017 22:32:31:

bij de class?
(java)
 
- Ariën  -
Beheerder

- Ariën -

13/03/2017 22:56:45
Quote Anchor link
Zoals ik al net zei heeft het met PHP te maken. Welke editor gebruik je, want als je bijv. NetBeans IDE, PHPstorm of Eclipse hebt, dan kan je in een heel project zoeken, en kan je de functie in no-time vinden.
 
Rob migaleddu

rob migaleddu

13/03/2017 22:58:40
Quote Anchor link
ik gebruik dreamweaver (niet dat ik alle functie ervan ken)
dus beter overstappen op vb netbeans

Toevoeging op 13/03/2017 23:45:48:

ik heb phpstorm en de file ingelezen waar naar moet ik nu op zoek,?


gr
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.