Exemple #1
0
 /**
  * Search functionality
  *
  * takes an object with optional members set and returns an array of matching objects
  *
  * @var stdClass $searchObject
  * @var string $order
  * @var string
  *
  * @return array
  */
 public function search($searchObject, $order = "{Schnippet::dbPrimaryKey} ASC", $limit = "0, 18446744073709551615")
 {
     $where = '1 = 1';
     $prepArray = array();
     if (isset($searchObject->user) && !empty($searchObject->user) && $searchObject->user != 'all') {
         $where .= " AND user = ?";
         $prepArray[] = $searchObject->user;
     }
     if (isset($searchObject->lang) && !empty($searchObject->lang) && $searchObject->lang != 'all') {
         $where .= " AND lang = ?";
         $prepArray[] = $searchObject->lang;
     }
     if (isset($searchObject->title) && !empty($searchObject->title)) {
         $where .= " AND title like ?";
         $prepArray[] = "%{$searchObject->title}%";
     }
     if (isset($searchObject->code) && !empty($searchObject->code)) {
         $where .= " AND MATCH(code) AGAINST(?)";
         $prepArray[] = $searchObject->code;
     }
     if (isset($searchObject->start_date) && isset($searchObject->end_date) && !empty($searchObject->start_date) && !empty($searchObject->end_date)) {
         $where .= " AND `time` BETWEEN ? AND ?";
         $prepArray[] = strtotime($searchObject->start_date);
         $prepArray[] = strtotime($searchObject->end_date);
     }
     if (!isset($_SESSION[APP_SES . 'id']) || $_SESSION[APP_SES . 'id'] == 0) {
         $where .= " AND `protected` = 'off'";
     }
     $sql = "SELECT * FROM {$this->table} WHERE {$where} ORDER BY {$order} LIMIT {$limit}";
     $query = $this->db->prepare($sql);
     $query->execute($prepArray);
     $result = array();
     while ($row = $query->fetch()) {
         $schnippet = new Schnippet();
         $schnippet->load($row['id']);
         $result[] = $schnippet;
         unset($schnippet);
     }
     return $result;
 }
Exemple #2
0
 public function get()
 {
     $id = intval($_GET['id']);
     $this->loadModel('schnippet');
     $schnippet = new Schnippet();
     $schnippet->load($id);
     if ($schnippet->getMember('protected') == 'on' && (!isset($_SESSION[APP_SES . 'id']) || $_SESSION[APP_SES . 'id'] == 0)) {
         $_SESSION[APP_SES . 'route'] = '/application/schnippets&m=edit&id=' . $_GET['id'];
         gotoUrl('/?route=/users/users');
         exit;
     }
     $this->loadModel(SLASH . 'users' . SLASH . 'user');
     $data['user'] = new User();
     $data['schnippet'] = $schnippet->getMembers();
     $this->setTitle($schnippet->getMember('title'));
     $this->loadView(SLASH . 'application' . SLASH . 'get', TRUE, $data);
 }