db = sdb::getInstance(); $this->lang = $lang; } public function valid($data){ $error = array(); if(isset($data['name'])){ if( !preg_match("/.{1,100}/i",$data['name']) ) $error[] = "Îøèáêà ââîäà ïîëÿ Èìÿ (Ìàêñèìóì 100 ñèìâîëîâ)."; } if(isset($data['title'])){ if( !preg_match("/.{1,200}/i",$data['title']) ) $error[] = "Îøèáêà ââîäà ïîëÿ Çàãëàâèå (Ìàêñèìóì 200 ñèìâîëîâ)."; } if(isset($data['comment'])){ if( !preg_match("/.+/i",$data['comment']) ) $error[] = "Îøèáêà ââîäà ïîëÿ Êîììåíòàðèé"; } if(isset($data['order_email'])){ if( !preg_match("/^([^@]+)+@([^@]+)\.([^@]+)$/i",$data['order_email']) || strlen($data['order_email'])>80 ) $error[] = "Îøèáêà ââîäà ïîëÿ E-mail, äî 80 ñèìâîëîâ."; } return $error; } public function save($data){ $fields_values = array( 'active'=>$data['active'], 'name'=>$data['name'], 'title'=>$data['title'], 'comment'=>$data['comment'], ); $this->db->autoExecute("reviews", $fields_values, DB_AUTOQUERY_UPDATE,"id={$data['update_id']}"); } public function getAll(){ $sql = "select * from reviews where active=? order by mktime desc"; $search = array(); $sql = "select * from reviews where 1=1 "; if(count($search))$sql .= "AND " . implode(" AND ",$search)." "; $sql .= "order by mktime desc"; $pagerOptions = Array( 'mode' => 'Sliding', 'delta' => 6, 'perPage' => 10, 'spacesBeforeSeparator' => 1, 'spacesAfterSeparator' => 1 ); $res = Pager_Wrapper_DB($this->db, $sql, $pagerOptions, false, DB_FETCHMODE_ASSOC, array()); foreach($res['data'] as $key=>$row){ if($row['type']=="products"){ $res['data'][$key]['type_data'] = $this->db->getRow("select * from catalogs_products where id=?",array($row['type_id']),DB_FETCHMODE_ASSOC); }elseif($row['type']=="news"){ $res['data'][$key]['type_data'] = $this->db->getRow("select * from news where id=?",array($row['type_id']),DB_FETCHMODE_ASSOC); } } return $res; } public function view($id){ $sql = "select * from reviews where id=? limit 1"; return $this->db->getRow($sql,array($id),DB_FETCHMODE_ASSOC); } public function delete($id){ $this->db->query("delete from reviews where id=?",array($id)); } } ?>