Разлогинить всех веб пользователей сайта

Здравствуйте ув. модиксеры. Собственно, вопрос в названии топика.В админке evo есть замечательная кнопка «Удалить блокировки», есть ли нечто подобное для разлогина всех юзеров сайта? Авторизация реализована через FormLister.
Благодарю за внимание.

6 комментариев

avatar
Попробуй так, как-то:
Update {PREFIX}_web_user_attributes set thislogin='', sessionid='' where thislogin!='' or sessionid!=''
avatar
Можно еще вот так. Плагина на OnWebPageInit
$uid = $modx->getLoginUserID();
if (!$uid) return;
$flag = $modx->db->getValue('Select zip from '.$modx->getFullTableName('web_user_attributes').' where internalKey='.$uid);
if (!$flag)
{
	include_once(MODX_BASE_PATH."assets/lib/MODxAPI/modUsers.php");	
	$user = new modUsers($modx);	
	$user->logOut();
	$modx->db->query('Update '.$modx->getFullTableName('web_user_attributes').' set zip="1" where internalKey='.$uid);
}

Велосипед, конечно, зато работает)
avatar
Может чем поможет
modx.im/blog/fast-solution/5811.html
там правда залогинить/разлогинить одного конкретного юзера.
avatar
Всего-то нужно изменить обработчик сессий ((:
avatar
Всем спасибо за ответы, сделал через DBAPI

$table = $modx->getFullTableName( 'web_user_attributes' );  

$fields = array('sessionid'  => '',  
                'thislogin' => 0 
                );  

$result = $modx->db->update( $fields, $table, "thislogin != 0 or sessionid != ''" );   
if( $result ) {  
    echo 'Все пользователи разлогинены!';  
} else {  
    echo 'Возникла проблема во время запроса...';  
}
avatar
К разлогиниванию это никакого отношения не имеет вообще. Кто был залогинен в момент выполнения этого странного запроса, тот и останется залогинен.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.