} catch (Exception $ex) { } $validator->setError(array('username', 'password'), 'I don\'t know that username/password combination...'); }); $removes = array('validator' => 'remove', 'field' => array('username', 'password')); $setUser = array('validator' => function ($validator) { $validator->output['author_id'] = SessionUser::user()->userID(); }); switch ($name) { case 'add': return new Validator(array($comment, $setUser), array('model' => get_called_class())); case 'add_anonymous': return new Validator(array($requireds, $comment, $login, $removes), array('model' => get_called_class())); case 'edit': return new Validator(array($comment), array('model' => get_called_class())); } } } /**/ Comment::event('insert', function ($self, $args, $chain) { $args->values['created_by_ip'] = 'WOOHOO'; return $chain($self, $args); }); /**/ Comment::event('fill', function ($self, $args, $chain) { if (isset($args->data['created_on']) || !$self->_created_on) { $self->_created_on = new DateTime($self->created_on); } return $chain($self, $args); }); /**/