Account Suspended
Account Suspended
This Account has been suspended.
Contact your hosting provider for more information.
 All Data Structures Functions Variables Pages
TasksRegularUserWalkthroughTest.php
1 <?php
2  /*********************************************************************************
3  * Zurmo is a customer relationship management program developed by
4  * Zurmo, Inc. Copyright (C) 2017 Zurmo Inc.
5  *
6  * Zurmo is free software; you can redistribute it and/or modify it under
7  * the terms of the GNU Affero General Public License version 3 as published by the
8  * Free Software Foundation with the addition of the following permission added
9  * to Section 15 as permitted in Section 7(a): FOR ANY PART OF THE COVERED WORK
10  * IN WHICH THE COPYRIGHT IS OWNED BY ZURMO, ZURMO DISCLAIMS THE WARRANTY
11  * OF NON INFRINGEMENT OF THIRD PARTY RIGHTS.
12  *
13  * Zurmo is distributed in the hope that it will be useful, but WITHOUT
14  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
15  * FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
16  * details.
17  *
18  * You should have received a copy of the GNU Affero General Public License along with
19  * this program; if not, see http://www.gnu.org/licenses or write to the Free
20  * Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
21  * 02110-1301 USA.
22  *
23  * You can contact Zurmo, Inc. with a mailing address at 27 North Wacker Drive
24  * Suite 370 Chicago, IL 60606. or at email address contact@zurmo.com.
25  *
26  * The interactive user interfaces in original and modified versions
27  * of this program must display Appropriate Legal Notices, as required under
28  * Section 5 of the GNU Affero General Public License version 3.
29  *
30  * In accordance with Section 7(b) of the GNU Affero General Public License version 3,
31  * these Appropriate Legal Notices must retain the display of the Zurmo
32  * logo and Zurmo copyright notice. If the display of the logo is not reasonably
33  * feasible for technical reasons, the Appropriate Legal Notices must display the words
34  * "Copyright Zurmo Inc. 2017. All rights reserved".
35  ********************************************************************************/
36 
41  {
42  public static function setUpBeforeClass()
43  {
44  parent::setUpBeforeClass();
45  $super = Yii::app()->user->userModel;
46 
47  //Setup test data owned by the super user.
48  $account = AccountTestHelper::createAccountByNameForOwner('superAccount', $super);
49  AccountTestHelper::createAccountByNameForOwner('superAccount2', $super);
50  ContactTestHelper::createContactWithAccountByNameForOwner('superContact', $super, $account);
51  }
52 
53  public function testRegularUserAllControllerActions()
54  {
55  //Now test all portlet controller actions
56 
57  //Now test peon with elevated rights to tabs /other available rights
58  //such as convert lead
59 
60  //Now test peon with elevated permissions to models.
61  }
62 
63  public function testRegularUserAllControllerActionsNoElevation()
64  {
65  $super = $this->logoutCurrentUserLoginNewUserAndGetByUsername('super');
66  $superAccountId = self::getModelIdByModelNameAndName ('Account', 'superAccount');
67  Yii::app()->user->userModel = User::getByUsername('nobody');
68 
69  //Now test all portlet controller actions
70  $this->runControllerShouldResultInAccessFailureAndGetContent('tasks/default/createFromRelation');
71  $this->runControllerShouldResultInAccessFailureAndGetContent('tasks/default/modalEdit');
72  $this->setGetArray(array('id' => $superAccountId));
73  $this->resetPostArray();
74  $this->runControllerShouldResultInAccessFailureAndGetContent('tasks/default/modalDetails');
75 
76  //actionDelete should fail.
77  $this->setGetArray(array('id' => $superAccountId));
78  $this->resetPostArray();
79  $this->runControllerShouldResultInAccessFailureAndGetContent('tasks/default/delete');
80  }
81 
86  {
87  $nobody = $this->logoutCurrentUserLoginNewUserAndGetByUsername('nobody');
88 
89  //Now test peon with elevated rights to accounts
90  $nobody->setRight('AccountsModule', AccountsModule::RIGHT_ACCESS_ACCOUNTS);
91  $nobody->setRight('AccountsModule', AccountsModule::RIGHT_CREATE_ACCOUNTS);
92  $this->assertTrue($nobody->save());
93 
94  //create the account as nobody user as the owner
95  $account = AccountTestHelper::createAccountByNameForOwner('accountOwnedByNobody', $nobody);
96 
97  //Now test peon with elevated rights to tasks
98  $nobody->setRight('TasksModule', TasksModule::RIGHT_ACCESS_TASKS);
99  $nobody->setRight('TasksModule', TasksModule::RIGHT_CREATE_TASKS);
100  $nobody->setRight('TasksModule', TasksModule::RIGHT_DELETE_TASKS);
101  $this->assertTrue($nobody->save());
102 
103  //Test nobody with elevated rights.
104  Yii::app()->user->userModel = User::getByUsername('nobody');
105  $task = TaskTestHelper::createTaskWithOwnerAndRelatedAccount('taskCreatedByNobody', $nobody, $account);
106 
107  //Test whether the nobody user is able to view the task details that he created
108  $this->setGetArray(array('id' => $task->id));
109  $this->resetPostArray();
110  $this->runControllerWithNoExceptionsAndGetContent('tasks/default/modalDetails');
111 
112  //add related task for account using createFromRelation action
113  $activityItemPostData = array('Account' => array('id' => $account->id));
114  $this->setGetArray(array('relationAttributeName' => 'Account', 'relationModelId' => $account->id,
115  'relationModuleId' => 'accounts', 'redirectUrl' => 'someRedirect'));
116  $this->setPostArray(array('ActivityItemForm' => $activityItemPostData, 'Task' => array('name' => 'myTask')));
117  $this->runControllerWithRedirectExceptionAndGetContent('tasks/default/createFromRelation');
118 
119  //Test nobody can delete an existing task he craeted and it redirects to index.
120  $this->setGetArray(array('id' => $task->id));
121  $this->resetPostArray();
122  $this->runControllerWithNoExceptionsAndGetContent('tasks/default/delete', true);
123  }
124 
129  {
130  //Create superAccount owned by user super.
131  $super = $this->logoutCurrentUserLoginNewUserAndGetByUsername('super');
132  $superAccount = AccountTestHelper::createAccountByNameForOwner('AccountsForElevationToModelTest', $super);
133 
134  //Test nobody, access to edit and details of superAccount should fail.
135  $nobody = $this->logoutCurrentUserLoginNewUserAndGetByUsername('nobody');
136  $this->setGetArray(array('id' => $superAccount->id));
137  $this->runControllerShouldResultInAccessFailureAndGetContent('accounts/default/details');
138 
139  //give nobody access to read
140  Yii::app()->user->userModel = $super;
141  $superAccount->addPermissions($nobody, Permission::READ);
142  $this->assertTrue($superAccount->save());
144 
145  //Now the nobody user can access the details view.
146  Yii::app()->user->userModel = $nobody;
147  $this->setGetArray(array('id' => $superAccount->id));
148  $this->runControllerWithNoExceptionsAndGetContent('accounts/default/details');
149 
150  //create task for an superAccount using the super user
151  $super = $this->logoutCurrentUserLoginNewUserAndGetByUsername('super');
152  $task = TaskTestHelper::createTaskWithOwnerAndRelatedAccount('taskCreatedByNobody', $super, $superAccount);
153 
154  //Test nobody, access to edit and details of task should fail.
155  Yii::app()->user->userModel = $nobody;
156  $this->setGetArray(array('id' => $task->id));
157  $this->resetPostArray();
158  $this->runControllerShouldResultInAccessFailureAndGetContent('tasks/default/modalEdit');
159  $this->setGetArray(array('id' => $task->id));
160  $this->resetPostArray();
161 
162  //give nobody access to details view only
163  Yii::app()->user->userModel = $super;
164  $task->addPermissions($nobody, Permission::READ);
165  $this->assertTrue($task->save());
167 
168  //Now access to tasks view by Nobody should not fail.
169  Yii::app()->user->userModel = $nobody;
170  $this->setGetArray(array('id' => $task->id));
171  $this->resetPostArray();
172  $this->runControllerWithNoExceptionsAndGetContent('tasks/default/modalDetails');
173 
174  //Now access to tasks edit by Nobody should fail
175  $this->setGetArray(array('id' => $task->id));
176  $this->resetPostArray();
177  $this->runControllerShouldResultInAccessFailureAndGetContent('tasks/default/modalEdit');
178 
179  //give nobody access to both details and edit view
180  Yii::app()->user->userModel = $super;
181  $task->addPermissions($nobody, Permission::READ_WRITE_CHANGE_PERMISSIONS);
182  $this->assertTrue($task->save());
185 
186  //Now access to tasks view and edit by Nobody should not fail.
187  $this->setGetArray(array('id' => $task->id));
188  $this->resetPostArray();
189  $this->runControllerWithNoExceptionsAndGetContent('tasks/default/modalDetails');
190  $this->setGetArray(array('id' => $task->id));
191  $this->resetPostArray();
192  $this->runControllerWithNoExceptionsAndGetContent('tasks/default/modalEdit');
193 
194  //revoke the permission from the nobody user to access the task
195  Yii::app()->user->userModel = $super;
196  $task->removePermissions($nobody, Permission::READ_WRITE_CHANGE_PERMISSIONS);
197  $this->assertTrue($task->save());
199 
200  //Now nobodys, access to edit and details of tasks should fail.
201  Yii::app()->user->userModel = $nobody;
202  $this->setGetArray(array('id' => $task->id));
203  $this->resetPostArray();
204  $this->runControllerShouldResultInAccessFailureAndGetContent('tasks/default/modalEdit');
205  $this->setGetArray(array('id' => $task->id));
206  $this->resetPostArray();
207  $this->runControllerShouldResultInAccessFailureAndGetContent('tasks/default/modalDetails');
208 
209  //create some roles
210  Yii::app()->user->userModel = $super;
211  $parentRole = new Role();
212  $parentRole->name = 'AAA';
213  $this->assertTrue($parentRole->save());
214 
215  $childRole = new Role();
216  $childRole->name = 'BBB';
217  $this->assertTrue($childRole->save());
218 
219  $userInParentRole = User::getByUsername('confused');
220  $userInChildRole = User::getByUsername('nobody');
221 
222  $childRole->users->add($userInChildRole);
223  $this->assertTrue($childRole->save());
224  $parentRole->users->add($userInParentRole);
225  $parentRole->roles->add($childRole);
226  $this->assertTrue($parentRole->save());
227  $userInChildRole->forget();
228  $userInChildRole = User::getByUsername('nobody');
229  $userInParentRole->forget();
230  $userInParentRole = User::getByUsername('confused');
231  $parentRoleId = $parentRole->id;
232  $parentRole->forget();
233  $parentRole = Role::getById($parentRoleId);
234  $childRoleId = $childRole->id;
235  $childRole->forget();
236  $childRole = Role::getById($childRoleId);
237 
238  //create account owned by super
239  $account2 = AccountTestHelper::createAccountByNameForOwner('AccountsParentRolePermission', $super);
240 
241  //Test userInParentRole, access to details and edit should fail.
242  Yii::app()->user->userModel = $userInParentRole;
243  $this->setGetArray(array('id' => $account2->id));
244  $this->runControllerShouldResultInAccessFailureAndGetContent('accounts/default/details');
245 
246  //give userInChildRole access to READ
247  Yii::app()->user->userModel = $super;
248  $account2->addPermissions($userInChildRole, Permission::READ);
249  $this->assertTrue($account2->save());
251 
252  //Test userInChildRole, access to details should not fail.
253  Yii::app()->user->userModel = $userInChildRole;
254  $this->setGetArray(array('id' => $account2->id));
255  $this->runControllerWithNoExceptionsAndGetContent('accounts/default/details');
256 
257  //Test userInParentRole, access to details should not fail.
258  Yii::app()->user->userModel = $userInParentRole;
259  $this->setGetArray(array('id' => $account2->id));
260  $this->runControllerWithNoExceptionsAndGetContent('accounts/default/details');
261 
262  //create a task owned by super
263  $super = $this->logoutCurrentUserLoginNewUserAndGetByUsername('super');
264  $task2 = TaskTestHelper::createTaskWithOwnerAndRelatedAccount('taskCreatedBySuperForRole', $super, $account2);
265 
266  //Test userInParentRole, access to tasks details and edit should fail.
267  Yii::app()->user->userModel = $userInParentRole;
268  $this->setGetArray(array('id' => $task2->id));
269  $this->resetPostArray();
270  $this->runControllerShouldResultInAccessFailureAndGetContent('tasks/default/modalEdit');
271  $this->setGetArray(array('id' => $task2->id));
272  $this->resetPostArray();
273  $this->runControllerShouldResultInAccessFailureAndGetContent('tasks/default/modalDetails');
274 
275  //give userInChildRole access to READ permision for tasks
276  Yii::app()->user->userModel = $super;
277  $task2->addPermissions($userInChildRole, Permission::READ);
278  $this->assertTrue($task2->save());
280 
281  //Test userInChildRole, access to tasks details should not fail.
282  Yii::app()->user->userModel = $userInChildRole;
283  $this->setGetArray(array('id' => $task2->id));
284  $this->resetPostArray();
285  $this->runControllerWithNoExceptionsAndGetContent('tasks/default/modalDetails');
286 
287  //Test userInParentRole, access to tasks details should not fail.
288  Yii::app()->user->userModel = $userInParentRole;
289  $this->setGetArray(array('id' => $task2->id));
290  $this->resetPostArray();
291  $this->runControllerWithNoExceptionsAndGetContent('tasks/default/modalDetails');
292 
293  //give userInChildRole access to read and write for the tasks
294  Yii::app()->user->userModel = $super;
295  $task2->addPermissions($userInChildRole, Permission::READ_WRITE_CHANGE_PERMISSIONS);
296  $this->assertTrue($task2->save());
299 
300  //Test userInChildRole, access to tasks edit should not fail.
301  Yii::app()->user->userModel = $userInChildRole;
302  $this->setGetArray(array('id' => $task2->id));
303  $this->resetPostArray();
304  $this->runControllerWithNoExceptionsAndGetContent('tasks/default/modalEdit');
305 
306  //Test userInParentRole, access to tasks edit should not fail.
307  Yii::app()->user->userModel = $userInParentRole;
308  $this->setGetArray(array('id' => $task2->id));
309  $this->resetPostArray();
310  $this->runControllerWithNoExceptionsAndGetContent('tasks/default/modalEdit');
311 
312  //revoke userInChildRole access to read and write tasks
313  Yii::app()->user->userModel = $super;
314  $task2->removePermissions($userInChildRole, Permission::READ_WRITE_CHANGE_PERMISSIONS);
315  $this->assertTrue($task2->save());
317 
318  //Test userInChildRole, access to detail and edit should fail.
319  Yii::app()->user->userModel = $userInChildRole;
320  $this->setGetArray(array('id' => $task2->id));
321  $this->runControllerShouldResultInAccessFailureAndGetContent('tasks/default/modalDetails');
322  $this->setGetArray(array('id' => $task2->id));
323  $this->runControllerShouldResultInAccessFailureAndGetContent('tasks/default/modalEdit');
324 
325  //Test userInParentRole, access to detail and edit should fail.
326  Yii::app()->user->userModel = $userInParentRole;
327  $this->setGetArray(array('id' => $task2->id));
328  $this->runControllerShouldResultInAccessFailureAndGetContent('tasks/default/modalDetails');
329  $this->setGetArray(array('id' => $task2->id));
330  $this->runControllerShouldResultInAccessFailureAndGetContent('tasks/default/modalEdit');
331 
332  //clear up the role relationships between users so not to effect next assertions
333  $parentRole->users->remove($userInParentRole);
334  $parentRole->roles->remove($childRole);
335  $this->assertTrue($parentRole->save());
336  $childRole->users->remove($userInChildRole);
337  $this->assertTrue($childRole->save());
338 
339  //create some groups and assign users to groups
340  Yii::app()->user->userModel = $super;
341  $parentGroup = new Group();
342  $parentGroup->name = 'AAA';
343  $this->assertTrue($parentGroup->save());
344 
345  $childGroup = new Group();
346  $childGroup->name = 'BBB';
347  $this->assertTrue($childGroup->save());
348 
349  $userInChildGroup = User::getByUsername('confused');
350  $userInParentGroup = User::getByUsername('nobody');
351 
352  $childGroup->users->add($userInChildGroup);
353  $this->assertTrue($childGroup->save());
354  $parentGroup->users->add($userInParentGroup);
355  $parentGroup->groups->add($childGroup);
356  $this->assertTrue($parentGroup->save());
357  $parentGroup->forget();
358  $childGroup->forget();
359  $parentGroup = Group::getByName('AAA');
360  $childGroup = Group::getByName('BBB');
361 
362  //Add access for the confused user to accounts and creation of accounts.
363  $userInChildGroup->setRight('AccountsModule', AccountsModule::RIGHT_ACCESS_ACCOUNTS);
364  $userInChildGroup->setRight('AccountsModule', AccountsModule::RIGHT_CREATE_ACCOUNTS);
365  $this->assertTrue($userInChildGroup->save());
366 
367  //create account owned by super
368  $account3 = AccountTestHelper::createAccountByNameForOwner('testingAccountsParentGroupPermission', $super);
369 
370  //Test userInParentGroup, access to details should fail.
371  Yii::app()->user->userModel = $userInParentGroup;
372  $this->setGetArray(array('id' => $account3->id));
373  $this->runControllerShouldResultInAccessFailureAndGetContent('accounts/default/details');
374 
375  //Test userInChildGroup, access to details should fail.
376  Yii::app()->user->userModel = $userInChildGroup;
377  $this->setGetArray(array('id' => $account3->id));
378  $this->runControllerShouldResultInAccessFailureAndGetContent('accounts/default/details');
379 
380  //give parentGroup access to READ
381  Yii::app()->user->userModel = $super;
382  $account3->addPermissions($parentGroup, Permission::READ);
383  $this->assertTrue($account3->save());
385 
386  //Test userInParentGroup, access to details should not fail.
387  Yii::app()->user->userModel = $userInParentGroup;
388  $this->setGetArray(array('id' => $account3->id));
389  $this->runControllerWithNoExceptionsAndGetContent('accounts/default/details');
390 
391  //Test userInChildGroup, access to details should not fail.
392  Yii::app()->user->userModel = $userInChildGroup;
393  $this->setGetArray(array('id' => $account3->id));
394  $this->runControllerWithNoExceptionsAndGetContent('accounts/default/details');
395 
396  //create a task owned by super
397  $super = $this->logoutCurrentUserLoginNewUserAndGetByUsername('super');
398  $task3 = TaskTestHelper::createTaskWithOwnerAndRelatedAccount('taskCreatedBySuperForGroup', $super, $account3);
399 
400  //Add access for the confused user to accounts and creation of accounts.
401  $userInChildGroup->setRight('TasksModule', TasksModule::RIGHT_ACCESS_TASKS);
402  $userInChildGroup->setRight('TasksModule', TasksModule::RIGHT_CREATE_TASKS);
403  $this->assertTrue($userInChildGroup->save());
404 
405  //Test userInParentGroup, access to tasks details and edit should fail.
406  Yii::app()->user->userModel = $userInParentGroup;
407  $this->setGetArray(array('id' => $task3->id));
408  $this->resetPostArray();
409  $this->runControllerShouldResultInAccessFailureAndGetContent('tasks/default/modalEdit');
410  $this->setGetArray(array('id' => $task3->id));
411  $this->resetPostArray();
412  $this->runControllerShouldResultInAccessFailureAndGetContent('tasks/default/modalDetails');
413 
414  //Test userInChildGroup, access to tasks details and edit should fail.
415  Yii::app()->user->userModel = $userInChildGroup;
416  $this->setGetArray(array('id' => $task3->id));
417  $this->runControllerShouldResultInAccessFailureAndGetContent('tasks/default/modalDetails');
418  $this->setGetArray(array('id' => $task3->id));
419  $this->runControllerShouldResultInAccessFailureAndGetContent('tasks/default/modalEdit');
420 
421  //give parentGroup access to READ
422  Yii::app()->user->userModel = $super;
423  $task3->addPermissions($parentGroup, Permission::READ);
424  $this->assertTrue($task3->save());
426 
427  //Test userInParentGroup, access to tasks details should not fail.
428  Yii::app()->user->userModel = $userInParentGroup;
429  $this->setGetArray(array('id' => $task3->id));
430  $this->runControllerWithNoExceptionsAndGetContent('tasks/default/modalDetails');
431 
432  //Test userInChildGroup, access to tasks details should not fail.
433  Yii::app()->user->userModel = $userInChildGroup;
434  $this->setGetArray(array('id' => $task3->id));
435  $this->runControllerWithNoExceptionsAndGetContent('tasks/default/modalDetails');
436 
437  //give parentGroup access to read and write
438  Yii::app()->user->userModel = $super;
439  $task3->addPermissions($parentGroup, Permission::READ_WRITE_CHANGE_PERMISSIONS);
440  $this->assertTrue($task3->save());
443 
444  //Test userInParentGroup, access to edit tasks should not fail.
445  Yii::app()->user->userModel = $userInParentGroup;
446  $this->setGetArray(array('id' => $task3->id));
447  $this->runControllerWithNoExceptionsAndGetContent('tasks/default/modalEdit');
448 
449  //Test userInChildGroup, access to edit tasks should not fail.
450  Yii::app()->user->userModel = $userInChildGroup;
451  $this->logoutCurrentUserLoginNewUserAndGetByUsername($userInChildGroup->username);
452  $this->setGetArray(array('id' => $task3->id));
453  $this->runControllerWithNoExceptionsAndGetContent('tasks/default/modalEdit');
454 
455  //revoke parentGroup access to tasks read and write
456  Yii::app()->user->userModel = $super;
457  $task3->removePermissions($parentGroup, Permission::READ_WRITE_CHANGE_PERMISSIONS);
458  $this->assertTrue($task3->save());
460 
461  //Test userInChildGroup, access to tasks detail should fail.
462  Yii::app()->user->userModel = $userInChildGroup;
463  $this->setGetArray(array('id' => $task3->id));
464  $this->runControllerShouldResultInAccessFailureAndGetContent('tasks/default/modalDetails');
465  $this->setGetArray(array('id' => $task3->id));
466  $this->runControllerShouldResultInAccessFailureAndGetContent('tasks/default/modalEdit');
467 
468  //Test userInParentGroup, access to tasks detail should fail.
469  Yii::app()->user->userModel = $userInParentGroup;
470  $this->setGetArray(array('id' => $task3->id));
471  $this->runControllerShouldResultInAccessFailureAndGetContent('tasks/default/modalDetails');
472  $this->setGetArray(array('id' => $task3->id));
473  $this->runControllerShouldResultInAccessFailureAndGetContent('tasks/default/modalEdit');
474 
475  //clear up the role relationships between users so not to effect next assertions
476  $super = $this->logoutCurrentUserLoginNewUserAndGetByUsername('super');
477  $userInParentGroup->forget();
478  $userInChildGroup->forget();
479  $childGroup->forget();
480  $parentGroup->forget();
481  $userInParentGroup = User::getByUsername('nobody');
482  $userInChildGroup = User::getByUsername('confused');
483  $childGroup = Group::getByName('BBB');
484  $parentGroup = Group::getByName('AAA');
485 
486  $parentGroup->users->remove($userInParentGroup);
487  $parentGroup->groups->remove($childGroup);
488  $this->assertTrue($parentGroup->save());
489  $childGroup->users->remove($userInChildGroup);
490  $this->assertTrue($childGroup->save());
491  }
492  }
493 ?>
static securableItemLostPermissionsForUser(SecurableItem $securableItem, User $user)
static securableItemGivenPermissionsForUser(SecurableItem $securableItem, User $user)
static securableItemLostReadPermissionsForUser(SecurableItem $securableItem, User $user)
Definition: Role.php:37
static getByUsername($username)
Definition: User.php:49
runControllerWithRedirectExceptionAndGetContent($route, $compareUrl=null, $compareUrlContains=false)
static securableItemLostReadPermissionsForGroup(SecurableItem $securableItem, Group $group)
Definition: Group.php:37
static securableItemLostPermissionsForGroup(SecurableItem $securableItem, Group $group)
static getByName($name)
Definition: Group.php:57
static securableItemGivenReadPermissionsForUser(SecurableItem $securableItem, User $user)
static getById($id, $modelClassName=null)
logoutCurrentUserLoginNewUserAndGetByUsername($username)
runControllerWithNoExceptionsAndGetContent($route, $empty=false)
static securableItemGivenReadPermissionsForGroup(SecurableItem $securableItem, Group $group)
static securableItemGivenPermissionsForGroup(SecurableItem $securableItem, Group $group)
Generated on Tue Jul 14 2020 07:10:35
Account Suspended
Account Suspended
This Account has been suspended.
Contact your hosting provider for more information.