public function admincreateusers($user_data)
 {
     // Check that the user is not already on the system
     $users = new LoveUser();
     $userlist = $users->getUserList();
     $newUsers = array();
     $returnUsers = array();
     foreach ($user_data as $user) {
         if (!$this->searchMultiArray($userlist, 'username', $user['username'])) {
             $counter = 1;
             $user_nick = $user['nickname'];
             while ($this->searchMultiArray($userlist, 'nickname', $user['nickname'])) {
                 $user['nickname'] = $user_nick . "+" . (string) $counter;
                 $counter++;
             }
             $newUsers[] = $user;
         } else {
             // Check if the user was removed, and if so, readd him
             foreach ($userlist as $singleUser) {
                 if ($singleUser['username'] == $user['username']) {
                     if ($singleUser['removed'] == 1) {
                         // Unset removed flag
                         $user['removed'] = 0;
                         $user_obj = new LoveUser();
                         $user_obj->loadByUsername($user['username']);
                         $user_obj->setPassword($user['password']);
                         $user_obj->setRemoved(0);
                         $user_obj->save();
                         // And add it to the create list
                         $returnUsers[] = array('uid' => $user_obj->id, 'user_data' => $user);
                     }
                 }
             }
         }
     }
     if (count($newUsers) > 0) {
         return array_merge($returnUsers, $users->insertUsers($newUsers));
     } else {
         return $returnUsers;
     }
 }
Example #2
0
 /**
  * Change password controller function
  *
  * Changes the password
  *
  * @return json|xml True on success otherwise false
  */
 public function changepassword()
 {
     try {
         $error_flag = false;
         $message = '';
         $user = new LoveUser();
         if ($user->loadByUsername($_REQUEST['username'])) {
             if ($user->getToken() == $_REQUEST['token']) {
                 $user->setPassword($_REQUEST['password']);
                 $user->setToken(md5(uniqid()));
                 $user->save();
                 echo json_encode(array('success' => true, 'message' => 'Password changed.'));
                 exit(0);
             }
             echo json_encode(array('success' => false, 'message' => 'Token not correct.'));
             exit(0);
         } else {
             echo json_encode(array('success' => false, 'message' => 'User not found.'));
             exit(0);
         }
     } catch (Exception $e) {
         $msg = 'An error occured while updating:' . "\n";
         $msg .= "\n" . ' ' . $e->getMessage();
         if (defined('APPLICATION_ENV') && APPLICATION_ENV == 'development') {
             $msg .= "\n\nFile: " . $e->getFile();
             $msg .= "\nLine: " . $e->getLine();
             $msg .= "\n" . $e->getTraceAsString();
         } else {
             if (defined('APPLICATION_ENV') && APPLICATION_ENV == 'testing') {
                 $msg .= "<br /><br />File: " . $e->getFile();
                 $msg .= "<br />Line: " . $e->getLine();
                 $msg .= "<br />" . $e->getTraceAsString();
             }
         }
         echo $msg;
         exit;
     }
 }
Example #3
0
 public function testAdminCreateUser()
 {
     $failureAffects = "Login will no longer allow admins to create new users";
     // admin ID
     $aid = 6;
     $dbConfig = array();
     $dbConfig['adapter'] = 'mysqli';
     $dbConfig['host'] = 'mysql.dev.sendlove.us';
     $dbConfig['dbname'] = 'LM_logintest';
     $dbConfig['username'] = '******';
     $dbConfig['password'] = '******';
     $u = new LoveUser($dbConfig);
     $username = uniqid() . "@domain.com";
     $user_data = array("username" => $username, "nickname" => uniqid(), "password" => "sample", "confirmed" => 1, "active" => 1, "admin" => 0, "removed" => 0, "token" => uniqid());
     // create user
     $uid = $this->aHandler->admincreateuser($this->controller, $user_data, $aid, $dbConfig);
     // verify that no error is returned
     $this->assertEquals(false, $this->controller->getErrorFlag(), $failureAffects);
     // verify that a new user has been created and we are able to load it
     $this->assertEquals(true, false != $u->loadByUsername($username), $failureAffects);
     // verify that the uid is correct
     $this->assertEquals($uid, $u->getId(), $failureAffects);
 }