Example #1
0
 /**
  * 删除指定key的缓存,若$key===true则表示删除全部
  *
  * @param string $key
  */
 public function delete($key)
 {
     if (true !== $key) {
         $this->db->where('key', $key);
     } elseif (\is_array($key)) {
         $this->db->in('key', $key);
     }
     try {
         $this->db->delete($this->tablename);
         return true;
     } catch (\Exception $e) {
         \Core::debug()->error($e->getMessage());
         return false;
     }
 }
Example #2
0
 /**
  * 删除指定key的缓存,若$key===true则表示删除全部
  *
  * @param string $key
  */
 public function delete($key)
 {
     if (IS_DEBUG) {
         Core::debug()->info($key, 'database delete key');
     }
     if (true !== $key) {
         $this->_handler->where('key', $key);
     } elseif (is_array($key)) {
         $this->_handler->in('key', $key);
     }
     try {
         $this->_handler->delete($this->tablename);
         return true;
     } catch (Exception $e) {
         Core::debug()->error($e->getMessage());
         return false;
     }
 }
Example #3
0
 /**
  * 删除指定key的缓存,若$key===true则表示删除全部
  *
  * @param string $key
  */
 public function delete($key)
 {
     if (IS_DEBUG) {
         Core::debug()->info($key, 'database storage delete key');
     }
     if (is_array($key)) {
         $new_keys = array();
         foreach ($key as $k) {
             $k = $this->prefix . $k;
             $new_keys[] = md5($k);
         }
         $this->_handler->in('key', $new_keys);
     } elseif (true !== $key) {
         $key = $this->prefix . $key;
         $this->_handler->where('key', $key);
     }
     try {
         $this->_handler->delete($this->tablename);
         return true;
     } catch (Exception $e) {
         Core::debug()->warn($e->getMessage());
         return false;
     }
 }
Example #4
0
 public function get_objects_of_this_kind_created_by(User_model $author, $object_names, $mode = Workshop_Core::AS_MIXED_ARRAY)
 {
     $database = new Database();
     $database->select('object_name, object_id');
     $database->from('workshop_data');
     $database->where(array('user_id' => $author->id));
     if ($object_names != null) {
         if (!is_array($object_names)) {
             $database->where('object_name', $object_names);
         } else {
             $database->in('object_name', $object_names);
         }
     }
     $database->orderby(array('object_name' => 'ASC', 'object_id' => 'ASC'));
     $results = $database->get();
     $array_of_objects = array();
     switch ($mode) {
         case Workshop_Core::AS_MIXED_ARRAY:
             foreach ($results as $row) {
                 $array_of_objects[] = ORM::factory($row->object_name, $row->object_id);
             }
             break;
         case Workshop_Core::AS_HIERARCHICAL_ARRAY:
             foreach ($results as $row) {
                 $array_of_objects[$row->object_name][] = ORM::factory($row->object_name, $row->object_id);
             }
             break;
         default:
             break;
     }
     return $array_of_objects;
 }
 private function updateDownloaded($idList, $mode)
 {
     if (!is_array($idList) || count($idList) == 0) {
         return;
     }
     if ($mode != 'INITIAL' && $mode != 'FINAL') {
         return;
     }
     $downloaded_on = date("Ymd H:i:s");
     $db = new Database();
     // use default access so can update.
     $db->query('START TRANSACTION READ WRITE;');
     $response = $db->in("id", $idList)->where("downloaded_flag", $mode == 'FINAL' ? 'I' : 'N')->update('occurrences', array('downloaded_flag' => $mode == 'FINAL' ? 'F' : 'I', 'downloaded_on' => $downloaded_on, 'updated_on' => $downloaded_on));
     $response = $db->in("id", $idList)->where("downloaded_flag", $mode == 'FINAL' ? 'I' : 'N')->update('cache_occurrences', array('downloaded_flag' => $mode == 'FINAL' ? 'F' : 'I'));
     $db->query('COMMIT;');
 }