Modx EVO разблокировка доступа

26 февраля 2015

Давным давно я сделал маленький сайт интернет магазина на смс Modx EVO + Shopkeeper. Сделал и забыл про него, как правило так и бывает - работает, не ремонтируй. Но через пару лет мне поступил звонок от заказчика. Ни кто из администраторов не мог войти в панель управления магазином. У всех выводилась надпись что один из пользователей сейчас в системе и редактирует системные настройки. Необходимо дождаться окончания редактирования системных настроек. И даже если этот пользователь пытался войти в панель администрирования, ему выходила такая-же надпись, только пользователь значился другой.

После проверки и потвреждения этого чудного симптома я полез в поиск решения этого недуга. Как оказалось еще пара человек искали решения, но ответа небыло. Пришлось самому лезть в код modx evo. Поиск в интернете всё таки немного помог. Показал на сайте github название файла в котором записана эта надпись.
$_lang["lock_settings_msg"] ='%s сейчас редактирует системные установки. Пожалуйста, подождите, пока другой пользователь закончит редактирование, и попробуйте снова.';

 Зная название переменной я с помощью команды grep "lock_settings_msg" -r путь каталогу нашел место где выводится эта переменная. Вот результат команды:
/manager/actions/mutate_settings.dynamic.php:                 $modx->webAlertAndQuit(sprintf($_lang["lock_settings_msg"],$username));

 

Открыл код файла mutate_settings.dynamic.php, и быстро нашел код ответственный за блокировку.

// check to see the edit settings page isn't locked

$rs = $modx->db->select('username', $modx->getFullTableName('active_users'), "action=17 AND internalKey!='".$modx->getLoginUserID()."'");

if ($username = $modx->db->getValue($rs)) {

$modx->webAlertAndQuit(sprintf($_lang["lock_settings_msg"],$username));

}

// end check for lock 

Из кода стало понятно, что для снятия блокировки достаточно удалить записи с параметром равным 17 в поле action в таблице active_users.

Андрей Лебедев

,

, , ,

Комментарий

  1. Спасибо очень помог

    — John · 14 августа 2015, 14:46 · #

  2. Супер спасибо! помогли

    Яна · 24 мая 2016, 18:32 · #

  3. Спасибо, большое!
    Сэкономили время для оперативного решения проблемы.

    — Сергей · 29 июня 2016, 15:24 · #

  4. Привет! Очень помогло, спасибо!

    Dmitry · 2 ноября 2017, 03:00 · #

Комментировать: