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

alexis

Актив
  • Постов

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

  • Посещение

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

    24

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

  1. Лайк
    alexis отреагировал в aLEX49566 за запись, Группа "Неактивировоннные" с автопереводом в "Пользователи"   
    По умолчанию в ips4x нет группы "Неактивированные", иными словами, когда юзер регистрируется, ему присваивается сразу группа "Пользователь" даже если он не подтвердил свой Email - это не совсем правильно и многим хотелось бы исправить.
    Ниже будет описан мой способ, как я реализовал группу "Неактивированные" с последующим авто-переводом благодаря правилам для приложения Rules, в группу "Пользователь" после подтверждения своей почты.
     
    1.1 Первое, что нужно сделать, это создать группу "Пользователь". Самое простое - скопировать эту группу со всеми правами и настройками (в эту группу будут перекидывать правила после подтверждения почты пользователями).
     
    1.2. Дальше, потребуется поставить приложение Rules (у меня версия Rules 1.4.6 - исправленная под ips4.6 @Exception и предоставленное @Donjuan, за что им спасибо) и импортировать правило на валидацию (перевод после подтверждения email-адреса)
     
    1.3. Настройте импортированное правило согласно своей группе:
     
    1.4. Ставим группу, в которую будет переводить правило подтвержденных пользователей (у меня это группа "Пользователь"):
     
    1.5. Правила готовы, но пока лучше их выключить и доделать последние настройки:
     
    1.6. Поскольку мы создали (скопировали) группу "Пользователь", у нас осталась изначальная - первая группа, в которую сейчас пока еще регистрируются ВСЕ, даже неподтвержденные юзеры, вот именно первую группу, с которой мы копировали и будем переименовывать в "Неактивированные", что бы в нее по умолчанию бросало тех, кто не подтвердил свой email-адрес. Само собой, ее нужно отредактировать так, что бы участники данной группы не имели доступа к сайту. Расписывать настройки данной группы думаю нет смысла, каждый сам решит, как ему ее настроить, главное, не запрещайте полный доступ к сайту и если хотите, чтобы отображались кнопки "Зарегистрироваться" и "Войти" то тогда нужно оставить в настройках отмеченными раздел "Ответы в темах".
     
    1.7. Переносим ваших Пользователей в новую группу, иначе они останутся в группе "Неактивированные":
     
    | Включаем правила из пункта 1.5 и тестируем все новые настройки.
     
    2.1. Данный способ убирает необходимость редактировать конфиг и менять id групп в conf_global.php
    2.2. Не ломает автоудаление "Неактивированных" пользователей
     
    2.3 Если у вас есть другой способ, более верный или более короткий - пишите, будет думаю многим интересно, мне в том числе
    Rules 1.4.6(fix).tar activation.xml

  2. Лайк
    alexis отреагировал в SlawkA за запись, Добавление бейджей пользователя в postContainer   
    Войдите в ACP, перейдите в Темы - Ваша Тема - postContainer
    Найдите этот код:
    {{if $comment->author()->member_id}} {template="customFieldsDisplay" group="global" app="core" params="$comment->author()"} {{endif}}  
    Над ним добавить:
    {{if \IPS\core\Achievements\Badge::show() AND \IPS\core\Achievements\Badge::getStore()}} {{if \count( $comment->author()->recentBadges($badgecount) )}} <li class="ipsType_break"> <div class="ipsResponsive_showDesktop ipsResponsive_block"> <ul class="ipsType_center ipsList_inline ipsList_csv ipsList_noSpacing" style="margin-top: 21px;"> {{foreach $comment->author()->recentBadges(3) as $badge}} <div class="ipc_badges"> {$badge->html( 'ipsDimension ipc_badges_size', TRUE, FALSE )|raw} </div> {{endforeach}} </ul> </div> </li> {{endif}} {{endif}}  
    Затем добавьте в custom.css:
    .ipc_badges {display: inline-block;padding: 5px 3px;} .ipc_badges_size {width: 30px;height: 43px;}  
    Если вы хотите добавить кнопку для просмотра всех значков пользователя:
    {{if \IPS\core\Achievements\Badge::show() AND \IPS\core\Achievements\Badge::getStore()}} {{if \count( $comment->author()->recentBadges($badgecount) )}} <li class="ipsType_break"> <div class="ipsResponsive_showDesktop ipsResponsive_block"> <ul class="ipsType_center ipsList_inline ipsList_csv ipsList_noSpacing" style="margin-top: 21px;"> {{foreach $comment->author()->recentBadges(3) as $badge}} <div class="ipc_badges"> {$badge->html( 'ipsDimension ipc_badges_size', TRUE, FALSE )|raw} </div> {{endforeach}} </ul> </div> </li> <a id="authorBadges" href="{$comment->author()->url()}/badges/" data-ipsdialog="" data-ipsdialog-size="medium">{$comment->author()->name}'s badges</a> {{endif}} {{endif}}  
    Результат:

     
    Дополнительно:
    Если вы хотите изменить количество значков, отображаемых для каждого пользователя, отредактируйте эту полосу.
    {{foreach $comment->author()->recentBadges(КОЛИЧЕСТВО) as $badge}}
  3. Лайк
    alexis отреагировал в Zero108 за запись, Отключение проверки обновлений для Invision Community 4.x   
    Для отключения задач проверки обновлений на сайте нужно перейти в админцентре сайта по ссылке /admin/?app=core&module=support&controller=sql&do=query и выполнить следующий блок SQL запросов к базе данных:
    UPDATE core_tasks SET enabled=0 WHERE `key`='updatecheck'; UPDATE core_tasks SET enabled=0 WHERE `key`='digest'; UPDATE core_tasks SET enabled=0 WHERE `key`='weeklydigest'; UPDATE core_tasks SET enabled=0 WHERE `key`='pop'; UPDATE core_tasks SET enabled=0 WHERE `key`='postBeforeRegisterFollowup'; Если у таблицы core_tasks есть префикс, например, ibf_, то команда будет выглядеть следующим образом:
    UPDATE ibf_core_tasks SET enabled=0 WHERE `key`='updatecheck'; UPDATE ibf_core_tasks SET enabled=0 WHERE `key`='digest'; UPDATE ibf_core_tasks SET enabled=0 WHERE `key`='weeklydigest'; UPDATE ibf_core_tasks SET enabled=0 WHERE `key`='pop'; UPDATE ibf_core_tasks SET enabled=0 WHERE `key`='postBeforeRegisterFollowup'; Для того, чтобы включить проверку обновлений обратно, нужно выполнить аналогичный запрос, заменив цифру 0 на 1.
    Данные меры могут помочь отключить уведомление серверов Invision Community о существовании вашего сайта.
  4. Лайк
    alexis отреагировал в Zero108 за запись, Push и RSS → Push уведомления для вашего сайта бесплатно   
    1. Регистрируемся и авторизуемся на https://app.truepush.com/home/register
    2. Создаем новый проект: 
    3. Настраиваем параметры проекта:    
    4. Кликаем Code Integration. На следующей странице  скачиваем файл sw.js и загружаем его в корневую директорию вашего сайта: 
    5. На этой же странице копируем код в поле 2 и вставляем его в админпанели вашего сайта: 
    6. Кликаем Setup Completed: 
    7. Переходим на сайт и подписываемся на Push уведомления для теста: 
    8. Интегрируем отправку уведомлений из вашей RSS-ленты в Push уведомления. 
    8.1 Переходим в соответствующий раздел и кликаем Create RSS: 
    8.2 Создаем RSS-ленту в соответствующем разделе сайта  или можно использовать дефолтную RSS-ленту на странице https://ваш_сайт/discover/
    8.3 Переходим на страницу view-source:https://ваш_сайт/discover/ и ищем поиском созданную в п.8.2 RSS-ленту или ищем дефолтную RSS-ленту. Копируем ссылку на RSS-ленту: 
    8.4 Вставляем ссылку на RSS-ленту и настраиваем остальные параметры рассылки:  → 
    8.5 Теперь экспорт RSS → Push настроен. Когда в вашу RSS-ленту будет добавляться новый контент, подписчики будут получать уведомления с заданным интервалом. Рекомендую установить количество одновременных уведомлений не более 3: 
    9. Создаем тестовую рассылку и отправляем её тестовому пользователю (вам).
    9.1 Переходим в раздел Campaigns → Create Campaign. Заполняем необходимые поля и кликаем Send Notification: 
    9.2 Если всё настроено правильно, то в правом нижнем углу экрана должно появиться всплывающее сообщение сразу или в указанные в настройке дату и время (если браузер, в котором происходила подписка, запущен, а файлы cookie этого браузера не удалены пользователем): 
  5. Лайк
    alexis отреагировал в Maqlao за запись, Выделение сообщений пользователей со статусом онлайн   
    Для более интересного отображения сообщений пользователей, находящихся на форуме, выделим их сообщения свойством box-shadow.
    На примере используем именно это css свойство, но вы можете использовать абсолютно любое, например сменить фон поста или цвет шрифта.
    Открываем шаблон forums > front > topics > postContainer и ищем:
    class='cPost Добавляем новый класс с условием - если пользователь в сети, показываем класс monline, иначе - moffline:
    {{if $comment->author()->isOnline()}}monline{{else}}moffline{{endif}} Теперь добавим стиль для класса monline в custom.css:
    article.monline {box-shadow: 0 0 5px 2px rgba(125, 214, 6, 0.31);}
  6. Лайк
    alexis отреагировал в SlawkA за запись, Часы и Таймер для сайта.   
    Всем привет. И с Наступающим Вас.
    Сделал тут давно для себя часики и таймер для приложение Портал. Боковые блоки.

    Может кому что и пригодится.
    Выглядит это так:

    Все настройки размеров и цвета в коде.
    И так Часы:
    <center><script type="text/javascript"> setInterval(function () { date = new Date(), h = date.getHours(), m = date.getMinutes(), s = date.getSeconds(), h = (h < 10) ? '0' + h : h, m = (m < 10) ? '0' + m : m, s = (s < 10) ? '0' + s : s, document.getElementById('time').innerHTML = h + ':' + m + ':' + s; }, 1000); </script> <span style="color:#6c9bd7; font-size:40pt; background:#fffffe; padding:9px;"> <span id="time">00:00:00</span> </span></center> Ничего такого не понятного тут нет. Вставить в блок. И работают.
     
    А вот и таймер:  etimer.js
    <center><script src="https://ССЫЛКА ДО ФАЙЛА/etimer.js"></script> <script type="text/javascript"> jQuery(document).ready(function() { jQuery(".eTimer").eTimer({ etType: 0, etDate: "01.01.2023.00.00", etTitleText: "До Нового 2023 года осталось!", etTitleSize: 20, etShowSign: 1, etSep: ":", etFontFamily: "Impact", etTextColor: "#a3a3a3", etPaddingTB: 15, etPaddingLR: 15, etBackground: "#333333", etBorderSize: 0, etBorderRadius: 2, etBorderColor: "white", etShadow: " 0px 0px 10px 0px #333333", etLastUnit: 4, etNumberFontFamily: "Impact", etNumberSize: 31, etNumberColor: "white", etNumberPaddingTB: 0, etNumberPaddingLR: 10, etNumberBackground: "#495369", etNumberBorderSize: 0, etNumberBorderRadius: 5, etNumberBorderColor: "white", etNumberShadow: " 0px 0px 10px 0px rgba(0, 0, 0, 0.5)" }); }); </script> <div class="eTimer"></div></center>  
    Файл etimer.js перенести в корень или в другую папку на хосте по Вашему желанию.
    Прикреплен файл ниже. Прописать в коде ссылку до файла etimer.js
    Так же в коде можно менять цвета таймера, размер, ширину и длину по вашему и так далее.
    И можете вставлять в блок или куда хотите.
    Изменение таймера времени происходит в коде etDate: "01.01.2023.00.00"
    Тест на моем сайте: ets2atsmods.ru/portal/
    etimer.js
  7. Лайк
    alexis отреагировал в Maiden8 за запись, Запрет правого клика на форуме   
    Все что от Вас требуется - это разместить данный код между тегами <head></head>:
    Запрещает ПКМ и выводит сообщение:
    <script language=JavaScript> <!-- var message="Правый клик запрещен!"; /////////////////////////////////// function clickIE4(){ if (event.button==2){ alert(message); return false; } } function clickNS4(e){ if (document.layers||document.getElementById&&!document.all){ if (e.which==2||e.which==3){ alert(message); return false; } } } if (document.layers){ document.captureEvents(Event.MOUSEDOWN); document.onmousedown=clickNS4; } else if (document.all&&!document.getElementById){ document.onmousedown=clickIE4; } document.oncontextmenu=new Function("alert(message);return false") // --> </script> Второй запрещает выделение текста и сочетания Ctrl + A и Ctrl + U и Ctrl + S:
     
    <script> //запрещает выделение мышкой и комбинации клавиш Ctrl + A и Ctrl + U и Ctrl + S function preventSelection(element){ var preventSelection = false; function addHandler(element, event, handler){ if (element.attachEvent) element.attachEvent('on' + event, handler); else if (element.addEventListener) element.addEventListener(event, handler, false); } function removeSelection(){ if (window.getSelection) { window.getSelection().removeAllRanges(); } else if (document.selection && document.selection.clear) document.selection.clear(); } //запрещаем выделять текст мышкой addHandler(element, 'mousemove', function(){ if(preventSelection) removeSelection(); }); addHandler(element, 'mousedown', function(event){ var event = event || window.event; var sender = event.target || event.srcElement; preventSelection = !sender.tagName.match(/INPUT|TEXTAREA/i) ;}); //запрещаем нажатие клавищ Ctrl + A и Ctrl + U и Ctrl + S function killCtrlA(event){ var event = event || window.event; var sender = event.target || event.srcElement; if (sender.tagName.match(/INPUT|TEXTAREA/i)) return; var key = event.keyCode || event.which; if ((event.ctrlKey && key == 'U'.charCodeAt(0)) || (event.ctrlKey && key == 'A'.charCodeAt(0)) || (event.ctrlKey && key == 'S'.charCodeAt(0))) // 'A'.charCodeAt(0) можно заменить на 65 { removeSelection(); if (event.preventDefault) event.preventDefault(); else event.returnValue = false;}} addHandler(element, 'keydown', killCtrlA); addHandler(element, 'keyup', killCtrlA); } preventSelection(document); </script>  
  8. Лайк
    alexis отреагировал в Maiden8 за запись, Кнопка вверх без плагинов   
    Открываем наш стиль, в самый низ в globalTemplate ставим этот код:
    <a href="#" class="scrollup">Наверх</a> Это в custom css:
    .scrollup{ width:40px; height:40px; opacity:0.3; position:fixed; bottom:50px; right:100px; display:none; text-indent:-9999px; background: url('icon_top.png') no-repeat; } При помощи этого кода кроме внешнего вида мы определяем позицию кнопки и задаем отступы 100 px с права и  50 px снизу.
    Теперь подключаем библиотеку, если она еще не подключена для вашего сайта. Для этого между тегами <head>...</head>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> Затем сразу после подключения библиотеки необходимо в globalTemplate расположить следующий  код JQuery:
    <script type="text/javascript"> $(document).ready(function(){ $(window).scroll(function(){ if ($(this).scrollTop() > 100) { $('.scrollup').fadeIn(); } else { $('.scrollup').fadeOut(); } }); $('.scrollup').click(function(){ $("html, body").animate({ scrollTop: 0 }, 600); return false; }); }); </script> И так же Вам понадобится изображение самой стрелки:

  9. Лайк
    alexis отреагировал в anomal3 за запись, Блокировка IP по геопризнаку Nginx   
    Всем привет народ, я тут новенький.
    Почитав тему
    решил немного дополнить, точнее раскрыть свою тему.
    Почему тут конфиги для 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 месяца, тормозов замечено небыло. Всё работает как часы, тьфу тьфу тьфу.
  10. Лайк
    alexis отреагировал в andros0789 за запись, Красивый фон для форумов на главной   
    Надеюсь многие видели такое шикарное оформление форумов. Я поделюсь с Вами как это сделать.
    для начала нужно сделать заготовки изображений для ваших разделов. прилагаю PSD файл для работы в фотошопе, от вас потребуется только наложить нужное вам изображение вместо моего (чтобы наложить фон нужно выделить изображение и нажать Alt).
    Далее сохраняем в формате ...png загружаем через ресурсы вашего шаблона.
    Следующим этапом Вам нужно определить ID вашего раздела, кликаем правой кнопкой мыши "просмотр кода" и видим следующее:

    копируем ваш ID и идем в стили (я добавлял стили в шаблон custom.css), вставляем следующий код;
    .cForumList li.ipsDataItem[data-forumid='ВАШ ID форума'] { background-image: url(/images/bf.png) !important; background-position: left top !important; background-repeat: no-repeat !important; text-shadow: black 1px 1px 1px, black -1px -1px 1px, black -1px 1px 1px, black 1px -1px 1px !important; } И радуемся!
    1.psd
  11. Лайк
    alexis отреагировал в kgb за запись, Скрываем от гостей ссылки на профиль из цитат   
    Если в настройках модуля закрыть профили пользователей от гостей (что во многих случаях полезно, т.к. спамеры зачастую используют профили в своих неблаговидных целях),  движек соот-но закрывает для гостей и ссылки на профили. Закрывает, но не везде. По недоразумению (которых, увы, немало насоздавали разработчики) остаются ссылки цитируемого автора в цитатах. А это генерирует кучу ошибок в Яндекс Вебмастере и Search Console. Не страшно конечно, но и неприятно.
    Конечно, можно закрыть все это в robots.txt ( Disallow: /profile/ ) , но боты же все равно будут шариться по ссылкам, опять же без толку нагружая сайт.
    Закрыть же ссылки на профиль в цитатах можно простым скриптом, который нужно вставить перед тегом </body> (или лучше создать отдельный шаблон, куда сувать такие скрипты и подлючить этот шаблон к globalTemplate )
    {{if !\IPS\Member::loggedIn()->member_id}} <script type="text/javascript"> $('[data-ipsquote]').removeAttr("data-ipsquote-userid"); </script> {{endif}} Кстати, плагин InsertName тоже оставляет ссылки на профиль. Если он стоит, то можно добавить к вышеприведенному скрипту еще одну строчку. Получится вот так
    {{if !\IPS\Member::loggedIn()->member_id}} <script type="text/javascript"> $('[data-ipsquote]').removeAttr("data-ipsquote-userid"); $('[data-mentionid]').removeAttr("href data-ipshover data-ipshover-target"); </script> {{endif}}  
  12. Лайк
    alexis отреагировал в Sipsb за запись, Если пропали темы   
    Наконец-то нашел решение, как вернуть пропавшие (скрытые) темы. Ситуация была такова, заходишь в Раздел --> Форум такой-то в нём отображается (4 темы в этом разделе) а на самом деле видны всего 2 темы. Полез в PhpMyadmin --> Ваша_БД --> Forums_topics и заметил следующие, во вкладке moved_to значение NULL отображается по левому и правому краю, те что слева это и есть не видимые темы. Выполнил следующий запрос к БД.
    UPDATE `Ваша_БД`.`forums_topics` SET `moved_to` = NULL  По окончанию запроса, выдало, что применено к 487 темам  и О чудо )) Все темы появились на своих местах.

  13. Лайк
    alexis отреагировал в a!max за запись, Если переносятся слова в названиях категорий   
    Если вдруг вы заметили такую проблему (например)

    То просто сделайте следующие:
    в CSS найдите:
    .ipsType_break { word-break: break-word; word-wrap: break-word; -webkit-hyphens: auto; -moz-hyphens: auto; -ms-hyphens: auto; hyphens: auto; } И удалите:
    word-break: break-word;
  14. Лайк
    alexis отреагировал в Dows за запись, Что-то вроде "спонсора раздела"   
    1)      Размещение кода, картинки, текста, и т.д. в нужном разделе форума в шапке, если есть воображение, а главное мозги, то можно разместить в любом месте



    Внешний вид – стили и шаблоны (forums>front>forums>forumDisplay)

    В этом шаблоне в строке 13  я выбрал это место: 
    {$forum->description|raw} 

    Cтрочкой ниже добавил код:  
    {{if $forum->_id == 48}}{block="banner1"}{{endif}}

    48 – это номер раздела форума, где будет показываться информация;

    {block="banner1"} – это ключ виджета, вместо него можно сразу написать нужный текст или код;

    2)      Размещение кода, картинки, текста, и т.д. на главной странице форума между описанием форума и счётчиком количества сообщений


    Внешний вид – стили и шаблоны (forums>front>index>forumRow)

    В этом шаблоне  после 60й строки аля после кода <div class="ipsDataItem_meta ipsType_richText">{$forum->description|raw}</div>{{endif}}</div>

    Строкой ниже добавил див и сам код

    <div class="ipsDataItem_main"> {{if $forum->_id == 48}} <div style="border: 1px solid; width:150px; height: 50px"><a href="#">=)</a></div> {{endif}}                                </div>

    48 –  это раздел на лицевой (front) форума
    <div style="border: 1px solid; width:150px; height: 50px"><a href="#">=)</a></div>  - любой код какой понравится, это просто для примера

     
    Ps: создавать плагины не умею, по идее вместо «48» можно делать переменную управляемую из админки, так же и код внутри if. Кто соображает, тот сделает. Я как обычно руками в шаблон вписываю. 
    Информации по этой теме не нашёл, по этому сам сидел и методом "тыка" подобрал рабочий вариант. Если это где-то есть, то пусть, это там и будет
    Кто сможет поправит или дополнит или усовершенствует.


     
  15. Лайк
    alexis отреагировал в Sipsb за запись, Иконки в меню профиля   
    Для добавления иконок заходим Внешний вид --> Стили и шаблоны --> CSS. Вставляем в CUSTOM.CSS следующий код:

  16. Лайк
    alexis отреагировал в Septimus за запись, Модераторские теги IPS 4   
    Есть конечно и много других способов (наверное) внедрить кнопку для мод.тегов (например, предупреждение и т.п), но все это можно сделать и в админке.
    Итак, открываем Внешний вид > Настройки редактора > Добавить кнопку 
    Вводим данные и загружаем картинку, ставим тип Блочный, в боксе замены HTML пишем
    <table cellpadding="0px" cellspacing="0px" style="width: 100%; border: 1px solid #2E691C; border-left: 4px solid #2E691C; vertical-align: middle;">         <tr style="height: 40px; line-height: 40px;">             <td style="background-color: #95E673; padding-left:10px; font-size: 10px;" width="95%">                 <u>ИНФОРМАЦИОННОЕ СООБЩЕНИЕ</u> <b>{option}</b>             </td>             <td style="max-width: 80px; width: 80px; text-align: center; background-color: #1FB852;; font-size: 36px; color: white;">                 <b>I</b>             </td>         </tr>         <tr style="line-height: 40px;">             <td colspan="2" style="padding-left:10px; background-color: #C8FFB0; color: #20541C; font-size: 12px; font-weight: bold;">{content}</td>         </tr> </table> Не забываем выставлять права на пользование кнопкой (вкладка рядом справа).
  17. Лайк
    alexis отреагировал в  Lina за запись, Убираем надпись "форумы" с главной страницы   
    Что бы удалить  надпись  "форумы" с индексной  страницы , добавляем следующий код в custom.css 
    body[data-pagemodule="forums"][data-pagecontroller="index"] .ipsPageHeader{ display: none; } Сохраняем изменения, радуемся) 
×
×
  • Создать...