Четверг, 02.05.2024, 14:04
Приветствую Вас Нуб | RSS
Сайт где все можно
Главная
Регистрация
Вход
WapCLICK.Org.Ua Раскрутка и заработок img
Меню сайта

Мини-чат
200

Наш опрос
Оцените мой сайт
Всего ответов: 10

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Форма входа

/*
Связь с администарцией с возможностью прикрепления файла
Специально для проекта wappc.biz
Распространение бесплатное для пользователей системы wappc.biz
Автор: Denvas
*/
//настройки гостевой книги
$wappc3_idsite="0.0";//идентификатор сайта в системе WAPpC.BIZ
$wappc3_pwdtech="";//технический пароль
$wappc3_curl=1;//забирать с помощью библиотеки curl (рекомендуется 1)
$charset="utf-8";//кодировка письма
$title="Сообщение для админа сайта"; //заголовок страницы
$codeend="";//данные в конце страницы
$maxsize_attach=50000;//максимальный размер вложения в байтах
$reklama_pos=0;//0 - вставлять между собщениями, 1 - вставлять одну ссылку вверху, 2 - вставлять одну ссылку внизу, 3 - вставлять внизу и вверху

//работа с почтой
$admin_email="";//мыло администрации
$smtp_serv="";//сервер smtp (если пустой, значит sendmail). пример smtp.mail.ru
$smtp_user="";//пользователь почты
$smtp_pass="";//пароль

//==================================================//
$user_agent=(isset($_SERVER['HTTP_USER_AGENT'])?$_SERVER['HTTP_USER_AGENT']:"");
$ip=(isset($_SERVER['REMOTE_ADDR'])?$_SERVER['REMOTE_ADDR']:"");
$nottrans=array("email"=>1);
include_once('libwappc3.php');
include_once('secure.php');

//работа с транслитом
if((!empty($_POST["tr"]))||(!empty($_GET["tr"]))){
include_once("latinic.php");
$tr=1;
reset($_POST);while(list($key,$val)=each($_POST)){
if(!isset($nottrans[$key]))
$_POST[$key]=strtr(trim($val),$charmapt);
};
}//if
else
$tr=0;
//==================================================//
header("Content-type: text/html; charset=".$charset);
print "".$title."
";

print "
Добавить сообщение
";
print "
";
if((empty($reklama_pos))||($reklama_pos==1)||($reklama_pos==3))print ADV();

$showform=1;
if(!empty($_POST["send"])){
$showform=0;
if(empty($_POST["name"])){print "
Скажите свое имя
";$showform=1;};
if(empty($_POST["subj"])){print "
Укажите тему
";$showform=1;};
if(empty($_POST["message"])){print "
Сообщение
";$showform=1;};
if(!empty($_FILES["attach"])){
if($_FILES["attach"]["size"]>$maxsize_attach){
print "
Слишком большой файл
";$showform=1;
};
};
$data["name"]=trim($_POST["name"]);
$data["subj"]=trim($_POST["subj"]);
$data["email"]=trim($_POST["email"]);
$data["message"]=trim($_POST["message"]);
if(($data["email"])&&(!ereg("^[a-zA-Z0-9_.-]+\@[a-zA-Z0-9_.-]+\.[a-zA-Z]{2,5}$",$data["email"]))){print "
Ошибочный e-mail
";$showform=1;};
if((empty($_POST["checksum"]))||(empty($_POST["antispam"]))){
print "
1Повторите ввод цифр
";$showform=1;
}
elseif(!SecureCheck($_POST["checksum"],$_POST["antispam"])){
print "
2Повторите ввод цифр
";$showform=1;
sleep(3);
};
}
else{
$data["name"]="";
$data["email"]="";
$data["subj"]="";
$data["message"]="";
};
if(!$showform){
$mails=new SendMailClass();
$mails->SetCharset($charset);
$mails->Mail(($data["email"])?array($admin_email,$data["email"]):$admin_email,$admin_email,$data["subj"],"subj:".$data["subj"]."\nname: ".$data["name"]."\ne-mail:".$data["email"]."\n".$data["message"]."\n\n".$user_agent."\n".$ip);
if(!empty($_FILES["attach"])){
$fl=$_FILES["attach"];
$content=@file_get_contents($fl['tmp_name']);
$mails->Attach($fl['name'], $fl['type'], $content);
};
$mails->SMTPConf($smtp_serv,$smtp_user,$smtp_pass);
$mails->Send();
print "Сообщение отправлено";
}
else{
list($num,$img,$checksum)=SecureImage(NumImg());

print ShowForm(array(
array("Имя *","name",$data["name"],"text"),
array("E-mail","email",$data["email"],"text"),
array("Тема *","subj",$data["subj"],"text"),
array("Сообщение *","message",$data["message"],"textarea"),
array("Файл","attach",0,"file"),
array("Транслит","tr",0,"select",array("0"=>"Нет","1"=>"Да")),
array("Цифры ".$img,"antispam","","text"),
array("","checksum",$checksum,"hidden")
),"Сказать");
};
print "
";
print "
";
if(($reklama_pos==2)||($reklama_pos==3))print ADV();

print "Главная ".@$_SERVER['HTTP_HOST']."
";
print $codeend;
print "
";
print "
";
//==================================================//
function ADV(){
global $wappc3_idsite, $charset;
return GetFeedWAPPC3(1,array("charset"=>$charset,"temp"=>"temp","aff"=>$wappc3_idsite,"empty"=>"","template"=>'%code%
',"sep"=>'',"topbid"=>"1"));
};

//==================================================//
function IName($name,$rnd=0){
if(empty($rnd))$rnd=mt_rand(1,100000);
return $name."_".$rnd;
};
//==================================================//
function ShowForm($data,$ftitle,$action="",$method="post",$br="
"){
$extform=array();
$rnd=mt_rand(1,100000);
$code="";$codeform="";
if(empty($action))$action=str_replace("&","&",@$_SERVER["REQUEST_URI"]);
if(strcmp($method,"get")==0){
$action=explode("?",$action);
$action=$action[0];
};
//для версии 2 и для компа
for($j=0;$j list($title,$name,$value,$type)=$data[$j];
if(strcmp($method,"post")==0)$codeform.="";
$namei=$name;
$code.=($title)?($title."
"):"";
if((strcmp($type,"text")==0)||(strcmp($type,"password")==0)){
$code.="".$br;
}
elseif(strcmp($type,"textarea")==0){
$code.="".$br;
}
elseif(strcmp($type,"select")==0){
$option=$data[$j][4];reset($option);
$code.="".$br;
}
elseif(strcmp($type,"hidden")==0){
$codeform.="";
}
elseif(strcmp($type,"show")==0){
if(strlen($value)>0)$code.=$value.$br;
}
elseif(strcmp($type,"file")==0){
$code.="".$br;
$extform["enctype"]="multipart/form-data";
};

};//for($j=0;$j $str="";while(list($key,$val)=each($extform))$str.=" ".$key."='".$val."'";
return "
".$code.$codeform."
";
};
//==================================================//
/*
Класс рассыльщика почты с вложениями.
1. Письма в тектовом и html форматах.
2. Присоединение любого количества вложений.
3. Реализация прямого соединения с smtp сервером.
Автор: Denvas
*/
class SendMailClass{

var $boundary = "--------letnick.com-2006-12-31-for-you----"; //разделитель
var $priority=3;//приоритет
var $charset="";
var $from; //Отправитель
var $to; //Получатель
var $subj; //Тема письма
var $replyto;//Кому отвечать

var $body_plain; //текст письма
var $attach=array();//вложенные файлы

var $SMTPhost;
var $SMTPlogin;
var $SMTPpwd;

var $sd;//хэнд сокета

var $Error="";
var $endline;//конец строки
//==================================================//
/*
Конструктор
*/
function SendMailClass(){
$this->Clear();
$this->endline="\n";//концом строки у нас будет просто перевод
}
//==================================================//
/*
Установка кодировки для письма
*/
function SetCharset($charset){
$this->charset=$charset;
}
//==================================================//
function Clear(){
$this->Error="";
$this->from="";
$this->replyto="";
$this->to="";
$this->subj="";
$this->body_plain="";
$this->attach=array();
}
//==================================================//
/*
Действие: генерация заголовка
*/
function Header(){
$header="Reply-To: ".(($this->replyto)?(substr($this->replyto,0,strpos($this->replyto,"@"))." <".$this->replyto.">"):$this->from).$this->endline;
$header.="From: ".$this->from.$this->endline;
$header.="MIME-Version: 1.0".$this->endline;
if(count($this->attach)>0){//письмо с аттачами
$header.="Content-Type: multipart/mixed; boundary=\"".$this->boundary."\"".$this->endline;
}
else{//простое письмо
if(!empty($this->charset))$charset="; charset=".$this->charset; else $charset="";
$header.="Content-Type: text/plain".$charset.$this->endline;
};
$header.="X-Priority: ".$this->priority.$this->endline;
return $header;
}//function Header()
//==================================================//
/*
Действие: присоедининие данных
*/
function Attach($name, $type, $data){
$this->attach[]=array($name, $type, $data);
}//function Attach($name, $type, $data)
//==================================================//
/*
Действие: присоединение файла
*/
function FileAttach($namefile, $type, $name=""){
$fd=@fopen($namefile,'r');
if(!$fd)return false;
if(!$name)
$name=basename($namefile);
if(!$type)$type=mime_content_type($namefile);//автоопределение не работает, но если не оставлять пустым $type, то ошибку выдавать не будет
$this->Attach($name, $type, fread($fd,filesize($namefile)));
fclose($fd);
return true;
}//function FileAttach($namefile, $type)
//==================================================//
/*
Действие: генерация тела письма
*/
function Body(){
$body="";
$nattach=count($this->attach);
//письмо без вложений
if($nattach==0){
$body.=$this->body_plain.$this->endline;
return $body;
};
//письмо с вложениями
if(!empty($this->charset))$charset="; charset=".$this->charset; else $charset="";
$body.="--".$this->boundary.$this->endline;
if($this->body_plain){
$body.="Content-Type: text/plain".$charset.$this->endline;
$body.="Content-Transfer-Encoding: quoted-printable".$this->endline.$this->endline;
$body.=$this->body_plain.$this->endline.$this->endline;
$body.="--".$this->boundary.$this->endline;
};//if(empty($this->body_plain))
//вложения
for($j=0;$j<$nattach;$j++){
list($name, $type, $data)=$this->attach[$j];
//файлы для ссылок из html
if(($name)&&(strpos($type,"text/")!==0)){
$body.="Content-Type: ".$type.$this->endline;
$body.="Content-Transfer-Encoding: base64".$this->endline;
$body.="Content-Location: ".$name.$this->endline;
$body.="Content-ID: <".$name.">".$this->endline;
$body.="Content-Disposition: attachment; filename=\"".$this->EncodeBQ($name)."\"".$this->endline.$this->endline;
$body.=chunk_split(base64_encode($data)).$this->endline;
}
else{//нельзя выставлять Content-Disposition, т.к. Outlook начнет считать его вложением и не будет открывать
$body.="Content-Type: ".$type.$charset.$this->endline;
$body.="Conent-Transfer-Encoding: quoted-printable".$this->endline.$this->endline;
$body.=$data.$this->endline.$this->endline;
};
$body.= "--".$this->boundary;
if($j==($nattach-1))$body.="--";
$body.=$this->endline;
};//for($j=0;$j<$nattach;$j++)

return $body;
}//function Body()
//==================================================//
/*
закодировать русские буквы
*/
function EncodeBQ($str){
if($this->charset){
$str="=?".$this->charset."?B?".base64_encode($str)."?=";
};
return $str;
}//function EncodeBQ($str)
//==================================================//
/*
Действие: данные для письма
*/
function Mail($from,$to,$subj,$text="",$html=""){
$this->body_plain=$text;
if(is_array($from)){
list($this->from, $this->replyto)=$from;//первое от кого отсылать, второе кому ответить
}
else{
$this->from=$from;
$this->replyto=$from;
};
$this->to=$to;
$this->subj=(strlen($subj)>0)?$this->EncodeBQ($subj):"";
if($html)
$this->Attach("", "text/html", $html);
}//function Mail($from,$to,$subj,$text,$html="")
//==================================================//
/*
Дальше идет реализация отсылки почты
*/
//==================================================//
/*
Действие: настройка smtp для отправки почты и соединение с сервером
*/
function SMTPConf($host,$login="",$password=""){
global $CONF;
$this->Error="";
//если хост такойже как и был, то не переконективатся
if(strcmp($this->SMTPhost,$host)==0){
return true;
}
else{
if(!empty($this->SMTPhost))$this->SMTPclose();
};
$this->SMTPhost=$host;
$this->SMTPlogin=$login;
$this->SMTPpwd=$password;
if(!$host)return true;//отсылка с помощью sendmail
$port="25";
$myhost=isset($CONF['domain'])?$CONF['domain']:@$_SERVER['HTTP_HOST'];

$this->sd = @fsockopen($this->SMTPhost, $port, $errno, $errstr, 30);
if($this->sd===false){
$this->Error="SMTP: ERROR CONNECT ".$errstr;
return false;
};
$res=fgets($this->sd, 512);
//print "S: ".trim($res)."\n";
//авторизация если задан логи
if($this->SMTPlogin){
$this->mess("AUTH LOGIN".$this->endline);
$this->mess(base64_encode($this->SMTPlogin).$this->endline);
$this->mess(base64_encode($this->SMTPpwd).$this->endline);
};//if($login)
$this->mess("HELO ".$myhost.$this->endline);
return true;
}
//==================================================//
/*
Действие: сгенерировать и послать письмо
*/
function Send(){
if(!empty($this->SMTPhost)){
return $this->SendSMTP("To: ".$this->to.$this->endline."Subject: ".$this->subj.$this->endline.$this->Header(), $this->Body());
}
else{
return mail($this->to,$this->subj,$this->Body(),trim($this->Header(),$this->endline));
};
}//function Send()
//==================================================//
/*
Действие: послать письмо c уже сформированным заголовком и телом
*/
function SendHB($head,$body){
if(!empty($this->SMTPhost)){
return $this->SendSMTP("To: ".$this->to.$this->endline."Subject: ".$this->subj.$this->endline.$head, $body);
}
else{
return mail($this->to,$this->subj,$body,$head);
};
}//function Send()
//==================================================//
/*
Действие: посылка порции данных в сокет
*/
function mess($str){
//print "C: ".trim($str)."\n";
$res="";
//исправить конец строки
$str=str_replace("\r","",$str);
$str=str_replace("\n","\r\n",$str);
//записать в сокет
$rw=fwrite($this->sd, $str);
if(strlen($str)!=$rw){
$this->Error="Send 0";
return false;
};
$res=fgets($this->sd, 512);//fread не работает. а fgets работает получив конец строки
//print "S: ".trim($res)."\n";
return $res;
}//function mess($str)
//==================================================//
/*
Действие: отсылка письма через SMTP протокол
Возвращает: истину есил отсылка прошла успешно
*/
function SendSMTP($head,$body){
if($this->Error)return false;

$this->mess("MAIL FROM: ".$this->from.$this->endline);
$res=$this->mess("RCPT TO: ".$this->to.$this->endline);
if(!strstr($res,"250")){
$this->Error="SMTP ERROR: $res\n";
return false;
};
$this->mess("DATA".$this->endline);
//эти данные нужно добавить, т.к. используя sendmail они подставятся, а напрямую по протоколу нет.
//отсылка данных
$this->mess($head.$this->endline.$body.$this->endline.".".$this->endline);
return true;
}//function SendSMTP($host,$login="",$password="")
//==================================================//
/*
Закрыть smtp соединение
*/
function SMTPclose(){
//завершение
if(!$this->sd)return;
$this->mess("QUIT".$this->endline);
//print "Mail send\n";
fclose($this->sd);
unset($this->sd);
}
//==================================================//
};
?>
Зайди не пожалееш
Секс знакомства в твоем городе
10 млн. загрузок бесплатно
Все тайны секса
Заработок в интернете
Раскрутка сайтов
Зарабатывай больше
Отличная партнерка
Полезные ссылки
Поиск

Календарь
«  Май 2024  »
ПнВтСрЧтПтСбВс
  12345
6789101112
13141516171819
20212223242526
2728293031

Архив записей

Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz


  • Copyright MyCorp © 2024
    img img megclub.ru