Creating default object from empty value

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Ervaren PHP Developer

Functieomschrijving PHP Developer met brede ervaring gezocht! Ben jij een Full Stack PHP Developer met brede ervaring die toe is aan een volgende stap? Lees dan snel verder! Voor onze eindklant in de regio Nunspeet zijn wij op zoek naar een ervaren PHP Developer die het IT Team van deze organisatie gaat versterken. Wij zoeken een enthousiaste en breed georiënteerde IT-er die er voor gaat zorgen dat deze innovatieve organisatie de volgende stap gaat maken. Om deze functie goed uit te kunnen voeren moet je communicatief goed zijn en in staat zijn om zelfstandig problemen op te lossen. Daarnaast bestaat

Bekijk vacature »

PHP Developer (junior functie)

Functie omschrijving Ben jij een starter en wil je werken bij een jong en leuk bedrijf? Lees dan verder! Wij zijn op zoek naar een PHP Developer binnen een junior functie. Binnen dit bedrijf gaat het om persoonlijke aandacht en ontwikkeling! Je komt te werken voor een leuk communicatiebureau die alles op het gebied van online en offline communicatie doet. Dit doen zij voor verschillende branches, waardoor je aan diverse soorten projecten mag werken, dit maakt deze baan erg leuk! Daarbij werk je aan een door hun zelf ontwikkeld framework welke goed leesbaar is. Je maakt voor bedrijven op maat

Bekijk vacature »

Lead Webdeveloper

Als Lead webdeveloper bij KUBUS ben je verantwoordelijk voor het implementatie design van requirements en de software architectuur van de webapplicatie en services van BIMcollab. In je rol als lead developer zoek je als vanzelf op een creatieve manier naar het optimum tussen benodigde implementatie-tijd, de performance van de applicatie en een snelle go-to-market van features, aansluitend bij onze geautomatiseerde test- en release train. Hierbij bewaak je in samenwerking met de andere senior ontwikkelaars in je team de architectuur van de applicatie en adviseer je de product owner over noodzakelijke refactoring om de onderhoudbaarheid van het platform te verbeteren. Ons

Bekijk vacature »

No-Code Betty Blocks ontwikkelaar

Bedrijfsomschrijving Wil jij de bedrijfsprocessen van klanten revolutionair digitaliseren en optimaliseren zonder beperkt te worden door programmeertalen? Kom werken bij een snelgroeiende en professionele organisatie met een gezonde dosis humor en veel vrijheid om jezelf te ontwikkelen. Als No-Code Betty Blocks ontwikkelaar werk je vanuit ons kantoor in het hart van Nederland, je thuiswerkplek of op locatie bij de klant. We faciliteren de juiste trainingen en ondersteuning zodat je een echte Betty Blocks expert wordt. Naast het werk zijn er bij ons bijzondere events, zoals een jaarlijkse zeildag, een zomerse barbecue en een knus kerstdiner om de grillige maanden door

Bekijk vacature »

Senior, Medior and Junior SAP HANA Developer

Vacature details Vakgebied: Software/IT Opleiding: Medior Werklocatie: Veldhoven Vacature ID: 12696 Introductie Our client is the world's leading provider of lithography systems for the semiconductor industry, manufacturing complex machines that are critical to the production of integrated circuits or chips. Our purpose is “unlocking the potential of people and society by pushing technology to new limits”. We do this guided by the principles “Challenge”, “Collaborate” and “Care”. Wat verwachten we van jou? SAP Certified Application Associate - SAP HANA Cloud Modeling (training and/or certification) Bachelor degree or higher Excellent understanding of SAP HANA (2.0 / Cloud), Data Modelling and writing

Bekijk vacature »

Oracle Apex Developer

Dit ga je doen Jouw taken bestaan uit: Het bouwen maatwerk Oracle applicaties voor Europese business units; Het implementeren van de nieuwste technieken om te blijven innoveren; Actief meedenken en aandragen van verbetervoorstellen. Hier ga je werken Deze organisatie in de regio Veenendaal is een van wereld grootste retailers met ruim 16.000 winkels in 27 markten en jaarlijks ruim 5,3 miljard klanten die winkelen bij een van hun welbekende retailmerken. Binnen de organisatie is er een IT Group actief die dient als IT Service Provider voor de hele organisatie en waar dagelijks IT'ers werken aan state-of-the-art IT oplossingen. Dit doen

Bekijk vacature »

Fasttrack learning & development voor Java dev

Wat je gaat doen: Wij zoeken enthousiaste en ambitieuze junior en medior ontwikkelaars die toe zijn aan de volgende stap in hun carrière. Wij helpen je op je pad naar senior ontwikkelaar door ons fasttrack learning en development programma. Na een kort en intensief programma ga jij aan de slag bij klanten van DPA. Daarnaast krijg je veel ruimte om je te ontwikkelen als persoon en als specialist. De eerste maand gaan we aan de slag om je certificeringen te behalen waaronder OCP (Oracle Certified Professional). Daarnaast nemen we een deepdive in Spring Boot. Ook laten we je kennismaken met

Bekijk vacature »

.NET developer

Klaar voor een nieuwe uitdaging? Welke technologieën gaan schuil achter de dagelijkse energievoorziening? Als senior .NET developer bij Kenter maak jij samen met je team het verschil, zowel voor de interne organisatie als voor eindklanten. Samen bouwen jullie aan innovatieve dienstverlening met behulp van de nieuwste technologieën en tools. Het is een functie met veel vrijheid, goede arbeidsvoorwaarden én je draagt jouw steentje bij aan de energietransitie. Klinkt dit als iets voor jou? Lees dan verder of solliciteer direct! Wat ga je doen als senior .NET developer? Als senior .NET developer bij Kenter (onderdeel van Alliander) ben je van onschatbare

Bekijk vacature »

Python developer Consultancy

Functie Als Python developer bij deze organisatie werk je voor verschillende klanten. Doordat de oprichter een groot netwerk heeft kun je zelf voorkeuren uitspreken in het type projecten dat je wilt gaan doen. Zo zijn er bijvoorbeeld langdurige of juist korte projecten, maar is ook het type klant, of project bespreekbaar. Werk jij bijvoorbeeld graag aan een nieuw, state-of-the-art web portaal of ben je liever betrokken bij een migratietraject van een bestaande applicatie? Wij gaan voor jou aan de slag! Eisen • Je bent een gedreven developer met sterke voorkeur voor Python • Je bent meer dan een codeklopper •

Bekijk vacature »

Front-end PHP Developer

Dit ga je doen Bouwen van de frontend van een nieuwe applicaties; Verbeteren van de user experience; Opstellen van een style guide; Schakelen met collega developers over de te bouwen oplossing; Je speelt een belangrijke rol in het neerzetten van het nieuwe systeem; Werken met o.a. Symfony 6, API Platform, Twig, Javascript, Redis Automatiseren van processen; Koppelen van verschillende functionaliteiten; Unit tests, integration tests, end-to-end tests; In de toekomst ga je nog werken aan andere projecten. Hier ga je werken Voor onze vaste opdrachtgever in de regio Breda zijn wij op zoek naar een Frontend Developer. Het betreft een organisatie

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 Java developer

Dit ga je doen Jouw taken als Senior Java Developer zijn: Het maken van strategische keuzes omtrent de nieuwbouw van applicaties; Het maken van technische ontwerpen; Hands-on mee ontwikkelen met het team (met o.a. Java FX, JDBC, SQL, REST, Jax-RS, JSON, Maven, JUnit en Spring (boot)); Reviewen van code en feedback geven op collega developers; Analyseren en oplossen van bugs/incidenten door het onderlinge verband te kunnen leggen van verschillende losstaande systemen. Hier ga je werken Het bedrijf waar je als Senior Java Developer komt te werken staat internationaal bekend om het testen van bodemstructuren door middel van echotechnieken en beeldherkenning.

Bekijk vacature »

Als PHP developer (Symfony) bijdragen aan betere z

Functie Als Medior/Senior PHP developer wordt er een mate van zelfstandigheid verwacht, maar ook dat je goed in een team kunt opereren waar kennis wordt gedeeld en er bijvoorbeeld codereviews plaatsvinden. 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 geactualiseerd.

Bekijk vacature »

SAP Integratie Ontwikkelaar

Ben jij ambitieus in de verdere ontwikkeling van SAP binnen HANOS, en heb je kennis van SAP PI, CPI (SAP integration suite) en of andere middleware tooling? Dan ben jij mogelijk onze nieuwe SAP Integratie (middleware) Ontwikkelaar! Lees snel verder en solliciteer! Wat ga je doen? Als SAP Financieel Consultant ben je, als deel van een gedreven team van interne SAP consultants, de schakel tussen de gebruikersorganisatie en ICT. Je draagt proactief bij aan een optimale aansluiting van de SAP-functionaliteit (een applicatielandschap met o.a. Suite on HANA, Fiori, Hybris, C4C en BO), op de bedrijfsprocessen. Verder ondersteun je de HANOS

Bekijk vacature »

Junior PHP (Laravel) Developer

Functie omschrijving Wij zijn op zoek naar een PHP Laravel Developer! Sta je aan het begin van je carrière en ben je op zoek naar een leuke baan? Lees dan verder! Voor een softwarebedrijf in omgeving van Schiphol zijn wij op zoek naar een ervaren PHP (Laravel) Developer. Je gaat je bezighouden met het ontwikkelen van innovatieve bedrijfsapplicaties. Samen met het team, bestaande uit designers en developers, maak je mooie oplossingen voor bedrijven in diverse branches. Je zorgt dat de opgeleverde websites perfect werken en de klant meer dan tevreden is. Je kunt rekenen op een afwisselende baan met leuke

Bekijk vacature »
Peter Demey

Peter Demey

14/04/2018 17:44:38
Quote Anchor link
Sinds een tijdje staat volgende melding "Creating default object from empty value in /customers/2/b/f/kwbvlamertinge.be/httpd.www/components/com_flexicontact/models/email.php on line 49" bovenaan ons contactformulier en werkt dit niet meer !!
Ik zie niet waaraan dit kan liggen.
Dit is lijn 49 van email.php
$this->data->from_name = JRequest::getVar('from_name',$user_name);

Dit is de volledige file :
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
<?php
/********************************************************************
Product    : Flexicontact
Date       : 25 July 2011
Copyright  : Les Arbres Design 2010-2011
Contact    : http://extensions.lesarbresdesign.info
Licence    : GNU General Public License
*********************************************************************/

defined('_JEXEC') or die('Restricted access');

jimport('joomla.application.component.model');

class FlexicontactModelEmail extends JModel
{
var
$_data;
var
$_app = null;

function
__construct()
{

    parent::__construct();
    $this->_app = &JFactory::getApplication();
}


//--------------------------------------------------------------------------------
// Get post data
//

function getPostData($config_data)
{

// Get the user name and email defaults
//

    switch ($config_data->autofill)
        {
        case
'off':
            $user_name = '';
            $user_email = '';
            break;
        case
'username':
            $user =& JFactory::getUser();
            $user_name = $user->username;
            $user_email = $user->email;
            break;
        case
'name':
            $user =& JFactory::getUser();
            $user_name = $user->name;
            $user_email = $user->email;
            break;
        }
    
        
    $this->data->from_name = JRequest::getVar('from_name',$user_name);
    $this->data->from_email = JRequest::getVar('from_email',$user_email);
    $this->data->subject = JRequest::getVar('subject',$config_data->default_subject);
    $this->data->copy_me = JRequest::getVar('copy_me','');                    // checkbox
    $this->data->agreement_check = JRequest::getVar('agreement_check','');        // checkbox
    $this->data->list1 = JRequest::getVar('list1','');
    $this->data->field1 = JRequest::getVar('field1','');
    $this->data->field2 = JRequest::getVar('field2','');
    $this->data->field3 = JRequest::getVar('field3','');
    $this->data->field4 = JRequest::getVar('field4','');
    $this->data->field5 = JRequest::getVar('field5','');
    $this->data->area_data = JRequest::getVar('area_data','');
    $this->data->magic_word = JRequest::getVar('magic_word','');
    $this->data->pic_selected = JRequest::getVar('picselected','');
    $this->data->pic_requested = JRequest::getVar('picrequested','');
    return $this->data;
}


// -------------------------------------------------------------------------------
// Initialise the errors array
//

function init_errors()
{

    $errors = array();
    $errors['message_not_sent'] = '';
    $errors['imageTest'] = '';
    $errors['from_name'] = '';
    $errors['from_email'] = '';
    $errors['subject'] = '';
    $errors['list'] = '';
    $errors['field1'] = '';
    $errors['field2'] = '';
    $errors['field3'] = '';
    $errors['field4'] = '';
    $errors['field5'] = '';
    $errors['area_data'] = '';
    $errors['magic_word'] = '';
    return $errors;
}


// -------------------------------------------------------------------------------
// Validate the user input
// Returns true if valid, false if not
//

function validate(&$errors, $config_data)
{

    $ret = true;
    
// if using captcha, validate the image

    if ($config_data->num_images > 0)
        {

        $pic_selected = substr(strtoupper($this->data->pic_selected),2);    // strip off the i_
        $targetText = JText::_('COM_FLEXICONTACT_IMAGE_'.$pic_selected);
        if (strcmp($this->data->pic_requested,$targetText) != 0)
            {

            $ret = false;
            $errors['imageTest'] = '<span class="fc_error">'.JText::_('COM_FLEXICONTACT_WRONG_PICTURE').'</span>';
            }
        }

    
// if using magic word, validate the word

    if ($config_data->magic_word != '')
        {

        if (strcasecmp($this->data->magic_word,$config_data->magic_word) != 0)
            {

            $ret = false;
            $errors['magic_word'] = '<span class="fc_error">'.JText::_('COM_FLEXICONTACT_WRONG_MAGIC_WORD').'</span>';
            }
        }

    
// validate the from name

    if (empty($this->data->from_name))
        {

        $ret = false;
        $errors['from_name'] = '<span class="fc_error">'.JText::_('COM_FLEXICONTACT_REQUIRED').'</span>';
        }


// validate the from address

    jimport('joomla.mail.helper');
    if (!JMailHelper::isEmailAddress($this->data->from_email))
        {

        $ret = false;
        $errors['from_email'] = '<span class="fc_error">'.JText::_('COM_FLEXICONTACT_BAD_EMAIL').'</span>';
        }


// validate the subject

    if (($config_data->show_subject) and (empty($this->data->subject)))
        {

        $ret = false;
        $errors['subject'] = '<span class="fc_error">'.JText::_('COM_FLEXICONTACT_REQUIRED').'</span>';
        }


// validate the list selection

    if (($config_data->list_opt == "mandatory") and (empty($this->data->list1)))
        {

        $ret = false;
        $errors['list'] = '<span class="fc_error">'.JText::_('COM_FLEXICONTACT_REQUIRED').'</span>';
        }


// validate field1

    if (($config_data->field_opt1 == "mandatory") and (empty($this->data->field1)))
        {

        $ret = false;
        $errors['field1'] = '<span class="fc_error">'.JText::_('COM_FLEXICONTACT_REQUIRED').'</span>';
        }


// validate field2

    if (($config_data->field_opt2 == "mandatory") and (empty($this->data->field2)))
        {

        $ret = false;
        $errors['field2'] = '<span class="fc_error">'.JText::_('COM_FLEXICONTACT_REQUIRED').'</span>';
        }


// validate field3

    if (($config_data->field_opt3 == "mandatory") and (empty($this->data->field3)))
        {

        $ret = false;
        $errors['field3'] = '<span class="fc_error">'.JText::_('COM_FLEXICONTACT_REQUIRED').'</span>';
        }


// validate field4

    if (($config_data->field_opt4 == "mandatory") and (empty($this->data->field4)))
        {

        $ret = false;
        $errors['field4'] = '<span class="fc_error">'.JText::_('COM_FLEXICONTACT_REQUIRED').'</span>';
        }


// validate field5

    if (($config_data->field_opt5 == "mandatory") and (empty($this->data->field5)))
        {

        $ret = false;
        $errors['field5'] = '<span class="fc_error">'.JText::_('COM_FLEXICONTACT_REQUIRED').'</span>';
        }


// validate area_data

    if (($config_data->area_opt == "mandatory") and (empty($this->data->area_data)))
        {

        $ret = false;
        $errors['area_data'] = '<span class="fc_error">'.JText::_('COM_FLEXICONTACT_REQUIRED').'</span>';
        }

        
    if (!$ret)
        $errors['message_not_sent'] = '<span class="fc_error">'.JText::_('COM_FLEXICONTACT_MESSAGE_NOT_SENT').'</span>';
    
    return $ret;
}


//-----------------------------------------
// Get client's IP address
//

function getIPaddress()
{

    if (isset($_SERVER["REMOTE_ADDR"]))
        return $_SERVER["REMOTE_ADDR"];
    if (isset($_SERVER["HTTP_X_FORWARDED_FOR"]))
        return $_SERVER["HTTP_X_FORWARDED_FOR"];
    if (isset($_SERVER["HTTP_CLIENT_IP"]))
        return $_SERVER["HTTP_CLIENT_IP"];
    return "unknown";
}


//-------------------------------------------------------------------------------
// Get client's browser (changed for 5.06)
// Returns 99 for unknown, 0 for msie, 1 for firefix, etc
//

function getBrowser(&$browser_string)
{

    $u_agent = $_SERVER['HTTP_USER_AGENT'];
    $browser_string = 'Unknown';

    if (strstr($u_agent, 'MSIE') && !strstr($u_agent, 'Opera'))
        {

        $browser_string = 'MSIE';
        return 0;
        }

    if (strstr($u_agent, 'Firefox'))
        {

        $browser_string = 'Firefox';
        return 1;
        }

    if (strstr($u_agent, 'Chrome'))      // must test for Chrome before Safari!
        {
        $browser_string = 'Chrome';
        return 3;
        }

    if (strstr($u_agent, 'Safari'))
        {

        $browser_string = 'Safari';
        return 2;
        }

    if (strstr($u_agent, 'Opera'))
        {

        $browser_string = 'Opera';
        return 4;
        }

    if (strstr($u_agent, 'Netscape'))
        {

        $browser_string = 'Netscape';
        return 5;
        }

    if (strstr($u_agent, 'Konqueror'))
        {

        $browser_string = 'Konqueror';
        return 6;
        }
}


//-------------------------------------------------------------------------------
// Resolve an email variable
//

function email_resolve($config_data, $variable)
{

    switch ($variable)
        {
        case
LAFC_T_FROM_NAME:
            return $this->data->from_name;
        case
LAFC_T_FROM_EMAIL:
            return $this->data->from_email;
        case
LAFC_T_SUBJECT:
            return $this->data->subject;
        case
LAFC_T_MESSAGE_PROMPT:
            return $config_data->area_prompt;
        case
LAFC_T_MESSAGE_DATA:
            return $this->data->area_data;
        case
LAFC_T_LIST_PROMPT:
            return $config_data->list_prompt;
        case
LAFC_T_LIST_DATA:
            return $this->data->list_choice;
        case
LAFC_T_FIELD1_PROMPT:
            return $config_data->field_prompt1;
        case
LAFC_T_FIELD1_DATA:
            return $this->data->field1;
        case
LAFC_T_FIELD2_PROMPT:
            return $config_data->field_prompt2;
        case
LAFC_T_FIELD2_DATA:
            return $this->data->field2;
        case
LAFC_T_FIELD3_PROMPT:
            return $config_data->field_prompt3;
        case
LAFC_T_FIELD3_DATA:
            return $this->data->field3;
        case
LAFC_T_FIELD4_PROMPT:
            return $config_data->field_prompt4;
        case
LAFC_T_FIELD4_DATA:
            return $this->data->field4;
        case
LAFC_T_FIELD5_PROMPT:
            return $config_data->field_prompt5;
        case
LAFC_T_FIELD5_DATA:
            return $this->data->field5;
        case
LAFC_T_BROWSER:
            return $this->data->browser_string;
        case
LAFC_T_IP_ADDRESS:
            return $this->data->ip;
        default:
return '';
        }
}


//-------------------------------------------------------------------------------
// Merge an email template with post data
//

function email_merge($template_text, $config_data)
{

    $text = $template_text;
    $variable_regex = "#%V_*(.*?)%#s";

    preg_match_all($variable_regex, $text, $variable_matches, PREG_SET_ORDER);

    foreach ($variable_matches as $match)
        {

        $resolved_text = $this->email_resolve($config_data, $match[0]);
        $text = str_replace($match[0], $resolved_text, $text);
        }


    return $text;
}


// -------------------------------------------------------------------------------
// Send the email
// Returns blank if ok, or an error message on failure
//

function sendEmail($config_data)
{

// get the user's ip address, browser, and list choice text

    $this->data->ip = $this->getIPaddress();
    $this->data->browser_id = $this->getBrowser($this->data->browser_string);
    if ($this->data->list1 != '')
        $this->data->list_choice = $config_data->list_array[$this->data->list1];
    else
        $this->data->list_choice = '';

// build the message to be sent to the site admin

    $body = $this->email_merge($config_data->admin_template, $config_data);
    jimport('joomla.mail.helper');
    $clean_body = JMailHelper::cleanBody($body);
    $clean_subject = JMailHelper::cleanSubject($this->data->subject);

// build the Joomla mail object

    $app = &JFactory::getApplication();
    $mail =& JFactory::getMailer();

    if ($config_data->email_html)
        $mail->IsHTML(true);
    else
        $clean_body = $this->html2text($clean_body);

    $mail->setSender(array($app->getCfg('mailfrom'), $app->getCfg('fromname')));
    $mail->addRecipient($config_data->toPrimary);
    if (!empty($config_data->ccAddress))
        $mail->addCC($config_data->ccAddress);
    if (!empty($config_data->bccAddress))
        $mail->addBCC($config_data->bccAddress);
    $mail->addReplyTo(array($this->data->from_email, $this->data->from_name));
    $mail->setSubject($clean_subject);
    $mail->setBody($clean_body);
    $ret_main = $mail->Send();
    if ($ret_main === true)
        $this->data->status_main = '1';
    else
        $this->data->status_main = $mail->ErrorInfo;
    
// if the user wanted a copy, send that separately

    if ($this->data->copy_me == 1)
        {

        $body = $this->email_merge($config_data->user_template, $config_data);
        $clean_body = JMailHelper::cleanBody($body);
        $mail =& JFactory::getMailer();
        if ($config_data->email_html)
            $mail->IsHTML(true);
        else
            $clean_body = $this->html2text($clean_body);
        $mail->setSender(array($app->getCfg('mailfrom'), $app->getCfg('fromname')));
        $mail->addRecipient($this->data->from_email);
        $mail->setSubject($clean_subject);
        $mail->setBody($clean_body);
        $ret_copy = $mail->Send();
        if ($ret_copy === true)
            $this->data->status_copy = '1';
        else
            $this->data->status_copy = $mail->ErrorInfo;
        }

    else
        $this->data->status_copy = '0';        // copy not requested
        
    return $this->data->status_main;        // both statuses are logged, but the main status decides what happens next
}

// -------------------------------------------------------------------------------
// Found at http://sb2.info/php-script-html-plain-text-convert/
//

function html2text($html)
{

    $tags = array (
    0 => '~<h[123][^>]+>~si',
    1 => '~<h[456][^>]+>~si',
    2 => '~<table[^>]+>~si',
    3 => '~<tr[^>]+>~si',
    4 => '~<li[^>]+>~si',
    5 => '~<br[^>]+>~si',
    6 => '~<p[^>]+>~si',
    7 => '~<div[^>]+>~si',
    );

    $html = preg_replace($tags,"\n",$html);
    $html = preg_replace('~</t(d|h)>\s*<t(d|h)[^>]+>~si',' - ',$html);
    $html = preg_replace('~<[^>]+>~s','',$html);
    // reducing spaces
    $html = preg_replace('~ +~s',' ',$html);
    $html = preg_replace('~^\s+~m','',$html);
    $html = preg_replace('~\s+$~m','',$html);
    // reducing newlines
    $html = preg_replace('~\n+~s',"\n",$html);
    return $html;
}

}
 
PHP hulp

PHP hulp

20/04/2024 16:59:59
 
Thomas van den Heuvel

Thomas van den Heuvel

14/04/2018 18:04:06
Quote Anchor link
Voordat je begint: maak een backup van dit bestand.

Mogelijk biedt het toevoegen van het volgende voor regel 31 soelaas:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$user_name = new StdClass();

Wat natuurlijk ook interessant is is uitvinden waarom $user_name niet fatsoenlijk (meer) kan worden geïnitialiseerd, dit is een indicatie dat er mogelijk meer aan de hand is...

En dit zul je mogelijk ook voor andere variabelen naast $user_name moeten doen, maar wat wellicht beter is is om te kijken of deze module inmiddels een update heeft gehad. Het contactformulier stamt uit 2011. PHP en Joomla hebben ondertussen niet stil gezeten. En je provider waarschijnlijk ook niet. Mogelijk is dit formulier simpelweg niet meer compatibel met de huidige PHP-versie.
 
Peter Demey

Peter Demey

17/04/2018 16:33:48
Quote Anchor link
@ Thomas : heb die regel erbij gevoegd maar kreeg dan de melding fout in lijn 50 ...
Intussen geupdate naar joomla 3.8 en daar eens geprobeerd met een gewoon contactformulier.
Hier lukt het ook niet om een mailtje te zenden via die form.
Krijg melding " kan mailfunctie niet opstarten"
Wat kan hiervan de oorzaak zijn ?
 
Rob Doemaarwat

Rob Doemaarwat

17/04/2018 16:50:39
Quote Anchor link
En op regel 49 invoegen (dus voor de "$this->data->..." regels)
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$this->data = new StdClass();
Hoe ver kom je dan (maw: wat is dan de foutmelding)?
 
Thomas van den Heuvel

Thomas van den Heuvel

17/04/2018 17:50:02
Quote Anchor link
Wat @Rob zegt helpt je wellicht verder, maar het blijft modderen in verouderde code. Tijd voor een update/upgrade.
 
Peter Demey

Peter Demey

18/04/2018 18:00:40
Quote Anchor link
Ik heb nu flexicontact versie 12 geïnstalleerd, maar het verzenden van een contactformulier werkt nog steeds niet !! Krijg altijd de melding "Kan mailfunctie niet opstarten". Tot overmaat van ramp kan ik nu zelfs niet meer inloggen als admin. Iemand een idee hoe ik dat kan oplossen ? Ik vond volgende info op 't net maar wil graag weten of deze correct is, voor ik dit uitvoer !!

Zie onderstaande :

Joomla admin wachtwoord vergeten

Wanneer u het ‘admin’ wachtwoord van een Joomla website vergeten bent, kunt u niet meer inloggen in het Joomla backend gedeelte als Administrator.

Een oplossing kan zijn het wachtwoord direct in de MySql database te wijzigen.
Hiervoor heeft u wel toegang tot de database nodig via een programma als PhpMyAdmin.

Log in via PhpMyadmin met de database gebruikersnaam en het wachtwoord van de database gebruiker.
Selecteer aan de linkerbovenkant in PhpMyAdmin de database die gebruikt wordt voor de Joomla
installatie.
Klik aan de linkerkant op de table ‘jos_users’.
Klik op ‘Browse’.
Klik op het edit symbool (potloot) dat aan de linkerkant staat van de gebruiker met de username ‘admin’.
Wijzig de waarde van het veld ‘Password’ in: 21232f297a57a5a743894a0e4a801fc3 .
Klik op de knop ‘Go’.
Sluit PhpMyAdmin

Het admin wachtwoord is nu veranderd in: admin .

Wijzig dit wachtwoord direct na het inloggen in het Joomla backend gedeelte bij ‘User management’.
 
- Ariën  -
Beheerder

- Ariën -

18/04/2018 18:08:50
Quote Anchor link
Kan je wel normaal mailen met PHP via de mail() functie?

Ik vraag me af of Joomla deze password-hasing nog wel ondersteund. In zulke gevallen zou ik altijd een backup maken.
Gewijzigd op 18/04/2018 18:37:44 door - Ariën -
 
Thomas van den Heuvel

Thomas van den Heuvel

19/04/2018 01:29:51
Quote Anchor link
Nu ja, als je niet meer in de backend kan dan zul je sowieso van een kunstgreep gebruik moeten maken. Het bovenstaande klinkt wel ok, maar dan vraag ik mij ook af hoe oud Joomla zelf ondertussen is.

Het is vrij belangrijk dat de versie enigszins bij de tijd is, of dat je in ieder geval weet welke mogelijke veiligheids-issues je huidige (en volgende) versie(s) heeft.

En een backup maken kan i.i.g. nooit kwaad, al was het enkel van de reeds aanwezige password-hash.
 
- Ariën  -
Beheerder

- Ariën -

19/04/2018 01:38:54
Quote Anchor link
Ik hoop dat Joomla geen MD5 meer gebruikt voor password-hashes.

Misschien is dat wel de reden dat je niet kan inloggen: Je old-skoel hash komt niet overeen met een andere encryptie die Joomla tegenwoordig wel gebruikt.
 
Thomas van den Heuvel

Thomas van den Heuvel

19/04/2018 03:11:49
Quote Anchor link
Het lijkt mij sterk dat bovenstaande instructies werken, maar je zou het kunnen proberen want je hebt niet zoveel andere keuze op dit punt? Het maken van een backup kan overigens nooit kwaad.

En als de instructies wel werken zou mij dat verontrusten. Ik meen mij te herinneren dat toen ik een keer een password-reset moest uitvoeren in Joomla (en dit is alweer jaren terug) dat het toen al geavanceerder was dan dat. Maar zo te zien is je Joomla versie vrij nieuw (3.8.7).

Wat je aan administratie dient te wijzigen om weer in te kunnen loggen hangt waarschijnlijk af van de versie die Joomla gebruikt, want die zal bepalen hoe wachtwoorden beveiligd zijn.

EDIT: deze instructies klinken wat actueler. Raadpleeg bij voorkeur altijd officiële / actuele documentatie.
Gewijzigd op 19/04/2018 09:30:50 door Thomas van den Heuvel
 
Peter Demey

Peter Demey

19/04/2018 14:47:16
Quote Anchor link
Die instructies voor mijn paswoord te wijzigen werken.
Heb ze uitgevoerd als beschreven en kan nu weer op mijn backend.
Meteen ook paswoord terug aangepast.
Dit even ter info !!
Vanavond zoek ik verder waarom het contactformulier niet werkt !!
mijn site : kwbvlamertinge.be
 
Peter Demey

Peter Demey

20/04/2018 17:11:09
Quote Anchor link
- Ariën - op 18/04/2018 18:08:50:
Kan je wel normaal mailen met PHP via de mail() functie?

Ik vraag me af of Joomla deze password-hasing nog wel ondersteund. In zulke gevallen zou ik altijd een backup maken.


Als ik de mail in joomla wil testen krijg ik telkens een foutmelding :
PHP : Kan mailfunctie niet opstarten
Sendmail : Kan niet uitvoeren: /usr/sbin/sendmail
SMTP : SMTP verbinding mislukt https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting

Ik zit bij one.com
 
Frank Nietbelangrijk

Frank Nietbelangrijk

20/04/2018 17:28:53
Quote Anchor link
https://help.one.com/hc/nl/articles/115005594345-Kan-ik-e-mails-verzenden-vanaf-mijn-website-

Zo te zien zou je gewoon sendmail en dus php mail() moeten kunnen gebruiken.

Wat gebeurt er als je een test mail verstuurd?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
if(mail('[email protected]', 'test mail', 'Deze mail is een testje')) {
    echo 'mail is verstuurd';
}
else {
    echo 'blijkbaar kan ik geen mails verzenden...';
}

?>

Vervang [email protected] voor je eigen prive mailadres.
Gewijzigd op 20/04/2018 17:29:33 door Frank Nietbelangrijk
 
Peter Demey

Peter Demey

23/04/2018 10:08:16
Quote Anchor link
het probleem is opgelost.
Vorig jaar werd onze site gehacked en werd er spam verspreid via onze site.
Daardoor had one.com onze mail service geblokkeerd.

Na de update van joomla en alle componenten heb ik gevraagd om deze weer vrij te geven.
Nu werkt alles weer.

Sorry voor de overlast
 
Frank Nietbelangrijk

Frank Nietbelangrijk

23/04/2018 10:24:58
Quote Anchor link
>> Vorig jaar werd onze site gehacked en werd er spam verspreid via onze site.

Dus het echte probleem is de beveiliging van de website?

>> het probleem is opgelost

Maar is de website nu weer enigszins waterdicht?
 
Ben van Velzen

Ben van Velzen

23/04/2018 10:43:50
Quote Anchor link
Het is Joomla, ik zou dus verwachten van niet.
 



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.