Перейти к содержимому


Авторизация из админки под любым пользователем


  • Вы не можете ответить в тему
Сообщений в теме: 2

#1 Salp

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 218 сообщений
Репутация: 54
Продвинутый

Отправлено 30 September 2015 - 04:25 PM

Дополнение, позволяющее администраторам логиниться под любым пользователем из админки.
Знание пароля пользователя не требуется.

Цель: помочь покупателю собрать и оформить заказ в телефонном режиме (многие путаются), отредактировать телефон и контактные данные пользователя, если они содержат ошибки.
Код очень простой.

В файле custord_custlist.tpl.html в разделе *Контактная информация* размещаем код кнопки:
<input type="button" value="Авторизоваться" type="submit" onclick="if(window.confirm('Вы уверены, что хотите войти под пользователем {$customerInfo.Login}?'))document.location.href='{"&safemode=&accessCustomerID=`$customerInfo.customerID`"|set_query}';" style="color:#F00;font-size:9px;">

Оформить кнопку можно на свой вкус.

В custord_custlist.php над
if ( !isset($_GET["customer_details"]) )

размещаем код:
if ( isset($_GET["accessCustomerID"]) ) //ACCESS Авторизация под пользователем
{
regAccessCustomer( $_GET["accessCustomerID"] );
Redirect('/index.php?user_details=yes');
}


И в registration_functions.php над функцией
function regDeleteCustomer( $customerID )

поместим функцию авторизации по ID пользователя:
function regAccessCustomer( $customerID ) // Авторизация под пользователем
{
if ( $customerID == null || trim($customerID) == "" )
return false;
if (!$customerID) return 0;
$q = db_query("select cust_password, CID, ActivationCode, Login FROM ".CUSTOMERS_TABLE." WHERE CustomerID='".xToText($customerID)."'");
$row = db_fetch_row($q);

unset($_SESSION["log"]);
unset($_SESSION["pass"]);
session_unregister("log"); //calling session_unregister() is required since unset() may not work on some systems
session_unregister("pass");

// set session variables
$_SESSION["log"] = $row["Login"];
$_SESSION["pass"] = $row["cust_password"];//cryptPasswordCrypt($password, null);
$_SESSION["current_currency"] = $row["CID"];
}


Возможно, будет кому-то это интересно.
Прикрепленный файл  Снимок.JPG   49.71К   43 Количество загрузок:
Прикрепленный файл  Снимок2.JPG   19.41К   43 Количество загрузок:
  • 4

#2 Salp

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 218 сообщений
Репутация: 54
Продвинутый

Отправлено 01 October 2015 - 12:05 AM

Модуль выложил в первом посте.
  • 0

#3 FusSheva

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 210 сообщений
Репутация: 7
Начинающий

Отправлено 22 April 2016 - 11:24 AM

Очень даже удобный модуль! Так уж нужно чтобы пользователи писали номер телефона с кодом страны. Но зачастую многие пишут без онного. Приходилось лезть в БД чтобы правильно отредактировать телефон покупателя.
Сейчас с этим нет проблем. Спасибо!
  • 0
Каждый человек способен на многое. Но к сожалению, не каждый знает на что он способен.