[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Помогите наладить скрипт
dima681
уважаемые гуру помогите разобраться в скрипте при работе его выдаёт ошибку команды MakeCopy
описание работы скрипта
Принцип работы состоит в следующем: в процессе написания писем в него подставляет ссылки на Web сервер, на котором установлен специальный скрипт накапливающий статистику. Для получения информации об открытых письмах вставляется ссылка на не видимую картинку, которая должна скачиваться с вашего сервера. Когда получатель открывает письмо, его почтовый клиент автоматически пошлет запрос на сервер чтобы скачать картинку. Скрипт отследит этот запрос и на основании этих данных возможно построение списков получателей, открывших письмо. Получателю все эти операции не видны.

сам скрипт

<?php
//--------- WebForm Messages -----------------
$Form_Submit_Error="<br>Введен не корректный E-Mail адрес<br>Пожалуйста, введите правильный E-Mail для успешной отправки формы";
$Form_Submit_OK="<br>Спасибо.<br>Ваш запрос обрабатывается.<br>Вы получите запрос на подтверждение подписки на указанный e-mail";
$Confirmation_Link_Click="<br>Подтверждение получено, спасибо !";
// Note: Confirmation_Link_Click is showed ONLY if Redirect URL is empty !
//--------------------------------------------
if(isset($_GET["GID"]))
$GroupID = $_GET["GID"];
else
$GroupID = -1;
if(isset($_GET["MLID"]))
$MailingID = $_GET["MLID"];
else
$MailingID = -1;
if(isset($_GET["MSID"]))
$MessageID = $_GET["MSID"];
else
$MessageID = -1;
if(isset($_GET["EML"]))
$RcptEmail = $_GET["EML"];
else
$RcptEmail = "no_email";
if(isset($_GET["MCPY"]))
$MakeCopy = $_GET["MCPY"];
else
$MakeCopy = 0;
if(isset($_GET["GCPY"]))
$GetCopy = $_GET["GCPY"];
else
$GetCopy = 0;
if(isset($_GET["RD"]) && $_GET["RD"]!="no_redir")
$RedirURL = $_GET["RD"];
else
$RedirURL="nourl";
if(isset($_POST["FormID"]))
$FormName = $_POST["FormID"];
else
$FormName = "no_form";
if(!isset($_GET["PID"]) && !isset($_POST["FormProgID"]))
{
echo "Unknown ProgramID";
exit;
}
else
{
if(isset($_GET["PID"]))
$ProgID = $_GET["PID"];
else
$ProgID = $_POST["FormProgID"];
}
if($FormName!="no_form")
{
if(isset($_POST["FormEmail"]) && !empty($_POST["FormEmail"]))
{
$Form_Email = $_POST["FormEmail"];
if((preg_match("/(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/",$Form_Email)) or (!preg_match("/^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,6}|[0-9]{1,3})(\]?)$/",$Form_Email)))
{
echo "<html><head><title>Submit failed</title></head><body BGCOLOR=\"#E6E6E6\"><div align=\"center\"><FONT color=\"#003399\"$Form_Submit_Error</FONT></div></body></html>";
exit;
}
}
else
{
echo "<html><head><title>Submit failed</title></head><body BGCOLOR=\"#E6E6E6\"><div align=\"center\"><FONT color=\"#003399\"$Form_Submit_Error</FONT></div></body></html>";
exit;
}
}
if(isset($_POST["FormFullName"]) && !empty($_POST["FormFullName"]))
$Form_FullName = $_POST["FormFullName"];
else
$Form_FullName = "no_form_fullname";

//-----------------------------------------------------------------
function HtmlEntDecode($text)
{
$str = '';
$i = 0;
while ($i < strlen($text))
{
if ($i < strlen($text) - 1 && substr($text, $i, 2) == "&#")
{
$chr = '';
$i += 2;
while ($i < strlen($text) && substr($text, $i, 1) != ";")
{
$chr .= substr($text, $i, 1);
$i++;
}
if (strlen($chr) > 0)
{
$str .= utf8_chr($chr);
}
}
else
{
$str .= substr($text, $i, 1);
}
$i++;
}
return $str;
}

//--------------------------------------------------------------------

function utf8_chr($code)
{
if($code<128) return chr($code);
else if($code<2048) return chr(($code>>6)+192).chr(($code&63)+128);
else if($code<65536) return chr(($code>>12)+224).chr((($code>>6)&63)+128).chr(($code&63)+128);
else if($code<2097152) return chr($code>>18+240).chr((($code>>12)&63)+128).chr(($code>>6)&63+128).chr($code&63+128);
}
//--------------------------------------------------------------------

if($MakeCopy == 1)
{
if(file_exists($ProgID.'.log'))
{
if(!copy($ProgID.'.log',$ProgID.'.out'))
{
echo "Error: Can't create output file. Permission denied.";
exit;
}
$LogFile = fopen($ProgID.'.log', 'w');
if(!$LogFile)
{
echo "Error: Can't update input file. Permission denied.";
exit;
}
flock($LogFile, 2);
ftruncate($LogFile,0);
flock($LogFile, 3);
fclose($LogFile);
echo "cmd_ok";
exit;
}
else
{
echo 'Error: No File';
exit;
}
}
else if($GetCopy == 1)
{
if(file_exists($ProgID.'.out'))
{
$LogFile = fopen($ProgID.'.out', 'r');
if(!$LogFile)
{
echo "Error: Cant open out file";
exit;
}
flock($LogFile, 2);
while(!feof($LogFile))
{
$Buffer = fgets($LogFile, 4096);
echo $Buffer;
}
flock($LogFile, 3);
fclose($LogFile);
echo "cmd_ok";
exit;
}
else
{
echo "Error: No File";
exit;
}
}
else
{
$today = getdate() ;
$LogFile = fopen($ProgID.'.log', 'ab');
if(!$LogFile)
{
echo "Error: Can't open log file. Permission denied.";
exit;
}
flock($LogFile, 2);
if(stristr($ProgID,"AMS_"))
{
$OutString="$MailingID:$GroupID:$RcptEmail:$RedirURL;".$today['year'].":".$today['mon'].":".$today['mday'].":".$today['hours'].":".$today['minutes']."\r\n";
}
else if(stristr($ProgID,"MPC_"))
{
if($FormName=="no_form")
{
$OutString="Confirm_Data=$MessageID:".$today['year'].":".$today['mon'].":".$today['mday'].":".$today['hours'].":".$today['minutes'].";\r\n";
if($RedirURL=="nourl")
echo "<html><head><title>Submit Completed</title></head><body BGCOLOR=\"#E6E6E6\"><div align=\"center\"><FONT color=\"#003399\"$Confirmation_Link_Click</FONT></div></body></html>";
}
else
{
$OutString="Form_Data=$FormName:".HtmlEntDecode($Form_FullName).":$Form_Email:".$today['year'].":".$today['mon'].":".$today['mday'].":".$today['hours'].":".$today['minutes'].";\r\n";
echo "<html><head><title>Submit Completed</title></head><body BGCOLOR=\"#E6E6E6\"><div align=\"center\"><FONT color=\"#003399\"$Form_Submit_OK</FONT></div></body></html>";
}
}
fwrite($LogFile,$OutString);
fflush($LogFile);
flock($LogFile, 3);
fclose($LogFile);
}
if($RedirURL != "nourl")
{
if(!headers_sent())
{
header("Location: $RedirURL");
exit;
}
}
?>
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.