Jump to content

Leaderboard


Popular Content

Showing content with the highest reputation since 03/04/19 in all areas

  1. 2 points
    Dmitriy427

    Создание плагина

    Человеку, похоже, хочется вставить в шаблон готовый спагетти-код и совершенно не хочется заморачиваться с ООП, и разделением логики и представления. Вобщем-то, логично будет посоветовать подойти к вопросу кардинально и пересмотреть свой выбор движка. Например в тройке инклюды в шаблон возможны. Кстати, многие разработчики, используя возможности класса ips_plugins_setup_install, даже не подозревают о возможности, а часто и необходимости удаления созданных с его помощью ресурсов (файлов, таблиц, полей, строк...), при деинсталяции плагина. Я и сам далеко не сразу узнал о файле uninstall.php создаваемом в корневой папке плагина.
  2. 1 point
    Respected

    Invision Community 4.4 Nulled

    Просмотр файла Invision Community 4.4 Nulled Новая версия Invision Community - 4.4. Русский язык для Invision Community 4.4 Добавил Respected Добавлено 29.01.2019 Категория Скачать Invision Community 4  
  3. 1 point
    Перевод не соответствует версии или установлен плагин для модификации формата времени.
  4. 1 point
    Ryo

    Oblivion

    Version 1.6

    74 downloads

    Светлая тема для 4.4

    Free

  5. 1 point
    Ryo

    Send Email in Profile

    Version 1.0.1

    22 downloads

    Позволяет пользователям из определенных групп отправлять e-mail сообщения другим пользователям прямо из их профилей.

    Free

  6. 1 point
    http://php.net/manual/ru/function.json-decode.php
  7. 1 point
    Скопировать файл авторизации гугла из версии 4.4 /system/Login/Handler/OAuth2/Google.php Просто заменой в консоли гугла работать не будет, там другой апи.
  8. 1 point
    В Windows у Libre Office есть модуль для COM. https://ru.wikipedia.org/wiki/Component_Object_Model В кратце это значит что можно было читать/писать любой офисный файл чуть ли не из командной строки Windows. XLS файлами можно было управлять почти из любой программы в котрой есть VBA. Маткад, Автокад итп. Возможно эта штука в современном мире реализована и для Линукса. Было бы на много проще получать данные методом типа Application.Document.GetCell("A1"), а не парсингом тесктового файла.
  9. 1 point
    siv1987

    Создание плагина

    Для гостей кешируется шаблон на небольшой срок. Пару секунд абсолютно не критично и, если не ошибаюсь это время можно настроить. Инклуды это дичь, и не знаю чем это спасет ситуацю, но если так сильно хочеться можете попробовать всунуть ваш код в файле хука, отдельно от класса.
  10. 1 point
    WaNted

    Создание плагина

    dev/setup/install.php можете там намудрить с созданием своего php-файла. Чтобы во время установки создавался файл с нужным содержимым.
  11. 1 point
    WaNted

    Создание плагина

    Я думаю если вы выводите какие-либо статьи, 30 секунд или минута тут не критично.
  12. 1 point
    siv1987

    Member verification

    Прямые руки нынче на вес золота.
  13. 1 point
    WaNted

    Создание плагина

    Зачем?
  14. 1 point
    В таблице nexus_purchases найдите связанную покупку с ключом и посмотрите есть ли там значение ps_expire отличное от 0.
  15. 1 point
    Значение expire в самой строке хоть есть? Потому что в противном случае вернется NULL.
  16. 1 point
    Вы можете нормально описать что в итоге Вам нужно? Зачем Вы трогаете запрос который относится к \IPS\nexus\Purchase::tree()? Покажите весь Ваш код (именно Ваш, а не весь класс целиком). Если все Ваши изменения находятся в классе IPS\nexus\Purchase\LicenseKey, то не нужно посылать никакие запросы, информация о покупке текущего ключа находится в переменной $this->purchase. Нужное Вам значение (ps_expire - ps_start) можно получить так: $this->purchase->expire - $this->purchase->start.
  17. 1 point
    Respected

    Invision Community 4.4 Nulled

    Прогресс требует изменений. Добавлена nulled версия Invision Community 4.4.0
  18. 1 point
    Добавлена поддержка клубов. По хорошему нужно сделать в виде модального окна кнопку в редакторе для вставки скрытого текста, но на это у меня времени нету. Вы ее и сами можете сделать, она будет как расширение для редактора, а я ее внедрю в дистрибутив плагина.
  19. 1 point
    Daniil145

    Uniform 4.2

    Uniform_43_ipsfocus 4.3.6+.zip.zip Uniform_43_ipsfocus 4.3.6+.zip.zip
  20. 1 point
    Всем привет народ, я тут новенький. Почитав тему решил немного дополнить, точнее раскрыть свою тему. Почему тут конфиги для Nginx а не для apache расскажу под спойлером в истории. Рекомендую прочесть, чтобы понять что к чему. и вот немного отступления. История... Рассуждая что лучше Апач или Нджинкс вычитал. Но мне попалась хорошая статься сравнений этих демонов https://habr.com/post/267721/ И было принято решение полностью отказаться от apache. Сделав резервную копию базы и сайта /var/www/html Я поставил систему с нуля, и запустил на нём Nginx. Так же подключил php и mysql. И тут началось самое интересное. Настройки После того как Nginx запущен и сделаны первоначальные настройки(они расписаны в любой статье), он никак не может распознать php. В интернете полно статей о том как настроить конфиг. location ~ \.php$ { try_files $uri =404; include /etc/nginx/fastcgi.conf; fastcgi_pass unix:/run/php/php7.0-fpm.sock; } Данный код подключает php, но в следствии за ним ещё куча настроек, таких как время ожидания, Максимальный размер файла и прочих. Благо на ownCloud есть уже готовый пример, правда пришлось немного его править. В итоге получил полностью рабочий конфиг который хранится в /etc/nginx/sites-avalible/default server { listen 80; server_name _; error_page 404 /custom_404.html; location = /custom_404.html { root /usr/share/nginx/html; internal; } root /var/www/html; access_log /var/log/nginx/ng.access.log; error_log /var/log/nginx/ng.error.log; index index.php index.html index.htm; error_page 403 /core/templates/403.php; error_page 404 /core/templates/404.php; client_max_body_size 100M; # set max upload size fastcgi_buffers 64 4K; rewrite ^/caldav(.*)$ /remote.php/caldav$1 redirect; rewrite ^/carddav(.*)$ /remote.php/carddav$1 redirect; rewrite ^/webdav(.*)$ /remote.php/webdav$1 redirect; location / { # The following 2 rules are only needed with webfinger rewrite ^/.well-known/host-meta /public.php?service=host-meta last; rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json last; rewrite ^/.well-known/carddav /remote.php/carddav/ redirect; rewrite ^/.well-known/caldav /remote.php/caldav/ redirect; rewrite ^(/core/doc/[^\/]+/)$ $1/index.html; try_files $uri $uri/ index.php; } location ~ ^(.+?\.php)(/.*)?$ { try_files $1 =404; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$1; fastcgi_param PATH_INFO $2; fastcgi_keep_conn on; fastcgi_pass unix:/var/run/php/php7.0-fpm.sock; } } Теперь всё работает, и время распаковать ранее сохраненные бэкапы. После того как я всё вернул на круги своя, сменив апач на нджикс, я решил оставить все как есть, проверить будет ли дос атака. И спустя время дос опять начался. Ну раз я уже начитан, и знаю что дальше делать, я принялся менять конфиги и защищать себя от доса по геопризнаку. Мне известно, что все наши клиенты из России, так же по логам я видел, что злоумышленник не просто караулит меня, а делает это с изыском. С помощью API сайта https://proxycheck.io/ гореть им в аду за это, я понимал, что клиентам из других стран нечего делать в нашем облаке. А посему было принято решение на уровне демона определять страну и отсылать уже в выше упомянутою страну ПОПЕНГАГЕН. Первым делом, вооружившись гайдам, я скачать от сюда http://www.maxmind.com/app/geolitecountry latest GeoLite Country Binary Format (это бесплатный вариант базы стран и соответствующих им блоков IP адресов). Распаковываем архив и кидаем файл GeIP.dat в папку /usr/local/etc/nginx/conf/geo если такой папки нет, создайте её или их. Далее нужно отредактировать файл /etc/nginx/nginx.conf секцию http в любом месте секции, вписываем geoip_country /usr/local/etc/nginx/conf/geo/GeoIP.dat; # подключаем GeIP базу map $geoip_country_code $bad_country { # модуль map создает переменные, значения которых зависят от других переменных, очень полезная штука default 1; # значение по умолчанию include /usr/local/etc/nginx/conf/geo/good_countries; # инклудим файл, его нужно будет создать чуть позже } Этот блок map, означает, что все страны находящиеся в базе данных, являются запрещенными по умолчанию, а в файле good_countries, будут перечислены разрешенные страны. Теперь в файл настроек (мой это ) /etc/nginx/sites-avalible/default вписываем после server { listen IP:80; server_name testhost.com; вот этот код if ($bad_country){ # если данная переменная установлена, то есть если страна не перечислена в файле good_countries return 444; # выдаем клиенту пустой ответ ( незачем отдавать 403 ошибку или еще какую-либо ) } Теперь создадим "тот файл", если хотяб краем глазом смотрели что вписываете, то увидели подключаемый файл good_countries. Создаем его в директории /usr/local/etc/nginx/conf/geo/ И вписываем значения UZ 0; RU 0; То есть тем самым разрешая вход на ваш сервер Узбекам и Русским. Ограничивать, точнее разрешать можно кому угодно, страны по двум буквам можно найти в гугле. После того как все сделали, просто перезагружаем демон nginx. Ну и собсно проверяем, зайдём через какой-нибудь веб прокси. И о чудо! действительно! Всё работает как надо. И теперь спустя уже почти 2 месяца, тормозов замечено небыло. Всё работает как часы, тьфу тьфу тьфу.
  21. 1 point
    Ryo

    Uniform 4.2

    Uniform: Background picker // ipsfocus 4.3.3+ What's New in Version 4.3.3+ Minor HTML change for 4.3.3. Subforum columns should now align better Long subforum names are truncated The default font has been changed to the system font New css variables allow for easier modifications Uniform_43_ipsfocus 4.3.3+.zip
  22. 1 point
    Zero108

    Редактор

    В custom.css добавляете: .ipsComposeArea_dummy, .cke textarea.cke_source, .cke .cke_wysiwyg_frame, .cke .cke_wysiwyg_div, .cke .cke_inner { background: #000 !important; } .cke .cke_top { background: #000 !important; } .cke_reset_all, .cke_reset_all *, .cke_reset_all a, .cke_reset_all textarea { margin: 0; padding: 0; border: 0; background: transparent; text-decoration: none; width: auto; height: auto; vertical-align: baseline; box-sizing: content-box; position: static; transition: none; border-collapse: collapse; font: normal normal normal 12px Arial,Helvetica,Tahoma,Verdana,Sans-Serif; color: #fff !important; text-align: left; white-space: nowrap; cursor: auto; float: none; } .ipsComposeArea_editor, .ipsComposeArea_unavailable .ipsComposeArea_editor, [data-role="attachmentArea"] { background: #000 !important; } Самому нетрудно научиться в любом браузере, к примеру, на хромиуме: Решение неполное. Приведено как пример.
  23. 1 point
    Этот плагин добавит счётчик скачиваний в темах для прикреплённых файлов и изображений. (NB42) Attachment Hits Counter v1.0.8.xml (NB42) Attachment Hits Counter v1.0.8.xml
  24. 1 point
    Quzask

    (NB40) Secondary Group Icons 1.0.6

    Как вывести название второстепенных имен групп, а не иконок? Обращался к инструкции от разработчика плагина на форуме ips, но ничего не вышло. Edit 2 templates: - For profiles. core - global - plugins - nbSecGroupIconsProfile Find <img src='{file="$icon" extension="core_Theme"}' alt=''> Change to {expression="\IPS\Member\Group::load( $grOther )->name"} - For posts. core - global - plugins - nbSecGroupIconsPost Find <img src='{file="$icon" extension="core_Theme"}' alt='' class='cAuthorGroupIcon'> Change to {expression="\IPS\Member\Group::load( $grOther )->name"} If you want display formatted group names use {expression="\IPS\Member\Group::load( $grOther )->formattedName" raw="true"} instead of {expression="\IPS\Member\Group::load( $grOther )->name"}
  25. 1 point
    Silence

    Member Reputation in Userbar

    новая версия 1.0.4 Исправлены некоторые проблемы с ссылкой на репутации участника Member_Reputation_in_Userbar_1.0.4.zip
×