Blame view

modules/admin/model/reviews.class.php 2.27 KB
8d65d0ce   andryeyev   init
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
  <?php
  Class Reviews{
  	private $db;
  	private $lang;
  	
   
  	function __construct($lang){
  		$this->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));
  	} 	
  	
  }
  ?>