Хак: Приглашение в закрытый клуб(группу) любого пользователя
|
|
Автор: Крот
Опубликовано: 350 дней назад (8 июня 2011)
Блог: Core тюнинг
Рубрика: Тюнинг
Редактировалось: 2 раза — последний 8 июня 2011
|
+22↑ Голосов: 22 |
Понадобилось мне как-то сделать так, чтобы владелец закрытого клуба мог пригласить в клуб любого пользователя, без добавления его в друзья
(тут еще один момент есть - удобнее будет сделать еще так, чтобы в закрытом клубе была ссылка на отправку сообщения админу клуба - но это совсем просто сделать)
открываем
\www\components\clubs\frontend.php
со строки 612 делаем так
-------------------------------------------------------------------
так было
в строке 625 убираем !$_SESSION['user']['friends'] || - даем доступ для приглашения
пользователей в группу даже если нет друзей
\www\core\classes\usrclass.php
добавляем новую функцию со строки 620
Забыл сказать, движок сайта версия 1.8, другие не проверял.
Также соотвественно при обновлении движка сайта - нужно проделать эти операции заново.
(тут еще один момент есть - удобнее будет сделать еще так, чтобы в закрытом клубе была ссылка на отправку сообщения админу клуба - но это совсем просто сделать)
открываем
\www\components\clubs\frontend.php
со строки 612 делаем так
-------------------------------------------------------------------
так было
Код PHP:
так стало
if ( !$inCore->inRequest('join') ){
// Получаем список друзей
$friends = cmsUser::getFriends($user_id);
Код PHP:
-------------------------------------------------------------------
if ( !$inCore->inRequest('join') ){
// Получаем список друзей
$friends = cmsUser::getUsers(); // это наша новая функция
в строке 625 убираем !$_SESSION['user']['friends'] || - даем доступ для приглашения
пользователей в группу даже если нет друзей
Код PHP:
так стало
// Если нет друзей или все друзья уже в этом клубе, то выводим ошибку и возвращаемся назад
// так было if (!$_SESSION['user']['friends'] || !$friends) { $inCore->addSessionMessage($_LANG['SEND_INVITE_ERROR'], 'error'); $inCore->redirect($back); }
Код PHP:
Теперь находим файл
// Если нет друзей или все друзья уже в этом клубе, то выводим ошибку и возвращаемся назад
if (!$friends) { $inCore->addSessionMessage($_LANG['SEND_INVITE_ERROR'], 'error'); $inCore->redirect($back); }
\www\core\classes\usrclass.php
добавляем новую функцию со строки 620
Код PHP:
пробуем, радуемся!
// ============================================================================ //
/**
* Возвращает массив списка пользователей
* @return Array
*/
public static function getUsers(){
$inDB = cmsDatabase::getInstance();
$usrlist = '';
$sql = "SELECT id, nickname FROM cms_users WHERE is_locked = 0 AND is_deleted = 0 ORDER BY nickname";
$rs = $inDB->query($sql);
if (!$inDB->num_rows($rs)){ return; }
while($u = $inDB->fetch_assoc($rs)){
$usrlist[] = $u;
}
return $usrlist;
}
// ============================================================================ //
Забыл сказать, движок сайта версия 1.8, другие не проверял.
Также соотвественно при обновлении движка сайта - нужно проделать эти операции заново.
← Баг отображения статьи со ограниченным сроком. Движок 1.8 | Модификация компонента Статьи. Дорожная карта. →
| # 8 июня 2011 в 02:53 0 | ||
|
| # 8 июня 2011 в 09:19 0 | ||
|
| # 8 июня 2011 в 10:39 +2 | ||
|
| # 8 июня 2011 в 10:58 0 | ||
|
| # 8 июня 2011 в 12:33 0 |
| # 11 июня 2011 в 14:55 0 | ||
|
| # 15 июня 2011 в 22:57 0 |
| # 19 июня 2011 в 13:10 0 | ||
|
| # 19 июня 2011 в 17:54 0 |
| # 19 июня 2011 в 20:49 +1 | ||
|
| # 28 июня 2011 в 00:05 0 |
