Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Отправка формы
 
 автор: yu   (26.10.2005 в 23:42)   письмо автору
 
 

Есть скрипт отправки 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'], $rusernameldu_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($to13), '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");

?>

   
 
 автор: cheops   (27.10.2005 в 00:50)   письмо автору
 
   для: yu   (26.10.2005 в 23:42)
 

>из этого же скрипта форма отправлялась
Что значит "отправлялась"?

PS Такие большие листинги лучше прикреплять в виде файла.

   
 
 автор: yu   (27.10.2005 в 01:09)   письмо автору
 
   для: cheops   (27.10.2005 в 00:50)
 

>из этого же скрипта форма отправлялась
>Что значит отправлялась?
>
В оригинале форма выглядит так:

<form action="{PMSEND_FORM_SEND}" method="post" name="newlink">

<table class="cells">

        <tr>
                <td style="">Send the message to :<br />
                (Send up to 10 recipients, separated by commas.)
                </td>
                <td>{PMSEND_FORM_TOUSER}</td>
        </tr>

        <tr>
                <td>Subject :</td>
                <td>{PMSEND_FORM_TITLE}</td>
        </tr>

        <tr>
                <td>Message :</td>
                <td><div style="">{PMSEND_FORM_TEXTBOXER}</div>
                </td>
        </tr>

        <tr>
                <td colspan="2" class="valid">
                <input type="submit" value="Order">
                </td>
        </tr>

</table>

</form>


мне надо убрать поле:

 <tr>
                <td style="">Send the message to :<br />
                (Send up to 10 recipients, separated by commas.)
                </td>
                <td>{PMSEND_FORM_TOUSER}</td>
        </tr>


а функцию:

form action="{PMSEND_FORM_SEND}"


исправить так, чтобы без указания имени получателя содержимое формы отправлялось внутри этой же системы приватных сообщений , допустим, админу. То есть задача в данном случае отменить необходимость ввода имени получателя и назначить его по умолчанию в скрипте.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования