Jump to content

Exception

Актив

Everything posted by Exception

  1. особо не проверял, но вроде работает: {{$groups_p = array( 1, 2 ); $groups_s = array( 3, 4 ); $groups_m = $comment->author()->groups;}} {{foreach $groups_m as $gpm}} {{if \in_array($gpm, $groups_p)}} {{$user_p = $gpm;}} {{elseif \in_array($gpm, $groups_s)}} {{$user_s = $gpm;}} {{endif}} {{endforeach}} {{if \in_array($user_p, $groups_p) AND \in_array($user_s, $groups_s)}} <li data-role='group'>{expression="\IPS\Member\Group::load( $comment->author()->member_group_id )->formattedName" raw="true"}</li> {{if \IPS\Member\Group::load( $user_s )->g_icon }} <li data-role='group-icon'><img src='{file="\IPS\Member\Group::load( $user_s )->g_icon" extension="core_Theme"}' alt='' class='cAuthorGroupIcon'></li> {{endif}} {{else}} <li data-role='group'>{expression="\IPS\Member\Group::load( $comment->author()->member_group_id )->formattedName" raw="true"}</li> {{if \IPS\Member\Group::load( $comment->author()->member_group_id )->g_icon }} <li data-role='group-icon'><img src='{file="$comment->author()->group['g_icon']" extension="core_Theme"}' alt='' class='cAuthorGroupIcon'></li> {{endif}} {{endif}} $groups_p - ID's первичных группы $groups_s - ID's вторичных группы Проверяет, если пользователь состоит в нужной первичной и вторичной группе, то вывести название группы (первичной) и иконку (вторичной), иначе вывести по дефолтному шаблону. Заменить на код выше: <li data-role='group'>{expression="\IPS\Member\Group::load( $comment->author()->member_group_id )->formattedName" raw="true"}</li> {{if \IPS\Member\Group::load( $comment->author()->member_group_id )->g_icon }} <li data-role='group-icon'><img src='{file="$comment->author()->group['g_icon']" extension="core_Theme"}' alt='' class='cAuthorGroupIcon'></li> {{endif}}
  2. Так поставь по дефолту значение, оно же тебя просит. Разрешить NULL либо по дефолту 0
  3. найти: <li data-role='group'>{expression="\IPS\Member\Group::load( $comment->author()->member_group_id )->formattedName" raw="true"}</li> заменить на: {{if !\in_array($comment->author()->member_group_id, array( 1, 2 ))}} <li data-role='group'>{expression="\IPS\Member\Group::load( $comment->author()->member_group_id )->formattedName" raw="true"}</li> {{endif}} где 1, 2 - id групп через запятую у которых не показывать название группы
  4. на бумажку и под подушку
  5. Для начала нужно научиться пользоваться поиском
  6. Или так как вариант: {{if $comment->author()->member_id}} {{$ProfileFields = $comment->author()->contentProfileFields();}} {$ProfileFields['core_pfieldgroups_GID']['core_pfield_PID']} {{endif}} GID - id группы доп. полей PID - id доп. поля профиля Чтобы убрать заголовок можно использовать пользовательское форматирование введя только {$content}
  7. css .cDownloadsCarouselItem .ipsNoThumb:after { content: ''; background: url('image.png'); background-size: 100% 100%; top: 0; bottom: 0; margin: auto; opacity: 1; height: 50px; width: 50px; transform: none; }
  8. Exception posted пост в теме in Interface
    а если так, предварительно добавив переменную getOnlineUsers($forum_id) $where = array(); $where[] = array( "current_appcomponent='forums'" ); $where[] = array( "current_module='forums'" ); $where[] = array( "(current_controller='forums' OR current_controller='topic')" ); $where[] = array( "login_type!=3" ); $where[] = array( "running_time>?", \IPS\DateTime::create()->sub( new \DateInterval( 'PT30M' ) )->getTimeStamp() ); foreach( \IPS\Db::i()->select( '*, COUNT(current_id) as cnt', 'core_sessions', $where, NULL, NULL, 'current_id' ) as $data ) { if ( $data['current_controller'] == 'topic' AND $forum_id == \IPS\forums\Topic::load($data['current_id'])->container()->id ) { $users[ $forum_id ] = $data['cnt']; } else { $users[ $data['current_id'] ] = $data['cnt']; } }
  9. Exception posted пост в теме in Флейм
    переписал код под DOMDocument и DOMXPath которые используются внутри IPS, и лишние библиотеки тянуть с собой не надо 😄
  10. 1. Создать блок на основе плагина виджета 2. В шаблоне forums->front->index->index найти цикл: {{foreach \IPS\forums\Forum::roots() as $category}} перед закрывающим тегом этого цикла {{endforeach}} вставить: {{if $category->_id == MY_ID}}{block="BLOCK_KEY"}{{endif}} MY_ID - id категории форума после которого нужно вставить блок BLOCK_KEY - ключ созданного блока
  11. Exception posted пост в теме in Флейм
    В итоге написал приложение исходя из кода на хабе, которое парсит рейтинг в мою базу данных с последующим выводом, класс работает по такой схеме: Пользователь заходит на страницу игры, идет проверка в Data\Store на кэш ключ, если нету обращается к таблице бд приложения, если там нету, создается строка с данными из функции парсера, далее создается кэш и выводится пользователю. Кэш и данные в базе данных обновляются раз в день при обращении пользователей к странице игры. Кэш создается чтобы не нагружать базу данных постоянными запросами, данные в бд записываются соответственно чтобы не нагружать сервер metacritic и не получить бан. У меня небольшие сомнения по подключению библиотек в приложении, я подключаю их перед вызовом класса в котором вызываются классы из библиотек так: require_once \IPS\ROOT_PATH . '/applications/MY_APPLICATION/sources/Unirest/Unirest.php'; Все конечно работает, но правильно ли так делать?
  12. Exception posted пост в теме in Флейм
    Можно еще через API стима смотреть рейт metacritic, данные можно получать так: https://store.steampowered.com/api/appdetails/?appids=1196590
  13. Exception posted пост в теме in Флейм
    👍
  14. Exception posted пост в теме in Флейм
    Спасибо, я наткнулся только на api.opencritic.com при поисках, странно что не смог найти как к api обращаться. Кстати буквально минут 10 назад тоже нашел на хабе https://github.com/danger89/metacritic_api сижу уже разбираю его
  15. Exception posted пост в теме in Флейм
    Есть ли у кого API сайтов Metacritic и(или) Opencritic или как лучше осуществить сбор инфы с этих сайтов? У них я api вообще не нашел.
  16. без ссылки на форум ничем помочь не смогу
  17. я про последний скрипт, он не может оставлять тег, он его вообще удаляет: <script type='text/javascript'> $( document ).ready(function() { $('html body').find('div[data-role="commentContent"]').find('p:last').each(function() { if( $(this).html().replace(/\s|&nbsp;/g, '').length == 0 && $(this).next().length == 0 ) $(this).remove(); }); }); </script>
  18. betastarz скрипт последний проверил?
  19. Думаю это конечная (также если есть надпись например Изменено 11 минут назад пользователем ) удаление не производится: <script type='text/javascript'> $( document ).ready(function() { $('html body').find('div[data-role="commentContent"]').find('p:last').each(function() { if( $(this).html().replace(/\s|&nbsp;/g, '').length == 0 && $(this).next().length == 0 ) $(this).remove(); }); }); </script>
  20. тогда пока так, nbsp он точно удаляет, чуть позже гляну что еще можно сделать: <script type='text/javascript'> $( document ).ready(function() { $('html body').find('div[data-role="commentContent"]').find('p:last').each( function () { if( $(this).prev().length == 1 && $(this).next().length == 0 ){ $(this).html(function (i, html) { return html.replace(/&nbsp;/g, ''); }); } }); }); </script>
  21. Проверил тут, работает вроде: <script type='text/javascript'> $( document ).ready(function() { $('html body').find('div[data-role="commentContent"]').find('p:last').each( function () { if( $(this).prev().length == 1 && $(this).next().length == 0 ){ $(this).html(function (i, html) { return html.replace(/&nbsp;/g, ''); }); $(this).unwrap() } }); }); </script> а нет, немного не то поведение
  22. betastarz а так, поиск нужных элементов максимально расширил: <script type='text/javascript'> $( document ).ready(function() { $('html body').find('.ipsComment').find('p:last').each( function () { if( $(this).next().length == 0 ){ $(this).html(function (i, html) { return html.replace(/&nbsp;/g, ''); }); } }); }); </script>