Creating default object from empty value

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

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 »

.NET Developer

Functie omschrijving Ben jij een senior .NET developer en heb jij tevens ervaring als teamlead? Ben jij iemand met een helikopterview en denk jij graag mee met de klanten? Dan zijn wij op zoek naar jou! Voor een geweldig bedrijf zijn wij namelijk op zoek naar een ervaren .NET developer. Het bedrijf houdt zich bezig met het ontwerpen en bouwen van websites, portalen en applicaties voor met name zorg- en onderwijsinstellingen en overheidsinstanties. Jouw taken: Het fungeren als Lead Developer; Het meedenken met de business (dit vergt commercieel inzicht); Het begeleiden van diverse projecten (van klein tot groot); Het ontwerpen

Bekijk vacature »

.NET developer

Wat ga je doen als Full stack .NET developer Microsoft 365? Je stelt je op als sparringpartner voor het team en PO over toekomstige functionaliteiten, architectuur en mogelijke nieuwe producten. Je bent mede-verantwoordelijk voor het vertalen en omzetten van een user story in een passend technisch design. Je implementeert functionaliteiten op basis van een technisch design en user story. Je bent mede-verantwoordelijk voor het beheer van Azure DevOps, waaronder het beheer van GIT, Build Pipelines, Release Pipelines en geautomatiseerde testen. Hier herken jij jezelf in Hbo werk- en denkniveau of hoger aangevuld met relevante certificeringen en/of cursussen; Minimaal 3 jaar

Bekijk vacature »

Software Developer

Functie omschrijving Veel begeleiding en de kans om je verder te ontwikkelen als software developer. Dat kunnen wij jou bieden bij deelname aan deze leuke traineeship. Je krijgt een mentor toegewezen die jou alle kneepjes van het vak leert. Heb jij al wat ervaring als software developer? Daar worden wij heel blij van! Lees snel verder! Bedrijfsprofiel Als software developer neem je deel aan een trainings programma in de omgeving van Haarlem waar je persoonlijk wordt begeleidt, zodat je alle kneepjes van het vak leert. Aan de hand van jouw kennis en ervaring krijg je een persoonlijk opleidingstraject. Je gaat

Bekijk vacature »

Medior/senior Front-end developer

Functie Je maakt deel uit van een DevOps Scrum team en werkt samen met back-end developers, test-engineers, interaction designers en een projectmanager. Er zijn verschillende groepen Scrum teams. Een roadmap team is jouw ‘’thuisbasis’’, daar wordt gewerkt aan doorontwikkeling van bestaande omgevingen voor een aantal klanten. Hiernaast zijn er projectteams waar nieuwe omgevingen worden gebouwd, of grote complexe wijzigingen worden doorgevoerd op bestaande omgevingen. Je kunt (afhankelijk van jouw wensen en doelen) dus afwisselend werken in beide teams. Hiernaast participeer je in het Chapter Front-end development waar gezamenlijk kennis en ervaring wordt gedeeld. Als Front-end developer is het jouw doel

Bekijk vacature »

Medior/senior Back-end developer gezocht!

Functie Vanwege de groei binnen het bedrijf zijn we op zoek naar versterking in het devlopmenttean. Als back-end developer bouw je aan de bedrijfssoftware die ons helpt bij de primaire processen. Een leuk (intern) project dus waarbij je de software continu doorontwikkeld! Je werkt in een klein team, we hebben dagelijks stand-ups en iedere twee weken een scrum-sessie, begeleid door onze Scrum Master. Hierin krijg je uitgebreid de kans om je ideeën te presenteren, en te overleggen met je mede-ontwikkelaars en de Product Owner. Binnen de ontwikkelteams gebruiken we Trello, Gitlab, Jiira, Confluence en Boockstack. Hiernaast werken ze met de

Bekijk vacature »

Junior PHP Developer

Dit ga je doen Software development met behulp van C# .NET en / of PHP, je mag zelf kiezen waar jij je in wil specialiseren Meedenken over het nieuwe pakket, waar moet het aan voldoen? Unit-, integratie- en diverse andere tests schrijven en uitvoeren Nauw samenwerken met je IT collega's zoals Testers, Developers, DevOps Specialisten en Architecten Jezelf ontwikkelen met behulp van trainingen en cursussen Hier ga je werken Onze klant, een grote speler in de medische sector, is op zoek naar een enthousiaste junior (of meer ervaren) Software Developer die klaar is voor een nieuwe stap in zijn of

Bekijk vacature »

Medior Java developer (fullstack)

Wat je gaat doen: Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

Bekijk vacature »

Front-end developer (Angular)

Functie Het team bestaat uit een architect, fullstack developers, app developers, de product owner en projectmanager. Eenieder draagt vanuit zijn discipline bij aan een complete oplossing voor de klant. Uiteraard zul je hierin nauw samenwerken met je collega’s. Jij wordt verantwoordelijk voor de front-end implementatie en fungeert als lead op dit gebied binnen het team. Je kunt helder formuleren, ideeën uitdragen en overbrengen aan je collega’s. Qua technische stack is het vooral van belang dat je ervaren bent met Angular, HTML5, CSS en TypeScript. Verder is ervaring in NgRx, Bootstrap, BEM en Cypress een pré, evenals affiniteit met UX/UI Design!

Bekijk vacature »

PHP Developer

Functie omschrijving Voor een bedrijf in Den Bosch zoek ik een PHP Developer, die al wat werkervaring heeft. Jij gaat aan de slag met de verdere professionalisering van de interne applicaties en software. In de functie ga je verder: Verdere ontwikkeling eigen CRM systeem, vooral middels PHP; Bouwen van verschillende API's & koppelingen; Meedenken om de software/applicaties te verbeteren/optimaliseren; Aan de slag met de interne tooling. Bedrijfsprofiel Dit bedrijf is actief binnen de telecombranche. Het hoofdkantoor zit in regio van Den Bosch en er werken ruim 70 medewerkers, verdeeld over verschillende afdelingen. De afdeling Development bestaat uit vijf collega's, onder

Bekijk vacature »

Java Front-end Developer

Dit ga je doen Ontwikkelen van nieuwe functionaliteiten in Java met tools als Springboot, MS SQL Server (T-SQL) en JavaScript; Het onderhouden van de (web-)applicaties binnen een complexe omgeving; Werken aan de migratie van een monolithisch systeem naar een architectuur gebaseerd op Kubernetes; Code reviews met collega's en actieve kennisuitdelingsessies voeren; Het uitvoeren van unit- en systeemtests Experimenteren met nieuwe tools en technieken. Hier ga je werken Binnen deze organisatie kom je te werken op de afdeling die gegevens verzamelt vanuit het hele land. Denk hierbij aan vertrouwelijke persoonsgegevens. Het team verwerkt al deze data met als doel het waarborgen

Bekijk vacature »

Software Programmeur

Functie omschrijving Ben jij op zoek naar een organisatie waar je samen met een team werkt aan iets moois en waar je naast hard werken ook hard kunt lachen? Dan ben je hier aan het juiste adres! Voor een informeel IT-bedrijf in omgeving Wassenaar zijn wij op zoek naar versterking. Ben jij op zoek naar een nieuwe uitdaging als Software Programmeur lees dan snel verder! 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

Bekijk vacature »

Medior PHP Developer

Bij Getnoticed doen wij wat we leuk vinden, websites bouwen en online marketing. Voor veel van onze klanten doen we dan ook allebei. Wel zo fijn om campagnes te draaien voor conversiegerichte website die in eigen beheer zijn. In onze vestiging in Nederweert zitten onze development afdelingen en worden de websites gebouwd. Op dit moment zijn we op zoek naar jou: dé PHP/Back-end developer die net als wij, het hoofd boven het maaiveld durft uit te steken! In het kort Even een paar punten die omschrijven wat deze toffe baan inhoudt: Het bedenken van nieuwe functionaliteiten Het verbeteren van het

Bekijk vacature »

Software Ontwikkelaar

Java/Kotlin Developer Ben jij een ervaren Java/Kotlin developer met een passie voor het automatiseren van bedrijfsprocessen? Wil je graag deelnemen aan uitdagende projecten bij aansprekende klanten? En ben je op zoek naar een professioneel, ambitieus en dynamisch bedrijf om je carrière verder te ontwikkelen? Kom dan ons team bij Ritense in Amsterdam versterken! Zo ziet de functie eruit: Als Java/Kotlin developer bij Ritense ben je verantwoordelijk voor de ontwikkeling en implementatie van applicaties die bedrijfsprocessen automatiseren, zodat onze klanten slimmer, efficiënter en klantgerichter kunnen werken. Als developer ben je in de lead en zorg je voor de correcte oplevering van

Bekijk vacature »

.NET Developer

Functieomschrijving Ben jij klaar voor de volgende stap in jouw carrière? Kom werken bij dit kleine softwarebureau en werk aan de gaafste maatwerk projecten. Je komt te werken in een klein development team en werk nauw samen met elkaar, om maatwerk software te leveren en bij te dragen aan bedrijfsautomatiseringen. Je gaat werken met de Microsoft stack en technieken als .NET, C#, Entity, MVC, SQL server. In de functie krijg je veel vrijheid om zelf beslissingen te nemen en je hebt impact op de bedrijfsprocessen. Bedrijfsprofiel Dit familiebedrijf bestaat al ruim 20 jaar. Zij hebben een vast netwerk van klanten,

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

22/12/2024 08:27:11
 
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.