示例#1
0
 public static function remindPassword($strUser)
 {
     global $objLiveAdmin, $objLang, $_CONF;
     $blnReturn = false;
     $filters = array('container' => 'auth', 'filters' => array('handle' => $strUser, 'account_id' => array($_CONF['app']['account']->getId())));
     $arrUsers = $objLiveAdmin->getUsers($filters);
     if (is_array($arrUsers)) {
         foreach ($arrUsers as $objUser) {
             //*** A valid user account has been found.
             //*** Generate a new password.
             $strPass = self::makePasswd(8);
             //*** Update user account.
             $data = array('passwd' => $strPass);
             $objLiveAdmin->updateUser($data, $objUser['perm_user_id']);
             //*** Mail the new password to the user.
             $objMail = new htmlMimeMail5();
             $objMail->setFrom($_CONF['comm']['mailFrom']);
             $objMail->setSubject($objLang->get("subjectReminder", "login"));
             $objMail->setText(sprintf($objLang->get("textReminder", "login"), $objUser['name'], $strPass, Request::getRootUri()));
             $objMail->send(array($objUser['email']));
             $blnReturn = true;
         }
     }
     return $blnReturn;
 }
示例#2
0
function parseLogin($intElmntId, $strCommand)
{
    global $_PATHS, $_CONF, $objLang, $objLiveAdmin;
    $strUser = request('handle');
    //*** Set user language.
    $objLang->setLang(request('ilanguage'));
    unset($_SESSION['objLang']);
    $objTpl = new HTML_Template_IT($_PATHS['templates']);
    $objTpl->loadTemplatefile("login.tpl.htm");
    switch ($strCommand) {
        case CMD_PASSREMIND:
            if (!empty($strUser)) {
                //*** Mail a new password to the user.
                if (User::remindPassword($strUser) === true) {
                    //*** Mail was send successfully.
                    $objTpl->setCurrentBlock("info");
                    $objTpl->setVariable("TEXT", $objLang->get("infoReminderSend", "login"));
                    $objTpl->parseCurrentBlock();
                } else {
                    //*** An error occured.
                    $objTpl->setCurrentBlock("error");
                    $objTpl->setVariable("TEXT", $objLang->get("errorReminderSend", "login"));
                    $objTpl->parseCurrentBlock();
                    $objTpl->setVariable("BACK_LINK", Request::getRootUri());
                    $objTpl->setVariable("BACK_BUTTON", $objLang->get("labelButtonCancel", "login"));
                    $objTpl->setVariable("USERNAME", $objLang->get("labelUser", "login"));
                    $objTpl->setVariable("BUTTON", $objLang->get("labelButtonReminder", "login"));
                }
            } else {
                $objTpl->setCurrentBlock("info");
                $objTpl->setVariable("TEXT", $objLang->get("infoReminder", "login"));
                $objTpl->parseCurrentBlock();
                $objTpl->setVariable("BACK_LINK", Request::getURI());
                $objTpl->setVariable("BACK_BUTTON", $objLang->get("labelButtonCancel", "login"));
                $objTpl->setVariable("USERNAME", $objLang->get("labelUser", "login"));
                $objTpl->setVariable("BUTTON", $objLang->get("labelButtonReminder", "login"));
            }
            break;
        default:
            if (!empty($strUser)) {
                //*** The login form was submitted, but the login failed.
                $objTpl->setCurrentBlock("error");
                $objTpl->setVariable("TEXT", $objLang->get("errorMain", "login"));
                $objTpl->parseCurrentBlock();
            }
            $objTpl->setVariable("USERNAME", $objLang->get("labelUser", "login"));
            $objTpl->setVariable("PASSWORD", $objLang->get("labelPassword", "login"));
            $objTpl->setVariable("LANGUAGE", $objLang->get("labelLanguage", "login"));
            $objTpl->setVariable("FORGOT_PASS", $objLang->get("labelForgotPassword", "login"));
            $objTpl->setVariable("REMEMBER_ME", $objLang->get("labelRememberMe", "login"));
            $objTpl->setVariable("BUTTON", $objLang->get("labelButtonLogin", "login"));
            $objTpl->setVariable("USERNAME_VALUE", $strUser);
            $objLanguages = $objLang->getLangs();
            foreach ($objLanguages as $objLanguage) {
                $objTpl->setCurrentBlock("language_item");
                if ($objLang->name == $objLanguage->name) {
                    $objTpl->setVariable("LANGUAGE_SELECTED", " selected=\"selected\"");
                }
                $objTpl->setVariable("LANGUAGE_VALUE", $objLanguage->name);
                $objTpl->setVariable("LANGUAGE_TEXT", $objLanguage->language);
                $objTpl->parseCurrentBlock();
            }
    }
    if (is_object($_CONF['app']['account'])) {
        $objTpl->setVariable("CLIENT_NAME", $_CONF['app']['account']->getName());
    } else {
        $objTpl->setVariable("CLIENT_NAME", $objLang->get("invalidAccount", "login"));
    }
    $objTpl->setVariable("POWERED_BY", $objLang->get("poweredBy", "label"));
    $objTpl->setVariable("CID", NAV_MYPUNCH_LOGIN);
    $objTpl->setVariable("CMD", $strCommand);
    return $objTpl->get();
}