Files
nexusphp/public/takestaffmess.php
T

52 lines
1.5 KiB
PHP
Raw Normal View History

2020-12-26 01:42:23 +08:00
<?php
2021-01-13 19:32:26 +08:00
require "../include/bittorrent.php";
2020-12-26 01:42:23 +08:00
if ($_SERVER["REQUEST_METHOD"] != "POST")
stderr("Error", "Permission denied!");
dbconn();
2022-08-10 17:38:05 +08:00
loggedinorreturn();
2020-12-26 01:42:23 +08:00
if (get_user_class() < UC_ADMINISTRATOR)
stderr("Sorry", "Permission denied.");
$sender_id = ($_POST['sender'] == 'system' ? 0 : (int)$CURUSER['id']);
$dt = sqlesc(date("Y-m-d H:i:s"));
$msg = trim($_POST['msg']);
if (!$msg)
stderr("Error","Don't leave any fields blank.");
$updateset = $_POST['clases'];
if (is_array($updateset)) {
2021-05-19 13:49:41 +08:00
foreach ($updateset as &$class) {
$class=intval($class);
2020-12-26 01:42:23 +08:00
if (!is_valid_id($class) && $class != 0)
stderr("Error","Invalid Class");
}
}else{
if (!is_valid_id($updateset) && $updateset != 0)
stderr("Error","Invalid Class");
}
$subject = trim($_POST['subject']);
2022-08-10 17:38:05 +08:00
$size = 10000;
$page = 1;
set_time_limit(300);
$classStr = implode(",", $updateset);
while (true) {
$msgValues = $idArr = [];
$offset = ($page - 1) * $size;
$query = sql_query("SELECT id FROM users WHERE class IN (".implode(",", $updateset).") and `enabled` = 'yes' and `status` = 'confirmed'");
while($dat=mysql_fetch_assoc($query))
{
$idArr[] = $dat['id'];
$msgValues[] = sprintf('(%s, %s, %s, %s, %s)', $sender_id, $dat['id'], $dt, sqlesc($subject), sqlesc($msg));
}
if (empty($idArr)) {
break;
}
$idStr = implode(', ', $idArr);
$sql = "INSERT INTO messages (sender, receiver, added, subject, msg) VALUES " . implode(', ', $msgValues);
sql_query($sql);
$page++;
2020-12-26 01:42:23 +08:00
}
header("Refresh: 0; url=staffmess.php?sent=1");
?>