public static function find($column = '*', $value = NULL, array $options = array())
 {
     $query = 'SELECT * FROM log';
     $params = array();
     if ($column != '*' && strlen($column) > 0 && $value != NULL) {
         $query .= ' WHERE ' . Database::makeTableOrColumnName($column) . ' = :value';
         $params[':value'] = $value;
     }
     if (isset($options['orderby']) && isset($options['sort'])) {
         $query .= ' ORDER BY ' . Database::makeTableOrColumnName($options['orderby']) . ' ' . strtoupper($options['sort']);
     }
     if (isset($options['limit'])) {
         $query .= ' LIMIT ' . $options['limit'];
     }
     $sql = System::getDatabase()->prepare($query);
     $sql->execute($params);
     if ($sql->rowCount() == 0) {
         return NULL;
     } else {
         if ($sql->rowCount() == 1) {
             $row = $sql->fetch();
             $entry = new LogEntry();
             $entry->assign($row);
             return $entry;
         } else {
             $list = array();
             while ($row = $sql->fetch()) {
                 $entry = new LogEntry();
                 $entry->assign($row);
                 $list[] = $entry;
             }
             return $list;
         }
     }
 }
Example #2
0
 public static function find($column = '*', $value = NULL, array $options = array())
 {
     if ($column == '_id' && $value === NULL) {
         return new Folder();
     }
     $query = 'SELECT * FROM folders';
     $params = array(':uid' => System::getUser()->uid);
     if ($column != '*' && strlen($column) > 0) {
         if ($value == NULL) {
             $query .= ' WHERE ' . Database::makeTableOrColumnName($column) . ' IS NULL AND user_ID = :uid';
         } else {
             $query .= ' WHERE ' . Database::makeTableOrColumnName($column) . ' = :value AND user_ID = :uid';
             $params[':value'] = $value;
         }
     } else {
         $query .= ' WHERE user_ID = :uid';
     }
     if (isset($options['orderby']) && isset($options['sort'])) {
         $query .= ' ORDER BY ' . Database::makeTableOrColumnName($options['orderby']) . ' ' . strtoupper($options['sort']);
     }
     if (isset($options['limit'])) {
         $query .= ' LIMIT ' . $options['limit'];
     }
     $sql = System::getDatabase()->prepare($query);
     $sql->execute($params);
     if ($sql->rowCount() == 0) {
         return NULL;
     } else {
         if ($sql->rowCount() == 1) {
             $folder = new Folder();
             $folder->assign($sql->fetch());
             return $folder;
         } else {
             $list = array();
             while ($row = $sql->fetch()) {
                 $folder = new Folder();
                 $folder->assign($row);
                 $list[] = $folder;
             }
             return $list;
         }
     }
 }