Beispiel #1
0
function SendMessage($PermissionGroupID, $Subject, $Message, $Attach, $is_html = 0)
{
    global $db, $nc_core, $ROOT_FOLDER, $INCLUDE_FOLDER;
    global $FileToAttach, $FileToAttach_name, $FileToAttach_type;
    global $SPAM_FROM, $SPAM_FROM_NAME;
    global $systemTableID, $systemMessageID, $systemTableName;
    global $srchPat;
    require_once $INCLUDE_FOLDER . "s_files.inc.php";
    require $ROOT_FOLDER . "message_fields.php";
    require_once $INCLUDE_FOLDER . "s_list.inc.php";
    $search_params = getSearchParams($fld, $fldType, $fldDoSearch, $srchPat);
    $fullSearchStr = $search_params[query];
    $MyEmail = "info@" . $HTTP_DOMAIN;
    $MyName = "Supervisor";
    $SPAM_MAIL = $nc_core->get_settings('UserEmailField');
    if (!$SPAM_MAIL) {
        nc_print_status(CONTROL_USER_MAIL_ERROR_EMAILFIELD, 'error');
        return;
    }
    $select = "SELECT `" . $SPAM_MAIL . "`\n                   FROM `User` AS a,\n                        `User_Group` AS ug\n                       WHERE a.`User_ID` > 0\n                         AND ug.`User_ID` = a.`User_ID`\n                         AND a.`" . $SPAM_MAIL . "` <> ''\n                         " . ($PermissionGroupID ? " AND ug.`PermissionGroup_ID` = " . intval($PermissionGroupID) : "") . $fullSearchStr . "\n                             ORDER BY a.`" . $SPAM_MAIL . "`";
    if ($Result = $db->get_results($select, ARRAY_N)) {
        foreach ($Result as $Array) {
            $Email[] = $Array[0];
        }
        $Email = array_unique($Email);
    }
    $m = new CMIMEMail();
    $m->mailbody(strip_tags($Message), $is_html ? $Message : '');
    if ($Attach) {
        $FileToAttach_name = $_FILES['FileToAttach']['name'];
        $FileToAttach_type = $_FILES['FileToAttach']['type'];
        $m->attachFile($_FILES['FileToAttach']['tmp_name'], $FileToAttach_name, $FileToAttach_type);
    }
    if (sizeof($Email)) {
        @set_time_limit(0);
        @ignore_user_abort(true);
        for ($i = 0; $i < sizeof($Email); $i++) {
            print $i + 1 . " . " . $Email[$i] . "<br>\n";
            $m->send($Email[$i], $SPAM_FROM, $SPAM_FROM, $Subject, $SPAM_FROM_NAME);
            ob_flush();
            flush();
        }
        nc_print_status(CONTROL_USER_MAIL_OK, 'ok');
    } else {
        nc_print_status(CONTROL_USER_MAIL_ERROR_NOONEEMAIL, 'error');
    }
    return false;
}