<?php
/************************************************************************
- * MXChange v0.2.1 Start: 09/28/2003 *
- * =============== Last change: 06/10/2004 *
+ * Mailer v0.2.1-FINAL Start: 09/28/2003 *
+ * =================== Last change: 06/10/2004 *
* *
* -------------------------------------------------------------------- *
* File : what-lock_user.php *
* -------------------------------------------------------------------- *
* Kurzbeschreibung : Mitglieder sperren *
* -------------------------------------------------------------------- *
- * *
+ * $Revision:: $ *
+ * $Date:: $ *
+ * $Tag:: 0.2.1-FINAL $ *
+ * $Author:: $ *
* -------------------------------------------------------------------- *
- * Copyright (c) 2003 - 2008 by Roland Haeder *
- * For more information visit: http://www.mxchange.org *
+ * Copyright (c) 2003 - 2009 by Roland Haeder *
+ * Copyright (c) 2009 - 2013 by Mailer Developer Team *
+ * For more information visit: http://mxchange.org *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
************************************************************************/
// Some security stuff...
-if ((ereg(basename(__FILE__), $_SERVER['PHP_SELF'])) || (!IS_ADMIN()))
-{
- $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php";
- require($INC);
-}
+if ((!defined('__SECURITY')) || (!isAdmin())) {
+ die();
+} // END - if
// Add description as navigation point
-ADD_DESCR("admin", basename(__FILE__));
-
-OPEN_TABLE("100%", "admin_content admin_content_align", "");
-if (!empty($_GET['u_id']))
-{
- $result_user = SQL_QUERY_ESC("SELECT status, sex, surname, family, email FROM "._MYSQL_PREFIX."_user_data WHERE userid=%s LIMIT 1",
- array(bigintval($_GET['u_id'])), __FILE__, __LINE__);
- $ACT = false;
- if (SQL_NUMROWS($result_user) == 1)
- {
- // User found
- list($status, $sex, $sname, $fname, $email) = SQL_FETCHROW($result_user);
- SQL_FREERESULT($result_user);
- if (empty($_GET['u_id']))
- {
- // Output selection form with all confirmed user accounts listed
- ADD_MEMBER_SELECTION_BOX();
- } elseif (!empty($_POST['lock'])) {
+addYouAreHereLink('admin', __FILE__);
+
+// Is a userid set?
+if (isGetRequestElementSet('userid')) {
+ // Action not performed by default
+ $isActive = FALSE;
+
+ // Load user's data
+ if (fetchUserData(getRequestElement('userid'))) {
+ // Is a lock reason set?
+ if ((isFormSent('lock')) && (getUserData('status') != 'LOCKED')) {
// Ok, lock the account!
- $result = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_user_data SET status='LOCKED' WHERE userid=%s LIMIT 1",
- array(bigintval($_GET['u_id'])), __FILE__, __LINE__);
- if (SQL_AFFECTEDROWS($link, __FILE__, __LINE__) == 1)
- {
+ if (isExtensionInstalledAndNewer('user', '0.3.5')) {
+ // Lock with reason
+ sqlQueryEscaped("UPDATE `{?_MYSQL_PREFIX?}_user_data` SET `status`='LOCKED',`lock_reason`='%s',`lock_timestamp`=NOW() WHERE `userid`=%s LIMIT 1",
+ array(postRequestElement('reason'), bigintval(getRequestElement('userid'))), __FILE__, __LINE__);
+ } else {
+ // Lock with no lock reason saved
+ sqlQueryEscaped("UPDATE `{?_MYSQL_PREFIX?}_user_data` SET `status`='LOCKED' WHERE `userid`=%s LIMIT 1",
+ array(bigintval(getRequestElement('userid'))), __FILE__, __LINE__);
+ }
+
+ // Entry updated?
+ if (!ifSqlHasZeroAffectedRows()) {
// Send an email to the user! In later version you can optionally switch this feature off
- $msg = LOAD_EMAIL_TEMPLATE("lock-user", $_POST['reason'], bigintval($_GET['u_id']));
+ $message = loadEmailTemplate('member_user_locked', array('text' => postRequestElement('reason')), bigintval(getRequestElement('userid')));
// Send away...
- SEND_EMAIL($email, ADMIN_LOCKED_SUBJ, $msg);
- }
+ sendEmail(bigintval(getRequestElement('userid')), '{--ADMIN_LOCKED_SUBJECT--}', $message);
+ } // END - if
// Prepare message
- $MSG = USER_ACCOUNT_LOCKED_1.$_GET['u_id'].USER_ACCOUNT_LOCKED_2;
- $ACT = true;
- } elseif (!empty($_POST['unlock'])) {
+ $message = '{%message,ADMIN_USER_ACCOUNT_LOCKED=' . bigintval(getRequestElement('userid')) . '%}';
+ $isActive = TRUE;
+ } elseif ((isPostRequestElementSet('unlock')) && (getUserData('status') == 'LOCKED')) {
// Ok, unlock the account!
- $result = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_user_data SET status='CONFIRMED' WHERE userid=%s LIMIT 1",
- array(bigintval($_GET['u_id'])), __FILE__, __LINE__);
- if (SQL_AFFECTEDROWS($link, __FILE__, __LINE__) == 1)
- {
+ if (isExtensionInstalledAndNewer('user', '0.3.5')) {
+ // Reset lock reason as well
+ sqlQueryEscaped("UPDATE
+ `{?_MYSQL_PREFIX?}_user_data`
+SET
+ `status`='CONFIRMED',
+ `lock_reason`='',
+ `lock_timestamp`=NULL
+WHERE
+ `userid`=%s
+LIMIT 1",
+ array(bigintval(getRequestElement('userid'))), __FILE__, __LINE__);
+ } else {
+ // No lock reason to reset
+ sqlQueryEscaped("UPDATE `{?_MYSQL_PREFIX?}_user_data` SET `status`='CONFIRMED' WHERE `userid`=%s LIMIT 1",
+ array(bigintval(getRequestElement('userid'))), __FILE__, __LINE__);
+ }
+
+ // Entry updated?
+ if (!ifSqlHasZeroAffectedRows()) {
// Send an email to the user! In later version you can optionally switch this feature off
- $msg = LOAD_EMAIL_TEMPLATE("unlock-user", $_POST['reason'], bigintval($_GET['u_id']));
+ $message = loadEmailTemplate('member_user_unlocked', array('text' => postRequestElement('reason')), bigintval(getRequestElement('userid')));
// Send away...
- SEND_EMAIL($email, ADMIN_UNLOCKED_SUBJ, $msg);
- if (EXT_IS_ACTIVE("rallye"))
- {
- RALLYE_AUTOADD_USER($_GET['u_id']);
- }
- }
+ sendEmail(bigintval(getRequestElement('userid')), '{--ADMIN_UNLOCKED_SUBJECT--}', $message);
+ if (isExtensionActive('rallye')) {
+ addUserToReferralRallye(getRequestElement('userid'));
+ } // END - if
+ } // END - if
// Prepare message
- $MSG = USER_ACCOUNT_UNLOCKED_1.$_GET['u_id'].USER_ACCOUNT_UNLOCKED_2;
- $ACT = true;
- }
- elseif (isset($_POST['del']))
- {
+ $message = '{%message,ADMIN_USER_ACCOUNT_UNLOCKED=' . bigintval(getRequestElement('userid')) . '%}';
+ $isActive = TRUE;
+ } elseif (isFormSent('delete')) {
// Delete the account
- $ACT = true;
- require_once(PATH."inc/modules/admin/what-del_user.php");
- }
- elseif (!empty($_POST['no']))
- {
+ $isActive = TRUE;
+ loadIncludeOnce('inc/modules/admin/what-del_user.php');
+ } elseif (isPostRequestElementSet('no')) {
// Do not lock him...
- $URL = URL."/modules.php?module=admin&what=list_user&u_id=".$_GET['u_id'];
- }
- else
- {
- $result = SQL_QUERY_ESC("SELECT email, surname, family FROM "._MYSQL_PREFIX."_user_data WHERE userid=%s LIMIT 1",
- array(bigintval($_GET['u_id'])), __FILE__, __LINE__);
- if (SQL_NUMROWS($result) == 1)
- {
- // Load data
- list ($email, $sname, $fname) = SQL_FETCHROW($result);
- SQL_FREERESULT($result);
-
- // Transfer data to constants for the template
- define('__EMAIL', CREATE_EMAIL_LINK($email, "user_data"));
- define('__SNAME', $sname);
- define('__FNAME', $fname);
- define('__UID' , $_GET['u_id']);
-
+ $url = adminCreateUserLink(getRequestElement('userid'));
+ } else {
+ // Load user data we need
+ if (fetchUserData(getRequestElement('userid'))) {
// Transfer data to constants for the template
- define('__UID_VALUE', $_GET['u_id']);
+ $content['userid'] = getRequestElement('userid');
// Realy want to lock?
- switch ($status)
- {
- case "CONFIRMED": // Yes, lock him down... ;-)
- define('__OK_VALUE' , "lock");
- define('__HEADER_VALUE', ADMIN_HEADER_LOCK_ACCOUNT_1.__UID_VALUE.ADMIN_HEADER_LOCK_ACCOUNT_2);
- define('__TEXT_VALUE' , ADMIN_TEXT_LOCK_ACCOUNT_1.__UID_VALUE.ADMIN_TEXT_LOCK_ACCOUNT_2);
- break;
-
- case "LOCKED": // Unlock the user
- define('__OK_VALUE' , "unlock");
- define('__HEADER_VALUE', ADMIN_HEADER_UNLOCK_ACCOUNT_1.__UID_VALUE.ADMIN_HEADER_UNLOCK_ACCOUNT_2);
- define('__TEXT_VALUE' , ADMIN_TEXT_UNLOCK_ACCOUNT_1.__UID_VALUE.ADMIN_TEXT_UNLOCK_ACCOUNT_2);
- break;
-
- case "UNCONFIRMED": // Unconfirmed accounts cannot be unlocked!
- define('__OK_VALUE' , "del");
- define('__HEADER_VALUE', ADMIN_HEADER_DEL_ACCOUNT_1.__UID_VALUE.ADMIN_HEADER_DEL_ACCOUNT_2);
- define('__TEXT_VALUE' , ADMIN_TEXT_DEL_ACCOUNT_1.__UID_VALUE.ADMIN_TEXT_DEL_ACCOUNT_2);
- break;
+ switch (getUserData('status')) {
+ case 'CONFIRMED': // Yes, lock him down... ;-)
+ $content['ok'] = 'lock';
+ $content['header'] = '{%message,ADMIN_HEADER_LOCK_ACCOUNT=' . $content['userid'] . '%}';
+ $content['text'] = '{%message,ADMIN_TEXT_LOCK_ACCOUNT=' . $content['userid'] . '%}';
+ break;
+
+ case 'LOCKED': // Unlock the user
+ $content['ok'] = 'unlock';
+ $content['header'] = '{%message,ADMIN_HEADER_UNLOCK_ACCOUNT=' . $content['userid'] . '%}';
+ $content['text'] = '{%message,ADMIN_TEXT_UNLOCK_ACCOUNT=' . $content['userid'] . '%}';
+ break;
+
+ case 'UNCONFIRMED': // Unconfirmed accounts cannot be unlocked!
+ $content['ok'] = 'delete';
+ $content['header'] = '{%message,ADMIN_HEADER_DELETE_ACCOUNT=' . $content['userid'] . '%}';
+ $content['text'] = '{%message,ADMIN_TEXT_DELETE_ACCOUNT=' . $content['userid'] . '%}';
+ break;
}
// Output form
- LOAD_TEMPLATE("admin_lock_user");
- }
- else
- {
+ loadTemplate('admin_lock_user', FALSE, $content);
+ } else {
// Account does not exists!
- OUTPUT_HTML("<STRONG class=\"admin_failed\">".ADMIN_MEMBER_404_1.$_GET['u_id'].ADMIN_MEMBER_404_2."</STRONG>");
+ displayErrorMessage('{%message,ADMIN_MEMBER_404=' . bigintval(getRequestElement('userid')), '%}');
}
}
- if (!empty($URL))
- {
+
+ // Is an URL set?
+ if (!empty($url)) {
// Reload and die...
- LOAD_URL($URL);
- }
- elseif ($ACT)
- {
+ redirectToUrl($url);
+ } elseif ($isActive) {
// An action was performed...
- if (!empty($MSG))
- {
- LOAD_TEMPLATE("admin_settings_saved", false, "<STRONG class=\"admin_green\">".$MSG."</STRONG>");
- }
- else
- {
- LOAD_TEMPLATE("admin_settings_saved", false, "<STRONG class=\"admin_green\">".ADMIN_USER_UPDATED."</STRONG>");
+ if (!empty($message)) {
+ displayErrorMessage($message);
+ } else {
+ displayMessage('{--ADMIN_USER_UPDATED--}');
}
}
- }
- else
- {
+ } else {
// Account does not exists!
- OUTPUT_HTML("<STRONG class=\"admin_failed\">".ADMIN_MEMBER_404_1.$_GET['u_id'].ADMIN_MEMBER_404_2."</STRONG>");
+ displayErrorMessage('{%message,ADMIN_MEMBER_404=' . bigintval(getRequestElement('userid')), '%}');
}
-}
- else
-{
+} else {
// List all users
- ADD_MEMBER_SELECTION_BOX();
+ addMemberSelectionBox();
}
-CLOSE_TABLE();
-//
+
+// [EOF]
?>