2011-10-24 4 views
0

J'ai un script qui utilise certaines fonctions de PhpBB pour envoyer un émail à tous les membres du forum. J'ai fait une page php, un formulaire avec le sujet et le message et ajouté les fonctions phpBB qui feraient cela. Le problème est que je reçois juste parfois cette erreur:Une erreur PHP apparaît parfois

Fatal error: Cannot redeclare smtpmail() (previously declared in /home/**/domains/**.ca/public_html/zonemembres/includes/functions_messenger.php:896) in /home/**/domains/**.ca/public_html/zonemembres/includes/functions_messenger.php on line 1103 

ici vous pouvez voir le code.

if (!function_exists('send')) { 
         include($phpbb_root_path . 'includes/functions_messenger.' . $phpEx); 
        } 
       for ($i = 0, $size = sizeof($contact_users); $i < $size; $i++) { 

        $messenger = new messenger(true); 

        // Email headers 
        $messenger->headers('X-AntiAbuse: Board servername - ' . $config['server_name']); 
        $messenger->headers('X-AntiAbuse: User_id - ' . $user->data['user_id']); 
        $messenger->headers('X-AntiAbuse: Username - ' . $user->data['username']); 
        $messenger->headers('X-AntiAbuse: User IP - ' . $user->ip); 
        if (!empty($contact_data['contact_reason'])) { 
         $messenger->template('contact', $contact_users[$i]['user_lang']); 
        } else { 
         $messenger->template('contact_no_reason_custom', $contact_users[$i]['user_lang']); 
        } 
        $messenger->to($contact_users[$i]['user_email'], $contact_users[$i]['username']); 
        //$messenger->to('[email protected]', $contact_users[$i]['username']); 
        $messenger->im($contact_users[$i]['user_jabber'], $contact_users[$i]['username']); 
        $messenger->from($contact_data['email']); 
        $messenger->replyto($contact_data['email']); 
        $link = 'http://www.adgmrcq.ca/zonemembres/viewtopic.php?f=' . $config_contact["contact_bot_forum"] . '&t=' . $last_topic_id[0]["topic_id"]; 
        $messenger->assign_vars(array(
         'ADM_USERNAME' => htmlspecialchars_decode($user->data['username']), 
         'ADM_EMAIL' => htmlspecialchars_decode($user->data['user_email']), 
         'SITENAME' => htmlspecialchars_decode($config['sitename']), 
         'USER_IP' => $user->ip, 
         'USERNAME' => $contact_users[$i]['username'], 
         'USER_EMAIL' => htmlspecialchars_decode($contact_data['email']), 
         'DATE' => $date, 
         'REASON' => htmlspecialchars_decode($contact_data['contact_reason']), 
         'SUBJECT' => htmlspecialchars_decode($subject), 
         'MESSAGE' => $message, 
         'LINK' => $link, 
        )); 
        $contact_users[$i]['user_notify_type'] = NOTIFY_EMAIL; 
        $messenger->send($contact_users[$i]['user_notify_type']); 
        $messenger->save_queue(); 
        unset($messenger); 
       } 

Ceci est la partie que je suis intéressé par la variable $messenger est déclarée functions_messenger.php, le fichier qui semble déclarer une fonction deux fois. La chose étrange est que je reçois cette erreur juste parfois. Je n'ai pas réussi à trouver une règle de comment cela pourrait apparaître.

Est-ce que quelqu'un a des idées? Je vous remercie!!

Répondre

1

Aller au fichier/home//domaines/ .ca/public_html/zonemembres/includes/functions_messenger.php, trouver la fonction smtpmail() et l'envelopper dans une instruction if comme ça:

if(!function_exists('smtpmail')) 
{ 
    function smtpmail() 
    { 
     // Function decleration here 
    } 
} 
Questions connexes