/**
  * Validates the captcha responses status set by the component to the model
  *
  * @param Model $Model Model using this behavior
  * @return boolean
  * @see RecaptchaComponent::initialize()
  */
 public function validateCaptcha(Model $Model)
 {
     if (isset($Model->recaptcha) && $Model->recaptcha === false) {
         $Model->invalidate($this->settings[$Model->alias]['errorField'], $Model->recaptchaError);
     }
     return true;
 }
 /**
  * Validates the captcha responses status set by the component to the model
  *
  * @object Model instance
  * @return boolean
  * @see RecaptchaComponent::initialize()
  */
 public function validateCaptcha(Model $Model)
 {
     //debug($Model->recaptcha);
     //$Model->validationErrors['daco'][0] = 'Error';
     if (isset($Model->recaptcha) && $Model->recaptcha == false) {
         $Model->invalidate($this->settings[$Model->alias]['errorField'], $Model->recaptchaError);
     }
     return true;
 }
Example #3
0
 /**
  * The actual logic
  *
  * @param object $Model Model about to be saved.
  * @return bool true if save should proceed, false otherwise
  */
 public function confirm(Model $Model, $return = true)
 {
     $field = $this->settings[$Model->alias]['field'];
     $message = $this->settings[$Model->alias]['message'];
     if (empty($Model->data[$Model->alias][$field])) {
         $Model->invalidate($field, __($message));
         return false;
     }
     return $return;
 }
Example #4
0
 public function beforeValidate(Model $Model, $options = array())
 {
     extract($this->settings[$Model->alias]);
     if (!isset($Model->data[$Model->alias][$field]) || !empty($Model->data[$Model->alias][$field])) {
         $Model->invalidate($errorField, $message);
         $this->log('HoneypotBehavior::beforeValidate() caught: ' . serialize($Model->data));
         return false;
     }
     return true;
 }
Example #5
0
 /**
  * beforeSave
  *
  * @param Model $model
  * @param Model $options
  * @return void
  * @access public
  */
 function beforeSave(&$model, $options)
 {
     if (!$model->exists()) {
         $ret = $this->PluginContent->find(array('PluginContent.name' => $model->data[$model->alias]['name']));
         if ($ret) {
             // 新規登録で既に登録されている場合は、重複エラーとする
             $model->invalidate('name', '既に登録されています。');
             return false;
         }
         $pluginContent = $this->_generatePluginContentData($model);
         $this->PluginContent->create($pluginContent);
     } else {
         $pluginContent = $this->_generatePluginContentData($model, $model->data[$model->alias]['id']);
         $this->PluginContent->set($pluginContent);
     }
     // バリデーション
     return $this->PluginContent->validates();
 }
 /**
  * Run before a model is saved, used...
  *
  * @param object $Model Model about to be saved.
  * @return boolean true if save should proceed, false otherwise
  */
 public function confirm(Model $Model, $return = true)
 {
     $discountCode = (array) $Model->Session->read('DiscountCode');
     if (empty($discountCode)) {
         return true;
     }
     $discount = $this->Discount->get($discountCode['discount_id']);
     $orderId = $Model->Session->read('Order.id');
     if ($Model->alias === 'Order') {
         $this->Order = $Model;
     } else {
         $this->Order = ClassRegistry::init('Order');
     }
     $cartItems = $this->Order->getCartItems($orderId);
     $discount = array_merge(array('DiscountCode' => $discountCode), $discount);
     $value = Order::calcTotal($cartItems);
     $res = $this->Discount->DiscountCode->isValid($discount, $value);
     if ($res === true) {
         return true;
     }
     $Model->invalidate('code', $res);
     return $return;
 }
 /**
  * Validates if the mime type of an uploaded file is allowed
  *
  * @param Model $Model
  * @param array Array of allowed mime types
  * @return boolean
  */
 public function validateAllowedMimeTypes(Model $Model, $mimeTypes = array())
 {
     extract($this->settings[$Model->alias]);
     if (!empty($mimeTypes)) {
         $allowedMime = $mimeTypes;
     }
     $File = new File($Model->data[$Model->alias][$fileField]['tmp_name']);
     $mimeType = $File->mime();
     if (!in_array($mimeType, $allowedMime)) {
         $this->uploadError = __d('file_storage', 'You are not allowed to upload files of this type.');
         $Model->invalidate($fileField, $this->uploadError);
         return false;
     }
     return true;
 }
Example #8
0
 /**
  * Run before a model is saved, used to set up slug for model.
  *
  * @param object $Model Model about to be saved.
  * @return bool True if save should proceed, false otherwise
  */
 public function geocode(Model $Model, $return = true)
 {
     // Make address fields an array
     if (!is_array($this->settings[$Model->alias]['address'])) {
         $addressfields = array($this->settings[$Model->alias]['address']);
     } else {
         $addressfields = $this->settings[$Model->alias]['address'];
     }
     $addressfields = array_unique($addressfields);
     // Make sure all address fields are available
     if ($this->settings[$Model->alias]['real']) {
         foreach ($addressfields as $field) {
             if (!$Model->hasField($field)) {
                 return $return;
             }
         }
     }
     $addressData = array();
     foreach ($addressfields as $field) {
         if (!empty($Model->data[$Model->alias][$field])) {
             $addressData[] = $Model->data[$Model->alias][$field];
         }
     }
     $Model->data[$Model->alias]['geocoder_result'] = array();
     if ((!$this->settings[$Model->alias]['real'] || $Model->hasField($this->settings[$Model->alias]['lat']) && $Model->hasField($this->settings[$Model->alias]['lng'])) && ($this->settings[$Model->alias]['overwrite'] || empty($Model->data[$Model->alias][$this->settings[$Model->alias]['lat']]) || (int) $Model->data[$Model->alias][$this->settings[$Model->alias]['lat']] === 0 && (int) $Model->data[$Model->alias][$this->settings[$Model->alias]['lng']] === 0)) {
         if (!empty($Model->whitelist) && (!in_array($this->settings[$Model->alias]['lat'], $Model->whitelist) || !in_array($this->settings[$Model->alias]['lng'], $Model->whitelist))) {
             return $return;
         }
     }
     $geocode = $this->_geocode($addressData, $this->settings[$Model->alias]);
     if (empty($geocode) && !empty($this->settings[$Model->alias]['allowEmpty'])) {
         return true;
     }
     if (empty($geocode)) {
         return false;
     }
     // If both are 0, thats not valid, otherwise continue
     if (empty($geocode['lat']) && empty($geocode['lng'])) {
         // Prevent 0 inserts of incorrect runs
         if (isset($Model->data[$Model->alias][$this->settings[$Model->alias]['lat']])) {
             unset($Model->data[$Model->alias][$this->settings[$Model->alias]['lat']]);
         }
         if (isset($Model->data[$Model->alias][$this->settings[$Model->alias]['lng']])) {
             unset($Model->data[$Model->alias][$this->settings[$Model->alias]['lng']]);
         }
         if ($this->settings[$Model->alias]['require']) {
             if ($fields = $this->settings[$Model->alias]['invalidate']) {
                 $Model->invalidate($fields[0], $fields[1], isset($fields[2]) ? $fields[2] : true);
             }
             return false;
         }
         return true;
     }
     // Valid lat/lng found
     $Model->data[$Model->alias][$this->settings[$Model->alias]['lat']] = $geocode['lat'];
     $Model->data[$Model->alias][$this->settings[$Model->alias]['lng']] = $geocode['lng'];
     if (!empty($this->settings[$Model->alias]['formatted_address'])) {
         $Model->data[$Model->alias][$this->settings[$Model->alias]['formatted_address']] = $geocode['formatted_address'];
     } else {
         if (isset($Model->data[$Model->alias][$this->settings[$Model->alias]['formatted_address']])) {
             unset($Model->data[$Model->alias][$this->settings[$Model->alias]['formatted_address']]);
         }
     }
     $Model->data[$Model->alias]['geocoder_result'] = $geocode;
     $Model->data[$Model->alias]['geocoder_result']['address_data'] = implode(' ', $addressData);
     if (!empty($this->settings[$Model->alias]['update'])) {
         foreach ($this->settings[$Model->alias]['update'] as $key => $field) {
             if (!empty($geocode[$key])) {
                 $Model->data[$Model->alias][$field] = $geocode[$key];
             }
         }
     }
     return $return;
 }
 /**
  * Preparing the data
  *
  * @return bool Success
  */
 public function beforeValidate(Model $Model, $options = [])
 {
     $formField = $this->settings[$Model->alias]['formField'];
     $formFieldRepeat = $this->settings[$Model->alias]['formFieldRepeat'];
     $formFieldCurrent = $this->settings[$Model->alias]['formFieldCurrent'];
     // Make sure fields are set and validation rules are triggered - prevents tempering of form data
     if (!isset($Model->data[$Model->alias][$formField])) {
         $Model->data[$Model->alias][$formField] = '';
     }
     if ($this->settings[$Model->alias]['confirm'] && !isset($Model->data[$Model->alias][$formFieldRepeat])) {
         $Model->data[$Model->alias][$formFieldRepeat] = '';
     }
     if ($this->settings[$Model->alias]['current'] && !isset($Model->data[$Model->alias][$formFieldCurrent])) {
         $Model->data[$Model->alias][$formFieldCurrent] = '';
     }
     // Check if we need to trigger any validation rules
     if (!$this->settings[$Model->alias]['require']) {
         $current = !empty($Model->data[$Model->alias][$formFieldCurrent]);
         $new = !empty($Model->data[$Model->alias][$formField]) || !empty($Model->data[$Model->alias][$formFieldRepeat]);
         if (!$new && !$current) {
             //$Model->validator()->remove($formField); // tmp only!
             //unset($Model->validate[$formField]);
             unset($Model->data[$Model->alias][$formField]);
             if ($this->settings[$Model->alias]['confirm']) {
                 //$Model->validator()->remove($formFieldRepeat); // tmp only!
                 //unset($Model->validate[$formFieldRepeat]);
                 unset($Model->data[$Model->alias][$formFieldRepeat]);
             }
             if ($this->settings[$Model->alias]['current']) {
                 //$Model->validator()->remove($formFieldCurrent); // tmp only!
                 //unset($Model->validate[$formFieldCurrent]);
                 unset($Model->data[$Model->alias][$formFieldCurrent]);
             }
             return true;
         }
         // Make sure we trigger validation if allowEmpty is set but we have the password field set
         if ($new) {
             if ($this->settings[$Model->alias]['confirm'] && empty($Model->data[$Model->alias][$formFieldRepeat])) {
                 $Model->invalidate($formFieldRepeat, __d('tools', 'valErrPwdNotMatch'));
             }
         }
     }
     // Update whitelist
     $this->_modifyWhitelist($Model);
     return true;
 }
 /**
  * beforeValidate callback
  *
  * @param Model $Model Model using this behavior
  * @return boolean False or null will abort the operation. Any other result will continue.
  */
 public function beforeValidate(Model $Model)
 {
     if (isset($Model->data[$Model->alias][self::TAG_FIELD])) {
         $tags = $this->TagCollection->parseTags($Model->data[$Model->alias][self::TAG_FIELD]);
         if (empty($tags)) {
             return true;
         }
         // check number of tags
         if (isset($this->settings[$Model->alias]['maxTags']) && count($tags) > $this->settings[$Model->alias]['maxTags']) {
             $Model->invalidate(self::TAG_FIELD, __('Too many tags. Maximum number of tags: %d', $this->settings[$Model->alias]['maxTags']));
             return false;
         }
         // check length of tags
         foreach ($tags as $tag) {
             $this->Tag->create();
             $this->Tag->set('name', $tag);
             if (!$this->Tag->validates()) {
                 $Model->invalidate(self::TAG_FIELD, __('Invalid tag: %s. Max length: %d', $tag, Tag::NAME_MAX_LENGTH));
                 return false;
             }
         }
     }
     return true;
 }
Example #11
0
 /**
  * Overloading AppModel invalidate to include l18n
  *
  * @param string $field
  * @param bool $value
  */
 function invalidate($field, $value = true)
 {
     return parent::invalidate($field, __($value, true));
 }
Example #12
0
 /**
  * Move uploaded file to target location
  * 
  * @param Model $model
  * @return boolean
  */
 public function upload(Model &$model)
 {
     $__uploadField = $this->settings[$model->alias]['uploadFields']['file'];
     //remove bad characters from name
     $model->data[$model->alias]['basename'] = preg_replace('/' . $this->settings[$model->alias]['nameInvalidRegex'] . '/i', $this->settings[$model->alias]['nameInvalidSlug'], $model->data[$model->alias]['basename']);
     //check upload target / create unique basename / file overwritting
     $uploadPath = $this->_getAbsolutePath($model->data[$model->alias]['path']);
     $uploadFile = $model->data[$model->alias]['basename'];
     $uploadTarget = $uploadPath . $uploadFile;
     if (file_exists($uploadTarget) && $this->settings[$model->alias]['allowOverwrite'] === false) {
         if ($this->settings[$model->alias]['nameUnique'] === true) {
             $i = 0;
             $_info = pathinfo($uploadTarget);
             do {
                 $_newBasename = sprintf("%s-%d", $_info['filename'], ++$i);
                 $_newBasename .= $_info['extension'] ? "." . $_info['extension'] : "";
                 //support files without extension
                 $_uniqueUploadTarget = $uploadPath . $_newBasename;
             } while (file_exists($_uniqueUploadTarget));
             $uploadTarget = $_uniqueUploadTarget;
             $model->data[$model->alias]['basename'] = $_newBasename;
         } else {
             $model->invalidate($__uploadField, __d('media', "A file with the same name already exists"));
             return false;
         }
     }
     //uploaded_file
     if (isset($model->data[$model->alias]['tmp_name']) && !is_uploaded_file($model->data[$model->alias]['tmp_name'])) {
         $model->invalidate($__uploadField, __d('media', "File was not uploaded properly"));
         return false;
     } elseif (isset($model->data[$model->alias]['tmp_name']) && !$this->_moveUploadedFile($model->data[$model->alias]['tmp_name'], $uploadTarget)) {
         $model->invalidate($__uploadField, __d('media', "Failed to store uploaded file"));
         return false;
     }
     return true;
 }
Example #13
0
 /**
  * Run before a model is saved, used to set up slug for model.
  *
  * @param object $Model Model about to be saved.
  * @return boolean true if save should proceed, false otherwise
  */
 public function geocode(Model $Model, $return = true)
 {
     // Make address fields an array
     if (!is_array($this->settings[$Model->alias]['address'])) {
         $addressfields = array($this->settings[$Model->alias]['address']);
     } else {
         $addressfields = $this->settings[$Model->alias]['address'];
     }
     $addressfields = array_unique($addressfields);
     // Make sure all address fields are available
     if ($this->settings[$Model->alias]['real']) {
         foreach ($addressfields as $field) {
             if (!$Model->hasField($field)) {
                 return $return;
             }
         }
     }
     $adressdata = array();
     foreach ($addressfields as $field) {
         if (!empty($Model->data[$Model->alias][$field])) {
             $adressdata[] = $Model->data[$Model->alias][$field];
         }
     }
     $Model->data[$Model->alias]['geocoder_result'] = array();
     // See if we should request a geocode //TODO: reverse and return here
     if ((!$this->settings[$Model->alias]['real'] || $Model->hasField($this->settings[$Model->alias]['lat']) && $Model->hasField($this->settings[$Model->alias]['lng'])) && ($this->settings[$Model->alias]['overwrite'] || (empty($Model->data[$Model->alias][$this->settings[$Model->alias]['lat']]) || $Model->data[$Model->alias][$this->settings[$Model->alias]['lat']] == 0 && $Model->data[$Model->alias][$this->settings[$Model->alias]['lat']] == 0))) {
         if (!empty($Model->whitelist) && (!in_array($this->settings[$Model->alias]['lat'], $Model->whitelist) || !in_array($this->settings[$Model->alias]['lng'], $Model->whitelist))) {
             /** HACK to prevent 0 inserts if not wanted! just use whitelist now to narrow fields down - 2009-03-18 ms */
             //$Model->whitelist[] = $this->settings[$Model->alias]['lat'];
             //$Model->whitelist[] = $this->settings[$Model->alias]['lng'];
             return $return;
         }
         $geocode = $this->_geocode($adressdata, $this->settings[$Model->alias]);
         if (empty($geocode) && !empty($this->settings[$Model->alias]['allowEmpty'])) {
             return true;
         }
         if (empty($geocode)) {
             return false;
         }
         if (!empty($geocode['type']) && !empty($this->settings[$Model->alias]['expect'])) {
             if (!in_array($geocode['type'], (array) $this->settings[$Model->alias]['expect'])) {
                 return $return;
             }
         }
         //pr($geocode);
         //pr($this->Geocode->getResult());
         // Now set the geocode as part of the model data to be saved, making sure that
         // we are on the white list of fields to be saved
         //pr ($Model->whitelist); die();
         //pr($geocode); die();
         # if both are 0, thats not valid, otherwise continue
         if (!empty($geocode['lat']) || !empty($geocode['lng'])) {
             /** HACK to prevent 0 inserts of incorrect runs - 2009-04-07 ms */
             $Model->data[$Model->alias][$this->settings[$Model->alias]['lat']] = $geocode['lat'];
             $Model->data[$Model->alias][$this->settings[$Model->alias]['lng']] = $geocode['lng'];
         } else {
             if (isset($Model->data[$Model->alias][$this->settings[$Model->alias]['lat']])) {
                 unset($Model->data[$Model->alias][$this->settings[$Model->alias]['lat']]);
             }
             if (isset($Model->data[$Model->alias][$this->settings[$Model->alias]['lng']])) {
                 unset($Model->data[$Model->alias][$this->settings[$Model->alias]['lng']]);
             }
             if ($this->settings[$Model->alias]['require']) {
                 if ($fields = $this->settings[$Model->alias]['invalidate']) {
                     $Model->invalidate($fields[0], $fields[1], isset($fields[2]) ? $fields[2] : true);
                 }
                 return false;
             }
         }
         if (!empty($this->settings[$Model->alias]['formatted_address'])) {
             $Model->data[$Model->alias][$this->settings[$Model->alias]['formatted_address']] = $geocode['formatted_address'];
         } else {
             if (isset($Model->data[$Model->alias][$this->settings[$Model->alias]['formatted_address']])) {
                 unset($Model->data[$Model->alias][$this->settings[$Model->alias]['formatted_address']]);
             }
         }
         if (!empty($geocode['inconclusive'])) {
             $Model->data[$Model->alias]['geocoder_inconclusive'] = $geocode['inconclusive'];
             $Model->data[$Model->alias]['geocoder_results'] = $geocode['results'];
         } else {
             $Model->data[$Model->alias]['geocoder_result'] = $geocode;
         }
         $Model->data[$Model->alias]['geocoder_result']['address_data'] = implode(' ', $adressdata);
         if (!empty($this->settings[$Model->alias]['update'])) {
             foreach ($this->settings[$Model->alias]['update'] as $key => $field) {
                 if (!empty($geocode[$key])) {
                     $Model->data[$Model->alias][$field] = $geocode[$key];
                 }
             }
         }
         # correct country id if necessary
         /*
         if (in_array('country_name', $this->settings[$Model->alias]['address'])) {
         	App::uses('Country', 'Tools.Model');
         
         	if (!empty($geocode['country']) && in_array($geocode['country'], ($countries = Country::addressList()))) {
         		$countries = array_shift(array_keys($countries, $geocode['country']));
         		$Model->data[$Model->alias]['country'] = $countries;
         	} else {
         		$Model->data[$Model->alias]['country'] = 0;
         	}
         }
         */
     }
     return $return;
 }
Example #14
0
 /**
  * Overwrite invalidate to allow last => true
  *
  * @param string $field The name of the field to invalidate
  * @param mixed $value Name of validation rule that was not failed, or validation message to
  *    be returned. If no validation key is provided, defaults to true.
  * @param bool $last If this should be the last validation check for this validation run
  * @return void
  */
 public function invalidate($field, $value = true, $last = false)
 {
     parent::invalidate($field, $value);
     if (!$last) {
         return;
     }
     $this->validator()->remove($field);
 }
 /**
  * Validation d'un champ dans un model
  *
  * @param  Model  $model    Model
  * @param  string $filename Nom du champs à valider
  * @return bool
  */
 public function checkErrors($model, $fieldName, $field)
 {
     $image = $model->data[$model->alias][$fieldName];
     $ok = false;
     if (!isset($image['error']) || $image['error'] == UPLOAD_ERR_NO_FILE) {
         if (isset($field['validation']) && $field['validation'] == 'notEmpty') {
             $model->invalidate($fieldName, __('L\'image est obligatoire.'));
             $ok = false;
         } else {
             $ok = true;
         }
     } elseif ($image['error'] == UPLOAD_ERR_OK) {
         if (!$this->checkSourceType($image['tmp_name'])) {
             $model->invalidate($fieldName, __('L\'image doit être de type jpg, png ou gif'));
             $ok = false;
         } else {
             $ok = true;
         }
     } elseif ($image['error'] == UPLOAD_ERR_INI_SIZE || $image['error'] == UPLOAD_ERR_FORM_SIZE) {
         $model->invalidate($fieldName, __('Votre image est trop lourde.'));
         $ok = false;
     } else {
         $model->invalidate($fieldName, __('Une erreur est survenue lors du téléchargement de l\'image.'));
         $ok = false;
     }
     return $ok;
 }
Example #16
0
 /**
  * Validate Taxonomy data
  */
 public function validateTaxonomyData(Model $model)
 {
     $typeField = 'type';
     $data =& $model->data;
     if (isset($data[$model->alias][$typeField])) {
         $typeAlias = $data[$model->alias][$typeField];
     } elseif (isset($model->type)) {
         $typeAlias = $model->type;
     } else {
         $this->log('Unable to determine type for model ' . $model->alias);
         return false;
     }
     $type = $this->_Taxonomy->Vocabulary->Type->find('first', array('fields' => array('id', 'title', 'alias'), 'contain' => array('Vocabulary' => array('fields' => array('id', 'title', 'alias', 'required', 'multiple'))), 'conditions' => array('alias' => $typeAlias)));
     if (empty($type)) {
         $this->log('Type ' . $typeAlias . ' cannot be found');
         return true;
     }
     $selectedTerms = $this->_getSelectedTerms($data);
     $result = true;
     $requiredError = __d('croogo', 'Please select at least 1 value');
     $multipleError = __d('croogo', 'Please select at most 1 value');
     foreach ($type['Vocabulary'] as $vocabulary) {
         $fieldName = 'TaxonomyData.' . $vocabulary['id'];
         $terms = $this->_Taxonomy->find('all', array('recursive' => -1, 'fields' => 'term_id', 'conditions' => array('vocabulary_id' => $vocabulary['id'])));
         $terms = Hash::extract($terms, '{n}.Taxonomy.term_id');
         $selected = count(array_intersect($selectedTerms, $terms));
         if ($vocabulary['required']) {
             if ($selected == 0) {
                 $model->invalidate($fieldName, $requiredError);
                 $result = false;
             }
         }
         if (!$vocabulary['multiple']) {
             if ($selected > 1) {
                 $model->invalidate($fieldName, $multipleError);
                 $result = false;
             }
         }
     }
     return $result;
 }
 /**
  * Convenience method to invalidate a field and translate the custom message.
  *
  * @param Model $model
  * @param string $field
  * @param string $message
  * @param array $params
  * @return bool
  */
 public function invalid(Model $model, $field, $message, $params = array())
 {
     $model->invalidate($field, __d($model->validationDomain ?: 'default', $message, $params));
     return false;
 }
Example #18
0
 /**
  * 
  * @param Model $Model
  * @param unknown $data
  * 
  * @return boolean|Ambigous <multitype:, NULL>
  */
 protected function _tokenizeResetPassword(Model $Model, $data = array())
 {
     if (empty($data[$Model->alias]['keyword'])) {
         $Model->invalidate('keyword', 'Email/Username is required');
         return false;
     }
     $user = $Model->find('first', array('conditions' => array('OR' => array($Model->alias . '.email' => $data[$Model->alias]['keyword'], $Model->alias . '.username' => $data[$Model->alias]['keyword']))));
     if (empty($user)) {
         $Model->invalidate('keyword', 'Email/Username doesnt exists');
         return false;
     }
     $id = $user[$Model->alias][$Model->primaryKey];
     $Model->Tokenization->deleteAll(array($Model->Tokenization->alias . '.user_id' => $id, $Model->Tokenization->alias . '.field' => 'password', $Model->Tokenization->alias . '.action' => 'reset'));
     $data = array($Model->Tokenization->alias => array('user_id' => $id, 'token' => Security::hash(String::uuid()), 'expire' => date('Y-m-d H:i:s', strtotime($this->settings[$Model->alias]['expire'])), 'action' => 'reset', 'field' => 'password'));
     $Model->Tokenization->create();
     if ($Model->Tokenization->save($data)) {
         $Model->getEventManager()->dispatch(new CakeEvent("Model.{$Model->alias}.afterTokenize", $Model, array('id' => $id, 'field' => 'password', 'action' => 'reset')));
         return $id;
     }
     return false;
 }
Example #19
0
 /**
  * Fix to the Model::invalidate() method to display localized validate messages
  *
  * @param string $field The name of the field to invalidate
  * @param mixed $value Name of validation rule that was not failed, or validation message to
  *	be returned. If no validation key is provided, defaults to true.
  * @access public
  */
 public function invalidate($field, $value = true)
 {
     return parent::invalidate($field, __d('croogo', $value));
 }