Админпанель вер.0.2

В разделе «Модули» выложил версию 0.2 модуля Админпанель.

Основным новшеством является добавление работы с юзерами:
1. Просмотр списка юзеров (всех, в т.ч. и тех, кто не активировался)
2. Для каждого юзера показывается IP, с которого он регистрировался, и с которого последний раз входил.
3. Неактивных юзеров можно активировать из админпанели
4. И, наверное, самое «вкусное» — это возможность бана (используется дополнительная таблица и хук, не очень изящно, но иначе никак). Бан можно задать на любое число дней (по окончании юзер получает полный доступ, как обычно) или навечно. Бан вешается на конкретного юзера (не на IP), т.е. зарегаться с тем же логином или е-мейлом юзер не может.

Установка так же — файлы заливаются в /update/modules/admin_0.2/ и запускается install.php
Кстати, сам инсталлятор немного улучшил — больше всяческих проверок и должен более внятно сообщать об ошибках, если вдруг случаться. Но наиболее продвинутые и осторожные могут установить модуль вручную — в файле readme.txt, по-моему, довольно подробно все расписано, как это сделать.

UPD. Была небольшая ошибка — таблица adminban создавалась с неверным префиксом. Исправлено. Исправленная версия залита на сайт.

UPD 2 Выложил обновление (версия 0.21). Кто уже поставил и работает без проблем — можно игнорировать. Обновление касается именно установки и первоначального входа в систему сразу после установки.

91 комментарий

avatar
Как известно, удалять пользователей из базы — не лучший ход, логично было бы доработать вывод статистики с тем, чтобы не учитывать навсегда забаненных пользователей при подсчёте общего количества юзеров. Таким образом они будут считаться удалёнными.

Также было бы неплохо добавить к позитивным и негативным список временно забаненных.
avatar
А я-таки и не удаляю юзеров, просто заношу их в доп. таблицу и проверяю ее при авторизации. Удалить/отредактировать их топики админ и так может. Удалять махом аккаунт со всей цепочкой топиков/комментов тоже считаю не лучшим решением. А вот насчет статистики — верная мысль, не подумал.
avatar
Какая разница между баном и деавтивизацией пользователя?
avatar
А у меня в админпанели нет деактивации, есть только бан, временный или пожизненный. Который, впрочем, админ может снять в любое время
avatar
Нет, я спрашивал, что именно делает бан, то есть как конкретно лимитруется пользователь? Не дает зайти? Не дает голосовать? Не дает читать?
avatar
Не дает залогиниться
avatar
редактор комментариев тут же можно организовать
avatar
Комментарии где?
avatar
ну я это себе так представлял. в комментарий для админа добавляется кнопка «редактировать» с айдишником, которая отсылает в вашу замечательную админку, где можно отредактировать этот комментарий
avatar
синяя фигня?
avatar
синяя фигня это уже дополнительный функционал, просто там опечатки поправить или ссылку, бывает нужно иногда…
ну и в базе же кстати можно любые теги будет вставить, так что пожалуй да.
avatar
Сомневаюсь, что это правильный путь. Админка — она изначально под админа затачивалась. Редактирование комментов, ИМХО, надо в базовом функционале делать. Я лично поддерживаю предложение — возможность редакции своих комментов в течение Х минут
avatar
в базовом случае проще написать новый коммент, чем исправить старый… а админка нужна именно что специально для административных нужд
avatar
если вам сейчас не хочется этим заниматься, то возможно я попробую сам доработать вашу админку, с вашего разрешения конечно же
avatar
То ли понедельник — день тяжелый, то ли еще что, но я, кажись, не догоняю глубины идеи. Речь о том, чтоб сам админ мог из своей панели любой чужой коммент поправить? Если да, то в планах это есть (но по срокам не скажу, когда сделаю). Увязать подобный режим с обычным просмотром блогов/топиков/комментов можно, но это уже хак и правка шаблонов, это уж пусть каждый сам делает для конкретных сайтов/скинов. Я же стараюсь модуль так писать, чтобы он работал в любой поставке.

Но если есть желание ковыряться в моем коде — ради Бога
avatar
да да. именно так. сам админ чужие комменты. а из правок шаблона там буквально одно условие и 1 ссылка получается. ничего криминального и может быть просто приятным бонусом.
Что ж, тогда просто с жду вас и ваше решение. буду рад помочь
avatar
в инсталяшке поправьте префикс при создании таблички.
сейчас стоит zls_adminban.
avatar
Уже поправил и выложил исправленный вариант
avatar
модуль возможно стоит добавить в svn (отдельный) для удобства слежения за изменениями?
avatar
Пожалуй, стоит
avatar
установил
после логина «валится» с ошибкой
Fatal error: Call to a member function isBanned()
avatar
Логин админом или юзером?
Проверь префикс таблицы adminban в базе, он должен быть таким же, как и у остальных таблиц (был такой глюк, сейчас исправлен)
avatar
а у меня там вообще такой таблицы не создалось
avatar
Сразу после установки надо войти админом и выполнить апгрейд (кликнуть по ссылке Upgrade). Или как раз в этом месте и валится?
avatar
как я делал
залил в update файлы
прошёл по install.php
скрипт отработал и посоветовал пройти в админку (для апдейта видимо)
админка написала
Ошибка: Ошибка доступа

У вас нет доступа к этому режиму

окей, сказал я, и пошёл на главную логиниться
а при логине получил описанную выше ошибку
avatar
1. Если скачивал модуль до 11:00 мск, то скачай еще раз и попробуй повторить установку (да, нужен нормальный контроль версий, но пока так).
2. Если ошибка не устранится, попробуй руками раскидать файлы по папкам, как это описано в readme.txt
3. См. базу, там должны быть таблицы prefix_adminset и prefix_adminban. Если их нет, то найди среди скриптов модуля файлы AdminUpgrade00x01.php и AdminUpgrade01x02.php — там есть описание структур создаваемых таблиц и создай их вручную.
avatar
спасибо, помогло
руками создал таблицы
avatar
таже ошибка, приложите заплатку для базы
avatar
Да, разобрался наконец, что за глюк. Выложил версию 0.21, где он исправлен. Кто уже поставил моуль и работает без проблем — можно это обновление смело игнорировать.
avatar
Что то я не нашел в модулях вашей разработки…
avatar
avatar
Ошибка: 404

К сожалению, такой страницы не существует. Вероятно, она была удалена с сервера, либо ее здесь никогда не было.

Вернуться назад, перейти на главную
avatar
У меня тоже самое. Как решилась проблема?
avatar
Только что проверил — лежит модуль по ссылке livestreet.ru/addons/34/
В чем проблема?
avatar
404-я выдаётся когда пытаюсь зайти на свой_сайт/admin/
avatar
Проверяйте установку модуля. Должно работать. Ничего нигде не пропустили?
avatar
Да всё по инструкции. Единственное что — ЛС стоит на домене 3-го уровня. В этом не может быть загвоздки?
avatar
Если остальные модули работают, то и админка должна работать. Механизм обработки адреса и проч. — все стандартное. У меня, кстати, на локальном компе тоже ЛС на домене 3-го уровня стоит, в онлайне — все то же самое, но 2-й уровень. Поэтому вряд ли в этом проблема.
avatar
Это первый модуль, который я решил поставить ;)
Ещё раз всё сделал по инструкции. Результат тот же. Кроме того, что написано в прилагающемся файле с описанием никаких действий предпринимать не надо?
avatar
Когда кликаешь в заголовке, напр., «Люди» — отрабатывает соответствующий модуль People, который идет в стандартной поставке. Модуль Admin построен и работает на тех же принципах. Поэтому, если работает People, то (при корректной установке) должен работать и Admin.

В прилагающемся файле описаны два варианта установки — автомат и ручная установка. Если ставил автоматом — попробуй установить руками. Или, по крайней мере, проверь, все ли файлы лежат там, где должны. Если все верно, но все равно не работает — то даже и не знаю, тут только к спецам обращаться, которые за умеренную плату решат проблему. На сайте таких немало.
avatar
Всё заработало. Приношу свои извинения за занудства. Проблема в руках. В моих, конечно.
avatar
Упс, как оказалось, после каждой закачки модуль проходит модерацию, и, видимо, в течение этого периода он недоступен.
avatar
Понятно. Будем ожидать :-)
avatar
Fatal error: Call to a member function isBanned() on a non-object in /home/.../www/.../classes/hooks/HookAdmin.class.php on line 22

а вот такую ошибку у меня выбивает.)
avatar
Либо лечим руками, как описано здесь: livestreet.ru/blog/addons/1645.html#comment18349

Либо чуть-чуть ждем (пока новая версия модуля пройдет модерацию), скачиваем версию 0.21 и запускаем установку еще раз
avatar
спасибо.)
avatar
а где скачать то?
avatar
я так понял новая редакция модуля еще не одобрена
а будет по ссылке livestreet.ru/addons/34/
avatar
Ну, извиняйте, господа-товарищи. Я не знаю наверняка всех механизмов, но догадываюсь, что делается это админом руками. И еще догадываюсь, что в день рождения админы возможны чуть большие задержки в ручных работах :)

«Заходите завтра» (с)…
avatar
Авадим, возможно дополнение в админпанели — переключение языка? (уже есть несколько локализаций, что радует).
avatar
Да, в планах есть. Причем хочется сделать не просто переключение, но сравнение разных локализаций — все ли файлы и в полной ли мере переведены
avatar
а я самая себя забанила ;( на 1 день… вот жду до завтра ;)))

Ps;// хотелось бы ещё иметь возможность писать «причину бана» за что забанили человека и иметь возможность изменять её.

avatar
:)))
А ведь была у меня изначально такая проверка, чтобы админ сам себя не мог забанить, но в процессе работы как-то выпала у меня. Ставлю в туду-лист
avatar
:)))
А ведь была у меня изначально такая проверка, чтобы админ сам себя не мог забанить, но в процессе работы как-то выпала у меня. Ставлю в туду-лист.
А коммент с причиной бана — предусмотрен, но пока эта фича не реализована
avatar
Если поставил первую версию то обновиться как до 0.21? Просто переписать?
avatar
Обновил до 0.21, что то сверху такое вылезло: Warning: Call-time pass-by-reference has been deprecated; If you would like to pass it by reference, modify the declaration of [runtime function name](). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file in /-----/classes/modules/admin/Admin.class.php on line 66
avatar
Поставил в .htaccess php_value allow_call_time_pass_reference 1 — сообщение исчезло. Извиняюсь за кучу бестолковых вопросов:)
avatar
Это не бестолковый вопрос :)
Получил такое же предупреждение после установки аминки

php_value allow_call_time_pass_reference 1 — Это не решение проблемы (вы игнорируите предупреждение вего лишь)

Обращение к автору админки:
Как это поправить?

Warning: Call-time pass-by-reference has been deprecated; If you would like to pass it by reference, modify the declaration of [runtime function name](). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file in /storage/home/****/classes/modules/admin/Admin.class.php on line 66

P.S.: спасибо за админку :)
avatar
Три варианта:
1. Сделать, как советуется выше
2. В файле Admin.class.php строку 66 заменить на:
$data = array('collection'=>$this->oMapperAdmin->GetUsersList($iCount, $iCurrPage, $iPerPage, $sUserLogin),'count'=>$iCount);

3. Дождаться выхода обновления :)
avatar
Спасибо! отличный модуль. Хотелось бы еще удаление пользователей прикрутить.
avatar
Не сложно это, а что делать с блогами/топиками/комментами удаляемого юзера? Чем «вечный бан» не устраивает?
avatar
топики оставлять. ну и комменты тоже.
avatar
«Вечный бан» вам в помощь! :)
avatar
Можно проверять карму блогов\топиков\комментов и, если карма в минусах, то все беспощадно удалять, а если же в плюсе, то, естественно, оставлять на память потомкам =)
Хотя топики можно не удалять, даже если они в минусе, ибо не всегда адекватно минусуют. Например, их можно запихивать в спец. блог «Корзина», который не отображается ни на главной, ни в новом, ни в плохом, ни в профилях подписчиков… вобщем нигде не отображается =)
avatar
AddHook('init_action', 'CheckUserForBan', __CLASS__); } public function CheckUserForBan($aVars) { if (isset($_REQUEST['submit_login']) && isset($_REQUEST['login'])) { $oUser=$this->Admin_getUserByLogin($_REQUEST['login']); if ($oUser && $oUser->isBanned()) { $this->User_Authorization($oUser, false); func_header_location(DIR_WEB_ROOT.'/admin/banned/'.$_REQUEST['login']); } } } } ?>
Fatal error: Class 'HookAdmin' not found in C:\wamp\www\classes\engine\Engine.class.php on line 154

А как вот с этим быть? Вылазит после установки на любой страницt сайта, переустановка (руками и автоматом) не помогает. После удаления админки вручную все работает.

P.S. Версия админки — 0.21, LiveStreet — 0.3.1
avatar
Хм, а с этим что-то совсем непонятно. Если и руками пробовал разложить по папкам…
Можно, конечно, попробовать убить файл HookAdmin.class.php в папке \classes\hooks\. Тогда админка работать должна, только юзеры при логине на бан проверяться не будут.

А вообще странно, что у тебя на экран код скрипта вылезает. Ты руками ничего в тексте скрипта не правил?
avatar
Удалось победить. Корень проблемы не ясен правда. Решилось тем что в каждый php файлик админки вместо
<?
написал
<?php
avatar
настройки хостинга и апача суть проблемы )))
avatar
Точнее — в настройках пхп (не принимает короткой нотации <? вместо <?php). Я уж как-то отвык писать пхп-тег целиком, но учту в следующих версиях.
avatar
Хостинг свой, с ним все ок, проверно. А вот апач да, апач я видимо кривенько настроил
avatar
В php.ini такая хрень позволяет использовать короткий открывающий пхп-тег:
short_open_tag = On
avatar
О! Надо запомнить, спасибо!
avatar
Лучше сразу писать <?php, так как это очень помогает в плане совместимости. Сам с таким столкнулись…
avatar
avadim — очень хотелось бы ;) иметь функцию в новой админке! «удаления юзера из прямого эфира, ну что бы его блог не отображался в прямом эфире. Далее хотелось бы, иметь возможность банить не только юзера, но и отдельный блог! Далее хотело бы иметь возможность, разрешать доступ в админ панель оределённым юзерам на уровне модераторов)))
avatar
первые два пункта — абсолютный бред… или я ничего не понимаю
avatar
думаю это не бред, это просто персональная необходимость alenka92
avatar
Почему бред? Если пользователь хороший человек, но как блогер дурак! Нужно ведь его как то ставить на место! ;)

А по поводу блога, вдруг пользователь хороший человек, но начал нести негатив на других пользователей, и его можно остановить только забанив его блог! а не его! ) как бы придупредительный знак!
avatar
alenka92, а это не слишком витиевато?
Если юзер начал нести негатив на других совершенно не по делу, то он уже не очень хороший человек. И если не он понимает предупреждений (публичных или в личке), не понимает реакции других юзеров (его же минусовать начнут, если народ на ресурсе адекватный), то админ может отправить его в баню. На какой срок и как часто это может повторяться — это уже от политики ресурса зависит. Чаще всего отрезвляет краткосрочный бан, если нет — бай-бай беби.

Вывод комментов/топиков в эфир — тут, наверное, лучше с блоком «Прямого эфира» поработать: выдавать только положительные или еще как-то.

А вот доступ в админку модераторов — в этом есть здравое зерно. Только одной админкой тут не отделаешься, тут, пожалуй, нужна развитая редактируемая система ролей.
avatar
А если человек начнёт гнать на правительство? все его заплюсуют, поддержат, но мне зачем эти все последствия? поэтому функионал должен такой быть!!! ведь мы же тут функционал делаем! )
avatar
правительство в социальных сетях должно быть глубоко тайным и не выдавать себя вообще никак… иначе рано или поздно на него начнут гнать. мне кажется правильнее сделать не тематические блоги. которые не будут попадать на главную\ не будут попадать в прямой эфир\ не будут влиять на рейтинг
avatar
Аленка, описанная ситуация лежит исключительно в административной, а не в технической плоскости. Если правила ресурса позволяют гнать на правительство — человек волен это делать сколько угодно. Если это не вписывается в Вашу концепцию, как создателя и админа, или нарушает объявленные правила — Вы вольны наказать нарушителя как угодно. Вот представьте: если мы сейчас с Вами начнем политические разборки, или порнуху обсуждать начнем, или советами по кардингу делиться, и все это так смачно, с матюгами и гоном — долго здешний хозяин терпеть нас будет? Думаю, вряд ли. Скорее всего, особо церемонится не станет и примет кардинальные административные меры, а не станет стыдливо топики похабные куда-то прятать.

Тут у кого-то мысль пробегала, что модерации быть не должно в принципе. Чушь! В разумных пределах она должна быть везде. Другое дело, что при грамотной организации ее почти не видно. И, если разобраться, то система с рейтингами/голосами/кармой и проч. — это тоже модерация, только поставленная на автомат.
avatar
в текущей версии выходит, что если пользователь залогинен, но забанен через админку, то бан заработает только когда кукисы высохнут… :(
avatar
контроль на бан проверяется только когда юзер логинится.
технически делать эту проверку при каждом чихе — не проблема. но, боюсь, это слишком сильно на нагрузке скажется
avatar
а при нажатии кнопку «забанить» нельзя ли сессию нагнуть? =)
avatar
Если сессия цепляется за куки, которые на компе юзера храняться, то как вы себе это представляете?
avatar
никак. я не программист :-( поэтому предыдущий коммент именно в форме вопроса…
avatar
Хотя… надо подумать…
avatar
из раздела админки «темы» не получается активировать другую тему. после подтверждения копирования файлов, нажимаю кнопку активировать — ничего не происходит. Как исправить? П.с. поиск аналогичного вопроса не дал ответа.
avatar
дата топика 25 мая 2009, поищите ветку с последней версией админ панели
avatar
заблудилась… :(
avatar
давайте ссылочку на сайт, будем смотреть. Или постучитесь ко мне в ICQ — помогу.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.