time = $time; } function make() { $kk=0; foreach ($this->time as $Time) { // Äåíü $sql0 = "SELECT s.title, s.id, sum(o.total) as Total, count(o.total) as quant FROM catalogs_orders as o RIGHT JOIN zlo_order_status as s ON s.id=o.`status` AND $Time WHERE s.id IN (1,2,4,5) GROUP BY s.id ORDER BY s.id ASC"; $result0 = mysql_query($sql0) or die(mysql_error()); if (mysql_affected_rows()!=0) { while ($report=mysql_fetch_assoc($result0)) { if($kk==0) { $this->mass_order[$report['id']]['title'][]=$report['title']; $this->mass_client[$report['id']]['title'][]=$report['title']; } if ($report['Total']==0) { $this->mass_order[$report['id']]['total'][]=freandlyDigits($report['Total']); } else { $this->mass_order[$report['id']]['total'][]="(".$report['quant'].")".freandlyDigits($report['Total']).""; } $sql00="SELECT o.*, u.* FROM catalogs_orders as o LEFT JOIN zlo_users as u ON u.id=o.`user_id` WHERE o.`status`='".$report['id']."' AND $Time ORDER BY total DESC LIMIT 1"; $result00 = mysql_query($sql00) or die(mysql_error()); if (mysql_affected_rows()!=0) { $client=mysql_fetch_assoc($result00); list($client['name'])=explode(" ", $client['name']); $this->mass_client[$report['id']]['total'][]="".$client['name'].""; } else { $this->mass_client[$report['id']]['total'][]=''; } } $kk=1; } } } function html_report($mass) { $i=1; $html=""; foreach($mass as $ids) { $i++; if($i==2) { $class='style="background:#D8E9FB;"'; } else { $class='';} $html.=""; if($i==2) { $i=0;} foreach($ids as $id) { foreach($id as $c=>$values) { if($values==NULL) {$values = '0';} $html.=""; } } $html.=""; } $html.="
ÑòàòóñÄåíüÍåäåëÿÌåñÿö
".$values."
"; return $html; } function get_mass_order() { return $this->mass_order; } function get_mass_client() { return $this->mass_client; } function get_mass_order_grafic() { return $this->mass_order_grafic; } function needUpdate() { // ïðîâåðÿåì èëè îòñûëàëñÿ îò÷åò $sql = "SELECT * FROM zlo_report_history WHERE `date`='".date('Y-m-d')."' "; $result = mysql_query($sql) or die(mysql_error()); if(mysql_affected_rows()==0) { return 1; } else { return 0; } } function email() { // Åñëè åñòü ôàéë îòñûëàåì if(is_file($_SERVER['DOCUMENT_ROOT'].'/xml/'.date('Y').'/'.date('m').'/grafic_report_'.date('Y-m').'-'.(date('d')-1).'.png')) { $this->mass_client=''; $this->mass_order=''; $time=''; $time['day'] = "( o.`mktime` BETWEEN ".mktime(0, 0, 0, date('n'), date('j')-1, date('Y'))." AND ".mktime(0, 0, 0, date('n'), date('j'), date('Y')).") "; $time['week'] = "( o.`mktime` BETWEEN ".strtotime("last Monday")." AND ".mktime(0, 0, 0, date('n'), date('j')-1, date('Y')).") "; $time['month'] = "( o.`mktime` BETWEEN ".mktime(0, 0, 0, date('n'), 1, date('Y'))." AND ".mktime(0, 0, 0, date('n'), date('j')-1, date('Y')).") "; Report::put_time($time); Report::make(); $subject='Îò÷åò ïî extremstyle.ua çà '.(date('d')-1).'/'.date('m/Y'); $mail="
"; // === êëèåíòû === $mail.="
"; $mail.="ÒÎÏ êëèåíòîâ çà ïåðèîä: "; $mail.= Report::html_report(Report::get_mass_client()); $mail.="
"; $mail.="
"; // === ïðîäàæè === $mail.="
"; $mail.="Ïðîäàæè çà ïåðèîä: "; $mail.= Report::html_report(Report::get_mass_order()); $mail.="
"; $mail.="
"; // === ãðàôèê === $mail.="
"; $mail.="Ãðàôèê: "; $mail.=""; // ëåãåíäà $mail.="
"; $mail.="
íîâûé"; $mail.="
ïîäòâåðæäåí"; $mail.="
îòìåíåí"; $mail.="
âûïîëíåí"; $mail.="
"; $mail.="
"; $mail.="
"; $mail.="
"; // Ðàññûëêà óâåäîìëåíèé àäìèíàì $sql = "SELECT * FROM zlo_report_users WHERE email!='' "; $result = mysql_query($sql) or die(mysql_error()); while ($admin=mysql_fetch_assoc($result)) { sendMail ($admin['email'], $admin['username'], 'registration@extremstyle.ua', 'extremstyle.ua', $subject, $mail); } // Åñëè åñòü ôàéë çàïèñóåì çàäàíèå êàê ÑÄÅËÀÍÎÅ â áàçó $sql = "INSERT INTO zlo_report_history (`date`) values ('".date('Y-m-d')."') "; $result = mysql_query($sql) or die(mysql_error()); } } function build_grafic(){ $this->mass_order_grafic=''; for($i=1; $i<=date('d'); $i++){ // íà êîæäûé äåíü $Time="o.`mktime` BETWEEN ".mktime(0, 0, 0, date('n'), $i, date('Y'))." AND ".mktime(0, 0, 0, date('n'), $i+1, date('Y'))." "; $sql0 = "SELECT s.title, s.id, sum(o.total) as Total, count(o.total) as quant FROM catalogs_orders as o RIGHT JOIN zlo_order_status as s ON s.id=o.`status` AND $Time WHERE s.id IN (1,2,4,5) GROUP BY s.id ORDER BY s.id ASC"; $result0 = mysql_query($sql0) or die(mysql_error()); if (mysql_affected_rows()!=0) { while ($report=mysql_fetch_assoc($result0)) { $this->mass_order_grafic[$report['title']][]=$report['quant']; } } } ?>