%
/*
** File: passwordremainder.php
** Author: Vladimir A. Pshenkin
** Created: Sun Jan 30 19:03:20 2000
** Description:
**
**
** Last modification: Mon Jan 31 12:17:15 MSD 2000
** Tue Mar 28 16:38:35 MSD 2000
** Sun Oct 21 11:19:50 MSD 2001
** Wed Aug 21 14:41:33 MSD 2002
*/
require_once "$DOCUMENT_ROOT/utils/common.php3";
require_once "$DOCUMENT_ROOT/utils/Member.php3";
require_once "$LIBRARY_ROOT/Templates.php3";
require_once "$LIBRARY_ROOT/DBForms.php3";
require_once "$LIBRARY_ROOT/ToolsEMail.php3";
require_once "$LIBRARY_ROOT/passwordgenerator.php";
require_once "$LIBRARY_ROOT/ToolsLogger.php";
$email = trim($_POST["email"]);
$Action = $_POST["Action"];
if( $SLANG == "Ru" ){
$DocumentTitle = "Напоминание пароля...";
define(PR_ACTION, "Назначьте мне пароль!");
define(PR_LISTPROLOG, "Логин и проль для %s:
\n\n");
define(PR_LISTBEGIN, "
");
define(PR_LISTITEM, "- Логин: %s, пароль: %s.
\n");
define(PR_LISTEND, "
");
define(PR_LISTEPILOG, "\n\nСпасибо,\nSite Support Group.");
define(PR_MAIL_SUBJECT, "$SERVER_NAME: Напоминание пароля");
}else{
$DocumentTitle = "Password reminder...";
define(PR_ACTION, "Regenerate my password!");
define(PR_LISTPROLOG, "Login-pseudonyms and passwords for %s:
\n\n");
define(PR_LISTBEGIN, "");
define(PR_LISTITEM, "- Login: %s, password: %s.
\n");
define(PR_LISTEND, "
");
define(PR_LISTEPILOG, "\n\nCheers,\nSite Support Group.");
define(PR_MAIL_SUBJECT, "$SERVER_NAME: Password reminder");
}
if( ($Action == PR_ACTION ) && ($email!="") ){
$SQL = "select id,login,password from AIV_MEMBER where prime_email='" . addslashes($email) . "'";
$DataA = GetArray($DB, $SQL);
$Password = new PasswordGenerator(7, 8, true);
$message = PR_LISTBEGIN;
if( is_array($DataA) ){
foreach($DataA as $Data ){
$login = $Data[login];
$password = $Data[password];
$ac = $Data[activation_code];
$ID = $Data[id];
$NewPassword = new PasswordGenerator(6, 6, true);
$password = $NewPassword->getPassword();
DBUpdate( $DB, "AIV_MEMBER",
array(
password => "MD5('$password')"
),
"id=" . intval($ID)
);
ErrorLog("Password regeneration for: " . $login, $Priority = "Warning");
$message = $message . sprintf(PR_LISTITEM, $login, $password);
}
}
$message = $message . PR_LISTEND;
if( $message != (PR_LISTBEGIN . PR_LISTEND) ){
// echo $message ;
$message = sprintf(PR_LISTPROLOG, $email) . $message . sprintf(PR_LISTEPILOG);
mailreply($email, PR_MAIL_SUBJECT,$message);
CEAlerter(PR_MAIL_SUBJECT,$message);
/* вторичная форма для напоминальника пароля... */
$T_EF_PASSWORDREMINDER_2 = new TheTemplate();
$T_EF_PASSWORDREMINDER_2->LoadTemplate("PASSWORDREMINDER_OK");
//Now we can prepare it. With evaluate option coz...
$DocumentData = $T_EF_PASSWORDREMINDER_2->PrepareTemplate($HASH_EF_PASSWORDREMINDER_2, $Evaluatecode=1, $UsePrecompiled=1);
unset($T_EF_PASSWORDREMINDER_2);
unset($HASH_EF_PASSWORDREMINDER_2);
}else{
/* вторичная форма для напоминальника пароля... */
$T_EF_PASSWORDREMINDER_FAIL = new TheTemplate();
$T_EF_PASSWORDREMINDER_FAIL->LoadTemplate("PASSWORDREMINDER_FAIL");
//Now we can prepare it. With evaluate option coz...
$DocumentData = $T_EF_PASSWORDREMINDER_FAIL->PrepareTemplate($HASH_EF_PASSWORDREMINDER_FAIL, $Evaluatecode=1, $UsePrecompiled=1);
unset($T_EF_PASSWORDREMINDER_FAIL);
unset($HASH_EF_PASSWORDREMINDER_FAIL);
ErrorLog("Password regeneration request fail: " . htmlspecialchars($email), $Priority = "Error");
}
}else{
/* Форма для напоминальника пароля... */
$T_EF_PASSWORDREMINDER = new TheTemplate();
$T_EF_PASSWORDREMINDER->LoadTemplate("PASSWORDREMINDER");
$HASH_EF_PASSWORDREMINDER["ActName"] = PR_ACTION;
$HASH_EF_PASSWORDREMINDER["FORM_ACTION"] = $PHP_SELF;
//Now we can prepare it. With evaluate option coz...
$DocumentData = $T_EF_PASSWORDREMINDER->PrepareTemplate($HASH_EF_PASSWORDREMINDER, $Evaluatecode=1, $UsePrecompiled=1);
unset($T_EF_PASSWORDREMINDER);
unset($HASH_EF_PASSWORDREMINDER);
} // if( $Action==... )
/* страницы второго уровня */
$T_SITE_UTILS_PAGE = new TheTemplate();
$T_SITE_UTILS_PAGE->LoadTemplate("SITE_UTILS_PAGE");
// predefined: #FILEMOD
/* Стандартная страничка для тулзов... */
require_once "$LIBRARY_ROOT/MainMenuGenerator.php3";
require_once "$LIBRARY_ROOT/newsAPI.php3";
require_once "$LIBRARY_ROOT/MainPageNewsGenerator.php3";
require_once "$DOCUMENT_ROOT/cmt2/EchoArticle.php3";
// Global navigation bar section
DrawThePath($id=SITE_INDEX_USERHOMEPAGE, $PathWithHLinks, $TARGETURL=_CD_URL_PATH, $Node1Index, $BoldHiddenCategories=0, $LinkStyle = "", $FirstCall=1, $ReverseOrder=0);
$HASH_SITE_UTILS_PAGE["THE_NAVIGATION_PATH"] = $PathWithHLinks;
// predefined: #FILEMOD
$HASH_SITE_UTILS_PAGE["BODYEXTRA"] = "";
$HASH_SITE_UTILS_PAGE["DocumentTitle"] = $DocumentTitle;
$HASH_SITE_UTILS_PAGE["HEADEXTRA"] = "";
$HASH_SITE_UTILS_PAGE["KEYWORDS"] = $SITE_KEYWORDS;
$HASH_SITE_UTILS_PAGE["PAGE_AUTHOR"] = $SITE_TEXT_NAME;
$HASH_SITE_UTILS_PAGE["ShowSiteHeader"] = "Y";
$HASH_SITE_UTILS_PAGE["_SiteDesign_"] = DEFAULT_SITE_DESIGN;
// standard blocks
// main menu
$HASH_SITE_UTILS_PAGE["SITE_HMENU_ITEMS"] = "";
$HASH_SITE_UTILS_PAGE["SITE_VMENU_ITEMS"] = MainMenuGenerator($currentnode=SITE_INDEX_USERHOMEPAGE);
// extra items
$HASH_SITE_UTILS_PAGE["EXTRA_ITEMS"] = "";
// site news
$HASH_SITE_UTILS_PAGE["PAGE_NEWS_LIST"] = MainPageNewsGenerator2();
$HASH_SITE_UTILS_PAGE["RANDOM_HOT_NEWS"] = HotNewsGenerator();
$HASH_SITE_UTILS_PAGE["SITE_UTILS_PAGE_TEXT"] = $DocumentData;
//Now we can prepare it. With evaluate option coz...
echo $T_SITE_UTILS_PAGE->PrepareTemplate($HASH_SITE_UTILS_PAGE, $Evaluatecode=1, $UsePrecompiled=1);
unset($T_SITE_UTILS_PAGE);
unset($HASH_SITE_UTILS_PAGE);
%>