/**
  * Add user
  *
  * @author  John.meng (цот╤РШ)
  * @since   version 1.0 - 2005-12-14 22:27:14
  * @param   string  
  *
  */
 function opAdd()
 {
     global $__Lang__, $UrlParameter, $SiteDB, $AddIPObj, $FlushPHPObj, $form, $smarty;
     parent::opAdd();
     if ($_REQUEST['Action'] == 'Update') {
         $this->opUpdate();
     }
     $form->addElement('header', null, $__Lang__['langUserAddHeader']);
     $form->addElement('text', 'user_name', $__Lang__['langMenuUser'] . $__Lang__['langGeneralName'] . ' : ');
     $form->addElement('password', 'user_passwd', $__Lang__['langMenuUser'] . $__Lang__['langGeneralPassword'] . ' : ');
     $form->addElement('password', 'user_passwd2', $__Lang__['langGeneralConfirm'] . $__Lang__['langGeneralPassword'] . ' : ');
     $form->addElement('hidden', 'Module', $_REQUEST['Module']);
     $form->addElement('hidden', 'Page', $_REQUEST['Page']);
     $form->addElement('hidden', 'Action', $_REQUEST['Action']);
     $form->addElement('submit', 'btnSubmit', $__Lang__['langGeneralSubmit']);
     $form->addRule('user_name', 'Please enter a username.', 'required');
     $form->addRule('user_passwd', 'Please enter a password.', 'required');
     $form->addRule('user_passwd2', 'Please enter a confirm password.', 'required');
     $form->addRule(array('user_passwd2', 'user_passwd'), 'The passwords do not match', 'compare');
     if ($form->validate()) {
         $record["UserName"] = $form->exportValue('user_name');
         $record["Passwd"] = md5($form->exportValue('user_passwd'));
         $record["AddIP"] = $AddIPObj->getTrueIP();
         $record["CreateTime"] = time();
         $dbAppObj = $FlushPHPObj->loadApp("DBApp");
         if ($_POST['ID'] && $_POST['Action'] == 'Update') {
             $thisDAO =& new UserDAO();
             $thisDAO->opUpdate(USERS_TABLE, $record, " UsersID = " . $_POST['ID']);
             $form->setElementError('user_name', $__Lang__['langGeneralOperation'] . $__Lang__['langGeneralSuccess']);
             $form->freeze();
         } else {
             if ($dbAppObj->checkExists(USERS_TABLE, " UserName='******' ")) {
                 $form->setElementError('user_name', $__Lang__['langUserNameExist']);
             } else {
                 $userDAO = new UserDAO();
                 $userDAO->addUser($record);
                 $form->setElementError('user_name', $__Lang__['langGeneralOperation'] . $__Lang__['langGeneralSuccess']);
                 $form->freeze();
             }
         }
         $form->removeElement('btnSubmit');
     }
     $smarty->assign("Main", $form->toHTML());
 }
 public function registerUser($username, $password, $email)
 {
     /*
      * Perform validation and create all required entries for new user in database
      * 
      * Input: $password is in plaintext
      * Ouput: ["result" => true, "userid" => {userid}, "passhash" => {passhash}] if successful
      *        ["result" => false, "error" => {error message}] if not successful
      */
     // Perform check that username/email is not already taken
     // and password is valid (not empty)
     $userDAO = new UserDAO();
     if ($userDAO->checkUsernameExists($username)) {
         return ["result" => false, "error" => "Username is already in use."];
     }
     if ($userDAO->checkEmailExists($email)) {
         return ["result" => false, "error" => "Email is already in use."];
     }
     if (empty($password)) {
         return ["result" => false, "error" => "Password should be non-empty"];
     }
     $password_encrypted = password_hash($password, PASSWORD_DEFAULT);
     //return newly-created userID (null if unsuccessful)
     $userid = $userDAO->addUser($username, $password_encrypted, $email);
     //initialize empty row in userdata, userprefs, and userrecords table
     $userdataSuccess = $userDAO->initializeUserData($userid);
     $userprefsSuccess = $userDAO->initializeUserPrefs($userid);
     $userrecordsSuccess = $userDAO->initializeUserRecords($userid);
     //add email to MailChimp list
     $MailChimp = initialize_mailchimp();
     mailchimp_subscribe($_POST['email'], $MailChimp);
     //check if user added successfully
     $add_member = !is_null($userid) && $userdataSuccess && $userprefsSuccess && $userrecordsSuccess;
     if ($add_member) {
         return ["result" => true, "userid" => $userid, "passhash" => $password_encrypted];
     } else {
         return ["result" => false, "error" => "Database error: Could not successfully create user"];
     }
 }
Exemple #3
0
         /************************INSERT user**********************/
     } else {
         if ($myApi->getMethod() == 'POST') {
             $userDao = new UserDAO($pdo);
             if (isset($_POST['login'])) {
                 $login = $_POST['login'];
             }
             if (isset($_POST['password'])) {
                 $password = $_POST['password'];
             }
             if (isset($_POST['type'])) {
                 $type = $_POST['type'];
             }
             if (isset($login) && isset($password) && isset($type)) {
                 if (!$userDao->checkUser($login)) {
                     $userDao->addUser($login, $password, $type);
                 } else {
                     $responseData[] = array('error' => 'Login déjà existant');
                     echo $myApi->_response($responseData, 200);
                 }
             } else {
                 echo $myApi->_response("Mauvais param login :"******" password:" . $password, 200);
             }
         } else {
             echo $myApi->_response('Invalid Method', 405);
         }
     }
     break;
     /************************Default case**********************/
 /************************Default case**********************/
 default:
        $user = new User();
        $user->name = $name;
        $user->password = $password;
        $user->username = $username;
        $valid = true;
        if (strlen($username) > 15) {
            $message = "username allowed <= 15 char";
            $valid = false;
        }
        if (strlen($password) > 20) {
            $message = $message . "<br/> " . "password allowed <= 15 char";
            $valid = false;
        }
        if ($valid == true) {
            if (UserDAO::checkUsernameAvailable($user->username)) {
                UserDAO::addUser($user);
                redirect_to("ManageAdmins.php");
            } else {
                $message = "Username not available";
            }
        }
    } catch (Exception $exception) {
        echo "{\"success\":false}";
    }
}
require "partials/header.php";
$admins = UserDAO::getAll();
?>

<div class="table-responsive" style="padding-top:200px;margin-left:150px;width:70%; ">
<h4>Manage admins</h4>