Passed
Push — master ( d0583a...40bb1a )
by Tõnis
02:02
created
Respondent.php 1 patch
Spacing   +63 added lines, -63 removed lines patch added patch discarded remove patch
@@ -31,7 +31,7 @@  discard block
 block discarded – undo
31 31
     /**
32 32
      * @var array $surveyIdentifyingColumns names of the columns that identify a respondent as unique inside a survey
33 33
      */
34
-    public static $surveyIdentifyingColumns = ['phone_number','email_address'];
34
+    public static $surveyIdentifyingColumns = ['phone_number', 'email_address'];
35 35
 
36 36
     public function init()
37 37
     {
@@ -45,20 +45,20 @@  discard block
 block discarded – undo
45 45
     public function rules()
46 46
     {
47 47
         return array_merge([
48
-            [['survey_id','token'], 'required'],
48
+            [['survey_id', 'token'], 'required'],
49 49
             [['survey_id'], 'integer'],
50 50
             [['email_address'], 'validateEmail'],
51 51
             // email addresses always lowercase
52
-            [['email_address','email_address'],'trim'],
53
-            ['email_address','filter', 'filter' => 'strtolower'],
52
+            [['email_address', 'email_address'], 'trim'],
53
+            ['email_address', 'filter', 'filter' => 'strtolower'],
54 54
             [['alternative_email_addresses'], 'string'],
55 55
             [['alternative_email_addresses'], 'validateMultipleEmails'],
56
-            [['phone_number','email_address'],'trim'],
57
-            ['phone_number','filter', 'filter' => 'strtolower'],
58
-            [['phone_number'],'string'],
59
-            [['phone_number'],'validatePhoneNumber'],
56
+            [['phone_number', 'email_address'], 'trim'],
57
+            ['phone_number', 'filter', 'filter' => 'strtolower'],
58
+            [['phone_number'], 'string'],
59
+            [['phone_number'], 'validatePhoneNumber'],
60 60
             [['alternative_phone_numbers'], 'string'],
61
-            [['alternative_phone_numbers'],'validateMultiplePhoneNumbers'],
61
+            [['alternative_phone_numbers'], 'validateMultiplePhoneNumbers'],
62 62
             [['token'], 'unique'],
63 63
         ], parent::rules());
64 64
     }
@@ -70,11 +70,11 @@  discard block
 block discarded – undo
70 70
      * @param string $address
71 71
      * @return bool
72 72
      */
73
-    public function validateEmail($attribute,$address = null){
73
+    public function validateEmail($attribute, $address = null) {
74 74
 
75
-        if($this->validateEmailFormat($attribute, $address)
75
+        if ($this->validateEmailFormat($attribute, $address)
76 76
             && !$this->isSameAsMainAddress($attribute, $address)
77
-            && !$this->isEmailSurveyDuplicate($attribute, $address)){
77
+            && !$this->isEmailSurveyDuplicate($attribute, $address)) {
78 78
             return true;
79 79
         }
80 80
         return false;
@@ -92,8 +92,8 @@  discard block
 block discarded – undo
92 92
         if (!$validator->validate($address)) {
93 93
             $this->addError($attribute,
94 94
                 Yii::t('app',
95
-                    'Invalid email address "{0}"',[$address]
96
-                ).' '.Yii::t('app','Reason: {0}',[Yii::t('app','Invalid email format')])
95
+                    'Invalid email address "{0}"', [$address]
96
+                ).' '.Yii::t('app', 'Reason: {0}', [Yii::t('app', 'Invalid email format')])
97 97
             );
98 98
             return false;
99 99
         }
@@ -107,48 +107,48 @@  discard block
 block discarded – undo
107 107
      */
108 108
     private function isSameAsMainAddress($attribute, $address = null)
109 109
     {
110
-        if(!$address or empty($address)){
110
+        if (!$address or empty($address)) {
111 111
             return false;
112 112
         }
113
-        $isSame = ($attribute=='email_address' ? false : $address == $this->email_address);
113
+        $isSame = ($attribute == 'email_address' ? false : $address == $this->email_address);
114 114
         if ($isSame) {
115 115
             $this->addError($attribute,
116 116
                 Yii::t('app',
117
-                    'Invalid email address "{0}"',[$address]
118
-                ).' '.Yii::t('app','Reason: {0}',[Yii::t('app',$attribute. ' duplicates main address')])
117
+                    'Invalid email address "{0}"', [$address]
118
+                ).' '.Yii::t('app', 'Reason: {0}', [Yii::t('app', $attribute.' duplicates main address')])
119 119
             );
120 120
         }
121 121
         return $isSame;
122 122
     }
123 123
 
124 124
 
125
-    public function validateMultipleEmails($attribute){
125
+    public function validateMultipleEmails($attribute) {
126 126
         $addresses = yii\helpers\Json::decode($this->alternative_email_addresses);
127
-        if($this->alternative_email_addresses && !empty($addresses)){
127
+        if ($this->alternative_email_addresses && !empty($addresses)) {
128 128
             $cleanAddresses = [];
129
-            if(!empty($addresses)){
130
-                $i=0;
131
-                foreach ($addresses as $key => $address){
132
-                    if($address <> ""){
129
+            if (!empty($addresses)) {
130
+                $i = 0;
131
+                foreach ($addresses as $key => $address) {
132
+                    if ($address <> "") {
133 133
                         // check the alternative numbers of that model for duplicates
134 134
                         $checkItems = $addresses;
135 135
                         unset($checkItems[$key]);
136
-                        if(in_array($address,$checkItems)){
137
-                            $this->addError($attribute,Yii::t('app','Duplicate email in alternative email addresses'));
136
+                        if (in_array($address, $checkItems)) {
137
+                            $this->addError($attribute, Yii::t('app', 'Duplicate email in alternative email addresses'));
138 138
                         }
139 139
 
140 140
                         $i++;
141
-                        if($i>=static::MAX_ALTERNATIVE_CONTACTS){
142
-                            $this->addError($attribute,Yii::t('app','Maximum alternative addresses limit ({0}) reached for {1}',[static::MAX_ALTERNATIVE_CONTACTS,$this->email_address]));
141
+                        if ($i >= static::MAX_ALTERNATIVE_CONTACTS) {
142
+                            $this->addError($attribute, Yii::t('app', 'Maximum alternative addresses limit ({0}) reached for {1}', [static::MAX_ALTERNATIVE_CONTACTS, $this->email_address]));
143 143
                         }
144 144
                         $address = strtolower(trim($address));
145
-                        if($this->validateEmail($attribute,$address)){
146
-                            $cleanAddresses[]=$address;
145
+                        if ($this->validateEmail($attribute, $address)) {
146
+                            $cleanAddresses[] = $address;
147 147
                         }
148 148
                     }
149 149
 
150 150
                 }
151
-                if(!empty($cleanAddresses)){
151
+                if (!empty($cleanAddresses)) {
152 152
                     $this->alternative_email_addresses = yii\helpers\Json::encode($cleanAddresses);
153 153
                 } else {
154 154
                     $this->alternative_email_addresses = null;
@@ -158,28 +158,28 @@  discard block
 block discarded – undo
158 158
     }
159 159
 
160 160
 
161
-    public function validatePhoneNumber($attribute, $phone_number = null){
161
+    public function validatePhoneNumber($attribute, $phone_number = null) {
162 162
         $this->validateSameAsMainNumber($attribute, $phone_number);
163 163
         // TODO
164 164
         $isValidFormat = true;
165 165
         $this->validatePhoneSurveyDuplicate($attribute, $phone_number);
166 166
     }
167 167
 
168
-    public function validateMultiplePhoneNumbers($attribute){
169
-        if($this->alternative_phone_numbers){
168
+    public function validateMultiplePhoneNumbers($attribute) {
169
+        if ($this->alternative_phone_numbers) {
170 170
             $cleanItems = [];
171 171
             $items = yii\helpers\Json::decode($this->alternative_phone_numbers);
172 172
 
173 173
             if (!empty($items)) {
174
-                $i=0;
175
-                foreach ($items as $key=> $item){
174
+                $i = 0;
175
+                foreach ($items as $key=> $item) {
176 176
                     $item = strtolower(trim($item));
177 177
                     if ($item <> '') {
178 178
                         $i++;
179 179
                         $this->validateAlternativePhoneNumberInternalDuplicates($attribute, $item, $key);
180 180
 
181
-                        if( $i >= static::MAX_ALTERNATIVE_CONTACTS){
182
-                            $this->addError($attribute, Yii::t('app','Maximum alternative phone numbers limit ({0}) reached for {1}',[static::MAX_ALTERNATIVE_CONTACTS,$this->phone_number]));
181
+                        if ($i >= static::MAX_ALTERNATIVE_CONTACTS) {
182
+                            $this->addError($attribute, Yii::t('app', 'Maximum alternative phone numbers limit ({0}) reached for {1}', [static::MAX_ALTERNATIVE_CONTACTS, $this->phone_number]));
183 183
                         }
184 184
 
185 185
                         $this->validatePhoneNumber($attribute, $item);
@@ -189,12 +189,12 @@  discard block
 block discarded – undo
189 189
         }
190 190
     }
191 191
 
192
-    private function validateAlternativePhoneNumberInternalDuplicates($attribute, $number,  $key) {
192
+    private function validateAlternativePhoneNumberInternalDuplicates($attribute, $number, $key) {
193 193
         $items = yii\helpers\Json::decode($this->alternative_phone_numbers);
194 194
         $checkItems = $items;
195 195
         unset($checkItems[$key]);
196 196
         if (in_array($number, $checkItems)) {
197
-            $this->addError($attribute, Yii::t('app','Duplicate number in alternative phone numbers'));
197
+            $this->addError($attribute, Yii::t('app', 'Duplicate number in alternative phone numbers'));
198 198
         }
199 199
     }
200 200
 
@@ -211,13 +211,13 @@  discard block
 block discarded – undo
211 211
             return null;
212 212
         }
213 213
 
214
-        $isSame = ($attribute=='phone_number' ? false : $number == $this->phone_number);
214
+        $isSame = ($attribute == 'phone_number' ? false : $number == $this->phone_number);
215 215
 
216 216
         if ($isSame) {
217 217
             $this->addError($attribute,
218 218
                 Yii::t('app',
219
-                    'Invalid phone number "{0}"',[$number]
220
-                ).' '.Yii::t('app','Reason: {0}',[Yii::t('app',$attribute. ' duplicates main phone number')])
219
+                    'Invalid phone number "{0}"', [$number]
220
+                ).' '.Yii::t('app', 'Reason: {0}', [Yii::t('app', $attribute.' duplicates main phone number')])
221 221
             );
222 222
         }
223 223
         return null;
@@ -228,14 +228,14 @@  discard block
 block discarded – undo
228 228
      * @param string $attribute
229 229
      * @param string $phone_number Phone number to check duplicates for
230 230
      */
231
-    private function validatePhoneSurveyDuplicate($attribute, $phone_number){
231
+    private function validatePhoneSurveyDuplicate($attribute, $phone_number) {
232 232
         $query = static::find();
233 233
         // check only this survey
234 234
         $query->andWhere(['survey_id'=>$this->survey_id]);
235 235
 
236 236
         if ($this->respondent_id) {
237 237
             // not itself
238
-            $query->andWhere(['!=','respondent_id',$this->respondent_id]);
238
+            $query->andWhere(['!=', 'respondent_id', $this->respondent_id]);
239 239
         }
240 240
 
241 241
         $condition = ['or',
@@ -243,13 +243,13 @@  discard block
 block discarded – undo
243 243
             '`alternative_phone_numbers` LIKE :phone_number2',
244 244
         ];
245 245
 
246
-        $query->andWhere($condition,[':phone_number'=>$phone_number,':phone_number2'=>'%\"'.$phone_number.'\"%']);
246
+        $query->andWhere($condition, [':phone_number'=>$phone_number, ':phone_number2'=>'%\"'.$phone_number.'\"%']);
247 247
 
248 248
         if ($query->count() > 0) {
249 249
             $this->addError($attribute,
250 250
                 Yii::t('app',
251
-                    'Invalid phone number "{0}"',[$phone_number]
252
-                ).' '.Yii::t('app','Reason: {0}',[Yii::t('app','Duplicate phone number')])
251
+                    'Invalid phone number "{0}"', [$phone_number]
252
+                ).' '.Yii::t('app', 'Reason: {0}', [Yii::t('app', 'Duplicate phone number')])
253 253
             );
254 254
         }
255 255
     }
@@ -259,29 +259,29 @@  discard block
 block discarded – undo
259 259
      * @param string $email_address Email address to check duplicates for
260 260
      * @return bool
261 261
      */
262
-    public function isEmailSurveyDuplicate($attribute, $email_address){
262
+    public function isEmailSurveyDuplicate($attribute, $email_address) {
263 263
         $query = static::find();
264 264
         // check only this survey
265 265
         $query->andWhere(['survey_id'=>$this->survey_id]);
266 266
         // not itself
267
-        if($this->respondent_id){
267
+        if ($this->respondent_id) {
268 268
             // not itself
269
-            $query->andWhere(['!=','respondent_id',$this->respondent_id]);
269
+            $query->andWhere(['!=', 'respondent_id', $this->respondent_id]);
270 270
         }
271 271
 
272 272
         $email_condition = ['or',
273 273
             '`email_address`=:email_address',
274 274
             '`alternative_email_addresses` LIKE :email_address2',
275 275
         ];
276
-        $query->andWhere($email_condition,[':email_address'=>$email_address,':email_address2'=>'%\"'.$email_address.'\"%']);
277
-        if($query->count() > 0){
276
+        $query->andWhere($email_condition, [':email_address'=>$email_address, ':email_address2'=>'%\"'.$email_address.'\"%']);
277
+        if ($query->count() > 0) {
278 278
             return true;
279 279
         }
280 280
 
281 281
         $this->addError($attribute,
282 282
             Yii::t('app',
283
-                'Invalid email address "{0}"',[$email_address]
284
-            ).' '.Yii::t('app','Reason: {0}',[Yii::t('app','Duplicates some other address')])
283
+                'Invalid email address "{0}"', [$email_address]
284
+            ).' '.Yii::t('app', 'Reason: {0}', [Yii::t('app', 'Duplicates some other address')])
285 285
         );
286 286
 
287 287
         return false;
@@ -301,10 +301,10 @@  discard block
 block discarded – undo
301 301
      * @param string $token Respondents token
302 302
      * @return static
303 303
      */
304
-    public static function findByToken($token = null){
305
-        if($token){
304
+    public static function findByToken($token = null) {
305
+        if ($token) {
306 306
             $models = self::findByTokens([$token]);
307
-            if (!empty($models)){
307
+            if (!empty($models)) {
308 308
                 return $models[0];
309 309
             }
310 310
         }
@@ -315,10 +315,10 @@  discard block
 block discarded – undo
315 315
      * @param string[] $tokens Respondents tokens
316 316
      * @return static[]
317 317
      */
318
-    public static function findByTokens($tokens){
318
+    public static function findByTokens($tokens) {
319 319
         /** @var static[] $model */
320 320
         $models = static::find()
321
-            ->andWhere(['in','token', $tokens])
321
+            ->andWhere(['in', 'token', $tokens])
322 322
             ->all();
323 323
         return $models;
324 324
     }
@@ -327,7 +327,7 @@  discard block
 block discarded – undo
327 327
      * Check whether respondent has rejected this specific survey or has a hard bounce on e_mail address
328 328
      * @return bool
329 329
      */
330
-    public function getIsRejected(){
330
+    public function getIsRejected() {
331 331
         if (Rejection::rejectedByCode($this->token)) {
332 332
             return true;
333 333
         }
@@ -344,7 +344,7 @@  discard block
 block discarded – undo
344 344
      * @param string $email_address
345 345
      * @return static
346 346
      */
347
-    public static function getLatestByEmail($email_address){
347
+    public static function getLatestByEmail($email_address) {
348 348
         /** @var static $model */
349 349
         $model = static::find()
350 350
             ->andWhere(['email_address'=>$email_address])
@@ -356,7 +356,7 @@  discard block
 block discarded – undo
356 356
     /**
357 357
      * @return string
358 358
      */
359
-    public function getShortToken(){
359
+    public function getShortToken() {
360 360
         if (Uuid::isValid($this->token)) {
361 361
             $uuid = Uuid::fromString($this->token);
362 362
             $shotUuid = new ShortUuid();
Please login to merge, or discard this patch.