Changeset 85095b7
- Timestamp:
- Jan 26, 2012, 1:24:31 AM (11 years ago)
- Branches:
- master
- Children:
- 90ef7fb
- Parents:
- c0dde68
- Files:
-
- 1 added
- 3 deleted
- 20 edited
Legend:
- Unmodified
- Added
- Removed
-
cli/core.cli.inc.php
rc0dde68 r85095b7 20 20 include_once($CONFIG['location']."/common/core.common.php"); 21 21 22 23 22 class MysqlException extends Exception 24 23 { -
cli/db_optimize.php
rc0dde68 r85095b7 39 39 include_once($CONFIG['site']['location']."/include/doc.kordolga.php"); 40 40 41 $mail->FromName = $CONFIG['site']['name'].' - Site Service System';42 $mail->CharSet = "UTF-8";43 $mail->AddAddress($CONFIG['site']['doc_adm_email'], $CONFIG['site']['doc_adm_email'] );44 $mail->Subject="DB Check report";45 46 41 $mail_text=''; 47 48 42 49 43 $tim=time(); … … 127 121 while($nxt=mysql_fetch_row($res)) 128 122 { 129 //if( ($nxt[1]>2) && ($nxt[1]!=8) && ($nxt[1]!=4) && ($nxt[1]!=5) ) continue;130 //DocSumUpdate($nxt[0]);131 123 $dt=date("d.m.Y H:i:s",$nxt[3]); 132 124 $typename=$doc_types[$nxt[1]]."N $nxt[2] от $dt";; … … 138 130 echo $text; 139 131 $mail_text.=$text; 140 //echo " ---------- ".seek_and_up($nxt[3],$badpos)."\n";141 142 132 $i++; 143 133 } 144 145 //else echo "$nxt[0]($typename): ok!\n";146 134 } 147 135 if($i) … … 188 176 if($mail_text) 189 177 { 190 $mail_text="При автоматической проверке базы данных сайта найдены следующие проблемы:\n****\n\n".$mail_text."\n\n**** 191 Необходимо срочно исправить найденные ошибки!"; 178 try 179 { 180 $mail_text="При автоматической проверке базы данных сайта найдены следующие проблемы:\n****\n\n".$mail_text."\n\n****\nНеобходимо исправить найденные ошибки!"; 192 181 193 $mail->Body=$mail_text; 194 if($mail->Send()) 182 mailto($CONFIG['site']['doc_adm_email'], "DB check report", $mail_text); 195 183 echo "Почта отправлена!"; 196 else echo"ошибка почты!".$mail->ErrorInfo; 184 } 185 catch(Exception $e) 186 { 187 echo"Ошибка отправки почты!".$e->getMessage(); 188 } 197 189 } 198 190 else echo"Ошибок не найдено, не о чем оповещать!\n"; -
cli/dolg_info.php
rc0dde68 r85095b7 24 24 25 25 require_once($CONFIG['site']['location']."/core.php"); 26 //require_once($CONFIG['site']['location']."/include/class.phpmailer.php");27 26 require_once($CONFIG['site']['location']."/include/doc.core.php"); 28 29 $mail = new PHPMailer();30 31 $mail->From = $CONFIG['site']['admin_email'];32 $mail->FromName = $CONFIG['site']['name'].' - Site Service System';33 $mail->Mailer = "mail";34 $mail->CharSet = "UTF-8";35 $mail->Subject="Ваши долги";36 27 37 28 $mail_text=array(); … … 41 32 while($nxt=mysql_fetch_row($res)) 42 33 { 43 //if($nxt[2]==0) continue;44 34 $dolg=DocCalcDolg($nxt[0],0); 45 35 if( $dolg>0 ) … … 59 49 $xmppclient->presence(); 60 50 61 $res=mysql_query("SELECT `id`, `name`, `email`, `jid` FROM `users`"); 62 while($nxt=mysql_fetch_row($res)) 63 { 64 if($mail_text[$nxt[0]]) 51 $res=mysql_query("SELECT `id`, `name`, `email`, `jid` FROM `users`"); 52 while($nxt=mysql_fetch_row($res)) 65 53 { 66 $dolg=sprintf("%0.2f",$sum_dolga[$nxt[0]]); 67 $text="Уважаемый(ая) $nxt[1]!\nНекоторые из Ваших клиентов, для которых Вы являетесь ответственным менеджером, имеют непогашенные долги перед нашей компанией на общую сумму {$dolg} рублей.\nНеобходимо в кратчайший срок решить данную проблему!\n\nВот список этих клиентов:\n".$mail_text[$nxt[0]]."\n\nПожалуйста, не откладывайте решение проблемы на длительный срок!"; 68 69 $mail->ClearAddress(); 70 $mail->AddAddress($nxt[2],$nxt[1]); 71 $mail->Body=$text; 72 if($mail->Send()) 73 echo "\nПочта отправлена!"; 74 else echo"\nошибка почты!".$mail->ErrorInfo; 75 76 if($nxt[3]) 54 if($mail_text[$nxt[0]]) 77 55 { 78 56 $dolg=sprintf("%0.2f",$sum_dolga[$nxt[0]]); 57 $text="Уважаемый(ая) $nxt[1]!\nНекоторые из Ваших клиентов, для которых Вы являетесь ответственным менеджером, имеют непогашенные долги перед нашей компанией на общую сумму {$dolg} рублей.\nНеобходимо в кратчайший срок решить данную проблему!\n\nВот список этих клиентов:\n".$mail_text[$nxt[0]]."\n\nПожалуйста, не откладывайте решение проблемы на длительный срок!"; 58 59 mailto($nxt[2], "Ваши долги", $text); 60 if($nxt[3]) 61 { 79 62 $xmppclient->message($nxt[3], $text); 80 63 echo "\nСообщение было отправлено через XMPP!"; 64 } 65 echo $text."\n\n\n\n"; 81 66 82 67 } 83 84 echo $text."\n\n\n\n";85 68 } 86 }87 88 69 $xmppclient->disconnect(); 89 70 echo "\nСообщение было отправлено через XMPP!"; … … 93 74 echo"\nНевозможно отправить сообщение XMPP"; 94 75 } 76 catch(Exception $e) 77 { 78 echo"Ошибка отправки почты!".$e->getMessage(); 79 } 95 80 96 81 ?> -
cli/price_an.php
rc0dde68 r85095b7 23 23 include_once("$base_path/config_cli.php"); 24 24 25 set_time_limit(60*120); // Выполнять не более 15 минут 25 require_once($CONFIG['cli']['location']."/core.cli.inc.php"); 26 27 set_time_limit(60*120); // Выполнять не более 120 минут 26 28 $start_time=microtime(TRUE); 27 29 28 if(!$CONFIG['price']['dir']) exit(0); 29 30 if(!$CONFIG['price']['dir']) 31 { 32 echo"Директория с прайсами не определена, завершаем работу...\n"; 33 exit(0); 34 } 30 35 $mail_text=''; 31 36 … … 52 57 53 58 $file=file("http://export.rbc.ru/free/cb.0/free.fcgi?period=DAILY&lastdays=0&separator=%2C&data_format=BROWSER"); 54 foreach($file as $fl) 59 if(!$file) 60 { 61 $mail_text.="Не удалось получить курсы валют!\n"; 62 echo "Не удалось получить курсы валют!\n"; 63 } 64 else foreach($file as $fl) 55 65 { 56 66 $fl=trim($fl); … … 58 68 mysql_query("UPDATE `currency` SET `coeff`='$fa[5]' WHERE `name`='$fa[0]'"); 59 69 } 60 61 70 62 71 … … 76 85 $dh = opendir($CONFIG['price']['dir']); 77 86 if(!$dh) throw new Exception("Не удалось открыть каталог с прайсами ({$CONFIG['price']['dir']})"); 87 SetStatus('Loading prices'); 78 88 while (false !== ($filename = readdir($dh))) 79 89 { … … 87 97 $xml = $zip->getFromName("content.xml"); 88 98 $zip->close(); 89 90 SetStatus('Loading prices'); 91 99 92 100 $loader=new ODFContentLoader($xml); 93 101 if($firm=$loader->detectFirm()) … … 98 106 unlink($CONFIG['price']['dir'] .'/'.$filename); 99 107 } 100 else $msg.="NOT DETECTED!"; 101 102 103 if($msg) 104 { 105 log_write($CONFIG['price']['dir'], $msg); 108 else 109 { 110 $msg.="соответствий не найдено. Прайс не обработан."; 106 111 $mail_text.="Анализ прайсов: $msg\n"; 107 112 } 108 } 109 110 113 log_write($CONFIG['price']['dir'], $msg); 114 } 111 115 112 116 // Выборка 113 $mail_text.="Начинаем анализ...\n";114 117 echo "Начинаем анализ...\n"; 115 118 mysql_query("UPDATE `price` SET `seeked`='0'"); … … 207 210 208 211 mysql_query("DROP TABLE `parsed_price`"); 209 if(mysql_errno()) echo mysql_error(); 212 if(mysql_errno()) 213 { 214 $msg="Ошибка удаления старой таблицы с соответствиями: ".mysql_error()."\n"; 215 echo $msg; 216 $mail_text.=$msg; 217 } 218 210 219 mysql_query("RENAME TABLE `parsed_price_tmp` TO `parsed_price` ;"); 211 if(mysql_errno()) echo mysql_error(); 212 213 $mail_text.="Анализ прайсов завершен успешно!"; 220 if(mysql_errno()) 221 { 222 $msg="Ошибка переименования таблицы с соответствиями: ".mysql_error()."\n"; 223 echo $msg; 224 $mail_text.=$msg; 225 } 226 214 227 echo "Анализ прайсов завершен успешно!"; 215 228 // ====================== ОБНОВЛЕНИЕ ЦЕН ============================================================= … … 261 274 mysql_query("UPDATE `doc_base` SET `cost`='$mincost', `cost_date`=NOW() WHERE `id`='$nxt[0]'"); 262 275 if(mysql_errno()) throw new Exception(mysql_error()); 263 264 276 echo $txt; 265 $mail_text.=$txt;266 277 } 267 278 } … … 275 286 } 276 287 288 $work_time=microtime(TRUE)-$start_time;; 289 290 $h=$m=0; 291 $s=round($work_time*100)/100; 292 if($s>60) 293 { 294 $m=floor($s/60); 295 $s-=$m*60; 296 } 297 298 if($m>60) 299 { 300 $h=floor($m/60); 301 $m-=$h*60; 302 } 303 304 $text_time='Скрипт выполнен за '; 305 if($h) $text_time.="$h часов "; 306 if($m) $text_time.="$m минут "; 307 if($s) $text_time.="$s секунд "; 308 $text_time.=" (всего $work_time секунд)\n"; 309 310 echo $text_time; 311 277 312 // ===================== ОТПРАВКА ПОЧТЫ =============================================================== 278 313 if($mail_text) 279 314 { 280 $work_time=microtime(TRUE)-$start_time;; 281 $send=1; 282 283 $h=$m=0; 284 $s=round($work_time*100)/100; 285 if($s>60) 286 { 287 $m=floor($s/60); 288 $s-=$m*60; 289 } 290 291 if($m>60) 292 { 293 $h=floor($m/60); 294 $m-=$h*60; 295 } 296 297 $text_time=''; 298 if($h) $text_time.="$h часов "; 299 if($m) $text_time.="$m минут "; 300 if($s) $text_time.="$s секунд "; 301 $text_time.=" (всего $work_time секунд)"; 302 303 if($CONFIG['site']['doc_adm_email']) 304 $mail->AddAddress($CONFIG['site']['doc_adm_email'], 'To document administrator' ); 305 else if($CONFIG['site']['admin_email']) 306 $mail->AddAddress($CONFIG['site']['admin_email'], 'To site administrator' ); 307 else $send=0; 308 if($send) 309 { 310 $mail->Subject="Price analyzer"; 311 $mail_text="При анализе прайс-листов произошло следующее:\n****\n\n".$mail_text."\n\n****\nЕсли произошла ошибка, её необходимо срочно исправить!\n\nСкрипт выполнен за $text_time"; 312 $mail->Body=$mail_text; 313 if($mail->Send()) 314 echo "\n\nПочта отправлена!\n"; 315 else echo"\n\nошибка почты!".$mail->ErrorInfo."\n"; 316 } 317 } 315 try 316 { 317 $mail_text="При анализе прайс-листов произошло следующее:\n****\n\n".$mail_text."\n\n****\nНайденные ошибки желательно исправить в кратчайший срок!!\n\n$text_time"; 318 mailto($CONFIG['site']['admin_email'], "Price analyzer errors", $mail_text); 319 mailto($CONFIG['site']['doc_adm_email'], "Price analyzer errors", $mail_text); 320 echo "Почта отправлена!"; 321 } 322 catch(Exception $e) 323 { 324 echo"Ошибка отправки почты!".$e->getMessage(); 325 } 326 327 328 } 329 else echo"Ошибок не найдено, не о чем оповещать!\n"; 318 330 319 331 mysql_query("DELETE FROM `sys_cli_status` WHERE `id`='$status_id'"); -
cli/resp_clear.php
rc0dde68 r85095b7 3 3 // MultiMag v0.1 - Complex sales system 4 4 // 5 // Copyright (C) 2005-201 0, BlackLight, TND Team, http://tndproject.org5 // Copyright (C) 2005-2012, BlackLight, TND Team, http://tndproject.org 6 6 // 7 7 // This program is free software: you can redistribute it and/or modify … … 24 24 include_once("$base_path/config_cli.php"); 25 25 26 require_once($CONFIG['cli']['location']."/core.cli.inc.php"); 27 26 28 $tim=time(); 27 29 $i_time=time()-60*60*24*$CONFIG['resp_clear']['info_time']; … … 29 31 30 32 $info_mail=''; 31 32 $mail->CharSet = "UTF-8";33 $mail->FromName = $CONFIG['site']['name'].' - Site Service System';34 33 35 34 if($CONFIG['resp_clear']['info_time']) … … 47 46 { 48 47 $info_mail.='id:'.str_pad($nxt[0], 6, ' ', STR_PAD_LEFT).' - '.$nxt[1]." (ответственный - $nxt[3] (id:$nxt[2])\n"; 48 if(!isset($resp_info[$nxt[2]])) $resp_info[$nxt[2]]=''; 49 49 $resp_info[$nxt[2]].='id:'.str_pad($nxt[0], 6, ' ', STR_PAD_LEFT).' - '.$nxt[1]."\n"; 50 50 $resp_mail[$nxt[2]]=$nxt[4]; … … 53 53 foreach($resp_info as $id => $resp) 54 54 { 55 $mail->ClearAddress(); 56 $mail->AddAddress($resp_mail[$id], $resp_mail[$id]); 57 $mail->Subject=$CONFIG['site']['name']." - Info for responsible manager"; 58 59 $mail->Body="По следующим агентам, для которых Вы назначены ответственным менеджером, , не было движения более {$CONFIG['resp_clear']['info_time']} дней:\n\n".$resp."\nЕсли Вы не примите меры, то через некоторое время Вы перестанете быть ответственным менеджером этого агента!\n\nВы получили это письмо, так как являетесь ответственным менеджером.\nЭто письмо сгенерированно автоматически системой оповещения сайта {$CONFIG['site']['name']}.\nОтвечать на него не нужно."; 60 if($mail->Send()) echo "\nПочта отправлена на $resp_mail[$id]!"; 61 else echo"\nошибка почты на $resp_mail[$id]! ".$mail->ErrorInfo; 55 $mail_text="По следующим агентам, для которых Вы назначены ответственным менеджером, , не было движения более {$CONFIG['resp_clear']['info_time']} дней:\n\n".$resp."\nЕсли Вы не примите меры, то через некоторое время Вы перестанете быть ответственным менеджером этого агента!\n\nВы получили это письмо, так как являетесь ответственным менеджером.\nЭто письмо сгенерированно автоматически системой оповещения сайта {$CONFIG['site']['name']}.\nОтвечать на него не нужно."; 56 57 try 58 { 59 mailto($resp_mail[$id], $CONFIG['site']['name']." - Информация для ответственного сотрудника", $mail_text); 60 echo "Почта отправлена!"; 61 } 62 catch(Exception $e) 63 { 64 echo"Ошибка отправки почты!".$e->getMessage(); 65 } 62 66 } 63 67 } 68 69 try 70 { 64 71 65 72 if($CONFIG['resp_clear']['clear_time']) … … 79 86 } 80 87 88 } 89 catch(Exception $e) 90 { 91 $info_mail.=$e->getMessage(); 92 echo $e->getMessage(); 93 } 81 94 82 95 if($info_mail) 83 96 { 84 $mail->ClearAddress(); 85 $mail->AddAddress($CONFIG['resp_clear']['info_mail'], $CONFIG['resp_clear']['info_mail']); 86 $mail->Subject=$CONFIG['site']['name']." - Info about non-active client"; 97 $mail_text=$info_mail."\n\nВы получили это письмо, так как ваш адрес указан в настройках сайта.\nЭто письмо сгенерированно автоматически системой оповещения сайта {$CONFIG['site']['name']}.\nОтвечать на него не нужно."; 87 98 88 $mail->Body=$info_mail."\n\nВы получили это письмо, так как ваш адрес указан в настройках сайта.\nЭто письмо сгенерированно автоматически системой оповещения сайта {$CONFIG['site']['name']}.\nОтвечать на него не нужно."; 89 if($mail->Send()) echo "\nПочта отправлена на {$CONFIG['resp_clear']['info_mail']}!"; 90 else echo"\nошибка почты на {$CONFIG['resp_clear']['info_mail']}! ".$mail->ErrorInfo; 99 try 100 { 101 mailto($CONFIG['resp_clear']['info_mail'], $CONFIG['site']['name']." - Информация о неактивных клиентах", $mail_text); 102 echo "Почта отправлена!"; 103 } 104 catch(Exception $e) 105 { 106 echo"Ошибка отправки почты!".$e->getMessage(); 107 } 91 108 } 92 109 -
common/core.common.php
rc0dde68 r85095b7 20 20 /// Файл содержит код, используемый как web, так и cli скриптами 21 21 22 function mailto($email, $subject, $msg, $from="") 23 { 24 global $CONFIG; 25 require_once($CONFIG['location'].'/common/email_message.php'); 26 27 $email_message=new email_message_class(); 28 $email_message->default_charset="UTF-8"; 29 $email_message->SetEncodedEmailHeader("To", $email, $email); 30 $email_message->SetEncodedHeader("Subject", $subject); 31 if($from) $email_message->SetEncodedEmailHeader("From", $from, $from); 32 else $email_message->SetEncodedEmailHeader("From", $CONFIG['site']['admin_email'], "Почтовый робот {$CONFIG['site']['name']}"); 33 $email_message->SetHeader("Sender",$CONFIG['site']['admin_email']); 34 $email_message->AddQuotedPrintableTextPart($msg); 35 $error=$email_message->Send(); 36 37 if(strcmp($error,"")) throw new Exception($error); 38 else return 0; 39 } 22 40 23 class AccessException extends Exception24 {25 function __construct($text='')26 {27 parent::__construct($text);28 }29 };30 41 31 42 -
config_all.sample.php
rc0dde68 r85095b7 5 5 $CONFIG['site']['doc_adm_email']= ''; 6 6 $CONFIG['site']['doc_adm_jid'] = ''; 7 $CONFIG['site']['name'] = ' multimag';8 $CONFIG['site']['display_name'] = ' Magazine';7 $CONFIG['site']['name'] = 'example.com'; 8 $CONFIG['site']['display_name'] = 'Интернет-магазин'; 9 9 $CONFIG['site']['default_firm'] = 1; // Организация по умолчанию для работы сайта 10 10 $CONFIG['location'] = '/usr/share/multimag'; … … 28 28 $CONFIG['ymarket']['local_delivery_cost'] = 150; 29 29 30 require_once($CONFIG['location']."/common/class.phpmailer.php");31 30 require_once($CONFIG['location'].'/common/XMPPHP/XMPP.php'); 32 33 34 $mail = new PHPMailer();35 36 $mail->Sender = $CONFIG['site']['admin_email'];37 $mail->From = $CONFIG['site']['admin_email'];38 $mail->FromName = $CONFIG['site']['display_name'];39 $mail->Mailer = "mail";40 $mail->CharSet = "UTF-8";41 31 42 32 $xmppclient = new XMPPHP_XMPP( $CONFIG['xmpp']['host'], $CONFIG['xmpp']['port'], $CONFIG['xmpp']['login'], $CONFIG['xmpp']['pass'], 'xmpphp', '', $printlog=false, $loglevel=XMPPHP_Log::LEVEL_INFO); -
web/core.php
rc0dde68 r85095b7 2 2 // MultiMag v0.1 - Complex sales system 3 3 // 4 // Copyright (C) 2005-201 0, BlackLight, TND Team, http://tndproject.org4 // Copyright (C) 2005-2012, BlackLight, TND Team, http://tndproject.org 5 5 // 6 6 // This program is free software: you can redistribute it and/or modify … … 17 17 // along with this program. If not, see <http://www.gnu.org/licenses/>. 18 18 // 19 define("MULTIMAG_REV", "2 72");20 define("MULTIMAG_VERSION", "0. 0.1r".MULTIMAG_REV);19 define("MULTIMAG_REV", "298"); 20 define("MULTIMAG_VERSION", "0.1r".MULTIMAG_REV); 21 21 header("X-Powered-By: MultiMag ".MULTIMAG_VERSION); 22 22 … … 281 281 } 282 282 283 function mailto($email,$tema,$msg,$from="")284 {285 global $mail;286 $mail->Body = $msg;287 $mail->ClearAddress();288 $mail->AddAddress($email, $email );289 $mail->Subject=$tema;290 if($from) $mail->From = $from;291 return $mail->Send();292 }293 283 294 284 function sendAdmMessage($text,$subject='') … … 509 499 510 500 501 class AccessException extends Exception 502 { 503 function __construct($text='') 504 { 505 parent::__construct($text); 506 } 507 }; 511 508 512 509 class MysqlException extends Exception -
web/doc_otchet.php
rc0dde68 r85095b7 34 34 'doc_otchet.php?mode=sverka_op' => 'Акт сверки (оперативный)', 35 35 'doc_otchet.php?mode=agent_otchet' => 'Отчет по агенту', 36 'doc_otchet.php?mode=komplekt' => 'Отчет по комплектующим',37 36 'doc_otchet.php?mode=proplaty' => 'Отчет по проплатам', 38 37 'doc_otchet.php?mode=prod' => 'Отчёт по продажам', … … 49 48 <a href='doc_otchet.php?mode=sverka'><div>Акт сверки</div></a> 50 49 <a href='doc_otchet.php?mode=agent_otchet'><div>Отчет по агенту</div></a> 51 <a href='doc_otchet.php?mode=komplekt'><div>Отчет по комплектующим</div></a>52 50 <a href='doc_otchet.php?mode=prod'><div>Отчёт по продажам</div></a> 53 51 <a href='doc_otchet.php?mode=proplaty'><div>Отчет по проплатам</div></a> … … 185 183 $tmpl->ajax=1; 186 184 $tmpl->AddText(otch_divs()); 187 }188 else if($mode=='komplekt')189 {190 $opt=rcv('opt');191 if($opt=='')192 {193 $tmpl->SetText("<h1>Отчёт по комплектующим (с зарплатой)</h1>194 <form action='' method='post'>195 <input type='hidden' name='mode' value='komplekt'>196 <input type='hidden' name='opt' value='make'>197 Группа товаров:<br>198 <select name='group'>199 <option value='0' selected>-- не выбрана</option>");200 $res=mysql_query("SELECT `id`, `name` FROM `doc_group` ORDER BY `name`");201 while($nxt=mysql_fetch_row($res))202 {203 $tmpl->AddText("<option value='$nxt[0]'>$nxt[1] ($nxt[0])</option>");204 }205 $tmpl->AddText("</select>206 <button type='submit'>Создать отчет</button>207 </form>");208 }209 else210 {211 $tmpl->LoadTemplate('print');212 $group=rcv('group');213 settype($group,'int');214 $date=date('Y-m-d');215 $sel=$group?"AND `group`='$group'":'';216 // Получение id свойства зарплаты217 $res=mysql_query("SELECT `id` FROM `doc_base_params` WHERE `param`='ZP'");218 if(mysql_errno()) throw new MysqlException("Не удалось получить выборку доп.информации");219 if(mysql_num_rows($res)==0) throw new Exception("Данные о зарплате за сборку в базе не найдены. Необходим дополнительный параметр 'ZP'");220 $zp_id=mysql_result($res,0,0);221 222 $res=mysql_query("SELECT `doc_base`.`id`, `doc_base`.`vc`, `doc_group`.`printname`, `doc_base`.`name`, `doc_base`.`proizv`, `doc_base_values`.`value` AS `zp`223 FROM `doc_base`224 LEFT JOIN `doc_group` ON `doc_group`.`id`=`doc_base`.`group`225 LEFT JOIN `doc_base_values` ON `doc_base_values`.`id`=`doc_base`.`id` AND `doc_base_values`.`param_id`='$zp_id'226 WHERE 1 $sel227 ORDER BY `doc_base`.`name`");228 if(mysql_errno()) throw new MysqlException("Не удалось получить выборку наименований");229 $tmpl->AddText("<h1>Отчёт по комплектующим с зарплатой для группы $group на $date</h1><table width='100%'>230 <tr><th rowspan='2'>ID<th rowspan='2'>Код<br>произв.<th rowspan='2'>Наименование<th rowspan='2'>Зар. плата<th colspan='4'>Комплектующие<th rowspan='2'>Стоимость сборки<th rowspan='2'>Стоимость с зарплатой231 <tr><th>Наименование<th>Цена<th>Количество<th>Стоимость");232 $zp_sum=$kompl_sum=$all_sum=0;233 while($nxt=mysql_fetch_assoc($res))234 {235 settype($nxt['zp'], 'double');236 $cnt=$sum=0;237 $kompl_data1=$kompl_data='';238 $rs=mysql_query("SELECT `doc_base_kompl`.`kompl_id` AS `id`, `doc_base`.`name`, `doc_base`.`cost`, `doc_base_kompl`.`cnt`239 FROM `doc_base_kompl`240 LEFT JOIN `doc_base` ON `doc_base`.`id`=`doc_base_kompl`.`kompl_id`241 WHERE `doc_base_kompl`.`pos_id`='{$nxt['id']}'");242 echo mysql_error();243 if(mysql_errno()) throw new MysqlException("Не удалось получить выборку комплектующих");244 while($nx=mysql_fetch_row($rs))245 {246 $cnt++;247 $cost=sprintf("%0.2f",GetInCost($nx[0]));248 $cc=$cost*$nx[3];249 $sum+=$cc;250 if(!$kompl_data1) $kompl_data1="<td>$nx[1]<td>$cost<td>$nx[3]<td>$cc";251 else $kompl_data.="<tr><td>$nx[1]<td>$cost<td>$nx[3]<td>$cc";252 }253 $span=($cnt>1)?"rowspan='$cnt'":'';254 if(!$kompl_data1) $kompl_data1="<td><td><td><td>";255 $zsum=$nxt['zp']+$sum;256 $tmpl->AddText("<tr><td $span>{$nxt['id']}<td $span>{$nxt['vc']}<td $span>{$nxt['printname']} {$nxt['name']} / {$nxt['proizv']}<td $span>{$nxt['zp']} $kompl_data1<td $span>$sum<td $span>$zsum257 $kompl_data");258 $zp_sum+=$nxt['zp'];259 $kompl_sum+=$sum;260 $all_sum+=$zsum;261 }262 $tmpl->AddText("263 <tr><td colspan='3'><b>Итого:</b><td>$zp_sum<td colspan='4'><td>$kompl_sum<td>$all_sum264 </table>");265 266 }267 185 } 268 186 else if($mode=='fin_otchet') -
web/doc_reports.php
rc0dde68 r85095b7 37 37 doc_menu(); 38 38 $tmpl->SetTitle("Отчёты"); 39 $tmpl->AddText("<h1>Отчёты</h1>"); 39 $tmpl->AddText("<h1>Отчёты</h1> 40 <p>Внимание! Отчёты создают высокую нагрузку на сервер, поэтому не рекомендуеся генерировать отчёты во время интенсивной работы с базой данных, а так же не рекомендуется частое использование генератора отчётов по этой же причине!</p>"); 40 41 $tmpl->AddText("<ul>"); 41 42 if (is_dir($dir)) -
web/include/doc.kompredl.php
rc0dde68 r85095b7 201 201 else 202 202 { 203 global $mail;204 203 $comm=rcv('comm'); 205 $sender_name=$_SESSION['name']; 206 207 $res=mysql_query("SELECT `rname`, `tel`, `email` FROM `users` WHERE `id`='{$this->doc_data[8]}'"); 208 $manager_name=@mysql_result($res,0,0); 209 $manager_tel=@mysql_result($res,0,1); 210 $manager_email=@mysql_result($res,0,2); 211 212 if(!$manager_email) 213 { 214 $mail->Body = "Доброго времени суток!\nВо вложении находится запрошенное Вами коммерческое предложение от {$CONFIG['site']['name']}\n\n$comm\n\nСообщение сгенерировано автоматически, отвечать на него не нужно! Для переписки используйте адрес, указанный на сайте http://{$CONFIG['site']['name']}!"; 215 } 216 else 217 { 218 $mail->Body = "Доброго времени суток!\nВо вложении находится запрошенное Вами коммерческое предложение от {$CONFIG['site']['name']}\n\n$comm\n\nИсполнительный менеджер $manager_name\nКонтактный телефон: $manager_tel\nЭлектронная почта (e-mail): $manager_email\nОтправитель: $sender_name"; 219 $mail->Sender = $manager_email; 220 $mail->From = $manager_email; 221 //$mail->FromName = "{$mail->FromName} ({$manager_name})"; 222 } 223 224 $mail->AddAddress($email, $email ); 225 $mail->Subject="Коммерческое предложение от {$CONFIG['site']['name']}"; 226 227 $mail->AddStringAttachment($this->KomPredlPDF(1), "buissness_offer.pdf"); 228 if($mail->Send()) 229 $tmpl->msg("Сообщение отправлено!","ok"); 230 else 231 $tmpl->msg("Ошибка отправки сообщения!",'err'); 204 doc_menu(); 205 $this->SendDocEMail($email, $comm, 'Коммерческое предложение', $this->KomPredlPDF(1), "buissness_offer.pdf"); 206 $tmpl->msg("Сообщение отправлено!","ok"); 232 207 } 233 208 } … … 239 214 global $tmpl; 240 215 global $uid; 241 global $mail;242 216 global $CONFIG; 243 217 $tmpl->ajax=0; … … 293 267 else 294 268 { 295 296 $msg="Доброго времени суток!\n Просим Вас рассмотреть возможность закупки следующей продукции:\n\n"; 269 global $CONFIG; 270 require_once($CONFIG['location'].'/common/email_message.php'); 271 $email_message=new email_message_class(); 272 $email_message->SetBulkMail(1); 273 $email_message->default_charset="UTF-8"; 274 $email_message->SetEncodedHeader("Subject", "Коммерческое предложение от {$CONFIG['site']['name']}"); 275 $text_attachment=array( 276 "Data"=>$this->KomPredlPDF(1), 277 "Name"=>"buissness_offer.pdf", 278 "Content-Type"=>"automatic/name", 279 "Disposition"=>"attachment" 280 ); 281 $email_message->AddFilePart($text_attachment); 282 $email_message->SetEncodedEmailHeader("From", $CONFIG['site']['admin_email'], "Почтовый робот {$CONFIG['site']['name']}"); 283 $email_message->SetHeader("Sender",$CONFIG['site']['admin_email']); 284 $email_message->cache_body=0; 285 // Заглушка для тела письма 286 $email_message->CreateQuotedPrintableTextPart("","",$text_part); 287 $email_message->AddPart($text_part); 297 288 289 // Подготовка тела письма 290 $msg="Просим Вас рассмотреть возможность закупки следующей продукции:\n\n"; 298 291 $res=mysql_query("SELECT `doc_group`.`printname`, `doc_base`.`name`, `doc_base`.`proizv`, `doc_base`.`cost` 299 292 FROM `doc_list_pos` … … 305 298 $msg.="$nxt[0] $nxt[1] ($nxt[2]) - цена $nxt[3] руб.\n"; 306 299 } 307 $msg.="\n\nВо вложении находится печатная версия этого предложения.\nЗаказать данную продукцию вы можете на нашем сайте http://{$CONFIG['site']['name']}. Так же с нашего сайта можно загрузить полный правйс-лист, или воспользоваться интернет-витриной. При заказе через сайт предоставляются скидки! Если для Вас по каким-либо причинам заказ через сайт не возможен, можно воспользоваться альтернативными способами связи:\nТелефоны: ".$this->firm_vars['firm_telefon']."\nЭлектронная почта: {$CONFIG['site']['doc_adm_email']}\nJabber(XMPP): {$CONFIG['site']['doc_adm_jid']}\n"; 308 $msg.="\n-----------------------------------------------------\nВы получили это письмо потому что подписаны на рассылку сайта http://{$CONFIG['site']['name']}, либо являетесь клиентом {$this->firm_vars['firm_name']}, не отказавшимся от рассылки.\nОтказаться от рассылки можно, перейдя по ссылке http://{$CONFIG['site']['name']}/login.php?mode=unsubscribe&email="; 309 310 global $mail; 311 //$mail->ContentType='text/plain'; 312 $mail->Subject='Коммерческое предложение от '.$CONFIG['site']['name']; 313 $mail->AddStringAttachment($this->KomPredlPDF(1), "buissness_offer.pdf"); 314 $mail->ClearAddress(); 300 $msg.="\n\nВо вложении находится печатная версия этого предложения.\nЗаказать данную продукцию вы можете на нашем сайте http://{$CONFIG['site']['name']}.\nТак же с нашего сайта можно загрузить полный прайс-лист, или воспользоваться интернет-витриной.\nПри заказе через сайт предоставляются скидки!\nЕсли для Вас по каким-либо причинам заказ через сайт не возможен, можно воспользоваться альтернативными способами связи:\nТелефоны: ".$this->firm_vars['firm_telefon']."\nЭлектронная почта: {$CONFIG['site']['doc_adm_email']}\nJabber(XMPP): {$CONFIG['site']['doc_adm_jid']}\n"; 301 $msg.="\n-----------------------------------------------------\nВы получили это письмо потому что подписаны на рассылку сайта http://{$CONFIG['site']['name']},\nлибо являетесь клиентом {$this->firm_vars['firm_name']}, не отказавшимся от рассылки.\nОтказаться от рассылки можно, перейдя по ссылке http://{$CONFIG['site']['name']}/login.php?mode=unsubscribe&email="; 315 302 316 303 $email=@$_POST['email']; 317 304 foreach($email as $line) 318 305 { 319 $mail->Body = $msg.$line; 320 $mail->AddAddress($line, $line); 321 if($mail->Send()) 322 $tmpl->msg("Сообщение для *$line* отправлено!","ok"); 306 $res=mysql_query("SELECT `name`, `fullname` FROM `doc_agent` WHERE `email`='$line'"); 307 $recipient=@mysql_fetch_assoc($res); 308 if(!$recipient) 309 { 310 $res=mysql_query("SELECT `name`, `rname` AS `fullname` FROM `users` WHERE `email`='$line'"); 311 $recipient=@mysql_fetch_assoc($res); 312 } 313 if($recipient) 314 { 315 if($recipient['fullname']) 316 { 317 $email_message->SetEncodedEmailHeader("To", $line, $recipient['fullname']); 318 $body="Здравствуйте, {$recipient['fullname']}!\n".$msg."$line"; 319 } 323 320 else 324 $tmpl->msg("Ошибка отправки сообщения!",'err'); 325 $mail->ClearAddress(); 321 { 322 $email_message->SetEncodedEmailHeader("To", $line, $recipient['name']); 323 $body="Здравствуйте, {$recipient['name']}!\n".$msg."$line"; 324 } 325 } 326 else 327 { 328 $email_message->SetEncodedEmailHeader("To", $line, $line); 329 $body="Здравствуйте!\n".$msg."$line"; 330 } 331 $email_message->CreateQuotedPrintableTextPart($body,"",$recipient_text_part); 332 $email_message->ReplacePart($text_part,$recipient_text_part); 333 334 $error=$email_message->Send(); 335 if(strlen($error)) throw new Exception($error); 326 336 } 327 337 338 $email_message->SetBulkMail(0); 339 $tmpl->msg("Рассылка выполнена успешно!","ok"); 328 340 } 329 341 } … … 338 350 $dt=date("d.m.Y",$this->doc_data[5]); 339 351 340 if( $coeff==0) $coeff=1;352 if(@$coeff==0) $coeff=1; 341 353 if(!$to_str) $tmpl->ajax=1; 342 354 … … 447 459 $str='Цена'; 448 460 $str = iconv('UTF-8', 'windows-1251', $str); 449 $pdf->Cell($t_width[ 3],5,$str,1,0,'C',0);461 $pdf->Cell($t_width[2],5,$str,1,0,'C',0); 450 462 $pdf->Ln(); 451 463 -
web/include/doc.nulltype.php
rc0dde68 r85095b7 788 788 } 789 789 790 function SendDocEMail($email, $comment, $docname, $data, $filename, $body='') 791 { 792 global $CONFIG; 793 require_once($CONFIG['location'].'/common/email_message.php'); 794 795 $res=mysql_query("SELECT `name`, `rname`, `tel`, `email` FROM `users` WHERE `id`='{$this->doc_data['user']}'"); 796 $doc_autor=@mysql_fetch_assoc($res); 797 798 $res=mysql_query("SELECT `name`, `fullname`, `email` FROM `doc_agent` WHERE `id`='{$this->doc_data['agent']}'"); 799 $agent=@mysql_fetch_assoc($res); 800 801 $email_message=new email_message_class(); 802 $email_message->default_charset="UTF-8"; 803 if($agent['fullname']) $email_message->SetEncodedEmailHeader("To", $email, $agent['fullname']); 804 else if($agent['name']) $email_message->SetEncodedEmailHeader("To", $email, $agent['name']); 805 else $email_message->SetEncodedEmailHeader("To", $email, $email); 806 807 $email_message->SetEncodedHeader("Subject", "$docname от {$CONFIG['site']['name']}"); 808 809 if(!@$doc_autor['email']) 810 { 811 $email_message->SetEncodedEmailHeader("From", $CONFIG['site']['admin_email'], "Почтовый робот {$CONFIG['site']['name']}"); 812 $email_message->SetHeader("Sender",$CONFIG['site']['admin_email']); 813 $text_message = "Здравствуйте, {$agent['fullname']}!\nВо вложении находится заказанный Вами документ ($docname) от {$CONFIG['site']['name']}\n\n$comment\n\nСообщение сгенерировано автоматически, отвечать на него не нужно!\nДля переписки используйте адрес, указанный в контактной информации на сайте http://{$CONFIG['site']['name']}!"; 814 } 815 else 816 { 817 $email_message->SetEncodedEmailHeader("From", $doc_autor['email'], $doc_autor['rname']); 818 $email_message->SetHeader("Sender", $doc_autor['email']); 819 $text_message = "Здравствуйте, {$agent['fullname']}!\nВо вложении находится заказанный Вами документ ($docname) от {$CONFIG['site']['name']}\n\n$comment\n\nОтветственный сотрудник: {$doc_autor['name']}\nКонтактный телефон: {$doc_autor['tel']}\nЭлектронная почта (e-mail): {$doc_autor['email']}"; 820 if($_SESSION['name']!=$doc_autor['name']) $text_message.="\nОтправитель: {$_SESSION['name']}"; 821 } 822 if($body) $email_message->AddQuotedPrintableTextPart($body); 823 else $email_message->AddQuotedPrintableTextPart($text_message); 824 825 $text_attachment=array( 826 "Data"=>$data, 827 "Name"=>$filename, 828 "Content-Type"=>"automatic/name", 829 "Disposition"=>"attachment" 830 ); 831 $email_message->AddFilePart($text_attachment); 832 833 $error=$email_message->Send(); 834 835 if(strcmp($error,"")) throw new Exception($error); 836 else return 0; 837 } 838 790 839 // Служебные опции 791 840 function _Service($opt, $pos) -
web/include/doc.predlojenie.php
rc0dde68 r85095b7 309 309 else 310 310 { 311 global $mail; 312 $mail->Body = "Доброго времени суток! 313 Прошу рассмотреть возможность поставки Вашей продукции для {$CONFIG['site']['name']}. Подробная информация во вложении."; 314 //$mail->ContentType='text/plain'; 315 $mail->AddAddress($email, $email ); 316 $mail->Subject='Order from '.$CONFIG['site']['name']; 317 318 $mail->AddStringAttachment($this->PrintPDF($doc, 1), "zakaz.pdf"); 319 if($mail->Send()) 320 $tmpl->msg("Сообщение отправлено!","ok"); 321 else 322 $tmpl->msg("Ошибка отправки сообщения!",'err'); 311 $comm=rcv('comm'); 312 doc_menu(); 313 $this->SendDocEMail($email, $comm, 'Заявка на поставку', $this->PrintPDF($doc, 1), "order.pdf", "Здравствуйте!\nПрошу рассмотреть возможность поставки Вашей продукции для {$CONFIG['site']['name']}.\nПодробная информация во вложении."); 314 $tmpl->msg("Сообщение отправлено!","ok"); 323 315 } 324 316 … … 339 331 340 332 $dt=date("d.m.Y",$this->doc_data[5]); 341 342 if($coeff==0) $coeff=1; 333 343 334 if(!$to_str) $tmpl->ajax=1; 344 335 -
web/include/doc.realiz_op.php
rc0dde68 r85095b7 700 700 else 701 701 { 702 global $mail;703 702 $comm=rcv('comm'); 704 $sender_name=$_SESSION['name']; 705 706 $res=mysql_query("SELECT `rname`, `tel`, `email` FROM `users` WHERE `id`='{$this->doc_data[8]}'"); 707 $manager_name=@mysql_result($res,0,0); 708 $manager_tel=@mysql_result($res,0,1); 709 $manager_email=@mysql_result($res,0,2); 710 711 if(!$manager_email) 712 { 713 $mail->Body = "Доброго времени суток!\nВо вложении находится заказанная Вами счёт-фактура от {$CONFIG['site']['name']}\n\n$comm\n\nСообщение сгенерировано автоматически, отвечать на него не нужно!"; 714 } 715 else 716 { 717 $mail->Body = "Доброго времени суток!\nВо вложении находится заказанная Вами счёт-фактура от {$CONFIG['site']['name']}\n\n$comm\n\nИсполнительный менеджер $manager_name\nКонтактный телефон: $manager_tel\nЭлектронная почта (e-mail): $manager_email\nОтправитель: $sender_name"; 718 $mail->Sender = $manager_email; 719 $mail->From = $manager_email; 720 } 721 722 $mail->AddAddress($email, $email ); 723 $mail->Subject="Счёт-фактура от {$CONFIG['site']['name']}"; 724 725 $mail->AddStringAttachment($this->SfakPDF($doc, 1), "schet_fak.pdf"); 726 if($mail->Send()) 727 $tmpl->msg("Сообщение отправлено!","ok"); 728 else 729 $tmpl->msg("Ошибка отправки сообщения!",'err'); 703 doc_menu(); 704 $this->SendDocEMail($email, $comm, 'Счёт-фактура', $this->SfakPDF($doc, 1), "schet-fakt.pdf"); 705 $tmpl->msg("Сообщение отправлено!","ok"); 730 706 } 731 707 } … … 741 717 global $dop_data; 742 718 global $dv; 743 744 if($coeff==0) $coeff=1; 719 745 720 if(!$to_str) $tmpl->ajax=1; 746 721 … … 749 724 $res=mysql_query("SELECT `doc_agent`.`gruzopol`, `doc_agent`.`fullname`, `doc_agent`.`adres`, `doc_agent`.`tel`, `doc_agent`.`inn` FROM `doc_agent` WHERE `doc_agent`.`id`='$doc_data[2]' "); 750 725 751 $nx=@mysql_fetch_row($res); 726 $nx=@mysql_fetch_row($res); 727 $pp=''; 752 728 if($doc_data[13]) 753 729 { … … 834 810 } 835 811 836 $res=mysql_query("SELECT `doc_group`.`printname`, `doc_base`.`name`, `doc_base`.`proizv`, `doc_list_pos`.`cnt`, `doc_list_pos`.`cost`, `doc_list_pos`.` sn`, `doc_base_dop`.`strana` FROM `doc_list_pos`812 $res=mysql_query("SELECT `doc_group`.`printname`, `doc_base`.`name`, `doc_base`.`proizv`, `doc_list_pos`.`cnt`, `doc_list_pos`.`cost`, `doc_list_pos`.`cnt`, `doc_base_dop`.`strana` FROM `doc_list_pos` 837 813 LEFT JOIN `doc_base` ON `doc_base`.`id`=`doc_list_pos`.`tovar` 838 814 LEFT JOIN `doc_base_dop` ON `doc_base_dop`.`id`=`doc_list_pos`.`tovar` 839 815 LEFT JOIN `doc_group` ON `doc_group`.`id`=`doc_base`.`group` 840 816 WHERE `doc_list_pos`.`doc`='$doc'"); 841 817 if(mysql_errno()) throw new MysqlException("Ошибка выброки списка наименований документа"); 842 818 $pdf->SetLineWidth(0.2); 843 819 $pdf->SetY($y+16); -
web/include/doc.realizaciya.php
rc0dde68 r85095b7 1177 1177 else 1178 1178 { 1179 global $mail;1180 1179 $comm=rcv('comm'); 1181 $sender_name=$_SESSION['name']; 1182 1183 $res=mysql_query("SELECT `rname`, `tel`, `email` FROM `users` WHERE `id`='{$this->doc_data[8]}'"); 1184 $manager_name=@mysql_result($res,0,0); 1185 $manager_tel=@mysql_result($res,0,1); 1186 $manager_email=@mysql_result($res,0,2); 1187 1188 if(!$manager_email) 1189 { 1190 $mail->Body = "Доброго времени суток!\nВо вложении находится заказанная Вами счёт-фактура от {$CONFIG['site']['name']}\n\n$comm\n\nСообщение сгенерировано автоматически, отвечать на него не нужно!"; 1191 } 1192 else 1193 { 1194 $mail->Body = "Доброго времени суток!\nВо вложении находится заказанная Вами счёт-фактура от {$CONFIG['site']['name']}\n\n$comm\n\nИсполнительный менеджер $manager_name\nКонтактный телефон: $manager_tel\nЭлектронная почта (e-mail): $manager_email\nОтправитель: $sender_name"; 1195 $mail->Sender = $manager_email; 1196 $mail->From = $manager_email; 1197 //$mail->FromName = "{$mail->FromName} ({$manager_name})"; 1198 } 1199 1200 $mail->AddAddress($email, $email ); 1201 $mail->Subject="Счёт-фактура от {$CONFIG['site']['name']}"; 1202 1203 $mail->AddStringAttachment($this->SfakPDF($doc, 1), "schet_fak.pdf"); 1204 if($mail->Send()) 1205 $tmpl->msg("Сообщение отправлено!","ok"); 1206 else 1207 $tmpl->msg("Ошибка отправки сообщения!",'err'); 1180 doc_menu(); 1181 $this->SendDocEMail($email, $comm, 'Счёт-фактура', $this->SfakPDF($doc, 1), "schet-fakt.pdf"); 1182 $tmpl->msg("Сообщение отправлено!","ok"); 1208 1183 } 1209 1184 } -
web/include/doc.v_puti.php
rc0dde68 r85095b7 142 142 $tmpl->ajax=1; 143 143 $tmpl->AddText(" 144 <div onclick=\"window.location='/doc.php?mode=print&doc={$this->doc}&opt=zayavka_pdf'\">Заявка PDF</div> 145 <div onclick=\"ShowPopupWin('/doc.php?mode=print&doc=$doc&opt=zayavka_email'); return false;\">Заявка PDF по e-mail</div>"); 144 <div onclick=\"window.location='/doc.php?mode=print&doc={$this->doc}&opt=zayavka_pdf'\">Заявка PDF</div>"); 146 145 } 147 146 else if($opt=='zayavka_pdf') 148 147 $this->PrintPDF($doc); 149 else if($opt=='zayavka_email')150 $this->SendEmail($doc);151 148 } 152 149 // Формирование другого документа на основании текущего … … 286 283 } 287 284 288 function SendEMail($doc, $email='')289 {290 global $tmpl;291 global $CONFIG;292 if(!$email)293 $email=rcv('email');294 295 if($email=='')296 {297 $tmpl->ajax=1;298 get_docdata($doc);299 global $doc_data;300 $res=mysql_query("SELECT `email` FROM `doc_agent` WHERE `id`='$doc_data[2]'");301 $email=mysql_result($res,0,0);302 $tmpl->AddText("<form action=''>303 <input type=hidden name=mode value='print'>304 <input type=hidden name=doc value='$doc'>305 <input type=hidden name=opt value='zayavka_email'>306 email:<input type=text name=email value='$email'>307 <input type=submit value='>>'>308 </form>");309 }310 else311 {312 global $mail;313 $mail->Body = "Доброго времени суток!314 Прошу рассмотреть возможность поставки Вашей продукции для {$CONFIG['site']['name']}. Подробная информация во вложении.";315 //$mail->ContentType='text/plain';316 $mail->AddAddress($email, $email );317 $mail->Subject='Order from '.$CONFIG['site']['name'];318 319 $mail->AddStringAttachment($this->PrintPDF($doc, 1), "zakaz.pdf");320 if($mail->Send())321 $tmpl->msg("Сообщение отправлено!","ok");322 else323 $tmpl->msg("Ошибка отправки сообщения!",'err');324 }325 326 }327 328 329 285 function PrintPDF($doc, $to_str=0) 330 286 { -
web/include/doc.zayavka.php
rc0dde68 r85095b7 132 132 $this->PrintPDF($doc); 133 133 else if($opt=='schet_email') 134 $this->SendEmail( $doc);134 $this->SendEmail(); 135 135 else if($opt=='komplekt') 136 136 $this->PrintKomplekt($doc); … … 443 443 if($CONFIG['site']['doc_shtamp']) 444 444 $tmpl->AddText("<img src='{$CONFIG['site']['doc_shtamp']}' alt='Место для печати'>"); 445 $tmpl->AddText("<p align= right>Масса товара: <b>$summass</b> кг.<br></p>");445 $tmpl->AddText("<p align='right'>Масса товара: <b>$summass</b> кг.<br></p>"); 446 446 } 447 447 } 448 448 449 function SendEMail( $doc, $email='')449 function SendEMail() 450 450 { 451 451 global $tmpl; 452 global $mail;453 452 global $CONFIG; 454 if(!$email) 455 $email=rcv('email'); 453 $email=rcv('email'); 456 454 457 455 if($email=='') … … 460 458 $res=mysql_query("SELECT `email` FROM `doc_agent` WHERE `id`='{$this->doc_data[2]}'"); 461 459 $email=mysql_result($res,0,0); 462 $tmpl->AddText("<form action='' >463 <input type=hidden name= modevalue='print'>464 <input type=hidden name= doc value='$doc'>465 <input type=hidden name= optvalue='schet_email'>466 email:<input type= text name=emailvalue='$email'><br>460 $tmpl->AddText("<form action='' method='post'> 461 <input type=hidden name='mode' value='print'> 462 <input type=hidden name='doc' value='{$this->doc}'> 463 <input type=hidden name='opt' value='schet_email'> 464 email:<input type='text' name='email' value='$email'><br> 467 465 Коментарий:<br> 468 466 <textarea name='comm'></textarea><br> 469 <input type= submitvalue='>>'>467 <input type='submit' value='>>'> 470 468 </form>"); 471 469 } … … 473 471 { 474 472 $comm=rcv('comm'); 475 $sender_name=$_SESSION['name']; 476 477 $res=mysql_query("SELECT `rname`, `tel`, `email` FROM `users` WHERE `id`='{$this->doc_data[8]}'"); 478 $manager_name=@mysql_result($res,0,0); 479 $manager_tel=@mysql_result($res,0,1); 480 $manager_email=@mysql_result($res,0,2); 481 482 if(!$manager_email) 483 { 484 $mail->Body = "Доброго времени суток!\nВо вложении находится заказанный Вами счёт от {$CONFIG['site']['name']}\n\n$comm\n\nСообщение сгенерировано автоматически, отвечать на него не нужно! Для переписки используйте адрес, указанный на сайте http://{$CONFIG['site']['name']}!"; 485 } 486 else 487 { 488 $mail->Body = "Доброго времени суток!\nВо вложении находится заказанный Вами счёт от {$CONFIG['site']['name']}\n\n$comm\n\nИсполнительный менеджер $manager_name\nКонтактный телефон: $manager_tel\nЭлектронная почта (e-mail): $manager_email\nОтправитель: $sender_name"; 489 $mail->Sender = $manager_email; 490 $mail->From = $manager_email; 491 //$mail->FromName = "{$mail->FromName} ({$manager_name})"; 492 } 493 494 $mail->AddAddress($email, $email ); 495 $mail->Subject="Счёт от {$CONFIG['site']['name']}"; 496 497 $mail->AddStringAttachment($this->PrintPDF($doc, 1), "schet.pdf"); 498 if($mail->Send()) 499 $tmpl->msg("Сообщение отправлено!","ok"); 500 else 501 $tmpl->msg("Ошибка отправки сообщения!",'err'); 502 } 473 doc_menu(); 474 $this->SendDocEMail($email, $comm, 'Счёт', $this->PrintPDF($doc, 1), "invoice.pdf"); 475 $tmpl->msg("Сообщение отправлено!","ok"); 476 } 503 477 504 478 } … … 656 630 $str = "Внимание! Оплата данного счёта означает согласие с условиями поставки товара. Уведомление об оплате обязательно, иначе не гарантируется наличие товара на складе. Товар отпускается по факту прихода денег на р/с поставщика, самовывозом, при наличии доверенности и паспорта. Система интернет-заказов для постоянных клиентов доступна на нашем сайте http://{$CONFIG['site']['name']}."; 657 631 $str = iconv('UTF-8', 'windows-1251', $str); 658 $pdf->MultiCell(0,5,$str,1, 1,'c',0);632 $pdf->MultiCell(0,5,$str,1,'C',0); 659 633 $pdf->y++; 660 634 $str='Счёт действителен в течение трёх банковских дней!'; -
web/login.php
rc0dde68 r85095b7 338 338 throw new RegException('Код подтверждения введён неверно','img'); 339 339 340 341 342 340 // header("Location: login.php?mode=reg".$l); 343 341 $conf=md5(time()+rand(0,1000000)); … … 345 343 $msg=regMsg($login, $pass, $conf); 346 344 347 348 if(mailto($email,"Регистрация на ".$CONFIG['site']['name'], $msg)) 349 { 350 $res=mysql_query("INSERT INTO `users` (`name`,`pass`,`email`,`date_reg`,`confirm`,`subscribe`) 351 VALUES ('$login', MD5('$pass'), '$email', NOW(),'$conf','$subs') "); 352 if(mysql_errno()) throw new MysqlException("Не удалось добвать пользователя! Попробуйте позднее!"); 353 354 $tmpl->AddText("<h1 id='page-title'>Завершение регистрации</h1> 355 <form action='/login.php'> 356 <input type='hidden' name='mode' value='conf'> 357 Для проверки, что указанный адрес электронной почты принадлежит Вам, на него было выслано сообщение.<br>Для завершения регистрации введите полученный код:<br><br> 358 <input type='text' name='s'><button type='submit'>Продолжить</button><br><br> 359 Если Вы не получите письмо в течение трёх часов, возможно ваш сервер не принимает наше сообщение. Сообщите о проблеме администратору своего почтового сервера, или используйте другой! 360 </form>"); 361 } 362 else throw new Exception('Не удалось отправить сообщение электронной почты. Попытайтесь позднее. Если проблема сохранится - убедительная просьба сообщить об этом администратору.','img'); 345 mailto($email,"Регистрация на ".$CONFIG['site']['name'], $msg); 346 347 $res=mysql_query("INSERT INTO `users` (`name`,`pass`,`email`,`date_reg`,`confirm`,`subscribe`) 348 VALUES ('$login', MD5('$pass'), '$email', NOW(),'$conf','$subs') "); 349 if(mysql_errno()) throw new MysqlException("Не удалось добвать пользователя! Попробуйте позднее!"); 350 351 $tmpl->AddText("<h1 id='page-title'>Завершение регистрации</h1> 352 <form action='/login.php'> 353 <input type='hidden' name='mode' value='conf'> 354 Для проверки, что указанный адрес электронной почты принадлежит Вам, на него было выслано сообщение.<br>Для завершения регистрации введите полученный код:<br><br> 355 <input type='text' name='s'><button type='submit'>Продолжить</button><br><br> 356 Если Вы не получите письмо в течение трёх часов, возможно ваш сервер не принимает наше сообщение. Сообщите о проблеме администратору своего почтового сервера, или используйте другой! 357 </form>"); 358 363 359 } 364 360 catch(RegException $e) -
web/message.php
rc0dde68 r85095b7 1 1 <?php 2 2 3 // MultiMag v0. 1- Complex sales system3 // MultiMag v0.2 - Complex sales system 4 4 // 5 // Copyright (C) 2005-201 0, BlackLight, TND Team, http://tndproject.org5 // Copyright (C) 2005-2012, BlackLight, TND Team, http://tndproject.org 6 6 // 7 7 // This program is free software: you can redistribute it and/or modify … … 85 85 else 86 86 { 87 if(mailto($to,"Site message from {$CONFIG['site']['name']}", $text)) 87 try 88 { 89 mailto($to,"Сообщение с сайта {$CONFIG['site']['name']}", $text); 88 90 $tmpl->msg("Сообщение было отправлено!","ok"); 89 else $tmpl->logger("Не удалось отправить сообщение электронной почты! ".$mail->ErrorInfo); 91 } 92 catch(Exception $e) 93 { 94 $tmpl->logger("Невозможно отправить сообщение!","err"); 95 } 90 96 } 91 97 } … … 127 133 128 134 if($CONFIG['site']['doc_adm_email']) 129 mailto($CONFIG['site']['doc_adm_email'], 'Request for document cancel' ,$txt, $from);135 mailto($CONFIG['site']['doc_adm_email'], 'Запрос на отмену проведения документа' ,$txt, $from); 130 136 131 137 if($CONFIG['site']['doc_adm_jid']) -
web/user.php
rc0dde68 r85095b7 269 269 { 270 270 if(!isAccess('log_error','view')) throw new AccessException("Недостаточно привилегий"); 271 271 $p=rcv('p'); 272 settype($p,'int'); 273 if($p==0) $p=1; 274 $lines=100; 275 $from=($p-1)*$lines; 272 276 $tmpl->AddText("<h1>Журнал ошибок</h1>"); 273 $res=mysql_query("SELECT `id`, `page`, `referer`, `msg`, `date`, `ip`, `agent`, `uid` FROM `errorlog` ORDER BY `date` DESC"); 277 $res=mysql_query("SELECT SQL_CALC_FOUND_ROWS `id`, `page`, `referer`, `msg`, `date`, `ip`, `agent`, `uid` FROM `errorlog` ORDER BY `date` DESC LIMIT $from, $lines"); 278 list($total) = mysql_fetch_row(mysql_query('SELECT FOUND_ROWS()')); 274 279 $tmpl->AddText("<table width='100%' class='list'> 275 280 <tr><th>ID<th>Page<th>Referer<th>Msg<th>Date<th>IP<th>Agent<th>UID"); … … 281 286 } 282 287 $tmpl->AddText("</table>"); 288 289 $pages_count = ceil($total/$lines); 290 if ($pages_count > 1) 291 { 292 $tmpl->AddText("<p>Страницы: "); 293 for ( $i = 1; $i <= $pages_count; ++$i ) 294 { 295 if($i==$p) $tmpl->AddText("<b>$i</b> "); 296 else $tmpl->AddText("<a href='?mode=elog&p=$i'>$i</a> "); 297 } 298 $tmpl->AddText("</p>"); 299 } 283 300 284 301 }
Note: See TracChangeset
for help on using the changeset viewer.