Пример #1
0
	public function init(Atomik_Model_Builder $builder)
	{
		if (!$builder->hasField('created')) {
			$builder->addField(new Atomik_Model_Field_Timestamp('created', array('form-ignore' => true)));
		}
		
		if (!$builder->hasField('updated')) {
			$builder->addField(new Atomik_Model_Field_Timestamp('updated', array('form-ignore' => true)));
		}
	}
Пример #2
0
	public function offsetExists($index)
	{
		return $this->_builder->hasField($index) 
			|| $this->_builder->hasReference($index) 
			|| $this->_builder->hasLink($index);
	}
Пример #3
0
	public function afterSave(Atomik_Model_Builder $builder, Atomik_Model $model)
	{
		$db = $builder->getManager()->getDbInstance();
		$fullDynamic = $builder->getOption('dynamic', false);
		
		$tableName = $builder->tableName;
		$foreignFieldName = $this->_prefix($tableName) . '_' . $builder->getPrimaryKeyField()->name;
		$primaryKey = $model->getPrimaryKey();
		$tableName = $this->_suffix($tableName);
		
		foreach (get_object_vars($model) as $name => $value) {
			if (!$fullDynamic && ($builder->hasField($name) || $builder->hasReference($name))) {
				continue;
			}
			
			$data = array(
				$foreignFieldName => $primaryKey,
				$this->_prefix('field_name') => $name,
				$this->_prefix('field_value') => $value
			);
			
			$db->set($tableName, $data, $foreignFieldName);
		}
	}