SEQUEL.ONE

SEQUEL.ONE

С нами с 16 июня 2015; Место в рейтинге пользователей: #105

Функционал социальной сети

Всем привет. Помниться в году этак 2013 Николай Ланец интегрировал движок LiveStreet в MODX, тогда еще были потуги внедрить в MODX шаблонизатор Smarty и вроде даже успешно. Мне всегда хотелось для MODX что-то родное в плане социального функционала. А чем MODX хуже WordPress, DLE или Joomla (про фреймворки я молчу, там можно творить что угодно)?!

Недавно встала задача на одном сайте сделать функционал добавления в друзья, списки друзей, подписчики.

Так вот, ближе к сути. Я планирую использовать несколько готовых решений, а это:

pdoTools (pdoUsers) — вывод списков пользователей
VirtualPage — страницы пользователей
AjaxForm — для отправки форм с сайта
FormIt — отсылка писем о добавлении в друзья
SEQUEL.ONE
12 апреля 2019, 00:07
154
0

[Решено] Как вывести в mfilter

Как в фильтре mfilter вывести из поля ms|platforms с типом список с автодополнением где данные в виде [«val1»,«val2»,«val3»]?

Нужно в фильтре только по одному типу указать. И чтобы искал в поле только по одному значению, а не полностью всю простыню выводил?

Сейчас выглядит фильтр следующим образом:

{'!mFilter2' | snippet : [
        'parents' => $_modx->resource.id,
        'limit' => 12,
        'class' => 'msProduct',
        'element' => 'msProducts',
        'tpl' => '@FILE components/msearch2/mfilter/row.tpl',
        'tplOuter' => '@FILE components/msearch2/mfilter/outer.tpl',
        'tplPageWrapper' => '@INLINE <ul class="pagination justify-content-md-end mt-2">{$pages}</ul>',
        'tplPage' => '@INLINE <li class="page-item"><a class="page-link" href="{$href}">{$pageNo}</a></li>',
        'tplPageActive' => '@INLINE <li class="page-item active"><a class="page-link" href="{$href}">{$pageNo}</a></li>',
        'tplPageSkip' => '@INLINE <li class="page-item gap"><span class="page-link">...</span></li>',
        'tplPageFirst' => '@INLINE <li class="page-item"><a class="page-link" href="{$href}">[[%pdopage_first]]</a></li>',
        'tplPageLast' => '@INLINE <li class="page-item"><a class="page-link" href="{$href}">[[%pdopage_last]]</a></li>',
        'tplPagePrev' => '@INLINE <li class="page-item"><a class="page-link" href="{$href}">«</a></li>',
        'tplPageNext' => '@INLINE <li class="page-item"><a class="page-link" href="{$href}">»</a></li>',
        'tplPageFirstEmpty' => '@INLINE <li class="page-item disabled"><a class="page-link" href="{$href}">[[%pdopage_first]]</a></li>',
        'tplPageLastEmpty' => '@INLINE <li class="page-item disabled"><a class="page-link" href="{$href}">[[%pdopage_last]]</a></li>',
        'tplPagePrevEmpty' => '@INLINE <li class="page-item disabled"><a class="page-link" href="{$href}">«</a></li>',
        'tplPageNextEmpty' => '@INLINE <li class="page-item disabled"><a class="page-link" href="{$href}">»</a></li>',
        'where' => '{"class_key":"msProduct"}',
        'suggestions' => 'true',
        'filters' => '
                        ms|price:number,
                        ms|platforms:checkbox
                    ',
        'sort' => '
                        ms|price:desc
                    ',
        'tplFilter.outer.ms|price' => '@FILE components/msearch2/mfilter/filters/slider-outer.tpl',
        'tplFilter.row.ms|price' => '@FILE components/msearch2/mfilter/filters/slider-row.tpl'
    ]}
SEQUEL.ONE
07 апреля 2019, 15:10
93
0

Как настроить ЧПУ для HybridAuth?

Всем привет. Столкнулся с задачей, нужно настроить провайдер Twitter для авторизации. Как оказалось со сменой политики мало того, что нужно подавать заявки на английском, так ещё нельзя использовать Callback URL с атрибутами начинающимися на? или &, по этому я хочу сделать ЧПУ ссылку для sgames.one/?hauth.done=Twitter чтобы она подменялась адресом sgames.one/oauth/twitter/

На сервере использую Apache, по этому пытаюсь это дело настроить через .htaccess

Пробовал уже по всякому и так

RewriteEngine On
RewriteBase /

RewriteRule ^oauth/([a-z]+)/? /?hauth.done=$1 [L,QSA,NC]
и так

RewriteEngine On
RewriteBase /

RewriteRule ^oauth/twitter/? /?hauth.done=Twitter [L,QSA,NC]
Выдаёт ошибку вместо редиректа на главную. Подскажите каким образом можно сделать ЧПУ ссылку для провайдера Twitter?
SEQUEL.ONE
06 апреля 2019, 02:07
49
0

Как сделать проверку текущего пользователя на Fenom?

Всем привет. Подскажите пожалуйста как сделать проверку текущего авторизированного пользователя? Что-то типа:

{if $_modx->user.id}
Вевести что-то для текущего авторизированного пользователя
{else}
Вывести что-то для неавторизированного пользователя
{/if}
SEQUEL.ONE
04 апреля 2019, 20:17
1
93
0

[sOneDumper] 1.0.0-beta - Импорт/Экспорт резервных копий MySQL

Хочу представить вашему вниманию первую версию компонента sOneDumper, которая позволяет делать резервное копирование баз данных, а также восстанавливать копии из бекапа. За основу был взят более не поддерживаемый Sypex Dumper 2. Переписан скрипт полностью + добавлена поддержка PHP 7.1





Исходник лежит на GitHub.com
SEQUEL.ONE
26 марта 2019, 18:21
4
322
+12

Как вставить системную настройку в extjs?

Всем привет.

Добиваю компонент, осталось подставить системную настройку в xtype: 'modx-combo-browser':

$modx->getOption('extras_source');
Вот код:

{
                    xtype: 'modx-combo-browser',
                    fieldLabel: _('extras_release_file'),
                    name: 'file',
                    id: config.id + '-file',
                    source: config.source || MODx.config.default_media_source,
                    anchor: '99%',
                    allowBlank: true,
                }
Как я понимаю, здесь source: config.source || MODx.config.default_media_source, вместо config.source нужно вставить системную настройку которая хранит id источника файлов.

Подскажите пожалуйста как это реализовать?
SEQUEL.ONE
12 марта 2019, 00:48
2
101
0

Как вывести в модальном окне таблицу с зависимыми данными extjs

Всем привет. Пытаюсь вывести в своём компоненте в модальном окне таблицу с релизами, кликнув по кнопке из actions на предмете из другой таблицы:

// Releases
        $array['actions'][] = [
            'cls' => '',
            'icon' => 'icon icon-archive',
            'title' => $this->modx->lexicon('extras_package_releases'),
            //'multiple' => $this->modx->lexicon('extras_packages_update'),
            'action' => 'releasesPackage',
            'button' => true,
            'menu' => true,
        ];
SEQUEL.ONE
10 марта 2019, 20:33
1
136
0

Не работает генератор ключей по кнопке в модальном окне extjs

Всем привет. Может кто-нибудь подсказать, почему в модальном окне не работает генератор ключей по клику?

Подключил в контроллерах скрипт jquery.min.js и gen.js настроил в форме кнопку и поле. Самое интересное, если в консоль запулить этот скрипт:

$('.keygen').click(function() {
        $( '.apigenerator' ).val( generateUUID() );
    });
То кнопка оживает и числа генерируются. На кнопке стоит xtype: button Не знаю куда копать.
SEQUEL.ONE
09 марта 2019, 09:22
120
0

Как зайти в админку программно через API?

Всем привет. У меня довольно не стандартная задача. Мне нужно с сайта A отправить логин и пароль от админки сайта B в отдельном скрипте и при совпадении логина и пароля открывать скрытые данные, которые может получить только пользователь с админскими правами.

Вопрос. Можно ли это провернуть через API MODX и как лучше хранить данные для входа, в кукисах или сессии?
SEQUEL.ONE
02 марта 2019, 00:22
1
168
0

Импорт данных через modExtra

Всем привет. Продолжаю разбираться в процессорах и интерфейсе на extjs. Пытаюсь сделать импорт по клику на кнопку через компонент. В /assets/components/paypanel/js/mgr/widgets/domains.grid.js добавил:

Ext.applyIf(config, {
        save_action: 'mgr/domain/importapi',
Дальше делаю всплывающее окно с подтверждением действий:

importApiDomain: function(response) {
        Ext.Msg.confirm(
            _('paypanel_action_download') || _('warning'),
            _('paypanel_confirm_download'),
            function(e) {
                if (e == 'yes') {
                    this.setAction('importapi', 'false', 0);
                } else {
                    this.fireEvent('cancel');
                }
            },this);
    },
при нажатии на Да, должен начаться импорт.

SEQUEL.ONE
28 февраля 2019, 01:05
180
0