本文整理汇总了PHP中MUtil_Model_ModelAbstract::setOnSave方法的典型用法代码示例。如果您正苦于以下问题:PHP MUtil_Model_ModelAbstract::setOnSave方法的具体用法?PHP MUtil_Model_ModelAbstract::setOnSave怎么用?PHP MUtil_Model_ModelAbstract::setOnSave使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MUtil_Model_ModelAbstract
的用法示例。
在下文中一共展示了MUtil_Model_ModelAbstract::setOnSave方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: createModel
/**
* Creates the model
*
* @return \MUtil_Model_ModelAbstract
*/
protected function createModel()
{
// Replace two checkboxes with on radio button control
$this->model->set('ggp_staff_members', 'elementClass', 'Hidden');
$this->model->setOnSave('ggp_staff_members', array($this, 'saveIsStaff'));
$this->model->set('ggp_respondent_members', 'elementClass', 'Hidden');
$this->model->setOnSave('ggp_respondent_members', array($this, 'saveIsRespondent'));
$options = array('1' => $this->model->get('ggp_staff_members', 'label'), '2' => $this->model->get('ggp_respondent_members', 'label'));
$this->model->set('staff_respondent', 'label', $this->_('Can be assigned to'), 'elementClass', 'Radio', 'multiOptions', $options, 'order', $this->model->getOrder('ggp_staff_members') + 1);
$this->model->setOnLoad('staff_respondent', array($this, 'loadStaffRespondent'));
return $this->model;
}
示例2: apply
/**
*
* @param string $trackingField The field that stores the tracking value
* @param string $trackedField The field whose changing is tracked
* @param string $oldValueField Optional, the field to store a copy of the original value in
*/
public function apply($trackingField, $trackedField, $oldValueField = null)
{
if (null === $oldValueField) {
// Defautl name
$oldValueField = self::OLD_FIELD_PREFIX . $trackedField;
// Check if a fields already existed
if (method_exists($this->_model, 'getKeyCopyName')) {
$copyName = $this->_model->getKeyCopyName($trackedField);
if ($this->_model->has($copyName)) {
$oldValueField = $copyName;
}
}
}
if (!$this->_model->has($oldValueField)) {
$this->_model->set($oldValueField, 'elementClass', 'Hidden', __CLASS__, $trackedField);
$this->_model->setOnLoad($oldValueField, array($this, 'loadOldValue'));
}
if (!$this->_model->has($trackingField)) {
// Only load the original value and ste the original result when it was not already in the model
$this->_model->setAutoSave($trackingField);
// $this->_model->setOnLoad($trackingField, $this->_unchangedValue);
}
$this->_model->set($trackingField, __CLASS__, array($trackedField, $oldValueField));
$this->_model->setOnSave($trackingField, array($this, 'saveValue'));
// Store the extra hidden fields needed
$hiddenFields = $this->_model->getMeta(self::HIDDEN_FIELDS, array());
$hiddenFields[] = $oldValueField;
$this->_model->setMeta(self::HIDDEN_FIELDS, $hiddenFields);
// Make sure the fields are in the result set
$this->_model->get($trackedField);
$this->_model->get($trackingField);
$this->_model->get($oldValueField);
}
示例3: apply
/**
* Use this function for a default application of this type to the model
*
* @param \MUtil_Model_ModelAbstract $model
* @param string $valueField The field containing the value to be encrypted
* #param string $methodField the field storing the method of encryption
* @return \Gems_Model_Type_EncryptedField (continuation pattern)
*/
public function apply(\MUtil_Model_ModelAbstract $model, $valueField, $methodField)
{
$this->findValue[$methodField] = $valueField;
$model->setSaveWhenNotNull($valueField);
$model->setOnLoad($valueField, array($this, 'loadValue'));
$model->setOnSave($valueField, array($this, 'saveValue'));
// Only hidden to make sure onSave's are triggered
$model->set($methodField, 'elementClass', 'hidden');
$model->setOnLoad($methodField, 'default');
// Yes you can set this to a constant
$model->setSaveWhen($methodField, array($this, 'whenEncryption'));
$model->setOnSave($methodField, array($this, 'saveEncryption'));
if ($model instanceof \MUtil_Model_DatabaseModelAbstract) {
$model->setOnTextFilter($valueField, false);
$model->setOnTextFilter($methodField, false);
}
return $this;
}
示例4: apply
/**
* Use this function for a default application of this type to the model
*
* @param \MUtil_Model_ModelAbstract $model
* @param string $name The field to set the seperator character
* @return \MUtil_Model_Type_ConcatenatedRow (continuation pattern)
*/
public function apply(\MUtil_Model_ModelAbstract $model, $name)
{
$model->set($name, 'formatFunction', array($this, 'format'));
$model->setOnLoad($name, array($this, 'loadValue'));
$model->setOnSave($name, array($this, 'saveValue'));
if ($model instanceof \MUtil_Model_DatabaseModelAbstract) {
$model->setOnTextFilter($name, array($this, 'textFilter'));
}
$this->options = $model->get($name, 'multiOptions');
return $this;
}
示例5: apply
/**
* Use this function for a default application of this type to the model
*
* @param \MUtil_Model_ModelAbstract $model
* @param string $name The field to set the seperator character
* @param boolean $detailed When true show detailed information
* @return \MUtil\Model\Type\JsonData (continuation pattern)
*/
public function apply(\MUtil_Model_ModelAbstract $model, $name, $detailed)
{
if ($detailed) {
$formatFunction = 'formatDetailed';
} else {
$formatFunction = 'formatTable';
}
$model->set($name, 'formatFunction', array($this, $formatFunction));
$model->setOnLoad($name, array($this, 'loadValue'));
$model->setOnSave($name, array($this, 'saveValue'));
}