当前位置: 首页>>代码示例>>PHP>>正文


PHP BaseFormDoctrine::doBind方法代码示例

本文整理汇总了PHP中BaseFormDoctrine::doBind方法的典型用法代码示例。如果您正苦于以下问题:PHP BaseFormDoctrine::doBind方法的具体用法?PHP BaseFormDoctrine::doBind怎么用?PHP BaseFormDoctrine::doBind使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在BaseFormDoctrine的用法示例。


在下文中一共展示了BaseFormDoctrine::doBind方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: doBind

 /**
  *
  */
 protected function doBind(array $values)
 {
     $values['id'] = $this->getObject()->getId();
     // это поле всегда лишнее
     if (array_key_exists('password_repeat', $values)) {
         unset($values['password_repeat']);
     }
     // эту х-ню делать в модели
     if (isset($values['user_service_mail']) && !empty($values['user_service_mail'])) {
         $values['user_service_mail'] = $values['user_service_mail'] . '@mail.easyfinance.ru';
     }
     parent::doBind($values);
     // не обновлять e-mail если идентичен или когда не введен пароль
     if (isset($this->values['user_mail']) && !empty($this->values['user_mail']) && $this->getObject()->getUserMail() != $this->values['user_mail']) {
         if (!isset($this->values['password']) || empty($this->values['password'])) {
             unset($this->values['user_mail'], $this['user_mail'], $this->values['password']);
         }
     }
     // обновить пароль, если задан новый (и не пустой) и старый
     if (isset($this->values['password']) && !empty($this->values['password']) && isset($this->values['password_new']) && !empty($this->values['password_new'])) {
         $this->values['password'] = $this->values['password_new'];
         unset($this->values['password_new'], $this['password_new']);
         // не трогать пароль без необходимости
     } else {
         unset($this->values['password'], $this->values['password_new'], $this['password'], $this['password_new']);
     }
     return $values;
 }
开发者ID:ru-easyfinance,项目名称:EasyFinance,代码行数:31,代码来源:UserProfileForm.class.php

示例2: doBind

 /**
  * Подмешивает дополнительные поля и значения:
  *     знак у суммы и прочая требуха
  * @see sfForm
  */
 protected function doBind(array $values)
 {
     // не используем поля в зависимости от типа операции
     switch ($values['type']) {
         case Operation::TYPE_BALANCE:
             unset($this['date'], $this['transfer_account_id'], $this['transfer_amount']);
             $values['accepted'] = true;
             if (!empty($values['id'])) {
                 $validator = new sfValidatorDoctrineUnique(array('model' => 'Operation', 'column' => array('account_id', 'type')), array('invalid' => sprintf('Duplicate balance operations for account %s', $values['account_id'])));
                 $validator->clean($values);
             }
             break;
         case Operation::TYPE_TRANSFER:
             unset($this['category_id']);
             break;
         default:
             unset($this['transfer_account_id'], $this['transfer_amount']);
             break;
     }
     // в зависимости от подтвержденности операции отключаем необходимости полей
     if (!$values['accepted']) {
         $this->setDraftValidation();
     }
     parent::doBind($values);
     switch ($this->values['type']) {
         case Operation::TYPE_TRANSFER:
             $this->values['amount'] = -abs($this->values['amount']);
             $this->values['transfer_amount'] = abs($this->values['transfer_amount']);
             break;
         case Operation::TYPE_EXPENSE:
             $this->values['amount'] = -abs($this->values['amount']);
             break;
         case Operation::TYPE_BALANCE:
             $this->values['comment'] = "Начальный остаток";
             break;
         default:
             $this->values['amount'] = abs($this->values['amount']);
             break;
     }
 }
开发者ID:ru-easyfinance,项目名称:EasyFinance,代码行数:45,代码来源:mySyncInOperationForm.php

示例3: doBind

 protected function doBind(array $values)
 {
     parent::doBind($values);
 }
开发者ID:jdart,项目名称:diem,代码行数:4,代码来源:BaseDmContactForm.class.php

示例4: doBind

 /**
  * Подмешать во входящие параметры поля, которые сможет использовать PostValidator
  * для проверки уникальности ID-операции AMT
  */
 protected function doBind(array $values)
 {
     $values['source_uid'] = Operation::SOURCE_AMT;
     $values['source_operation_uid'] = isset($values['id']) ? $values['id'] : '';
     parent::doBind($values);
 }
开发者ID:ru-easyfinance,项目名称:EasyFinance,代码行数:10,代码来源:OperationImportAmtForm.php

示例5: doBind

 protected function doBind(array $values)
 {
     $values = $this->filterValuesByEmbeddedMediaForm($values, 'image_id');
     $values = $this->filterValuesByEmbeddedMediaForm($values, 'file_id');
     parent::doBind($values);
 }
开发者ID:theolymp,项目名称:diem,代码行数:6,代码来源:BaseDmTestPostForm.class.php


注:本文中的BaseFormDoctrine::doBind方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。