Ejemplo n.º 1
0
 /**
  * Audits an UPDATE operation
  *
  * @param  \Phalcon\Mvc\ModelInterface $model
  * @return boolean
  */
 public function auditAfterUpdate(ModelInterface $model)
 {
     $changedFields = $model->getChangedFields();
     if (count($changedFields) == 0) {
         return null;
     }
     //Create a new audit
     $audit = $this->createAudit('U', $model);
     if (is_object($audit)) {
         //Date the model had before modifications
         $originalData = $model->getSnapshotData();
         $details = [];
         $random = new Random();
         foreach ($changedFields as $field) {
             $auditDetail = new AuditDetail();
             $auditDetail->setId($random->uuid());
             $auditDetail->setFieldName($field);
             $auditDetail->setOldValue($originalData[$field]);
             $newValue = $model->readAttribute($field) ?: 'empty';
             $auditDetail->setNewValue($newValue);
             $details[] = $auditDetail;
         }
         $audit->details = $details;
         if (!$audit->save()) {
             ModelBase::saveLoger($audit->getMessages());
         }
     }
 }
Ejemplo n.º 2
0
 /**
  * 插入前的自动处理
  *
  */
 public function beforeCreate()
 {
     // 字段未定义,并且是 NULL,在此处理
     $this->datetime = $this->updated = $this->created = date('Y-m-d H:i:s');
     $random = new Random();
     $this->salt = substr(uniqid($random->hex(6)), -6);
     $this->password = md5(md5($this->password) . $this->salt);
 }
Ejemplo n.º 3
0
 public function number($len)
 {
     return parent::number($len);
 }
Ejemplo n.º 4
0
 /**
  * 生成票据Ticket
  * @param int $user_id
  * @return mixed
  */
 public function createTicket($user_id = 0)
 {
     $random = new Random();
     $ticket = $random->base64Safe(64);
     $data = ['user_id' => $user_id, 'ticket' => $ticket, 'create_time' => date('Y-m-d H:i:s')];
     DI::getDefault()->get('dbBackend')->insertAsDict("tickets", $data);
     return $ticket;
 }