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

Desti

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

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

  • Посещение

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

    131

Весь контент Desti

  1. это можно удалить, limit уже есть в запросе
  2. topContributors.php public function render() { /* How many? */ $limit = isset( $this->configuration['number_to_show'] ) ? $this->configuration['number_to_show'] : 5; /* Work out who has got the most reputation this week... */ $topContributorsThisWeek = array(); $topContributorsThisWeek = iterator_to_array( \IPS\Db::i()->select( 'member_id as themember, pp_reputation_points as rep', 'core_members', array( 'pp_reputation_points > 0' ), 'rep DESC', $limit )->setKeyField('themember')->setValueField('rep') ); arsort( $topContributorsThisWeek ); $topContributorsThisWeek = \array_slice( $topContributorsThisWeek, 0, $limit, TRUE ); /* Load their data */ if( \count( $topContributorsThisWeek ) ) { foreach ( \IPS\Db::i()->select( '*', 'core_members', \IPS\Db::i()->in( 'member_id', array_keys( $topContributorsThisWeek ) ) ) as $member ) { \IPS\Member::constructFromData( $member ); } } /* Display */ return $this->output( $topContributorsThisWeek, $limit ); } Шаблон topContributors <h3 class='ipsType_reset ipsWidget_title'>{lang="block_topContributors"}</h3> <div class='ipsTabs ipsTabs_small ipsTabs_stretch ipsClearfix' id='elTopContributors' data-ipsTabBar data-ipsTabBar-updateURL='false' data-ipsTabBar-contentArea='#elTopContributors_content'> <a href='#elTopContributors' data-action='expandTabs'><i class='fa fa-caret-down'></i></a> <ul role="tablist" class='ipsList_reset'> <li> <a href='#ipsTabs_elTopContributors_el_topContributorsAll_panel' aria-selected='true' class='ipsTabs_item ipsTabs_activeItem' id='el_topContributorsAll' role="tab" aria-selected='false'>{lang="alltime"}</a> </li> <li> <a href='{url="app=core&module=system&controller=ajax&do=topContributors&time=week&limit={$limit}&orientation={$orientation}"}' id='el_topContributorsWeek' role="tab" class='ipsTabs_item'>{lang="week"}</a> </li> <li> <a href='{url="app=core&module=system&controller=ajax&do=topContributors&time=month&limit={$limit}&orientation={$orientation}"}' id='el_topContributorsMonth' class='ipsTabs_item' role="tab" aria-selected='false'>{lang="month"}</a> </li> <li> <a href='{url="app=core&module=system&controller=ajax&do=topContributors&time=year&limit={$limit}&orientation={$orientation}"}' id='el_topContributorsYear' class='ipsTabs_item' role="tab" aria-selected='false'>{lang="year"}</a> </li> </ul> </div> <section id='elTopContributors_content' class='ipsWidget_inner ipsPad_half'> <div id="ipsTabs_elTopContributors_el_topContributorsWeek_panel" class='ipsTabs_panel'> {template="topContributorRows" group="widgets" app="core" params="$topContributorsThisWeek, 'all', $orientation"} </div> </section> У меня в таком виде всё работает нормально
  3. В jquery есть функция prepend(), которая вставляет контент первым чилдом. Родителем, в нашем случае, будет элемент, в котором объявлен скрипт. Поэтому this.scope.prepend(menu) вставит сгенеренную менюшку в начало секции. data-title вставляется в тег заголовка секции, якорь перед ним, типа <a id="anchor-label" rel=""></a> <h2 class="cDocs_mainTitle" data-role="title">Заголовок</h2> У инвижинов для этого, скорее всего, есть приложение, а вам придется расставлять теги и якоря руками.
  4. А что не понятно? В меню справа - ссылки с якорями, в тексте якоря. Жмем ссылку, перепрыгиваем на якорь. А <nav></nav> генерит скрипт простенький, прошаривая по [data-role='title']
  5. Только в код лезть, он динамический, ищите member_posts в content/item, наверное можно проверять "app" и, если это "downloads", не увеличивать счетчик.
  6. Дык для тем отдельный раздел обычно создают, отключите в нем счетчик сообщений.
  7. Таблицу только перед этим обязательно чекнуть, оптимизировать и забекапить.
  8. Никакая. Функции в php коде, в шаблоне вы можете делать только проверку доступных переменных и в зависимости от результата выводить тот или иной блок. {{if $forum->id !== 33}} (тут ссылка на создание новой темы) {{else}} (а тут ссылка на скачивание файла) {{endif}}
  9. css-ы админки живут в core/dev/css, чтобы поменять фон надо отредактировать файл login.css (класс elLogin) и пересобрать приложение из режима разрабочика.
  10. Ну а что, CT безумно дорог? 500 рублей в год плюс куча всякой халявы за посты и твиты, в легкую можно еще год получить. И никаких проблем со спамом.
  11. Если регаются, то допустимые, согласитесь? У гугла, например, вполне можно написать [email protected], почта будет приходить на адрес user@. Удобно, если надо сортировать по каким-то правилам. Бороться надо не с почтовыми адресами, а подключать антиспам сервис. Я isp-овский подключил, 99% фуфловых регистраций исчезло.
  12. У меня композитный вариант. Notify от сервера сбрасываются в базу и отдается 200. Сonfirm скрипт от платежной системы чекает нотифи-таблицу (некоторое время) и при обнаружении success сообщения подтверждает платеж. Если не успевает, то отдает страницу "Что-то у нас пошло не так, но не переживайте, деньги не пропадут", а потом кроном чекает и меняет статус платежа.
  13. это нормально для яндекса У меня всё в редисе, в базу только финальные изменения сбрасываются.
  14. Ну и какая проблема-то? В уведомлении приходит номер платежа, проверяем по базе и принимаем, если новый или отвечаем 200 и забываем. Мало ли что может случится, запрос прошел к вам, обработался, а ответа от вас не пришло, сеть сбойнула. У юмани такого вроде официально нет (не видел в доках), но они пишут, что будут слать, пока не получат 200. Я проверку сделал на дубль уведомления и один раз поймал такой.
  15. Ну добавить куда-нить в начало index.php if( isset($_SERVER["HTTP_CF_CONNECTING_IP"]) ) $_SERVER['REMOTE_ADDR'] = $_SERVER["HTTP_CF_CONNECTING_IP"]; У мну нет CF-a, проверить не на чем.
  16. Это адреса cloudflare, вы там сервер держите, а он подменяет IP на свои. Оригинальный IP живет в $_SERVER['HTTP_CF_CONNECTING_IP'];
  17. Ну если совсем в лоб, то так (добавить выделенное, можно скопировать блок выше и отредактировать два значения). Для новых загрузок появится поле Обновлено. В старых какая-то лажа, они не обновляются даже если перестроить контент. Возможно, придется все пересоздать.
  18. Для работы в 4.5 надо добавить public static $csrfProtected = TRUE; в файл applications/bulkpm/modules/admin/bulkpm/index.php после protected $nodeClass = 'IPS\bulkpm\Message';
  19. Не в падлу, сообщил. Я про эту фичу не знал, например, т.к. у меня только картинки в аттачах разрешены.
×
×
  • Создать...