_table = 'common_block_style'; $this->_pk = 'styleid'; parent::__construct(); } public function fetch_all_by_blockclass($blockclass) { return $blockclass ? DB::fetch_all('SELECT * FROM %t WHERE blockclass=%s', array($this->_table, $blockclass), $this->_pk) : array(); } public function fetch_all_by_hash($hash) { return $hash ? DB::fetch_all('SELECT * FROM %t WHERE `hash` IN (%n)', array($this->_table, $hash), $this->_pk) : array(); } public function count_by_where($wheresql) { $wheresql = $wheresql ? ' WHERE '.(string)$wheresql : ''; return DB::result_first('SELECT COUNT(*) FROM '.DB::table($this->_table).$wheresql); } public function fetch_all_by_where($wheresql, $ordersql, $start, $limit) { $wheresql = $wheresql ? ' WHERE '.(string)$wheresql : ''; return DB::fetch_all('SELECT * FROM '.DB::table($this->_table).$wheresql.' '.(string)$ordersql.DB::limit($start, $limit), null, $this->_pk ? $this->_pk : ''); } public function insert_batch($styles) { $inserts = array(); foreach($styles as $value) { if(!empty($value['blockclass'])) { $value = daddslashes($value); $inserts[] = "('$value[blockclass]', '$value[name]', '$value[template]', '$value[hash]', '$value[getpic]', '$value[getsummary]', '$value[settarget]', '$value[fields]', '$value[moreurl]')"; } } if(!empty($inserts)) { DB::query('INSERT INTO '.DB::table($this->_table)."(`blockclass`, `name`, `template`, `hash`, `getpic`, `getsummary`, `settarget`, `fields`, `moreurl`) VALUES ".implode(',',$inserts)); } } public function update($val, $data, $unbuffered = false, $low_priority = false) { if(($val = dintval($val, true)) && $data && is_array($data)) { $this->_pre_cache_key = 'blockstylecache_'; $this->_cache_ttl = getglobal('setting/memory/diyblock'); $this->_allowmem = getglobal('setting/memory/diyblock') && memory('check'); $this->clear_cache($val); return parent::update($val, $data, $unbuffered, $low_priority); } return false; } public function delete($val, $unbuffered = false) { if(($val = dintval($val, true))) { $this->_pre_cache_key = 'blockstylecache_'; $this->_cache_ttl = getglobal('setting/memory/diyblock'); $this->_allowmem = getglobal('setting/memory/diyblock') && memory('check'); return parent::delete($val, $unbuffered); } return false; } } ?>