db = &$db; $this->tpl = &$tpl; $this->error = &$error; $this->mail = new PHPMailer(); } function trim(&$data){ foreach($data as $key=>$value){ if(is_array($data[$key]))$this->trim($data[$key]); else $data[$key] = trim($value); } } function valid($data,$upload = null){ if(!preg_match("/.{1,250}/i",$data['title']))$this->error[] = "Îøèáêà ââîäà ïîëÿ Çàãëàâèå!"; if(!preg_match("/.+/is",$data['question']))$this->error[] = "Îøèáêà ââîäà ïîëÿ Âîïðîñ!"; if(!preg_match("/.{1,50}/is",$data['name']))$this->error[] = "Îøèáêà ââîäà ïîëÿ Èìÿ!"; if(isset($data['email'])){ if(!preg_match("/([^@]+)@([^@]+)\.([^@]+)/i",$data['email']) || strlen($data['email'])>80)$this->error[] = "Îøèáêà ââîäà ïîëÿ Email!"; } if(!isset($_SESSION['spam']))$this->error[] = "Âû ñïàìåð!"; if($_SESSION['spam']!=$data['no_spam'])$this->error[] = "Îøèáêà ââîäà ïîëÿ Ñèìâîëû íà êàðòèíêå!"; return ( count($this->error) ) ? true : false; } function saveListQuestion($data){ $table_name = "book"; if(isset($data['update_id']) && $data['update_id']>0){$DB_AUTOQUERY = DB_AUTOQUERY_UPDATE;$id = $data['update_id'];$where = "id=$id";}else{$DB_AUTOQUERY = DB_AUTOQUERY_INSERT;$id = $this->db->nextId('mySequenceBook');$where = null;} $fields_values = array("id"=>$id,"title"=>$data['title'],"question"=>$data['question'],"name"=>$data['name'],"email"=>$data['email'],"mktime"=>mktime()); $this->db->autoExecute($table_name, $fields_values, $DB_AUTOQUERY,$where); return $id; } function saveList($data,$lang = "rus"){ $table_name = "book"; if(isset($data['update_id']) && $data['update_id']>0){$DB_AUTOQUERY = DB_AUTOQUERY_UPDATE;$id = $data['update_id'];$where = "id=$id";}else{$DB_AUTOQUERY = DB_AUTOQUERY_INSERT;$id = $this->db->nextId('mySequenceBook');$where = null;} $fields_values = array("id"=>$id,"question"=>$data['question'],"question_ukr"=>$data['question_ukr'], "answer"=>$data['answer'],"answer_ukr"=>$data['answer_ukr'],"mktime"=>mktime(),"active"=>$data['active'],"type"=>$data['type']); $this->db->autoExecute($table_name, $fields_values, $DB_AUTOQUERY,$where); return $id; } function viewBookLast($limit = 1){ $sql = "select * from book where active=0 order by id desc limit $limit"; $row = $this->db->getAll($sql,array(),DB_FETCHMODE_ASSOC); $this->tpl->assign("book_list",$row); } function viewBooks($params,$active = "all"){ $search = array(); if($active!="all"){ $search[] = sprintf("active='%d'",$active); } if(isset($params['type']) && $params['type']>0)$search[] = sprintf("type='%d'",$params['type']); $sql = "select book.* from book where 1=1 "; if(count($search))$sql .= "AND " . implode(" AND " , $search) . " "; $sql .= "order by mktime desc"; $pagerOptions = Array( 'mode' => 'Sliding', 'delta' => 6, 'perPage' => 10, 'linkClass'=>"link_class", 'curPageLinkClassName'=>"link_class_active", 'spacesBeforeSeparator' => 1, 'spacesAfterSeparator' => 1 ); $this->tpl->assign('bookData', Pager_Wrapper_DB($this->db, $sql, $pagerOptions, false, DB_FETCHMODE_ASSOC, array())); } function viewBooksAll($lang){ $sql = "select book.*"; if($lang=='ukr')$sql .= ", question_ukr as question,answer_ukr as answer"; $sql .= " from book where 1=1 "; $sql .= "order by mktime desc"; $res = $this->db->getAll($sql,array(),DB_FETCHMODE_ASSOC); $arr = array(); foreach($res as $row){ $arr[$row['type']][] = $row; } $this->tpl->assign('books',$arr); } function sendMSG($data){ // print_r($data); $this->mail->CharSet = "windows-1251"; $this->mail->From = "info@extremstyle.ua"; $this->mail->FromName = "ExtremStyle"; $this->mail->AddAddress($data['email'], $data['name']); //$this->mail->AddAddress('pavel_1986@bigmir.net', 'Pavel'); $this->mail->Subject = 'Îòâåò íà Âàø âîïðîñ'; $msg = sprintf("Çäðàâñòâóéòå %s\n",$data['name']); $msg .= "\n"; $msg .= "Âàñ ïðèâåòñòâóåò êîìïàíèÿ ExtremStyle!"; $msg .= "\n"; $msg .= "Âû îòñòàâëÿëè âîïðîñ íà ñàéòå: www.extremstyle.ua"; $msg .= "\n"; $msg .= "Ñïåöèàëèñòû êîìïàíèè îòâåòèëè íà íåãî, äëÿ ïðîñìîòðà ïðîéäèòå ïî ññûëêè: ".URL."question/".$data['update_id']."/"; $msg .= "\n"; $msg .= "--"; $msg .= "\n"; $msg .= "Ñ óâàæåíèåì, êîìïàíèÿ \"ExtremStyle.\""; $msg .= "\n"; $msg .= URL; $this->mail->Body = $msg; if(!$this->mail->Send()){echo "There has been a mail error sending to
";return false;} $this->mail->ClearAddresses(); $this->mail->ClearAttachments(); return true; } function sendClient($data){ // print_r($data); $this->mail->CharSet = "windows-1251"; $this->mail->From = $data['email']; $this->mail->FromName = $data['name']; $this->mail->AddAddress("info@extremstyle.ua", "info"); //$this->mail->AddAddress('pavel_1986@bigmir.net', 'Pavel'); $this->mail->Subject = 'Êîíñóëüòàöèÿ Online'; $msg = sprintf("Âàøå èìÿ: %s\n",$data['name']); $msg .= sprintf("Âàø e-mail: %s\n",$data['email']); $msg .= sprintf("Çàãëàâèå âîïðîñà: %s\n",$data['title']); $msg .= sprintf("Âîïðîñ: %s\n",$data['question']); $msg .= "\n"; $msg .= URL; $this->mail->Body = $msg; if(!$this->mail->Send()){echo "There has been a mail error sending to
";return false;} $this->mail->ClearAddresses(); $this->mail->ClearAttachments(); return true; } function viewBookOne($id){ $sql = "select * from book where id=?"; $row = $this->db->getRow($sql,array($id),DB_FETCHMODE_ASSOC); $this->tpl->assign("book",$row); return $row; } function deleteBook($id){ $sql = "delete from book where id=?"; $this->db->query($sql,array($id)); } function displayBookOne(){ $this->tpl->assign("tpl","book_one.tpl"); } function displayBook(){ $this->tpl->assign("tpl","book.tpl"); } function displaySaveBook(){ $this->tpl->assign("tpl","book_add.tpl"); } } ?>