Subversion Repositories SmartDukaan

Rev

Rev 14702 | Rev 14783 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 14702 Rev 14768
Line 54... Line 54...
54
 *
54
 *
55
 * @return void
55
 * @return void
56
 */
56
 */
57
	public function add() {
57
	public function add() {
58
		$mobileRequired = true;
58
		$mobileRequired = true;
-
 
59
		$referrerRequired = true;
59
		if ($this->request->is('post')) {
60
		if ($this->request->is('post')) {
60
			$this->log(print_r($this->request->data,1),'registration');
61
			$this->log(print_r($this->request->data,1),'registration');
61
			$data = $this->request->data;
62
			$data = $this->request->data;
62
			$data['social_id'] = $this->request->data['id'];
63
			$data['social_id'] = $this->request->data['id'];
63
			$data['access_token'] = $this->request->data['token'];
64
			$data['access_token'] = $this->request->data['token'];
Line 71... Line 72...
71
			if(empty($socialProfile)){
72
			if(empty($socialProfile)){
72
				//Check if user with same email is registered and if so just add his profile
73
				//Check if user with same email is registered and if so just add his profile
73
				if(!empty($this->request->data['email'])) {
74
				if(!empty($this->request->data['email'])) {
74
					$conditions = array('email'=>$this->request->data['email']);
75
					$conditions = array('email'=>$this->request->data['email']);
75
					$user = $this->SocialProfile->User->find('first',array('conditions'=>$conditions));
76
					$user = $this->SocialProfile->User->find('first',array('conditions'=>$conditions));
-
 
77
					if(!empty($this->request->data['referrer']) || !empty($this->request->data['utm_campaign'])){
-
 
78
						$referrerRequired = false;
76
 
79
					}
77
					if(!empty($user)) {
80
					if(!empty($user)) {
78
						//Existing user
81
						//Existing user
79
						if(!empty($user['User']['mobile_number'])){
82
						if(!empty($user['User']['mobile_number'])){
80
							$mobileRequired = false;
83
							$mobileRequired = false;
81
						}
84
						}
-
 
85
						if(!empty($user['User']['referrer']) || !empty($user['User']['utm_campaign'])){
-
 
86
							$referrerRequired = false;
-
 
87
						}
82
						//Don't update referrer
88
						//Don't update referrer
83
						// if(strlen(trim($this->request->data['referrer']))>0) {
89
						// if(strlen(trim($this->request->data['referrer']))>0) {
84
							// $userData = array('id'=>$user['User']['id'],'email'=>$this->request->data['email'],'username'=>$this->request->data['email'],'first_name'=>$this->request->data['name'],'gender'=>$this->request->data['gender'],'referrer'=>$this->request->data['referrer'],'profile_pic'=> $this->request->data['profile_pic']);
90
							// $userData = array('id'=>$user['User']['id'],'email'=>$this->request->data['email'],'username'=>$this->request->data['email'],'first_name'=>$this->request->data['name'],'gender'=>$this->request->data['gender'],'referrer'=>$this->request->data['referrer'],'profile_pic'=> $this->request->data['profile_pic']);
85
						// } else{
91
						// } else{
86
							$userData = array('id'=>$user['User']['id'],'email'=>$this->request->data['email'],'username'=>$this->request->data['email'],'first_name'=>$this->request->data['name'],'gender'=>$this->request->data['gender'],'profile_pic'=> $this->request->data['profile_pic']);
92
							$userData = array('id'=>$user['User']['id'],'email'=>$this->request->data['email'],'username'=>$this->request->data['email'],'first_name'=>$this->request->data['name'],'gender'=>$this->request->data['gender'],'profile_pic'=> $this->request->data['profile_pic']);
87
						// }
93
						// }
88
						$this->SocialProfile->User->save($userData);
94
						$this->SocialProfile->User->save($userData);
89
						$data['user_id'] = $user['User']['id'];	
95
						$data['user_id'] = $user['User']['id'];	
90
					}else{
96
					}else{						
91
 
-
 
92
						//Create a new user and then insert user_id in social_profiles table
97
						//Create a new user and then insert user_id in social_profiles table
93
						$userData = array('profile_pic'=> $this->request->data['profile_pic'], 'email'=>$this->request->data['email'],'username'=>$this->request->data['email'],'first_name'=>$this->request->data['name'],'gender'=>$this->request->data['gender'],'referrer'=>$this->request->data['referrer']);
98
						$userData = array('profile_pic'=> $this->request->data['profile_pic'], 'email'=>$this->request->data['email'],'username'=>$this->request->data['email'],'first_name'=>$this->request->data['name'],'gender'=>$this->request->data['gender'],'referrer'=>$this->request->data['referrer']);
-
 
99
						//Check for utm parameters
94
						if(!empty($this->request->data['utm_source'])){
100
						if(!empty($this->request->data['utm_source'])){
95
							$userData['utm_source'] = $this->request->data['utm_source'];
101
							$userData['utm_source'] = $this->request->data['utm_source'];
96
						}
102
						}
97
						if(!empty($this->request->data['utm_medium'])){
103
						if(!empty($this->request->data['utm_medium'])){
98
							$userData['utm_medium'] = $this->request->data['utm_medium'];
104
							$userData['utm_medium'] = $this->request->data['utm_medium'];
Line 107... Line 113...
107
							$userData['utm_campaign'] = $this->request->data['utm_campaign'];
113
							$userData['utm_campaign'] = $this->request->data['utm_campaign'];
108
						}
114
						}
109
						if($this->SocialProfile->User->save($userData)) {
115
						if($this->SocialProfile->User->save($userData)) {
110
							$data['user_id'] = $this->SocialProfile->User->getLastInsertId();
116
							$data['user_id'] = $this->SocialProfile->User->getLastInsertId();
111
						} else{
117
						} else{
112
							$result = array('success' => false, 'message' => $this->SocialProfile->User->validationErrors,'mobileRequired'=>$mobileRequired);
118
							$result = array('success' => false, 'message' => $this->SocialProfile->User->validationErrors,'mobileRequired'=>$mobileRequired,'referrerRequired'=>$referrerRequired);
113
							break;
119
							break;
114
						}
120
						}
115
					}
121
					}
116
					$this->SocialProfile->create();
122
					$this->SocialProfile->create();
117
					if ($this->SocialProfile->save($data)) {
123
					if ($this->SocialProfile->save($data)) {
118
						$result = array('success' => true, 'message' => 'Social Profile Created','id' => $data['user_id'],'mobileRequired'=>$mobileRequired);
124
						$result = array('success' => true, 'message' => 'Social Profile Created','id' => $data['user_id'],'mobileRequired'=>$mobileRequired,'referrerRequired'=>$referrerRequired);
119
					} else {
125
					} else {
120
						$result = array('success' => false, 'message' => 'Social Profile Could Not Be Created','id' => -1,'mobileRequired'=>$mobileRequired);
126
						$result = array('success' => false, 'message' => 'Social Profile Could Not Be Created','id' => -1,'mobileRequired'=>$mobileRequired,'referrerRequired'=>true);
121
					}
127
					}
122
				} else {
128
				} else {
123
					$result = array('success' => false, 'message' => "Email is missing",'mobileRequired'=>$mobileRequired);
129
					$result = array('success' => false, 'message' => "Email is missing",'mobileRequired'=>$mobileRequired,'referrerRequired'=>true);
124
					break;
130
					break;
125
				}				
131
				}				
126
			} else {
132
			} else {
127
				//Don't update referrer
133
				$userData = array('id'=>$socialProfile['SocialProfile']['user_id'],'email'=>$this->request->data['email'],'username'=>$this->request->data['email'],'first_name'=>$this->request->data['name'],'gender'=>$this->request->data['gender'],'profile_pic'=> $this->request->data['profile_pic']);
-
 
134
				//Check for utm parameters
-
 
135
				if(!empty($this->request->data['utm_source'])){
-
 
136
					$userData['utm_source'] = $this->request->data['utm_source'];
-
 
137
				}
-
 
138
				if(!empty($this->request->data['utm_medium'])){
-
 
139
					$userData['utm_medium'] = $this->request->data['utm_medium'];
-
 
140
				}
128
				// if(strlen(trim($this->request->data['referrer']))>0) {
141
				if(!empty($this->request->data['utm_term'])){
129
					// $userData = array('id'=>$socialProfile['SocialProfile']['user_id'],'email'=>$this->request->data['email'],'username'=>$this->request->data['email'],'first_name'=>$this->request->data['name'],'gender'=>$this->request->data['gender'],'referrer'=>$this->request->data['referrer'],'profile_pic'=> $this->request->data['profile_pic']);
142
					$userData['utm_term'] = $this->request->data['utm_term'];
130
				// } else{
143
				}
-
 
144
				if(!empty($this->request->data['utm_content'])){
131
					$userData = array('id'=>$socialProfile['SocialProfile']['user_id'],'email'=>$this->request->data['email'],'username'=>$this->request->data['email'],'first_name'=>$this->request->data['name'],'gender'=>$this->request->data['gender'],'profile_pic'=> $this->request->data['profile_pic']);
145
					$userData['utm_content'] = $this->request->data['utm_content'];
132
				// }
146
				}
-
 
147
				if(!empty($this->request->data['utm_campaign'])){
-
 
148
					$userData['utm_campaign'] = $this->request->data['utm_campaign'];
-
 
149
				}				
133
				$this->SocialProfile->User->save($userData);
150
				$this->SocialProfile->User->save($userData);
134
				//Check for mobile number
151
				//Check for mobile number
135
				$mobilenumber = $this->SocialProfile->User->find('first',array('conditions'=>array('id'=>$socialProfile['SocialProfile']['user_id']),'recursive'=>-1));
152
				$mobilenumber = $this->SocialProfile->User->find('first',array('conditions'=>array('id'=>$socialProfile['SocialProfile']['user_id']),'recursive'=>-1));
136
				if(!empty($mobilenumber['User']['mobile_number'])){
153
				if(!empty($mobilenumber['User']['mobile_number'])){
137
					$mobileRequired = false;
154
					$mobileRequired = false;
138
				}
155
				}
-
 
156
				//Check if referrer or utm_campaign is set or not.
-
 
157
				if(!empty($mobilenumber['User']['referrer']) || !empty($mobilenumber['User']['utm_campaign'])){
-
 
158
					$referrerRequired = false;
-
 
159
				}
139
				$data['user_id'] = $socialProfile['SocialProfile']['user_id'];
160
				$data['user_id'] = $socialProfile['SocialProfile']['user_id'];
140
				$result = array('success' => true, 'message' => 'Existing Social Profile','id' => $socialProfile['SocialProfile']['user_id'],'mobileRequired'=>$mobileRequired);
161
				$result = array('success' => true, 'message' => 'Existing Social Profile','id' => $socialProfile['SocialProfile']['user_id'],'mobileRequired'=>$mobileRequired,'referrerRequired'=>$referrerRequired);
141
			}
162
			}
142
		}
163
		}
143
		$this->updateSaholicUser($data['user_id'],$this->request->data['email']);
164
		$this->updateSaholicUser($data['user_id'],$this->request->data['email']);
144
		$this->set(array(
165
		$this->set(array(
145
		    'result' => $result,
166
		    'result' => $result,