Exemple #1
0
 if (!flood_control("message_datestamp", DB_MESSAGES, "message_from='" . $userdata['user_id'] . "'")) {
     $result = dbquery("SELECT u.user_id, u.user_name, u.user_email, u.user_level, mo.pm_email_notify, s.pm_inbox, COUNT(message_id) as message_count\n\t\t\t\tFROM " . DB_USERS . " u\n\t\t\t\tLEFT JOIN " . DB_MESSAGES_OPTIONS . " mo USING(user_id)\n\t\t\t\tLEFT JOIN " . DB_MESSAGES_OPTIONS . " s ON s.user_id='0'\n\t\t\t\tLEFT JOIN " . DB_MESSAGES . " ON message_to=u.user_id AND message_folder='0'\n\t\t\t\tWHERE u.user_id='" . $_GET['msg_send'] . "' GROUP BY u.user_id");
     if (dbrows($result)) {
         $data = dbarray($result);
         if ($data['user_id'] != $userdata['user_id']) {
             if ($data['user_id'] == 1 || $data['user_level'] > 101 || $data['pm_inbox'] == "0" || $data['message_count'] + 1 <= $data['pm_inbox']) {
                 $result = dbquery("INSERT INTO " . DB_MESSAGES . " (message_to, message_from, message_subject, message_message, message_smileys, message_read, message_datestamp, message_folder) VALUES('" . $data['user_id'] . "','" . $userdata['user_id'] . "','" . $subject . "','" . $message . "','" . $smileys . "','0','" . time() . "','0')");
                 $send_email = isset($data['pm_email_notify']) ? $data['pm_email_notify'] : $msg_settings['pm_email_notify'];
                 if ($send_email == "1") {
                     $message_content = str_replace("[SUBJECT]", $subject, $locale['626']);
                     $message_content = str_replace("[USER]", $userdata['user_name'], $message_content);
                     $template_result = dbquery("SELECT template_key, template_active FROM " . DB_EMAIL_TEMPLATES . " WHERE template_key='PM' LIMIT 1");
                     if (dbrows($template_result)) {
                         $template_data = dbarray($template_result);
                         if ($template_data['template_active'] == "1") {
                             sendemail_template("PM", $subject, trimlink($message, 150), $userdata['user_name'], $data['user_name'], "", $data['user_email']);
                         } else {
                             sendemail($data['user_name'], $data['user_email'], $settings['siteusername'], $settings['siteemail'], $locale['625'], $data['user_name'] . $message_content);
                         }
                     } else {
                         sendemail($data['user_name'], $data['user_email'], $settings['siteusername'], $settings['siteemail'], $locale['625'], $data['user_name'] . $message_content);
                     }
                 }
             } else {
                 $error = "2";
             }
         }
     } else {
         redirect(FUSION_SELF . "?folder=inbox&error=noresult");
     }
 } else {
Exemple #2
0
     }
 }
 $_CAPTCHA_IS_VALID = FALSE;
 include INCLUDES . "captchas/" . $settings['captcha'] . "/captcha_check.php";
 // Dynamics need to develop Captcha. Before that, use method 2.
 if ($_CAPTCHA_IS_VALID == FALSE) {
     $defender->stop();
     addNotice('warning', $locale['424']);
 }
 if (!defined('FUSION_NULL')) {
     require_once INCLUDES . "sendmail_include.php";
     $template_result = dbquery("\n\t\t\tSELECT template_key, template_active, template_sender_name, template_sender_email\n\t\t\tFROM " . DB_EMAIL_TEMPLATES . "\n\t\t\tWHERE template_key='CONTACT'\n\t\t\tLIMIT 1");
     if (dbrows($template_result)) {
         $template_data = dbarray($template_result);
         if ($template_data['template_active'] == "1") {
             if (!sendemail_template("CONTACT", $input['subject'], $input['message'], "", $template_data['template_sender_name'], "", $template_data['template_sender_email'], $input['mailname'], $input['email'])) {
                 $defender->stop();
                 addNotice('warning', $locale['425']);
             }
         } else {
             if (!sendemail($settings['siteusername'], $settings['siteemail'], $input['mailname'], $input['email'], $input['subject'], $input['message'])) {
                 $defender->stop();
                 addNotice('warning', $locale['425']);
             }
         }
     } else {
         if (!sendemail($settings['siteusername'], $settings['siteemail'], $input['mailname'], $input['email'], $input['subject'], $input['message'])) {
             $defender->stop();
             addNotice('warning', $locale['425']);
         }
     }
function send_pm($to, $from, $subject, $message, $smileys = "y")
{
    global $settings;
    include LOCALE . LOCALESET . "messages.php";
    require_once INCLUDES . "sendmail_include.php";
    require_once INCLUDES . "flood_include.php";
    $msg_settings = dbarray(dbquery("SELECT pm_inbox, pm_email_notify FROM " . DB_MESSAGES_OPTIONS . " WHERE user_id='0'"));
    $smileys = preg_match("#(\\[code\\](.*?)\\[/code\\]|\\[geshi=(.*?)\\](.*?)\\[/geshi\\]|\\[php\\](.*?)\\[/php\\])#si", $message) ? "n" : $smileys;
    $error = 0;
    if (!flood_control("message_datestamp", DB_MESSAGES, "message_from='" . $from . "'")) {
        $result = dbquery("SELECT u.user_id, u.user_name, u.user_email, u.user_level, mo.pm_email_notify, COUNT(message_id) as message_count FROM " . DB_USERS . " u\r\n\t\t\tLEFT JOIN " . DB_MESSAGES_OPTIONS . " mo USING(user_id)\r\n\t\t\tLEFT JOIN " . DB_MESSAGES . " ON message_to=u.user_id AND message_folder='0'\r\n\t\t\tWHERE u.user_id='{$to}' GROUP BY u.user_id");
        if (dbrows($result)) {
            $data = dbarray($result);
            $result = dbquery("SELECT user_id, user_name FROM " . DB_USERS . " WHERE user_id='" . $from . "'");
            if (dbrows($result)) {
                $userdata = dbarray($result);
                if ($to != $from) {
                    if ($data['user_id'] == 1 || $data['user_level'] > 101 || $msg_settings['pm_inbox'] == "0" || $data['message_count'] + 1 <= $msg_settings['pm_inbox']) {
                        $result = dbquery("INSERT INTO " . DB_MESSAGES . " (message_to, message_from, message_subject, message_message, message_smileys, message_read, message_datestamp, message_folder) VALUES('" . $data['user_id'] . "','" . $userdata['user_id'] . "','" . $subject . "','" . $message . "','" . $smileys . "','0','" . time() . "','0')");
                        $send_email = isset($data['pm_email_notify']) ? $data['pm_email_notify'] : $msg_settings['pm_email_notify'];
                        if ($send_email == "1") {
                            $message_content = str_replace("[SUBJECT]", $subject, $locale['626']);
                            $message_content = str_replace("[USER]", $userdata['user_name'], $message_content);
                            $template_result = dbquery("SELECT template_key, template_active FROM " . DB_EMAIL_TEMPLATES . " WHERE template_key='PM' LIMIT 1");
                            if (dbrows($template_result)) {
                                $template_data = dbarray($template_result);
                                if ($template_data['template_active'] == "1") {
                                    sendemail_template("PM", $subject, trimlink($message, 150), $userdata['user_name'], $data['user_name'], "", $data['user_email']);
                                } else {
                                    sendemail($data['user_name'], $data['user_email'], $settings['siteusername'], $settings['siteemail'], $locale['625'], $data['user_name'] . $message_content);
                                }
                            } else {
                                sendemail($data['user_name'], $data['user_email'], $settings['siteusername'], $settings['siteemail'], $locale['625'], $data['user_name'] . $message_content);
                            }
                        }
                    } else {
                        // Inbox is full
                        $error = 1;
                    }
                } else {
                    // Reciever and sender are the same user
                    $error = 2;
                }
            } else {
                // Sender does not exist in DB
                $error = 3;
            }
        } else {
            // Reciever does not exist in DB
            $error = 4;
        }
    } else {
        // Floodcontrol exceeded
        $error = 5;
    }
    return $error;
}
Exemple #4
0
     redirect("index.php");
 }
 add_to_head("<meta http-equiv='refresh' content='2; url=viewthread.php?thread_id=" . $_GET['thread_id'] . "&amp;pid=" . $_GET['post_id'] . "#post_" . $_GET['post_id'] . "' />\n");
 if ($settings['thread_notify']) {
     $result = dbquery("SELECT tn.*, tu.user_id, tu.user_name, tu.user_email, tu.user_level, tu.user_groups\r\n\t\t\t\tFROM " . DB_THREAD_NOTIFY . " tn\r\n\t\t\t\tLEFT JOIN " . DB_USERS . " tu ON tn.notify_user=tu.user_id\r\n\t\t\t\tWHERE thread_id='" . $_GET['thread_id'] . "' AND notify_user!='" . $userdata['user_id'] . "' AND notify_status='1'\r\n\t\t\t");
     if (dbrows($result)) {
         require_once INCLUDES . "sendmail_include.php";
         $data2 = dbarray(dbquery("SELECT tf.forum_access, tt.thread_subject\r\n\t\t\t\t\tFROM " . DB_THREADS . " tt\r\n\t\t\t\t\tINNER JOIN " . DB_FORUMS . " tf ON tf.forum_id=tt.forum_id\r\n\t\t\t\t\tWHERE thread_id='" . $_GET['thread_id'] . "'"));
         $link = $settings['siteurl'] . "forum/viewthread.php?forum_id=" . $_GET['forum_id'] . "&thread_id=" . $_GET['thread_id'] . "&pid=" . $_GET['post_id'] . "#post_" . $_GET['post_id'];
         $template_result = dbquery("SELECT template_key, template_active FROM " . DB_EMAIL_TEMPLATES . " WHERE template_key='POST' LIMIT 1");
         if (dbrows($template_result)) {
             $template_data = dbarray($template_result);
             if ($template_data['template_active'] == "1") {
                 while ($data = dbarray($result)) {
                     if ($data2['forum_access'] == 0 || in_array($data2['forum_access'], explode(".", $data['user_level'] . "." . $data['user_groups']))) {
                         sendemail_template("POST", $data2['thread_subject'], "", "", $data['user_name'], $link, $data['user_email']);
                     }
                 }
             } else {
                 while ($data = dbarray($result)) {
                     if ($data2['forum_access'] == 0 || in_array($data2['forum_access'], explode(".", $data['user_level'] . "." . $data['user_groups']))) {
                         $message_el1 = array("{USERNAME}", "{THREAD_SUBJECT}", "{THREAD_URL}");
                         $message_el2 = array($data['user_name'], $data2['thread_subject'], $link);
                         $message_subject = str_replace("{THREAD_SUBJECT}", $data2['thread_subject'], $locale['550']);
                         $message_content = str_replace($message_el1, $message_el2, $locale['551']);
                         sendemail($data['user_name'], $data['user_email'], $settings['siteusername'], $settings['siteemail'], $message_subject, $message_content);
                     }
                 }
             }
         } else {
             while ($data = dbarray($result)) {
Exemple #5
0
        redirect(FUSION_SELF . $aidlink . "&amp;status=su&amp;template_id=" . $template_id);
    }
} elseif (isset($_POST['test_template'])) {
    $template_id = form_sanitizer($_POST['template_id'], '', 'template_id');
    $template_key = form_sanitizer($_POST['template_key'], '', 'template_key');
    $template_format = form_sanitizer($_POST['template_format'], '', 'template_format');
    $template_subject = form_sanitizer($_POST['template_subject'], '', 'template_subject');
    $template_content = form_sanitizer($_POST['template_content'], '', 'template_content');
    $template_active = form_sanitizer($_POST['template_active'], '', 'template_active');
    $template_sender_name = form_sanitizer($_POST['template_sender_name'], '', 'template_sender_name');
    $template_sender_email = form_sanitizer($_POST['template_sender_email'], '', 'template_sender_email');
    $template_language = form_sanitizer($_POST['template_language'], '', 'template_language');
    if (!defined('FUSION_NULL')) {
        $result = dbquery("UPDATE " . DB_EMAIL_TEMPLATES . " SET\r\n            template_subject = '" . $template_subject . "',\r\n            template_content = '" . $template_content . "',\r\n            template_active = '" . $template_active . "',\r\n            template_format = '" . $template_format . "',\r\n            template_sender_name = '" . $template_sender_name . "',\r\n            template_sender_email = '" . $template_sender_email . "',\r\n            template_language = '" . $template_language . "'\r\n            WHERE template_id = '" . $template_id . "'\r\n        ");
        require_once INCLUDES . "sendmail_include.php";
        sendemail_template($template_key, $locale['412'], $locale['413'], $locale['414'], $locale['415'], $locale['416'], $userdata['user_email']);
        redirect(FUSION_SELF . $aidlink . "&amp;status=snd&amp;template_id=" . $template_id . "&amp;testmail=" . $userdata['user_email']);
    }
}
$result = dbquery("SELECT template_id, template_key, template_name, template_language FROM " . DB_EMAIL_TEMPLATES . " " . (multilang_table("ET") ? "WHERE template_language='" . LANGUAGE . "'" : "") . " ORDER BY template_id ASC");
if (dbrows($result) != 0) {
    $editlist = array();
    while ($data = dbarray($result)) {
        $template[$data['template_id']] = $data['template_name'];
    }
}
foreach ($template as $id => $tname) {
    $tab_title['title'][$id] = $tname;
    $tab_title['id'][$id] = $id;
    $tab_title['icon'][$id] = '';
}
 public static function send_pm($to, $from, $subject, $message, $smileys = 'y', $to_group = FALSE, $save_sent = TRUE)
 {
     include LOCALE . LOCALESET . "messages.php";
     require_once INCLUDES . "sendmail_include.php";
     require_once INCLUDES . "flood_include.php";
     $strict = FALSE;
     $locale = array();
     $group_name = getgroupname($to);
     $to = isnum($to) || !empty($group_name) ? $to : 0;
     $from = isnum($from) ? $from : 0;
     $smileys = preg_match("#(\\[code\\](.*?)\\[/code\\]|\\[geshi=(.*?)\\](.*?)\\[/geshi\\]|\\[php\\](.*?)\\[/php\\])#si", $message) ? "n" : $smileys;
     if (!$to_group) {
         // send to user
         $pmStatus = self::get_pm_settings($to);
         $myStatus = self::get_pm_settings($from);
         if (!flood_control("message_datestamp", DB_MESSAGES, "message_from='" . intval($from) . "'")) {
             // find receipient
             $result = dbquery("SELECT u.user_id, u.user_name, u.user_email, u.user_level,\n\t\t\t\tCOUNT(m.message_id) 'message_count'\n\t\t\t\tFROM " . DB_USERS . " u\n\t\t\t\tLEFT JOIN " . DB_MESSAGES . " m ON m.message_user=u.user_id and message_folder='0'\n\t\t\t\tWHERE u.user_id='" . intval($to) . "' GROUP BY u.user_id\n\t\t\t\t");
             if (dbrows($result) > 0) {
                 $data = dbarray($result);
                 $result2 = dbquery("SELECT user_id, user_name FROM " . DB_USERS . " WHERE user_id='" . intval($from) . "'");
                 if (dbrows($result2) > 0) {
                     $userdata = dbarray($result2);
                     if ($to != $from) {
                         if ($data['user_id'] == 1 || $data['user_level'] < USER_LEVEL_MEMBER || !$pmStatus['user_inbox'] || $data['message_count'] + 1 <= $pmStatus['user_inbox']) {
                             $inputData = array("message_id" => 0, "message_to" => $to, "message_user" => $to, "message_from" => $from, "message_subject" => $subject, "message_message" => $message, "message_smileys" => $smileys, "message_read" => 0, "message_datestamp" => time(), "message_folder" => 0);
                             dbquery_insert(DB_MESSAGES, $inputData, "save");
                             // this will flood the inbox when message is sent to group. -- fixed
                             if ($myStatus['user_pm_save_sent'] == '2' && $save_sent == TRUE) {
                                 // user_outbox.
                                 $cdata = dbarray(dbquery("SELECT COUNT(message_id) AS outbox_count, MIN(message_id) AS last_message FROM\n\t\t\t\t\t\t\t\t\t" . DB_MESSAGES . " WHERE message_to='" . $userdata['user_id'] . "' AND message_user='******'user_id'] . "' AND message_folder='1' GROUP BY message_to"));
                                 // check my outbox limit and if surpass, remove oldest message
                                 if ($myStatus['user_outbox'] != "0" && $cdata['outbox_count'] + 1 > $myStatus['user_outbox']) {
                                     dbquery("DELETE FROM " . DB_MESSAGES . " WHERE message_id='" . $cdata['last_message'] . "' AND message_to='" . $userdata['user_id'] . "'");
                                 }
                                 $inputData['message_user'] = $userdata['user_id'];
                                 $inputData['message_folder'] = 1;
                                 $inputData['message_from'] = $to;
                                 $inputData['message_to'] = $userdata['user_id'];
                                 dbquery_insert(DB_MESSAGES, $inputData, "save");
                             }
                             $send_email = $pmStatus['user_pm_email_notify'];
                             if ($send_email == "2") {
                                 $message_content = str_replace("[SUBJECT]", $subject, $locale['626']);
                                 $message_content = str_replace("[USER]", $userdata['user_name'], $message_content);
                                 $template_result = dbquery("SELECT template_key, template_active FROM " . DB_EMAIL_TEMPLATES . " WHERE template_key='PM' LIMIT 1");
                                 if (dbrows($template_result)) {
                                     $template_data = dbarray($template_result);
                                     if ($template_data['template_active'] == "1") {
                                         sendemail_template("PM", $subject, trimlink($message, 150), $userdata['user_name'], $data['user_name'], "", $data['user_email']);
                                     } else {
                                         sendemail($data['user_name'], $data['user_email'], fusion_get_settings("siteusername"), fusion_get_settings("siteemail"), $locale['625'], $data['user_name'] . $message_content);
                                     }
                                 } else {
                                     sendemail($data['user_name'], $data['user_email'], fusion_get_settings("siteusername"), fusion_get_settings("siteemail"), $locale['625'], $data['user_name'] . $message_content);
                                 }
                             }
                         } else {
                             // Inbox is full
                             if ($strict) {
                                 die("User inbox is full. Try delete it or upgrade it to 102 or 103 status");
                             }
                             \defender::stop();
                             addNotice("danger", $locale['628']);
                         }
                     }
                 } else {
                     // Sender does not exist in DB
                     if ($strict) {
                         die("Sender User ID does not exist in DB. Sequence Aborted.");
                     }
                     \defender::stop();
                     addNotice("danger", $locale['482']);
                 }
             } else {
                 \defender::stop();
                 if ($strict) {
                     die("Message Recepient User ID is invalid");
                 }
                 addNotice("danger", $locale['482']);
             }
         } else {
             if ($strict) {
                 die("You are flooding, send_pm halted");
             }
             \defender::stop();
             addNotice("danger", sprintf($locale['487'], fusion_get_settings("flood_interval")));
         }
     } else {
         $result = NULL;
         if ($to <= -101 && $to >= -103) {
             // -101, -102, -103 only
             $result = dbquery("SELECT user_id from " . DB_USERS . " WHERE user_level <='" . intval($to) . "' AND user_status='0'");
         } else {
             // ## --- deprecate -- WHERE user_groups REGEXP('^\\\.{$to}$|\\\.{$to}\\\.|\\\.{$to}$') #
             $result = dbquery("SELECT user_id FROM " . DB_USERS . " WHERE " . in_group("user_groups", $to) . " AND user_status='0'");
         }
         if (dbrows($result) > 0) {
             while ($data = dbarray($result)) {
                 self::send_pm($data['user_id'], $from, $subject, $message, $smileys, FALSE, FALSE);
             }
         } else {
             \defender::stop();
             addNotice("danger", $locale['492']);
         }
     }
 }
Exemple #7
0
 }
 if ($message == "") {
     $error .= " <span class='alt'>" . $locale['423'] . "</span><br />\n";
 }
 $_CAPTCHA_IS_VALID = false;
 include INCLUDES . "captchas/" . $settings['captcha'] . "/captcha_check.php";
 if ($_CAPTCHA_IS_VALID == false) {
     $error .= " <span class='alt'>" . $locale['424'] . "</span><br />\n";
 }
 if (!$error) {
     require_once INCLUDES . "sendmail_include.php";
     $template_result = dbquery("\n\t\t\tSELECT template_key, template_active, template_sender_name, template_sender_email\n\t\t\tFROM " . DB_EMAIL_TEMPLATES . "\n\t\t\tWHERE template_key='CONTACT'\n\t\t\tLIMIT 1");
     if (dbrows($template_result)) {
         $template_data = dbarray($template_result);
         if ($template_data['template_active'] == "1") {
             if (!sendemail_template("CONTACT", $subject, $message, "", $template_data['template_sender_name'], "", $template_data['template_sender_email'], $mailname, $email)) {
                 $error .= " <span class='alt'>" . $locale['425'] . "</span><br />\n";
             }
         } else {
             if (!sendemail($settings['siteusername'], $settings['siteemail'], $mailname, $email, $subject, $message)) {
                 $error .= " <span class='alt'>" . $locale['425'] . "</span><br />\n";
             }
         }
     } else {
         if (!sendemail($settings['siteusername'], $settings['siteemail'], $mailname, $email, $subject, $message)) {
             $error .= " <span class='alt'>" . $locale['425'] . "</span><br />\n";
         }
     }
 }
 if ($error) {
     opentable($locale['400']);