Перейти к содержанию

BlackShot

Пользователи
  • Постов

    254
  • Зарегистрирован

  • Посещение

  • Победитель дней

    1

Активность репутации

  1. Лайк
    BlackShot отреагировална пост Zero108 в Videos   
    Открыть файл /applications/videos/hooks/groupSource.php и добавить новый метод:
    /**  * [ActiveRecord] Duplicate  *  * @return    void  */ public function __clone() {     try     {         $ourData = array();         foreach ( $this->_data AS $k => $v )         {             if ( mb_substr( $k, 0, 5 ) === 'g_vs_' )             {                 $ourData[ $k ] = $v;                 unset( $this->_data[ $k ] );             }         }         unset( $this->_data['group_id'] );         parent::__clone();         \IPS\Db::i()->insert( 'videos_groups', array_merge( array( 'group_id' => $this->g_id ), $ourData ) );     }     catch ( \RuntimeException $e )     {         if ( method_exists( get_parent_class(), __FUNCTION__ ) )         {             return \call_user_func_array( 'parent::' . __FUNCTION__, \func_get_args() );         }         else         {             throw $e;         }     } }  
    BlackShot 
    groupSource.php
  2. Лайк
    BlackShot получил реакцию от aLEX49566 в Invision Community Nulled   
    Могу ли я использовать эти файлы, если я использую английскую версию с другого веб-сайта?
  3. Лайк
    BlackShot отреагировална пост WaNted в Как разрешить одинаковые имена пользователей?   
    В целом это можно сделать. Но нужно предусмотреть взаимодействия с именем в движке. К примеру поле \IPS\Helpers\Form\Member получает пользователей по имени, и если выбрать пользователя с именем, которое уже существует, он сохранит первого попавшего пользователя с таким именем в БД, а не нужного нам. Авторизацию отключить по имени, а оставить только по email и пр. По хорошему тут нужно писать плагин.
  4. Лайк
    BlackShot отреагировална пост Xontero в Как разрешить одинаковые имена пользователей?   
    Логически, если два пользователя используют одинаковое имя пользователя, возникнут проблемы при попытке входа в систему. Это обычно предотвращается в системах управления пользователями, чтобы каждый пользователь имел уникальное имя пользователя.
    Распространенным способом избежать конфликтов в именах пользователей является использование уникального идентификатора пользователя. В этом случае каждому пользователю присваивается уникальный идентификатор, который может быть числовым или строковым. Идентификатор пользователя используется в качестве уникального критерия для идентификации каждого пользователя, и имя пользователя может быть повторяющимся.
    Например, в системе регистрации пользователей пользователи могут выбирать свои имена пользователей, но система должна иметь механизм, чтобы убедиться, что ни один человек не выберет одно и то же имя пользователя. Обычно это делается с использованием базы данных и поиска по предыдущим именам пользователей.
     
    Мой подход: Вы должны разорвать связь между полем имени пользователя и базой данных, чтобы не выполнять никаких проверок и позволить пользователям выбирать повторяющиеся имена. Затем вы обязательно должны настроить способ входа с использованием электронной почты, так как в противном случае система не сможет определить профиль.
     
    В профессиональных системах управления пользователями лучшим подходом для предотвращения конфликтов в именах пользователей является использование уникального идентификатора для каждого пользователя, такого как идентификатор пользователя.
    Метод, который вы описали, может привести к проблемам с безопасностью и ненадежностью системы. С точки зрения безопасности, отключение связи поля имени пользователя с базой данных может создать уязвимости в системе, так как имя пользователя должно быть уникальным, чтобы определить личность каждого пользователя и предотвратить несанкционированный доступ к учетным записям. Также связывание способа входа в систему с электронной почтой может вызвать другие проблемы, поскольку электронная почта не может быть сама по себе надежным и уникальным идентификатором для каждого пользователя.
  5. Смутило
    BlackShot получил реакцию от Xontero в Как разрешить одинаковые имена пользователей?   
    Привет,
    Я требую, чтобы все мои пользователи регистрировались под своим полным именем. Однако в моей стране есть несколько распространенных имен. Это может стать проблемой в будущем.
    Я хотел бы разрешить дублирование имен пользователей на своих форумах. Как мне это сделать?
  6. Лайк
    BlackShot отреагировална пост Exception в Backdoor для смены пароля пользователя\администратора в Invision Power   
    Бывают ситуации когда забыл пароль от ACP форума, или банально ввел символ случайно и тебе не дает залогиниться, но при этом есть доступ к FTP или Панели Управления веб сервером.
    В следующем коде используются функции для смены пароля предоставляемые самим ips.

    Перед началом важно:
    Вы не должны хранить этот файл у себя на сервере! Оставляя этот файл у себя на сервере, ВЫ подвергаете свое сообщество КРИТИЧЕСКОЙ опасности После смены пароля НЕМЕДЛЕННО удалите файл с сервера и смените пароль через ACP Что нужно сделать для смены пароля:
    Создаем файл с нужным названием и расширением .php
    Например: backdoor.php Открываем файл и вставляем в него код (ПРЕДОСТАВЛЕН В САМОМ КОНЦЕ СООБЩЕНИЯ) Сохраняем файл Загружаем созданный файл (например через FTP или менеджер файлов Панели Управления Веб сервером) в корневую директорию форума (там где у вас находится файл init.php) В адресной строке набираем:
    https://название_сайта.com/название_файла.php?id=ид_пользователя&pass=новый_пароль
    Например: https://site.com/backdoor.php?id=1&pass=123
    Где взять ид_пользователя? Например перейти в профиль пользователя на форуме, в адресной строке будет например: https://site.com/profile/1-admin/ (Где 1 - это ид_пользователя) Переходим Если все прошло успешно вы увидите примерно следующую надпись:
    Password for user [ member_id: 1 member_name: ADMIN ] changed! Код:
    <?php require_once 'init.php'; if ( \IPS\Request::i()->id AND \IPS\Request::i()->pass ) { try { $id = intval( \IPS\Request::i()->id ); $newPass = \IPS\Request::i()->pass; $member = \IPS\Member::load( $id ); $changed = $member->changePassword( $newPass ); if ( !$changed and \IPS\Login\Handler::findMethod( 'IPS\Login\Handler\Standard' ) ) { $member->setLocalPassword( $newPass ); $member->save(); } $member->invalidateSessionsAndLogins( TRUE, \IPS\Session::i()->id ); $message = 'Password for user: [ member_id: ' . $id . ' member_name: ' . $member->name . ' ] changed!'; } catch ( \OutOfRangeException $e ) { $message = 'Failed to load user!'; } } else { $message = 'No data'; } echo $message; exit;  
  7. Лайк
    BlackShot отреагировална пост MrHaim в Verification Badge for Staff // Значок подтверждения для персонала   
    This tutorial will show you a verification badge for staff. Let's begin.

    In order to make it:

    1) Go to /applications/core/modules/front/members/profile.php in your file manager.

    2) Add the code under:
    public function execute() { /* Load Member */ $this->member = \IPS\Member::load( \IPS\Request::i()->id );  
    if ($this->member->inGroup(4,6)) { $this->member->name = $this->member->name . " ?"; } Basically, this code is checking if the visited profile's group is 4 or 6 (For me, 4 = Administrator, 6 = Moderators) and if it's, it's adding a verification symbol next to username.

    Hope that worked.
    Russian
    В этом руководстве вы увидите значок проверки для сотрудников. Давай начнем.

    Чтобы сделать это:
    1) Перейдите в /applications/core/modules/front/members/profile.php в вашем файловом менеджере.
    2) Добавьте код под:
    public function execute() { /* Load Member */ $this->member = \IPS\Member::load( \IPS\Request::i()->id );  
    if ($this->member->inGroup(4,6)) { $this->member->name = $this->member->name . " ?"; }  
    По сути, этот код проверяет, является ли группа посещаемого профиля 4 или 6 (для меня 4 = администратор, 6 = модераторы), и если это так, он добавляет символ подтверждения рядом с именем пользователя.
    Надеюсь, это сработало.
    Credit to Yondu
  8. Лайк
    BlackShot отреагировална пост Zero108 в Блок "Последние посетители" 4.6.5   
    После переезда и переноса файлов, мне помогли следующие настройки:
    Все папки 775, кроме папок ниже. Выполнить по ssh команду в директории сайта: find ./ -type d|xargs chmod 775
    Для папок applications, datastore, plugins, uploads и всех папок в папке uploads - 777.
    Права на файлы /uploads/template_* - 666.
    Права на /applications/core/interface/task/task.php - 775, если включен cron и система сообщает, что не хватает прав.
    Права на /plugins/hooks.php - 777
    Права на папку /screenshots - 775
    Согласно мануалу https://invisioncommunity.com/4guides/advanced-options/configuration-options/controlling-file-and-folder-permissions-r279/, в файл /constants.php добавить внизу:
    /* Folders that will be written to later */
    define( 'IPS_FOLDER_PERMISSION', 0777 );
    /* Folders that will be created and not written to later */
    define( 'FOLDER_PERMISSION_NO_WRITE', 0755 );
    /* Files that will be written, and then later deleted or overwritten */
    define( 'IPS_FILE_PERMISSION', 0666 );
    /* Files that will be written once, and would not later be updated or deleted */
    define( 'FILE_PERMISSION_NO_WRITE', 0644 );
    Насколько я понял, проблема решена. Возможно, функционал у разных плагинов разный. Если оба сайта имеют одинаковые файлы и одинаковое серверное окружение (работают на одной версии пхп с одинаковыми модулями пхп), то нужен более глубокий анализ, который невозможно сделать бесплатно и удаленно. Рекомендую настроить крон и Redis. 
  9. Лайк
    BlackShot отреагировална пост bsnet в (SIV) Seo Транслитерация URL 2.0.1   
    Разобрался, вместо пробелов между словами надо минус прописывать 🙂
  10. Лайк
    BlackShot отреагировална пост napolion в Videos   
    Please update Videos v3.5.4
  11. Печаль
    BlackShot отреагировална пост by_ix в Auto Follow Content   
    @BlackShotне проверял его, сейчас не знаю. 
  12. Лайк
    BlackShot отреагировална пост by_ix в Download React   
    @MrHaim его там нет, плагин только тут. попросите автора исправить, если плагин действительно не работает. @BlackShot
  13. Лайк
    BlackShot отреагировална пост accop в Вторичное групповое форматирование   
    BlackShot Смотри. Это мой код "userLink".
    На последней строке я добавил в ссылку класс:
    {{if $anonymous}} {lang="post_anonymously_placename"}{{else}} {{$groupFormatting = ( $groupFormatting === NULL ) ? ( ( \IPS\Settings::i()->group_formatting == 'global' ) ? TRUE : FALSE ) : $groupFormatting;}} {{if $member->member_id AND \IPS\Member::loggedIn()->canAccessModule( \IPS\Application\Module::get( 'core', 'members', 'front' ) ) }}<a class='colorFor{$member->member_group_id}{{$test = implode("", explode(",", $member->mgroup_others));}}{$test}' href='{{if $warningRef}}{$member->url()->setQueryString( 'wr', $warningRef )}{{else}}{$member->url()}{{endif}}' data-ipsHover data-ipsHover-width='370' data-ipsHover-target='{$member->url()->setQueryString( array( 'do' => 'hovercard', 'wr' => $warningRef, 'referrer' => urlencode( \IPS\Request::i()->url() ) ) )}' title="{lang="view_user_profile" sprintf="$member->name"}" class="ipsType_break">{{if $groupFormatting && $member->group['prefix']}}{$member->group['prefix']|raw}{{endif}}{$member->name}{{if $groupFormatting && $member->group['suffix']}}{$member->group['suffix']|raw}{{endif}}</a>{{else}}{{if $groupFormatting && $member->group['prefix']}}{$member->group['prefix']|raw}{{endif}}{$member->name}{{if $groupFormatting && $member->group['suffix']}}{$member->group['suffix']|raw}{{endif}}{{endif}}{{endif}} Было:
    ... <a href=' ... Добавил класс:
    ... <a class='colorFor{$member->member_group_id}{{$test = implode("", explode(",", $member->mgroup_others));}}{$test}' href=' ... Получается у тебя есть класс для каждой группы и для связки основной группы и дополнительной
    если у пользователя только группа администратор (id 4) будет класс = colorFor4
    если есть дополнительная группа, будет colorFor43 или colorFor42
    Все последующие  группы будут добавляться цифрами к этому классу colorFor376
    Потом просто добавляешь CSS в custom.css
    .colorFor376{ color: red!important; } и так добавляешь стили для каждой уникальной связке групп
  14. Лайк
    BlackShot получил реакцию от Donjuan в Отправить письмо для предупреждений и банов   
    Спасибо! Я забыл, что могу установить правила для этого. 😄
  15. Лайк
    BlackShot получил реакцию от Exception в Лучший помощник сайта 2022   
    @by_ix @Desti and @Exception
    They've all helped a lot (and still do) with coding, plugins, and debugging errors. 🥇
  16. Лайк
    BlackShot отреагировална пост Donjuan в Отправить письмо для предупреждений и банов   
    У меня это реализовано через 
     
    Еще при помощи правил реализовал перевод в группу забаненых, когда получают 10 предупреждений
  17. Лайк
    BlackShot отреагировална пост Desti в Лучший помощник сайта 2022   
    Не, я не могу быть лучшим, т.к. почти не помогаю конкретными решениями (кроме исправления ошибок), совершенно не разбираюсь в современных молодежных трендах и технологиях, не отвечаю на вопросы тех, кто ищет готовый ответ, могу просто исчезнуть на долгий срок (семья, работа, лень), пишу код для своих нужд и  иногда делюсь им, если просят.
    Думаю, через пару страниц обсуждения тут будут перечислены все активные участники, но однозначного ответа на вопрос топика мы не получим. Возможно более правильным было бы голосование.
    Мое мнение - by_ix, но это мнение однобоко и основано исключительно на том, что человеку интересно совершенствоваться как программисту. 
  18. Лайк
    BlackShot получил реакцию от by_ix в Лучший помощник сайта 2022   
    @by_ix @Desti and @Exception
    They've all helped a lot (and still do) with coding, plugins, and debugging errors. 🥇
  19. Лайк
    BlackShot получил реакцию от SlawkA в Лучший помощник сайта 2022   
    @by_ix @Desti and @Exception
    They've all helped a lot (and still do) with coding, plugins, and debugging errors. 🥇
  20. Лайк
    BlackShot отреагировална пост SlawkA в Лучший помощник сайта 2022   
    Всем привет форумчане.
    Решил создать тему о тех кто помогает на сайте Вам.
    Которые тратят свое время что бы помочь Вам.
    Пишем либо ник либо через @ указываем ник или ники Пользователей если вы считаете что они лучшие помощники на сайте.
    Этот топик разрешен Админом @Respected
    Здесь только голосование.
    Другие обсуждения не по теме не рекомендую.
    Пример:
    @SlawkA такой блин помощник ну просто помог там и там с чем то.  
    Всем удачи и спасибо если поддержите эту тему.
  21. Лайк
    BlackShot отреагировална пост by_ix в Upload a file before downloading   
    ты можешь свой плагин изменить. переписав проверку с реакций на загрузки. 
  22. Лайк
    BlackShot отреагировална пост HooLIGUN в сброс админского пароля через бэкэнд   
    Думаю достаточно будет просто создать нового юзера, и у него взять хеш из бд
  23. Лайк
    BlackShot отреагировална пост Exception в сброс админского пароля через бэкэнд   
    устанавливаешь на локалке или тестовом домене ips, далее из бд нового ips копируешь hash пароль в нужную бд админу
  24. Лайк
    BlackShot получил реакцию от saiko в Download React   
    Просмотр файла Download React
    Simply creates a download restriction. Users have to react to files before being able to download them.
    Fixed download bypassing (caused by IPS code).
    ---
    Thanks to @by_ix for helping with the base code!
    Добавил BlackShot Добавлено 02/13/22 Категория Интерфейс Язык English  
  25. Лайк
    BlackShot получил реакцию от Donjuan в Загрузки и файлы   
    Не поделитесь решением?
×
×
  • Создать...