| Есть скрипт отправки PM зарегистрированным пользователям. Мне нужно, чтобы из этого же скрипта форма отправлялась автоматически одному, указанному мной пользователю, а поле с вводом имени удалить. Подскажите, пожалуйста, как и что исправить.
<?PHP
/* ====================
Land Down Under - Website engine
Copyright Neocrome
http://www.neocrome.net
[BEGIN_LDU]
File=pm.send.inc.php
Version=801
Updated=2005-aug-26
Type=Core
Author=Neocrome
Description=Private messages
[END_LDU]
==================== */
if (!defined('LDU_CODE')) { ldu_diefatal('Wrong URL.'); }
if ($usr['level']<1)
{
header("Location: message.php?msg=500");
exit;
}
$id = cv('id','G','INT');
$f = cv('f','G','ALP');
$to = cv('to','G','STX');
$q = cv('q','G','INT');
$d = cv('d','G','INT');
unset ($touser);
$totalrecipients = 0;
$touser_all =array();
$touser_sql = array();
$touser_ids = array();
$touser_names = array();
/* === Hook === */
$extp = ldu_getextplugins('pm.send.first');
if (is_array($extp))
{ foreach($extp as $k => $pl) { include('plugins/extended/'.$pl['pl_code'].'/'.$pl['pl_file'].'.php'); } }
/* ===== */
if ($a=='send')
{
/* === Hook === */
$extp = ldu_getextplugins('pm.send.send.first');
if (is_array($extp))
{ foreach($extp as $k => $pl) { include('plugins/extended/'.$pl['pl_code'].'/'.$pl['pl_file'].'.php'); } }
/* ===== */
ldu_shield_protect();
$newpmtitle = cv('newpmtitle','P','TXT');
$newpmtext = cv('newpmtext','P','HTM');
$newpmrecipient = cv('newpmrecipient','P','TXT');
$userid = cv('userid','P','INT');
$touser_src = explode (",", $newpmrecipient);
$touser_req = count($touser_src);
foreach($touser_src as $k => $i)
{ $touser_sql[] = "'".trim(cv($i, 'D', 'TXT'))."'"; }
$touser_sql = implode (',', $touser_sql);
$touser_sql = '('.$touser_sql.')';
$sql = ldu_query("SELECT user_id, user_name FROM $db_users WHERE user_name IN $touser_sql");
$totalrecipients = ldu_num_rows($sql);
while ($row = ldu_fetch_array($sql))
{
$touser_ids[] = $row['user_id'];
$row['user_name'] = ldu_cc($row['user_name']);
$touser_names[] = $row['user_name'];
$touser_usrlnk[] .= ($cfg['parsebbcodecom']) ? "[user=".$row['user_id']."]".$row['user_name']."[/user]" : $row['user_name'];
}
$touser = ($totalrecipients>0) ? implode (",", $touser_names) : '';
$error_string .= (strlen($newpmtitle)<2) ? $L['pm_titletooshort']."<br />" : '';
$error_string .= (strlen($newpmtext)<2) ? $L['pm_bodytooshort']."<br />" : '';
$error_string .= (strlen($newpmtext)>$cfg['pm_maxsize']) ? $L['pm_bodytoolong']."<br />" : '';
if (empty($error_string))
{
$newpmtitle = ldu_addslashes($newpmtitle);
$newpmtext = ldu_addslashes($newpmtext);
$newpmtext .= ($totalrecipients>1) ? "\n\n".sprintf($L['pm_multiplerecipients'], $totalrecipients-1)."\n".implode(', ', $touser_usrlnk) : '';
foreach($touser_ids as $k => $userid)
{
$sql = ldu_query("INSERT into $db_pm (pm_state, pm_date, pm_fromuserid, pm_fromuser, pm_touserid, pm_title, pm_text) values ('0', '".$sys['now_offset']."', '".$usr['id']."', '".$usr['name']."', '$userid', '$newpmtitle', '$newpmtext')");
if ($cfg['pm_allownotifications'])
{
$sql = ldu_query("SELECT user_email, user_name FROM $db_users WHERE user_id='$userid' AND user_pmnotify=1 AND user_active=1 AND user_banned=0");
if ($row = ldu_fetch_array($sql))
{
$rusername = ldu_cc($row['user_name']);
$remail = stripslashes($row['user_email']);
$rsubject = $cfg['maintitle']." - ".$L['pm_notifytitle'];
$rbody = sprintf($L['pm_notify'], $rusername, ldu_cc($usr['name']), $cfg['mainurl']."/pm2.php");
ldu_mail ($remail, $rsubject, $rbody);
ldu_stathit('totalmailpmnot');
}
}
}
/* === Hook === */
$extp = ldu_getextplugins('pm.send.send.done');
if (is_array($extp))
{ foreach($extp as $k => $pl) { include('plugins/extended/'.$pl['pl_code'].'/'.$pl['pl_file'].'.php'); } }
/* ===== */
ldu_stathit('totalpms');
ldu_shield_update(30, "New private message (".$totalrecipients.")");
header("Location: message.php?msg=502");
exit;
}
}
elseif (!empty($to))
{
if (substr(strtolower($to),0,1)=='l' && $usr['level']>=95)
{
$level = cv(substr($to, 1, 3), 'D', 'INT');
if ($level>1)
{
$sql = ldu_query("SELECT user_id, user_name FROM $db_users WHERE user_level='$level' ORDER BY user_name ASC");
$totalrecipients = ldu_num_rows($sql);
}
}
else
{
$touser_src = explode ('-', $to);
$touser_req = count($touser_src);
foreach($touser_src as $k => $i)
{
$userid = cv($i, 'D', 'INT');
if ($userid > 0)
{ $touser_sql[] = "'".$userid."'"; }
}
if (count($touser_sql)>0)
{
$touser_sql = implode (',', $touser_sql);
$touser_sql = '('.$touser_sql.')';
$sql = ldu_query("SELECT user_id, user_name FROM $db_users WHERE user_id IN $touser_sql");
$totalrecipients = ldu_num_rows($sql);
}
}
if ($totalrecipients>0)
{
while ($row = ldu_fetch_array($sql))
{
$touser_ids[] = $row['user_id'];
$touser_names[] = ldu_cc($row['user_name']);
}
$touser = implode (", ", $touser_names);
}
}
if (!empty($q) && empty($newpmtext))
{
$sql = ldu_query("SELECT pm_date,pm_title,pm_text FROM $db_pm WHERE pm_id='$q' AND pm_touserid='".$usr['id']."' AND pm_state<3 ");
if ($row=ldu_fetch_array($sql))
{
$pm_date = date($cfg['dateformat'], $row['pm_date']).' GMT';
$pm_title = strip_tags(stripslashes($row['pm_title']));
$pm_text = stripslashes($row['pm_text']);
$newpmtext = "\n\n\n-------- ".$L['Originalmessage']." --------\n".$L['Date']." : ".$pm_date."\n".$L['Title']." : ".$pm_title."\n".$pm_text."\n-------------\n";
$newpmtitle = "Re: ".$pm_title;
}
}
$newpmtext = ldu_stripslashes($newpmtext);
$newpmtitle = ldu_stripslashes($newpmtitle);
$newpmtext = ldu_cc($newpmtext);
$bbcodes = ($cfg['parsebbcodecom']) ? ldu_build_bbcodes('newlink', 'newpmtext', $L['BBcodes']) : '';
$smilies = ($cfg['parsesmiliescom']) ? ldu_build_smilies('newlink', 'newpmtext', $L['Smilies']) : '';
$pfs = (!$cfg['disablepfs']) ? ldu_build_pfs($usr['id'], 'newlink', 'newpmtext', $L['Mypfs']) : '';
$out['subtitle'] = $L['Private_Messages'];
/* === Hook === */
$extp = ldu_getextplugins('pm.send.main');
if (is_array($extp))
{ foreach($extp as $k => $pl) { include('plugins/extended/'.$pl['pl_code'].'/'.$pl['pl_file'].'.php'); } }
/* ===== */
require("system/header.php");
$t = new XTemplate("skins/".$skin."/index.tpl");
if (!empty($error_string))
{
$t->assign("PMSEND_ERROR_BODY",$error_string);
$t->parse("MAIN.PMSEND_ERROR");
}
$t->assign(array(
"PMSEND_PAGETITLE" => $L['pmsend_title'],
"PMSEND_SUBTITLE" => $L['pmsend_subtitle'],
"PMSEND_FORM_SEND" => "pm2.php?m=send&a=send&to=".$to,
"PMSEND_FORM_TITLE" => "<input type=\"text\" class=\"text\" name=\"newpmtitle\" value=\"".ldu_cc($newpmtitle)."\" size=\"30\" maxlength=\"64\" />",
"PMSEND_FORM_TEXT" => "<textarea name=\"newpmtext\" rows=\"16\" cols=\"30\">".$newpmtext."</textarea><br />".$bbcodes." ".$smilies." ".$pfs,
"PMSEND_FORM_TEXTBOXER" => "<textarea name=\"newpmtext\" rows=\"16\" cols=\"30\">".$newpmtext."</textarea><br />".$bbcodes." ".$smilies." ".$pfs,
"PMSEND_FORM_BBCODES" => $bbcodes,
"PMSEND_FORM_SMILIES" => $smilies,
"PMSEND_FORM_MYPFS" => $pfs,
"PMSEND_FORM_TOUSER" => "<textarea name=\"newpmrecipient\" rows=\"1\" cols=\"30\" value=\"cat\">".$touser."</textarea>"
));
/* === Hook === */
$extp = ldu_getextplugins('pm.send.tags');
if (is_array($extp))
{ foreach($extp as $k => $pl) { include('plugins/extended/'.$pl['pl_code'].'/'.$pl['pl_file'].'.php'); } }
/* ===== */
$t->parse("MAIN");
$t->out("MAIN");
require("system/footer.php");
?>
|
| |