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