/var/www/vhosts/ihelp.ro/httpdocs/vendor/cakedc/users/src/Model/Table
Edit: /var/www/vhosts/ihelp.ro/httpdocs/vendor/cakedc/users/src/Model/Table/UsersTable.php (7034B)
setColumnType('additional_data', 'json');
return parent::_initializeSchema($schema);
}
/**
* Initialize method
*
* @param array $config The configuration for the Table.
* @return void
*/
public function initialize(array $config): void
{
parent::initialize($config);
$this->setTable('users');
$this->setDisplayField('username');
$this->setPrimaryKey('id');
$this->addBehavior('Timestamp');
$this->addBehavior('CakeDC/Users.Register');
$this->addBehavior('CakeDC/Users.Password');
$this->addBehavior('CakeDC/Users.Social');
$this->addBehavior('CakeDC/Users.LinkSocial');
$this->addBehavior('CakeDC/Users.AuthFinder');
$this->hasMany('SocialAccounts', [
'foreignKey' => 'user_id',
'className' => 'CakeDC/Users.SocialAccounts',
]);
}
/**
* Adds some rules for password confirm
* @param \Cake\Validation\Validator $validator Cake validator object.
* @return \Cake\Validation\Validator
*/
public function validationPasswordConfirm(Validator $validator)
{
$validator
->requirePresence('password_confirm', 'create')
->notBlank('password_confirm');
$validator
->requirePresence('password', 'create')
->notBlank('password')
->add('password', [
'password_confirm_check' => [
'rule' => ['compareWith', 'password_confirm'],
'message' => __d(
'cake_d_c/users',
'Your password does not match your confirm password. Please try again'
),
'allowEmpty' => false,
]]);
return $validator;
}
/**
* Adds rules for current password
*
* @param \Cake\Validation\Validator $validator Cake validator object.
* @return \Cake\Validation\Validator
*/
public function validationCurrentPassword(Validator $validator)
{
$validator
->notBlank('current_password');
return $validator;
}
/**
* Default validation rules.
*
* @param \Cake\Validation\Validator $validator Validator instance.
* @return \Cake\Validation\Validator
*/
public function validationDefault(Validator $validator): Validator
{
$validator
->allowEmptyString('id', null, 'create');
$validator
->requirePresence('username', 'create')
->notEmptyString('username');
$validator
->requirePresence('password', 'create')
->notEmptyString('password');
$validator
->allowEmptyString('first_name');
$validator
->allowEmptyString('last_name');
$validator
->allowEmptyString('token');
$validator
->add('token_expires', 'valid', ['rule' => 'datetime'])
->allowEmptyDateTime('token_expires');
$validator
->allowEmptyString('api_token');
$validator
->add('activation_date', 'valid', ['rule' => 'datetime'])
->allowEmptyDateTime('activation_date');
$validator
->add('tos_date', 'valid', ['rule' => 'datetime'])
->allowEmptyDateTime('tos_date');
return $validator;
}
/**
* Wrapper for all validation rules for register
* @param \Cake\Validation\Validator $validator Cake validator object.
*
* @return \Cake\Validation\Validator
*/
public function validationRegister(Validator $validator)
{
$validator = $this->validationDefault($validator);
$validator = $this->validationPasswordConfirm($validator);
return $validator;
}
/**
* Returns a rules checker object that will be used for validating
* application integrity.
*
* @param \Cake\ORM\RulesChecker $rules The rules object to be modified.
* @return \Cake\ORM\RulesChecker
*/
public function buildRules(RulesChecker $rules): RulesChecker
{
$rules->add($rules->isUnique(['username']), '_isUnique', [
'errorField' => 'username',
'message' => __d('cake_d_c/users', 'Username already exists'),
]);
if ($this->isValidateEmail) {
$rules->add($rules->isUnique(['email']), '_isUnique', [
'errorField' => 'email',
'message' => __d('cake_d_c/users', 'Email already exists'),
]);
}
return $rules;
}
}