Skip to content
View in the app

A better way to browse. Learn more.

IPBMafia.ru - поддержка Invision Community, релизы, темы, плагины и приложения

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

TIR777

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

  • Last visited

Reputation Activity

  1. Like
    TIR777 reacted to SlawkA for запись, Наклон   
    На примере я сделал наклон кнопок в navBar и сам userBar

    Сам код:
    Вставляется он примерно так, в userBar:
    Наклон регулируется путём:
    skew(-10deg) вправо.
    skew(10deg) влево.
    Число можете менять.
  2. Thanks
    TIR777 reacted to andros0789 for запись, Красивый фон для форумов на главной   
    Надеюсь многие видели такое шикарное оформление форумов. Я поделюсь с Вами как это сделать.
    для начала нужно сделать заготовки изображений для ваших разделов. прилагаю 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
  3. Like
    TIR777 reacted to Igorek for запись, Бегущая строка   
    Бегущая строка Вам на сайт. Взял с DLE, и не много исправил под IPS 4.
    Полезная вещь для сайта, текстовой рекламы, можно с текстом вставлять и изображения.
    Фон и цвет регулируется. Вставлять код можете куда хотите.
    На примере я прописал его так:
     
    Сам код:
    <!-- Начало "бегущей строки" --> <div style="background: #37547600 none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" width="100%" border="1" cellpadding="0" cellspacing="0" height="11"> <div style="background: rgba(176, 34, 34, 0) none no-repeat scroll center center; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"> <marquee style="color: rgba(0, 0, 0, 0);" width="100%"> <font color="#fff">Тест бегущей строки</font></marquee></div></div> <!-- Конец "бегущей строки" -->
  4. Like
    TIR777 reacted to SlawkA for запись, Меняем кнопку "нравится"   
    Подойдет для тех, кто использует только положительную репутацию и версию форума 4.1!

    Кнопки активны при наведении
    Делаем кнопки:
    Идем в свой стиль -> шаблоны -> core -> front -> global -> reputation -> находим код:
    <div class='ipsLikeRep ipsPos_right'> {{if $content->canGiveReputation( 1 )}} <a href='{$content->url( 'rep' )->setQueryString( 'rep', 1 )->csrf()}' data-action="giveReputation" class='ipsButton ipsButton_rep ipsButton_repUp'><i class='fa fa-arrow-up'></i></a> {{endif}} {{if $content->canGiveReputation( -1 )}} <a href='{$content->url( 'rep' )->setQueryString( 'rep', -1 )->csrf()}' data-action="giveReputation" class='ipsButton ipsButton_rep ipsButton_repDown'><i class='fa fa-arrow-down'></i></a> {{endif}} меняем его на:
    <div class='ipsLikeRep ipsPos_right'> {{if $content->canGiveReputation( 1 )}} <a href='{$content->url( 'rep' )->setQueryString( 'rep', 1 )->csrf()}' data-action="giveReputation" class='ipsButton ipsButton_rep ipsButton_repUp'><i class='fa fa-thumbs-up'> Нравится</i></a> {{endif}} {{if $content->canGiveReputation( -1 )}} <a href='{$content->url( 'rep' )->setQueryString( 'rep', -1 )->csrf()}' data-action="giveReputation" class='ipsButton ipsButton_rep ipsButton_repDown'><i class='fa fa-thumbs-down'> Отменить</i></a> {{endif}} далее идем в custom.css -> добавляем код:
    .ipsButton.ipsButton_repDown { background: #740000 !important; background: -moz-linear-gradient(top, #BC0000 0%, #740000 100%) !important; background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#BC0000), color-stop(100%,#740000)) !important; background: linear-gradient(top, #BC0000 0%, #740000 100%) !important; -moz-box-shadow: inset 1px 1px 0 0 rgba(255,255,255,0.1), 0px 2px 3px rgba(0,0,0,0.4); -webkit-box-shadow: inset 1px 1px 0 0 rgba(255,255,255,0.1), 0px 2px 3px rgba(0,0,0,0.4); box-shadow: inset 1px 1px 0 0 rgba(255,255,255,0.1), 0px 2px 3px rgba(0,0,0,0.4); border: 1px solid rgba(0,0,0,0.4); border-bottom: 1px solid rgba(0,0,0,0.5); font-size: 13px !important; color: #fff !important; } .ipsButton.ipsButton_repDown:hover { background: #740000 !important; background: -moz-linear-gradient(top, #740000 0%, #BC0000 100%) !important; background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#740000), color-stop(100%,#BC0000)) !important; background: linear-gradient(top, #740000 0%, #BC0000 100%) !important; -moz-box-shadow: inset 1px 1px 0 0 rgba(255,255,255,0.1), 0px 1px 0px rgba(255,255,255,0.3); -webkit-box-shadow: inset 1px 1px 0 0 rgba(255,255,255,0.1), 0px 1px 0px rgba(255,255,255,0.3); box-shadow: inset 1px 1px 0 0 rgba(255,255,255,0.1), 0px 1px 0px rgba(255,255,255,0.3); border: 1px solid rgba(0,0,0,0.4); border-bottom: 1px solid rgba(0,0,0,0.5); font-size: 13px !important; color: #fff !important; } .ipsButton.ipsButton_repUp { background: #89DFF8!important; background: -moz-linear-gradient(top, #89DFF8 0%, #04556B 100%) !important; background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#89DFF8), color-stop(100%,#04556B)) !important; background: linear-gradient(top, #89DFF8 0%, #04556B 100%) !important; -moz-box-shadow: inset 1px 1px 0 0 rgba(255,255,255,0.1), 0px 2px 3px rgba(0,0,0,0.4); -webkit-box-shadow: inset 1px 1px 0 0 rgba(255,255,255,0.1), 0px 2px 3px rgba(0,0,0,0.4); box-shadow: inset 1px 1px 0 0 rgba(255,255,255,0.1), 0px 2px 3px rgba(0,0,0,0.4); border: 1px solid rgba(0,0,0,0.4); border-bottom: 1px solid rgba(0,0,0,0.5); font-size: 13px !important; color: #fff !important; } .ipsButton.ipsButton_repUp:hover { background: #89DFF8 !important; background: -moz-linear-gradient(top, #04556B 0%, #89DFF8 100%) !important; background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#04556B), color-stop(100%,#89DFF8)) !important; background: linear-gradient(top, #04556B 0%, #89DFF8 100%) !important; -moz-box-shadow: inset 1px 1px 0 0 rgba(255,255,255,0.1), 0px 1px 0px rgba(255,255,255,0.3); -webkit-box-shadow: inset 1px 1px 0 0 rgba(255,255,255,0.1), 0px 1px 0px rgba(255,255,255,0.3); box-shadow: inset 1px 1px 0 0 rgba(255,255,255,0.1), 0px 1px 0px rgba(255,255,255,0.3); border: 1px solid rgba(0,0,0,0.4); border-bottom: 1px solid rgba(0,0,0,0.5); font-size: 13px !important; color: #fff !important; }  
  5. Thanks
    TIR777 reacted to Sipsb for запись, Эффект плавного затухания логотипа   
    Данная инструкция поможет Вам, добавить эффект плавного затухания логотипа при наведении на него мышкой.

    Добавьте данный код в Custom.css
    a#elLogo:hover { opacity: .4; -moz-transition-property: opacity; -moz-transition-duration: 1s; -moz-transition-delay: 0s; -webkit-transition-property: opacity; -webkit-transition-duration: 1s; -webkit-transition-delay: 0s; -o-transition-property: opacity; -o-transition-duration: 1s; -o-transition-delay: 0s; transition-property: opacity; transition-duration: 1s; transition-delay: 0s; } a#elLogo { display: inline; opacity: 1; -moz-transition-property: opacity; -moz-transition-duration: 1s; -moz-transition-delay: 0s; -webkit-transition-property: opacity; -webkit-transition-duration: 1s; -webkit-transition-delay: 0s; -o-transition-property: opacity; -o-transition-duration: 1s; -o-transition-delay: 0s; transition-property: opacity; transition-duration: 1s; transition-delay: 0s; }  
  6. Like
    Если в настройках модуля закрыть профили пользователей от гостей (что во многих случаях полезно, т.к. спамеры зачастую используют профили в своих неблаговидных целях),  движек соот-но закрывает для гостей и ссылки на профили. Закрывает, но не везде. По недоразумению (которых, увы, немало насоздавали разработчики) остаются ссылки цитируемого автора в цитатах. А это генерирует кучу ошибок в Яндекс Вебмастере и 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}}  
  7. Like
    TIR777 reacted to Silence for запись, Текущие прокрутки   
    Текущие прокрутки


    Перейти к ACP> Customizations> Themes> your theme> edit HTML and CSS> core> front> global> clobalTemplate и найти:
    <-! IpsQueryLog -> После его вставит это код:
    <script> console.clear(); var trackers = document.createElement("div"); trackers.className = "trackers"; trackers.insertAdjacentHTML("beforeend", "Current Scrolltops "); document.body.appendChild(trackers); function trackScroll(element, elementName) { var scrollTracker = document.createElement("span"); trackers.insertAdjacentHTML( "beforeend", " &nbsp; | &nbsp; <b>" + elementName + "</b>: " ); trackers.appendChild(scrollTracker); scrollTracker.innerText = element.scrollTop || element.pageYOffset; element.addEventListener("scroll", function() { console.log("scroll " + elementName); // You can see that scroll events are triggered. scrollTracker.innerText = element.pageYOffset || element.scrollTop; }); window.addEventListener("scroll", function() { console.log("scroll " + elementName); // You can see that scroll events are triggered. scrollTracker.innerText = element.pageYOffset || element.scrollTop; }); } trackScroll(window, "window"); trackScroll(document.documentElement, "html"); trackScroll(document.body, "body"); var toggled = false; document.body.addEventListener("click", function() { document.documentElement.className = !toggled ? "toggle-scroll" : ""; toggled = !toggled; }); </script> В CSS > custom.css поставит ето код:
    html.toggle-scroll { height: 100%; width: 100%; overflow: hidden; } .toggle-scroll body { max-width: 100%; height: 100%; overflow: auto; } body::before { display: block; } .trackers { position: fixed; bottom: 0; left: 0; width: 100%; background: #FFF; padding: 1em; } Ето все 
  8. Like
    TIR777 reacted to Silence for запись, Контекстное меню в IPS Community Suite 4   
    Контекстное меню в IPS Community Suite 4
    Перейти ACP - Customization -> Theme - ваш скинь ->  Edit HTML and CSS -> Template -> globalTemplate и найти:
    </body> </html> перед ним поместить ето код:
    <menu class="menu"> <li class="menu-item"> <button type="button" class="menu-btn"> <i class="fa fa-folder-open"></i> <span class="menu-text">Открыто</span> </button> </li> <li class="menu-item disabled"> <button type="button" class="menu-btn"> <span class="menu-text">Открыть в новом окне</span> </button> </li> <li class="menu-separator"></li> <li class="menu-item"> <button type="button" class="menu-btn"> <i class="fa fa-reply"></i> <span class="menu-text">Ответить</span> </button> </li> <li class="menu-item"> <button type="button" class="menu-btn"> <i class="fa fa-star"></i> <span class="menu-text">Любимый</span> </button> </li> <li class="menu-item submenu"> <button type="button" class="menu-btn"> <i class="fa fa-users"></i> <span class="menu-text">Социальное</span> </button> <menu class="menu"> <li class="menu-item"> <button type="button" class="menu-btn"> <i class="fa fa-comment"></i> <span class="menu-text">Комментарий</span> </button> </li> <li class="menu-item submenu"> <button type="button" class="menu-btn"> <i class="fa fa-share"></i> <span class="menu-text">Поделиться</span> </button> <menu class="menu"> <li class="menu-item"> <button type="button" class="menu-btn"> <i class="fa fa-twitter"></i> <span class="menu-text">Twitter</span> </button> </li> <li class="menu-item"> <button type="button" class="menu-btn"> <i class="fa fa-facebook-official"></i> <span class="menu-text">VK</span> </button> </li> <li class="menu-item"> <button type="button" class="menu-btn"> <i class="fa fa-google-plus"></i> <span class="menu-text">Google Plus</span> </button> </li> <li class="menu-item"> <button type="button" class="menu-btn"> <i class="fa fa-envelope"></i> <span class="menu-text">Email</span> </button> </li> </menu> </li> </menu> </li> <li class="menu-separator"></li> <li class="menu-item"> <button type="button" class="menu-btn"> <i class="fa fa-download"></i> <span class="menu-text">Сохранить</span> </button> </li> <li class="menu-item"> <button type="button" class="menu-btn"> <i class="fa fa-edit"></i> <span class="menu-text">Переименовывать</span> </button> </li> <li class="menu-item"> <button type="button" class="menu-btn"> <i class="fa fa-trash"></i> <span class="menu-text">Удалить</span> </button> </li> </menu> <script> var menu = document.querySelector('.menu'); function showMenu(x, y) { menu.style.left = x + 'px'; menu.style.top = y + 'px'; menu.classList.add('show-menu'); } function hideMenu() { menu.classList.remove('show-menu'); } function onContextMenu(e) { e.preventDefault(); showMenu(e.pageX, e.pageY); document.addEventListener('mousedown', onMouseDown, false); } function onMouseDown(e) { hideMenu(); document.removeEventListener('mousedown', onMouseDown); } document.addEventListener('contextmenu', onContextMenu, false); </script> Сохранить
    Перейти ACP - Customization -> Theme - ваш скинь ->  Edit HTML and CSS -> CSS -> custom.css
    и добавить в нижней части этого кода:
    /* Menu */ .menu { position: absolute; width: 200px; padding: 2px; margin: 0; border: 1px solid #bbb; background: #eee; background: -webkit-linear-gradient(to bottom, #fff 0%, #e5e5e5 100px, #e5e5e5 100%); background: linear-gradient(to bottom, #fff 0%, #e5e5e5 100px, #e5e5e5 100%); z-index: 100; border-radius: 3px; box-shadow: 1px 1px 4px rgba(0, 0, 0, .2); opacity: 0; -webkit-transform: translate(0, 15px) scale(.95); transform: translate(0, 15px) scale(.95); transition: transform 0.1s ease-out, opacity 0.1s ease-out; pointer-events: none; } .menu-item { display: block; position: relative; margin: 0; padding: 0; white-space: nowrap; } .menu-btn { display: block; color: #444; font-family: 'Roboto', sans-serif; font-size: 13px; cursor: pointer; border: 1px solid transparent; white-space: nowrap; padding: 6px 8px; border-radius: 3px; } button.menu-btn { background: none; line-height: normal; overflow: visible; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; width: 100%; text-align: left; } a.menu-btn { outline: 0 none; text-decoration: none; } .menu-text { margin-left: 25px; } .menu-btn .fa { position: absolute; left: 8px; top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); } .menu-item:hover > .menu-btn { color: #fff; outline: none; background-color: #2E3940; background: -webkit-linear-gradient(to bottom, #5D6D79, #2E3940); background: linear-gradient(to bottom, #5D6D79, #2E3940); border: 1px solid #2E3940; } .menu-item.disabled { opacity: .5; pointer-events: none; } .menu-item.disabled .menu-btn { cursor: default; } .menu-separator { display: block; margin: 7px 5px; height: 1px; border-bottom: 1px solid #fff; background-color: #aaa; } .menu-item.submenu::after { content: ""; position: absolute; right: 6px; top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); border: 5px solid transparent; border-left-color: #808080; } .menu-item.submenu:hover::after { border-left-color: #fff; } .menu .menu { top: 4px; left: 99%; } .show-menu, .menu-item:hover > .menu { opacity: 1; -webkit-transform: translate(0, 0) scale(1); transform: translate(0, 0) scale(1); pointer-events: auto; } .menu-item:hover > .menu { -webkit-transition-delay: 300ms; transition-delay: 300ms; } Сохранить
    щелкните правой кнопкой мыши
    Ето все .... 
  9. Like
    Добавить строку в панели инструментов (редактор)
    Перейдите в  ACP > Customization > Editor > Toolbars нажмите кнопку Add Button > Custom

    Заполните поля в соответствии со скриншотами

    Button Title : Line
    Icon : Загрузить прикрепление в ниже
    Type : Inline 
    Use option? : NO
    HTML:
    <hr class="ipsHr"> Сохранить
    Перетащите значок в редакторе

    пример



    Извините за плохой русский
     
    line-icon.rar
  10. Like
    Как сделать название темы в одну строку
    Перейти ACP > customization > theme > ваш скин edid HTML and CSS > forums > front > forums > topicRow найти:
    <a href='{$row->url()}' class='' title='{{if $row->mapped('title')}}{$row->mapped('title')}{{else}}{lang="content_deleted"}{{endif}} {{if $row->canEdit()}}{lang="click_hold_edit"}{{endif}}' itemprop="url"{{if $row->tableHoverUrl and $row->canView()}} data-ipsHover data-ipsHover-target='{$row->url()->setQueryString('preview', 1)}' data-ipsHover-timeout='1.5'{{endif}}{{if $row->canEdit()}} data-role="editableTitle"{{endif}}> изменит на:
    <a href='{$row->url()}' class='shortened link' title='{{if $row->mapped('title')}}{$row->mapped('title')}{{else}}{lang="content_deleted"}{{endif}} {{if $row->canEdit()}}{lang="click_hold_edit"}{{endif}}' itemprop="url"{{if $row->tableHoverUrl and $row->canView()}} data-ipsHover data-ipsHover-target='{$row->url()->setQueryString('preview', 1)}' data-ipsHover-timeout='1.5'{{endif}}{{if $row->canEdit()}} data-role="editableTitle"{{endif}}> Перейти ACP > customization > theme > ваш скин edid HTML and CSS > core > front > custom > custom.css и  поставит ето код:
    .shortened { display: inline-block; max-width: 450px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; vertical-align: top; } Перед:

    После:

  11. Like
    Добавьте кнопки загрузки файлов на ваш CKEditor


    Перейти к ACP > Customization > Themes > Your theme >edit HTML and CSS > core > global > forms > editorAttachments  и найти:
    <li class='ipsPos_right ipsResponsive_noFloat'> после этого, вставьте этот код:
    <span class="uploadfile ipsButton ipsButton_light ipsButton_verySmall"><a href="" onClick="javascript:window.open('https://mediafire.com','','location=0,status=0,scrollbars=1,width=760,height=660');"><i class="fa fa-upload" aria-hidden="true"></i> MediaFire</a></span> <span class="uploadfile ipsButton ipsButton_light ipsButton_verySmall"><a href="" onClick="javascript:window.open('http://filedropper.com','','location=0,status=0,scrollbars=1,width=760,height=660');"><i class="fa fa-upload" aria-hidden="true"></i> FileDropper</a></span> <span class="uploadfile ipsButton ipsButton_light ipsButton_verySmall"><a href="" onClick="javascript:window.open('http://www.tinyupload.com/','','location=0,status=0,scrollbars=1,width=760,height=660');"><i class="fa fa-upload" aria-hidden="true"></i> TinyUpload</a></span> Сохранить
    Перейти к CSS > custom.css и вставить этот код:
    .uploadfile a:link { text-decoration: none; color: #333; transition: all 0.5s ease; } .uploadfile a:visited { text-decoration: none; color: #333; transition: all 0.5s ease; } Сохранить
    Вы можете разместить ссылки на свой вкус
    наслаждаться 
  12. Like
    TIR777 reacted to Silence for запись, Иконки для форумов   
    Иконки для  форумов

    Идём в свой шаблон и переходим по пути: Шаблоны -->forums --> front --> forums--> topicRow инайти:
    <li class="ipsDataItem ipsDataItem_responsivePhoto {{if $row->unread()}}ipsDataItem_unread{{endif}} {{if method_exists( $row, 'tableClass' ) && $row->tableClass()}}ipsDataItem_{$row->tableClass()}{{endif}} {{if $row->hidden()}}ipsModerated{{endif}}" data-rowID='{$row->$idField}' itemprop="itemListElement" itemscope itemtype="http://schema.org/Article"> После этого, вставьте этот код:
    <i class='f_icon' data-rowID='{$row->$idField}'></i> Перейти к вашем custom.css и поставите ето код:
    .f_icon{ width: 67px; height: 67px; } .f_icon[data-rowid="60"] { background: url(https://ваша иконка.png); float: left } .f_icon[data-rowid="330"] { background: url(http://ваша иконка.png); float: left } В custom.css измените data-rowid="60' / 330  с ид ваш форум ..... ето все
  13. Like
    TIR777 reacted to Silence for запись, Scroll Indicator   
    Scroll Indicator

    Перейти к ACP -> Customization -> Theme -> Edit HTML and CSS -> Templates -> globalTemplate 
    Поместите этот код перед </body>
    <div class="scroll-line"></div> <script> $(window).scroll(function(){var wintop = $(window).scrollTop(), docheight = $(document).height(), winheight = $(window).height(); var scrolled = (wintop/(docheight-winheight))*100; $('.scroll-line').css('width', (scrolled + '%'));}); </script> Перейти к ACP -> Customization -> Theme -> Edit HTML and CSS -> CSS -> custom.css и вставить этот код:
    .scroll-line { height: 2px; margin-bottom: -2px; background: #e74c3c; width: 0%; position:fixed; top:0; z-index:9999; } Наслаждаться 
  14. Like
    Аватар для Border Цвет в зависимости от группы


    Идём в свой шаблон и переходим по пути: Шаблоны --> core --> front --> global --> userPhoto и заменить все содержание с ето:
    {{if $member->member_id and \IPS\Member::loggedIn()->canAccessModule( \IPS\Application\Module::get( 'core', 'members' ) )}} {{$memberURL = ( $warningRef ) ? $member->url()->setQueryString( 'wr', $warningRef ) : $member->url();}} <a href="{$memberURL}" data-group_id='{$member->member_group_id}' {{if $hovercard}}data-ipsHover data-ipsHover-target="{$memberURL->setQueryString( 'do', 'hovercard' )}"{{endif}} class="ipsUserPhoto ipsUserPhoto_{$size}{{if $classes}} {$classes}{{endif}}" title="{lang="view_user_profile" sprintf="$member->name"}"> <img src='{$member->photo}' alt='{$member->name}' itemprop="image"> </a> {{else}} <span class='ipsUserPhoto ipsUserPhoto_{$size} {{if $classes}}{$classes}{{endif}}'> <img src='{$member->photo}' data-groupID='{$member->member_group_id}' alt='{$member->name}' itemprop="image"> </span> {{endif}} Перейти к вашем custom.css и поставите ето код:
    .ipsUserPhoto[data-group_id="4"] { border: solid 3px #e74c3c; } .ipsUserPhoto[data-group_id="3"] { border: solid 3px #2c3e50; } Изменит 4 и 3 с id вашем груп
    Id вашем група может увидет в АКП - Members - Group инажмите груп который вы хотите увидеть. В адресной строке вы увидите id ваша група:

  15. Like
    TIR777 reacted to Respected for запись, Кликабельные фотографии в Галерее   
    В приложении Галерея IPS4 есть кнопка просмотра оригинала фотографии в лайтбоксе, однако, как показывает практика, мало кто обращает на неё внимание, а она делает основной функционал и удобство просмотра фоток. 
    Что мы получим: при клике на фотографию, откроется полноэкранный лайтбокс с фотографией.
    Редактируем шаблона: gallery > front > view > imageFrame:
    Меняем весь код шаблона на:
    <div id='elGalleryImage' data-role="imageFrame" {{if $image->data}}data-imageSizes='{$image->data}'{{endif}}> {{if $image->media }} <div class='cGallery_videoContainer'> {{if in_array( $image->file_type, array( 'video/ogg', 'video/webm', 'video/mp4', 'video/x-flv', 'video/3gpp' ) )}} <video id="elGalleryVideo" data-role="video" class="ipsPos_center video-js vjs-default-skin" controls preload="auto" width="100%" height="100%"{{if $image->medium_file_name }} poster="{file="$image->medium_file_name" extension="gallery_Images"}"{{endif}} data-setup='{"techOrder": ["html5","flash"]}'> <source src="{file="$image->original_file_name" extension="gallery_Images"}" type='{$image->file_type}' /> </video> {{else}} <!-- Old fashioned...supports things like wmv though--> <embed wmode="opaque" autoplay="true" showcontrols="true" showstatusbar="true" showtracker="true" src="{file="$image->original_file_name" extension="gallery_Images"}" width="480" height="360" type='{$image->file_type}' /> {{endif}} </div> {{else}} <a href='{file="$image->masked_file_name" extension="gallery_Images"}' title='Открыть в полном размере' data-ipsTooltip data-ipsLightbox data-ipsLightbox-useEvents> <div class='cGalleryViewImage' data-role='notesWrapper' data-controller='gallery.front.view.notes' data-imageID='{$image->id}' {{if $image->canEdit()}}data-editable{{endif}} data-notesData='{$image->_notes_json}'> <img src='{file="$image->masked_file_name" extension="gallery_Images"}' alt='{$image->caption}' title='{$image->caption}' data-role='theImage' class='ipsHide'> <noscript> <img src='{file="$image->masked_file_name" extension="gallery_Images"}' alt='{$image->caption}' title='{$image->caption}' data-role='theImage'> </noscript> {{if count( $image->_notes )}} <noscript> {{foreach $image->_notes as $note}} <div class='cGalleryNote' style='left: {$note['LEFT']}%; top: {$note['TOP']}%; width: {$note['WIDTH']}%; height: {$note['HEIGHT']}%'> <div class='cGalleryNote_border'></div> <div class='cGalleryNote_note'>{$note['NOTE']}</div> </div> {{endforeach}} </noscript> {{endif}} </div> </a> <ul class='ipsButton_split cGalleryViewImage_controls'> {{if $image->canEdit()}} <li><a href='#' class='ipsButton ipsButton_overlaid ipsButton_verySmall ipsJS_show' title='{lang="add_image_note"}' data-action='addNote' data-ipsTooltip><i class='fa fa-pencil-square-o'></i></a></li> <li> <a href='#' class='ipsButton ipsButton_overlaid ipsButton_verySmall' title='{lang="rotate_image"}' data-ipsTooltip id='elImage_rotate' data-ipsMenu data-ipsMenu-appendTo='#elGalleryImage'> <i class='fa fa-rotate-right'></i> <i class='fa fa-caret-down'></i> </a> <ul class='ipsMenu ipsMenu_auto ipsHide' id='elImage_rotate_menu'> <li class='ipsMenu_item'> <a href='{$image->url( 'rotate' )->csrf()->setQueryString( 'direction', 'right' )}' title='{lang="rotate_right"}'> <i class='fa fa-rotate-right'></i> &nbsp;{lang="rotate_right"} </a> </li> <li class='ipsMenu_item'> <a href='{$image->url( 'rotate' )->csrf()->setQueryString( 'direction', 'left' )}' title="{lang="rotate_left"}"> <i class='fa fa-rotate-left'></i> &nbsp;{lang="rotate_left"} </a> </li> </ul> </li> {{endif}} {{if count( $image->sizes() ) > 1}} <li> <a href='#' class='ipsButton ipsButton_overlaid ipsButton_verySmall' title='{lang="view_all_sizes"}' data-ipsTooltip id='elImageSize' data-ipsMenu data-ipsMenu-appendTo='#elGalleryImage'> <i class='fa fa-picture-o'></i> <i class='fa fa-caret-down'></i> </a> <ul class='ipsMenu ipsMenu_medium ipsHide' id='elImageSize_menu'> {{foreach $image->sizes() as $k => $dims}} <li class='ipsMenu_item'><a href='{$image->url()->setQueryString( 'imageSize', $k )}'>{$dims[0]}x{$dims[1]}</a></li> {{endforeach}} </ul> </li> {{endif}} {{if ( $image->album_id AND $image->author()->member_id == \IPS\Member::loggedIn()->member_id ) OR \IPS\gallery\Image::modPermission( 'edit', NULL, $image->container() ) || \IPS\Member::loggedIn()->member_id}} <li> {{if ( $image->album_id AND $image->author()->member_id == \IPS\Member::loggedIn()->member_id ) OR \IPS\gallery\Image::modPermission( 'edit', NULL, $image->container() )}} <a href='#' class='ipsButton ipsButton_overlaid ipsButton_verySmall' data-ipsTooltip title='{lang="set_image_as"}' id='elImageSetAs' data-ipsMenu data-ipsMenu-appendTo='#elGalleryImage'> <i class='fa fa-object-group'></i> <i class='fa fa-caret-down'></i> </a> <ul class='ipsMenu ipsMenu_auto ipsHide' id='elImageSetAs_menu'> {{if \IPS\gallery\Image::modPermission( 'edit', NULL, $image->container() ) AND ( $image->album_id AND $image->author()->member_id == \IPS\Member::loggedIn()->member_id )}} <li class='ipsMenu_item'><a data-action='setAsCover' href='{$image->url()->setQueryString( 'do', 'cover' )->setQueryString( 'set', 'category')->csrf()}'>{lang="cover_category_only"}</a></li> <li class='ipsMenu_item'><a data-action='setAsCover' href='{$image->url()->setQueryString( 'do', 'cover' )->setQueryString( 'set', 'album')->csrf()}'>{lang="cover_album_only"}</a></li> <li class='ipsMenu_item'><a data-action='setAsCover' href='{$image->url()->setQueryString( 'do', 'cover' )->setQueryString( 'set', 'both')->csrf()}'>{lang="cover_both"}</a></li> {{elseif \IPS\gallery\Image::modPermission( 'edit', NULL, $image->container() )}} <li class='ipsMenu_item'><a data-action='setAsCover' href='{$image->url()->setQueryString( 'do', 'cover' )->setQueryString( 'set', 'category')->csrf()}'>{lang="cover_category"}</a></li> {{elseif $image->album_id AND \IPS\Member::loggedIn()->member_id AND $image->author()->member_id == \IPS\Member::loggedIn()->member_id}} <li class='ipsMenu_item'><a data-action='setAsCover' href='{$image->url()->setQueryString( 'do', 'cover' )->setQueryString( 'set', 'album')->csrf()}'>{lang="cover_album"}</a></li> {{endif}} {{if \IPS\Member::loggedIn()->member_id}} <li class='ipsMenu_sep'><hr></li> <li class='ipsMenu_item'> <a href='{$image->url('setAsPhoto')->csrf()}' data-action='setAsProfile' title="{lang="set_gallery_image_photo"}">{lang="set_gallery_image_photo"}</a> </li> {{endif}} </ul> {{elseif \IPS\Member::loggedIn()->member_id}} <a href='{$image->url('setAsPhoto')->csrf()}' class='ipsButton ipsButton_overlaid ipsButton_verySmall' title='{lang="set_gallery_image_photo"}'> {lang="set_gallery_image_photo"} </a> {{endif}} </li> {{endif}} <li> <a href='{$image->url('download')}' class='ipsButton ipsButton_overlaid ipsButton_verySmall' title='{lang="download"}' data-ipsTooltip><i class='fa fa-download'></i></a> </li> <li> <a href='{file="$image->masked_file_name" extension="gallery_Images"}' class='ipsButton ipsButton_overlaid ipsButton_verySmall' title='{lang="view_in_lightbox"}' data-ipsTooltip data-ipsLightbox data-ipsLightbox-useEvents><i class='fa fa-expand'></i></a> </li> </ul> {{endif}} <span id='elGalleryImageNav'> {{if $prev}} <a href='{$prev->url()->setQueryString( 'browse', 1 )}' id='elGalleryImageNav_prev' data-action='prevImage' data-imageID='{$prev->id}' title='{$prev->caption}'><i class='fa fa-angle-left'></i></a> {{endif}} {{if $next}} <a href='{$next->url()->setQueryString( 'browse', 1 )}' id='elGalleryImageNav_next' data-action='nextImage' data-imageID='{$next->id}' title='{$next->caption}'><i class='fa fa-angle-right'></i></a> {{endif}} </span> </div>  
  16. Like
  17. Like
    TIR777 reacted to Sipsb for запись, Транслитерация ссылок в IPS4   
    По умолчанию IPS4 не поддерживает транслитерацию ссылок. Это значит, что адрес ссылки берётся из оригинального названия темы и практически не меняется. Т.е. темы с кириллическими (русскими) названиями будут иметь ссылки на русском. Для некоторых это является проблемой и в этой статье вы узнаете, как решить её.
    Для начала вам необходимо скачать плагин Friendly URL Translit, который будет конвертировать ваши ссылки в латинские. После этого перейдите настройте его так, как вам нужно, перейдя в настройки плагина. Однако у этого плагина есть недостаток - он не конвертирует уже существующие ссылки, только новые. Чтобы исправить это, необходимо выполнить несколько простых запросов к вашей базе данных.
    Для этого перейдите в Админцентр --> Система --> Поддержка --> Техническая поддержка. В правом блоке Системная информация нажмите на ссылку Инструменты SQL. В поле для ввода запроса, расположенное над таблицей, введите следующее и нажмите кнопку Выполнить запрос: Не забывайте указывать Ваш префикс таблиц БД – XXX__
    UPDATE blog_blogs SET blog_seo_name=''; UPDATE blog_entries SET entry_name_seo=''; UPDATE calendar_calendars SET cal_title_seo=''; UPDATE cms_database_categories SET category_last_seo_title=''; UPDATE core_announcements SET announce_seo_title=''; UPDATE core_members SET members_seo_name=''; UPDATE downloads_categories SET cname_furl=''; UPDATE forums_forums SET name_seo='', seo_last_title='', seo_last_name=''; UPDATE forums_topics SET title_seo=''; UPDATE gallery_albums SET album_name_seo=''; UPDATE gallery_categories SET category_name_seo=''; UPDATE gallery_images SET image_caption_seo=''; После этого все ссылки на разделы, темы, изображения, записи в блоге, пользователей и так далее сбросятся и восстановятся автоматически при взаимодействии с ними.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.