hidden field

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

.NET developer

Functie Als junior .NET ontwikkelaar ga jij aan de slag in één van de 5 IT teams van dit bedrijf. Jullie werken op basis van interne klantprojecten aan voornamelijk webapplicaties. Dit betekent dat jij continu uitgedaagd wordt en veelal met verschillende soorten projecten bezig bent. Het gave is dan ook dat jullie als team samen bekijken welke technieken het beste passen bij het project waar jullie verantwoordelijk voor zijn. Zo kan het zijn dat jij als .NET developer gaat werken aan een project, maar dat jullie als team liever gebruik maken van Haskell of F# om de klus te klaren.

Bekijk vacature »

C# .NET Developer IoT SQL Server

Samengevat: Wij ontwikkelen innovatieve oplossingen om apparaten en bezittingen op een eenvoudige en flexibele manier te beveiligen. Ben jij een C# .NET developer? Heb jij ervaring met C# en SQL server? Vaste baan: C# .NET Developer IoT HBO €3.200 - €4.500 Deze werkgever is gespecialiseerd in hoogwaardige GSM/GPRS alarm- en telemetrietechnologie. Met een eigen productlijn en klantspecifieke ontwikkelingen biedt deze werkgever oplossingen om op afstand te meten, melden, loggen en aansturen, ook op plaatsen zonder stroomvoorziening. Onze producten worden gekarakteriseerd door flexibiliteit in de configuratie, betrouwbaarheid en een extreem laag stroomverbruik. Zij werken voor MKB klanten. Deze werkgever heeft veel

Bekijk vacature »

Medior/Senior Python developer (Django)

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 werken ze met pair-programming sessies. Ook is er een hele professionele ontwikkelcyclus waarbij code altijd eerst door een collega wordt getest voordat het naar deployement gaat. Er is een kwaliteitsfocus en dan biedt ruimte om verbeteringen echt door te voeren binnen de gehele

Bekijk vacature »

Front-end Developer - React - Data Driven

Bedrijfsomschrijving Onze klant is een snelgroeiende organisatie die een data-driven inspectieapp op de markt hebben gebracht die nu al een aantal jaar door verschillende organisaties wereldwijd gebruikt wordt. Er zijn zo'n 6 mensen werkzaam bij dit bedrijf en ze zijn nu vooral op zoek naar een sterke front-end developer die wil gaan werken aan nieuwbouw applicaties en de uitbouw van de huidige applicaties. De reden dat ze zoeken is omdat er veel werk op komst is en ze hier de juiste capaciteit voor willen hebben. Er heerst hier een hele prettige sfeer waarin respect en eerlijke communicatie belangrijk is. Ook

Bekijk vacature »

.NET Developer

Functie omschrijving Jij gaat in de functie van Software Developer werken met C# en .NET framework. Jij gaat maatwerk software ontwikkelen en softwareoplossingen creëren. Daarnaast optimaliseer je de bestaande software. Oplossingen waar de klant echt iets aan heeft, jij krijgt er energie van op dit te realiseren. Je gaat werken in een Microsoft omgeving(ASP.NET) en gebruikt daarnaast C# en MVC. Samen met het huidige IT team binnen deze organisatie verwerk je de wensen van de klant tot een (eind)product. Bedrijfsprofiel Je komt te werken in een klein team van developers, die zich voornamelijk bezighouden met back-end development. Verder staat dit

Bekijk vacature »

Lasrobotprogrammeur/operator

Heb je interesse in trekkers en beschik je overvlijmscherpse precisie? Solliciteer dan op deze vacature! Als Lasoperator ben je vooral bezig met het maken van nieuwe lasrobotprogramma’s en het optimaliseren van bestaande programma’s, zowel online als offline (incl. het bedienen van de Lasrobots). Daarnaast draag je bij aan een optimaal rendement van de las robots. Verder heb je de volgende werkzaamheden: Het meewerken als operator c.q. Robotlassen niveau 2 (van complexe samenstellingen/halffabricaten), het om- en instellen van de diverse stations van lasmallen (productdragers), het afwerken van laswerk (verwijderen lasspetters en oxiden), het bewaken van de machineplanning (op bewerkingen) incl. de

Bekijk vacature »

SAP HANA Developer

Vacature details Vakgebied: Software/IT Opleiding: Senior Werklocatie: Veldhoven Vacature ID: 13382 Introductie We is looking for a HANA Developer to work for our client. The candidate has to have an experience in building Data Intensive Applications (DIA’s). The role of a HANA Developer at ASML involves working on building Data Intensive Applications in an industrial/enterprise environment. The primary responsibility is to handle data from various sources and determine the best way to structure it for use by data analysts, who will run queries and algorithms against it for predictive and prescriptive analytics through machine learning. Wat verwachten we van jou?

Bekijk vacature »

Software Programmeur

Functie omschrijving Voor een informele club in omgeving Delft zijn wij op zoek naar versterking. Ben jij op zoek naar een nieuwe uitdaging als Software Programmeur lees dan snel verder! Als ontwikkelaar kom je terecht op een afdeling van 6 medewerkers. Werkzaamheden Programmeur Je bent bezig met het ontwikkelen van software en webapplicaties. Je kunt technische klussen uitvoeren op locatie. Je onderhoudt contact met de projectleider om er zeker van te zijn dat een project goed verloopt. Je zult klanten ondersteunen. Verder zul je technische ontwerpen en gebruikersdocumentaties schrijven en deze onderhouden. Er wordt voornamelijk gewerkt met PHP, Java en

Bekijk vacature »

PHP Laravel Ontwikkelaar

Functie omschrijving Weet jij alles over Laravel en krijg je energie van het developen van software hiermee? Laat het weten want wij zoeken een PHP/Laravel developer in regio 's-Hertogenbosch voor klein bedrijf welke softwareoplossingen maakt voor hun klanten. Jouw taken hierbij: Softwareapplicaties ontwikkelen en verder optimaliseren in veel diverse projecten op basis van Agile/Scrum. Documentatie schrijven over applicaties. Uitleg geven over software en applicaties Klantcontact hebben over bestaande applicaties. Techstack: PHP, Laravel, HTML, CSS, Javascript. Bedrijfsprofiel Deze organisatie zit in de regio van 's-Hertogenbosch en is een klein bedrijf. Er werken circa 15 medewerkers, verdeeld in meerdere teams, zoals back-end

Bekijk vacature »

C# .NET Developer

Functie omschrijving Wij zijn op zoek naar een C# .NET Developer voor een leuke opdrachtgever in de omgeving van Hilversum! Voor een leuk bedrijf in de omgeving van Hilversum zijn wij op zoek naar een Back-end developer die klaar is voor een nieuwe uitdaging. Ben jij iemand die graag aan verschillende projecten werkt en het ook leuk vindt om bij klanten op bezoek te gaan? Dan ben jij de perfecte kandidaat! Deze functie is erg divers, je moet dus goed kunnen schakelen. Je komt te werken in een klein team van developers. Binnen het bedrijf hangt er een gemoedelijke informele

Bekijk vacature »

3D BIM Add-on Developer

As a 3D BIM add- on developer at KUBUS, you will develop add-ons (called BCF- Managers) to the leading building information modeling (BIM) programs Revit, Navisworks, Archicad, AutoCAD and Tekla Structures. BCF Managers enable data transfer between BIM software and BIMcollab. You will work on both the front- and the back-end. As a software company, KUBUS is in a unique position. We build our own products that are used by tens of thousands of users worldwide. Our company is just the right size: big enough to make a real impact in the market, but small enough that as an individual

Bekijk vacature »

Softwareontwikkelaar Cleopatra

Functieomschrijving Voor de gemeente Amsterdam zijn wij op zoek naar een softwareontwikkelaar Cleopatra. De directie Verkeer en Openbare ruimte van de gemeente Amsterdam beschikt over een softwareapplicatie, "Cleopatra", waarmee geautomatiseerde handhaving plaatsvindt (op basis van kentekenherkenning) van bepaalde gebieden waarin toegangseisen worden gesteld aan het verkeer. Voorbeelden ervan zijn de milieuzones, de zone zwaar verkeer, handhaving van brom- en snorfietser op het fietspad en autoluwe gebieden. Voor de doorontwikkeling en uitbreiding ervan zijn gespecialiseerde softwareontwikkelaars nodig die helpen bij het programmeren van de handhavingsmodules voor nieuwe gebieden en het verbeteren en bijwerken van de bestaande onderdelen van de softwareapplicatie. Functie

Bekijk vacature »

Medior C# Developer

You'll build modern applications for Coolblue's back office. We have a lot of friends, and they crave well-structured data and user-friendly, task-focused applications. How do I become a Medior C# Developer at Coolblue? You regularly participate in brainstorm sessions about user experience, data, and task flow with the UX Designer, Product Owner, and Data Scientists in your team. Besides that you will create disconnected, highly congruent, and testable code that can easily be maintained and is future-proof. Want to become C# Developer at Coolblue? Read below if the job suits you. You enjoy doing this Working with various types of

Bekijk vacature »

Applicatiebeheerder/ Ontwikkelaar

Dit ga je doen - Verantwoordelijkheid dragen voor het complexe applicatielandschap; - Schakelen met eindgebruikers en leveranciers; - Verdeling in werkzaamheden tussen dagelijks beheer ontwikkelen; - Het analyseren van de behoeften van gebruikers en het vertalen hiervan naar functionele specificaties voor de applicaties; - Actief bijdragen aan het leveren van passende oplossingen voor het applicatielandschap. Hier ga je werken Deze organisatie, gevestigd in de regio van Amsterdam is een van de meest toonaangevende mediaorganisaties in Nederland. Door de organisatiecultuur krijg jij veel ruimte om initiatief te nemen en zelfstandig aan het werk te gaan. Samen met het IT team zorg

Bekijk vacature »

Leidinggevend Full Stack Developer

Hé jij, nieuwe Pinkcuber! Ga aan de slag bij Pinkcube, online leverancier van promotieartikelen! Een innovatieve organisatie waar extra stappen zetten voor klanten de normaalste zaak van de wereld is. Ambitieus zijn we ook. ‘Naoberschap’ staat bij Pinkcube hoog in het vaandel; we helpen elkaar en iedereen is welkom. Pinkcube is Great Place to Work Certified, erkend leerbedrijf, maatschappelijk betrokken partner van stichting Present en partner van CliniClowns. En misschien wel jouw nieuwe werkgever. Wij zoeken namelijk een enthousiaste: Leidinggevend Full Stack Developer (40 uur, medior/senior) Ben jij klaar om baanbrekende ideeën tot leven te brengen en deel uit te

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

23/12/2024 11:02:09
 
- 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.