public function insert(array $data) { if (isset($data['width']) && isset($data['height'])) { $data[Centurion_Db_Table_Abstract::VERBOSE] = false; return parent::insert($data); } return parent::insert($this->_getImageSize($data['local_filename'])); }
/** * Generic test for findOneBy method. */ public function testFindOneBy() { return; $modelId = $this->_model->insert($this->_getData()); $this->assertFalse(null === $modelId); if (is_array($modelId)) { $this->_data = call_user_func_array(array($this->_model, 'find'), array_values($modelId))->current()->toArray(); } else { $this->_data = $this->_model->find($modelId)->current()->toArray(); } foreach ($this->_getData() as $key => $value) { if (null === $value) { continue; } $method = 'findOneBy' . Centurion_Inflector::classify($key); $modelRow = $this->_model->{$method}($value); $this->assertEquals($this->_getData(), $modelRow->toArray(), sprintf('Method %s of %s object doesn\'t return the expected values', $method, get_class($this->_model))); } }
public function insert(array $data) { if (!isset($data['width']) || $data['width'] == 0) { $data['width'] = (int) $this->_getWidth($data['local_filename']); } if (!isset($data['height']) || $data['height'] == 0) { $data['height'] = (int) $this->_getHeight($data['local_filename']); } if (!isset($data['duration']) || $data['duration'] == 0) { $data['duration'] = $this->_getDuration($data['local_filename']); } $data[Centurion_Db_Table_Abstract::VERBOSE] = false; return parent::insert($data); }
public function insert(array $data) { $primary = $this->_primary; if (is_array($primary)) { $primary = $primary[1]; } if (!isset($data[$primary])) { $data[$primary] = md5(Centurion_Inflector::uniq(uniqid())); } if (!isset($data['sha1'])) { $data['sha1'] = sha1_file(Centurion_Config_Manager::get('media.uploads_dir') . DIRECTORY_SEPARATOR . $data['local_filename']); } $row = $this->fetchRow(array('sha1=?' => $data['sha1'], 'filesize=?' => $data['filesize'])); //We want to be sure if ($row !== null && sha1_file(Centurion_Config_Manager::get('media.uploads_dir') . DIRECTORY_SEPARATOR . $data['local_filename']) == $row->sha1 && filesize(Centurion_Config_Manager::get('media.uploads_dir') . DIRECTORY_SEPARATOR . $data['local_filename']) == $row->filesize) { //We reuse the same local filename unlink(Centurion_Config_Manager::get('media.uploads_dir') . DIRECTORY_SEPARATOR . $data['local_filename']); $data['file_id'] = $row->file_id; $data['local_filename'] = $row->local_filename; $data['filesize'] = $row->filesize; $data['proxy_model'] = $row->proxy_model; $data['proxy_pk'] = $row->proxy_pk; $data['belong_model'] = $row->belong_model; $data['belong_pk'] = $row->belong_pk; } if (!isset($data['file_id'])) { $data['file_id'] = $data[$primary]; } if (!isset($data['proxy_pk'])) { foreach ($this->_dependentProxies as $key => $dependentProxy) { $proxyTable = Centurion_Db::getSingletonByClassName($dependentProxy); if (!in_array($data['mime'], array_keys($proxyTable->getMimeTypes()))) { continue; } $cols = $proxyTable->info('cols'); $proxyData = array(); foreach ($data as $key => $value) { if ($key == $primary || !in_array($key, $cols)) { continue; } $proxyData[$key] = $value; unset($data[$key]); } $proxyData = $data; unset($proxyData[$primary]); $pk = $proxyTable->insert($proxyData); $data = array_merge($data, array('proxy_model' => $dependentProxy, 'proxy_pk' => $pk)); } } if (array_key_exists(self::BELONG_TO, $data)) { list($model, $pk) = $this->_setupProxyBelong($data[self::BELONG_TO]); $data = array_merge($data, array('belong_model' => $model, 'belong_pk' => $pk)); unset($data[self::BELONG_TO]); } return parent::insert($data); }
public function insert(array $data) { $primary = $this->_primary; if (is_array($primary)) { $primary = $primary[1]; } if (!isset($data['proxy_pk'])) { foreach ($this->_dependentProxies as $key => $dependentProxy) { $proxyTable = Centurion_Db::getSingletonByClassName($dependentProxy); if (!in_array($data['mime'], array_keys($proxyTable->getMimeTypes()))) { continue; } $cols = $proxyTable->info('cols'); $proxyData = array(); foreach ($data as $key => $value) { if ($key == $primary || !in_array($key, $cols)) { continue; } $proxyData[$key] = $value; unset($data[$key]); } $proxyData = $data; unset($proxyData[$primary]); $pk = $proxyTable->insert($proxyData); $data = array_merge($data, array('proxy_model' => $dependentProxy, 'proxy_pk' => $pk)); } } if (array_key_exists(self::BELONG_TO, $data)) { list($model, $pk) = $this->_setupProxyBelong($data[self::BELONG_TO]); $data = array_merge($data, array('belong_model' => $model, 'belong_pk' => $pk)); unset($data[self::BELONG_TO]); } return parent::insert($data); }