Rev 12351 | Blame | Compare with Previous | Last modification | View Log | RSS feed
<?phpApp::uses('AppModel', 'Model');/*** User Model** @property Group $Group* @property Profile $Profile* @property Publisher $Publisher*/class User extends AppModel {public $actsAs = array('SignMeUp.SignMeUp');public $useTable = 'marketingusers';/*** Display field** @var string*/public $displayField = 'email';/*** Validation rules** @var array*/public $validate = array(/*'first_name' => array('notempty' => array(// 'rule' => array('notempty'),//'message' => 'Your custom message here',//'allowEmpty' => false,//'required' => false,//'last' => false, // Stop validation after this rule//'on' => 'create', // Limit validation to 'create' or 'update' operations),),'last_name' => array('notempty' => array(// 'rule' => array('notempty'),//'message' => 'Your custom message here',//'allowEmpty' => false,//'required' => false,//'last' => false, // Stop validation after this rule//'on' => 'create', // Limit validation to 'create' or 'update' operations),),'zipcode' => array('notempty' => array(// 'rule' => array('notempty'),//'message' => 'Your custom message here',//'allowEmpty' => false,//'required' => false,//'last' => false, // Stop validation after this rule//'on' => 'create', // Limit validation to 'create' or 'update' operations),),*//* 'dob' => array('date' => array(// 'rule' => array('date'),//'message' => 'Your custom message here','allowEmpty' => true,'required' => false,//'last' => false, // Stop validation after this rule//'on' => 'create', // Limit validation to 'create' or 'update' operations),),'username' => array('notempty' => array('rule' => array('notempty'),//'message' => 'Your custom message here',//'allowEmpty' => false,//'required' => false,//'last' => false, // Stop validation after this rule//'on' => 'create', // Limit validation to 'create' or 'update' operations),),*/'email' => array('email' => array('rule' => array('email'),//'message' => 'Your custom message here',//'allowEmpty' => false,//'required' => false,//'last' => false, // Stop validation after this rule//'on' => 'create', // Limit validation to 'create' or 'update' operations),'emailExists' => array('rule' => 'isUnique','message' => 'Sorry, this email already exists'),),'password' => array('notempty' => array('rule' => array('notempty'),//'message' => 'Your custom message here',//'allowEmpty' => false,//'required' => false,//'last' => false, // Stop validation after this rule//'on' => 'create', // Limit validation to 'create' or 'update' operations),),/*'address_1' => array('notempty' => array(//'rule' => array('notempty'),//'message' => 'Your custom message here',//'allowEmpty' => false,//'required' => false,//'last' => false, // Stop validation after this rule//'on' => 'create', // Limit validation to 'create' or 'update' operations),),'address_2' => array('notempty' => array(//'rule' => array('notempty'),//'message' => 'Your custom message here',//'allowEmpty' => false,//'required' => false,//'last' => false, // Stop validation after this rule//'on' => 'create', // Limit validation to 'create' or 'update' operations),),'city' => array('notempty' => array(//'rule' => array('notempty'),//'message' => 'Your custom message here',//'allowEmpty' => false,//'required' => false,//'last' => false, // Stop validation after this rule//'on' => 'create', // Limit validation to 'create' or 'update' operations),),'state' => array('notempty' => array(//'rule' => array('notempty'),//'message' => 'Your custom message here',//'allowEmpty' => false,//'required' => false,//'last' => false, // Stop validation after this rule//'on' => 'create', // Limit validation to 'create' or 'update' operations),),*/'auth_token' => array('notempty' => array(//'rule' => array('notempty'),//'message' => 'Your custom message here',//'allowEmpty' => false,//'required' => false,//'last' => false, // Stop validation after this rule//'on' => 'create', // Limit validation to 'create' or 'update' operations),),'group_id' => array('numeric' => array('rule' => array('numeric'),//'message' => 'Your custom message here',//'allowEmpty' => false,//'required' => false,//'last' => false, // Stop validation after this rule//'on' => 'create', // Limit validation to 'create' or 'update' operations),));//The Associations below have been created with all possible keys, those that are not needed can be removed/*** belongsTo associations** @var array*//*public $belongsTo = array('Group' => array('className' => 'Group','foreignKey' => 'group_id','conditions' => '','fields' => '','order' => ''));*/public function checkFbUser($user,$access_token){$conditions = array('User.email' => $user->email);// $conditions = array('User.facebook_id' => $user->id);$nativeUser = $this->find('first',array('conditions' => $conditions,'recursive' => -1));if(!empty($nativeUser) && isset($nativeUser['User']['id'])){$nativeUser['User']['fb_access_token'] = $access_token;$nativeUser['User']['active'] = 1;$nativeUser['User']['username'] = $user->email;$nativeUser['User']['facebook_id'] = $user->id;$this->log(print_r($nativeUser,1),'fb');$this->save($nativeUser);}else{$conditions = array('User.facebook_id' => $user->id);$nativeUser = $this->find('first',array('conditions' => $conditions,'recursive' => -1));if(empty($nativeUser) && !isset($nativeUser['User']['id'])){$data['fb_access_token'] = $access_token;$data['active'] = 1;$data['facebook_id'] = $user->id;$data['email'] = $user->email;$data['username'] = $user->email;$data['first_name'] = $user->first_name;// $data['group_id'] = $groupId;if(!empty($user->middle_name)){$data['last_name'] = $user->middle_name.' '.$user->last_name;}else{$data['last_name'] = $user->last_name;}if(!empty($user->gender)){$data['gender'] = $user->gender;}if(!empty($user->location->name)){$parts = explode(',',$user->location->name);$data['city'] = $parts[0];}if(!empty($user->birthday)){$parts = explode('/',$user->birthday);$data['dob'] = $parts[2].'-'.$parts[0].'-'.$parts[1];}// $data['active'] = 1;$this->log(print_r($data,1),'fb');$this->set($data);if($this->validates()){$this->save($data);}else{$this->log(print_r($this->validationErrors,1),'fb');}}}return $this->id;}}