2011-10-24 4 views
0

일부 PhpBB 함수를 사용하여 모든 포럼 멤버에게 에메알을 보내는 스크립트가 있습니다. 나는 주제와 메시지가있는 폼을 만들고 phpBB 함수를 추가하여 PHP 페이지를 만들었습니다. 여기때때로 PHP 에러가 나타납니다

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 

당신이 코드를 볼 수 있습니다 : 문제는 그냥 가끔이 오류 얻을 수 있다는 것입니다. 이것은 내가 관심이있는 부분입니다

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); 
       } 

$messenger 변수에 선언 functions_messenger.php, 함수를 두 번 선언 한 것 같습니다. 이상한 점은 때때로이 오류가 발생한다는 것입니다. 나는 이것이 어떻게 나타날 수 있는지에 대한 규칙을 찾지 못했습니다.

누구에게 아이디어가 있습니까? 고맙습니다!!

답변

1

이동 파일로/홈//도메인/ .CA/public_html을/zonemembres// functions_messenger.php, (함수 smtpmail을 찾기)와 경우에 그것을 포장을 포함하는 같은 문 :

if(!function_exists('smtpmail')) 
{ 
    function smtpmail() 
    { 
     // Function decleration here 
    } 
} 
관련 문제