Давным давно я сделал маленький сайт интернет магазина на смс 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.
Спасибо очень помог
— John · 14 августа 2015, 14:46 · #
Супер спасибо! помогли
— Яна · 24 мая 2016, 18:32 · #
Спасибо, большое!
Сэкономили время для оперативного решения проблемы.
— Сергей · 29 июня 2016, 15:24 · #
Привет! Очень помогло, спасибо!
— Dmitry · 2 ноября 2017, 03:00 · #