Sphinx

Sphinx

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

Проблемы с авторизацией через Яндекс в HybridAuth

Добрый день!

У всех нормально работает авторизация через Яндекс в HybridAuth?

У меня с сегодняшнего дня (07.05.2020) начала вываливаться ошибка в логах:
[HybridAuth] Provider returned an error: invalid_scope Не удалось определить список запрашиваемых доступов
Соответственно Яндекс пишет:
Не удалось определить список запрашиваемых доступов (invalid_scope)
Проблема, по всей видимости, с GET-параметром scope, сейчас в нем передаются пустые данные "scope=". В документации указано «Если параметры scope и optional_scope не переданы, то токен будет выдан с правами, указанными при регистрации приложения.». Проверил, права в приложении указаны, но авторизация не проходит. Если в GET-параметре вручную указать "scope=login:birthday login:email login:info login:avatar", то авторизация проходит норм.

PS Ну соответственно слетела авторизация через Яндекс на всех моих сайтах.
Sphinx
07 мая 2020, 10:23
modx.pro
1
1 844
0

Обновление пакетов на базе modExtra и старые данные

Добрый день!

Столкнулся с такой ситуацией, что реализуя компонент на базе modExtra и обновляя его новыми версиями, у меня не удаляются старые данные (чанки, сниппеты и т.п.) и файлы на сервере. Отсюда возник ряд вопросов, т.к. пока не понятно, возможно у меня косяк в сборщике или так и должно работать. Вообщем, использую modExtra с github.com/bezumkin/modExtra, потихоньку собираю новые версии пакетов, обновляю на сайте.
Sphinx
13 февраля 2020, 12:19
modx.pro
1
581
0

Неправильное оборачивание MySQL функции символом ` при SQL запросе

Добрый день!

Нужна помощь в составлении SQL запроса. Проблема в обрамлении символом `.

Код:
...
$where = array(
    'FROM_UNIXTIME(Table.date, \'%Y-%m-%d\'):>=' => $date->format('Y-m-d'),
);
...
$query->where($where);

$query->prepare();
echo $query->toSql();

Результат:
SELECT ... FROM ... WHERE `FROM_UNIXTIME(Table`.`date, '%Y-%m-%d')` >= '2019-12-17'

Необходимо:
SELECT ... FROM ... WHERE FROM_UNIXTIME(`Table`.`date`, '%Y-%m-%d') >= '2019-12-17'

MySQL функция «FROM_UNIXTIME» оборачивается символом ` и из-за этого происходит ошибка SQL запроса. Подскажите пожалуйста, где делаю неправильно.

PS Вариант
$query->where('FROM_UNIXTIME(Table.date, \'%Y-%m-%d\'):>= ' . $date->format('Y-m-d'));
известен, но хотелось бы реализовать через массив, т.к. более удобочитаемо и будут еще дополнительные условия выборки.
Sphinx
20 декабря 2019, 10:05
modx.pro
707
0

Изменение сообщения "permission_denied" в процессорах

Добрый день!

Есть сниппет, который вызывает процессор. Чтобы отработал процессор — настроены права доступа и если пользователь авторизован, то все отрабатывает нормально. Но если пользователь не авторизован (или права доступа не подходят), то возвращает ошибку, а точнее сообщение «permission_denied».

Подскажите пожалуйста, как будет правильно возвратить вместо сообщения «permission_denied» свое сообщение, к примеру «my_permission_denied».

Для примера взять стандартный процессор:
<?php
class TestItemCreateProcessor extends modObjectCreateProcessor {
    public $permission = 'item_create';

    /**
     * @return bool
     */
    public function beforeSet() {
        
        ...

        return parent::beforeSet();
    }
}

return 'TestItemCreateProcessor';
Sphinx
13 декабря 2019, 14:49
modx.pro
1 042
0

Формирование ссылки на админ. панель Modx

Добрый день!

Подскажите пожалуйста, каким образом можно корректно сформировать ссылку на редактирование ресурса в админ. панели Modx?

На данный момент изменена папка с админкой Modx, поэтому вариант /manager/?a=resource/update&id=[[*id]] не подходит.

Ссылку необходимо сформировать на феноме, вариант {$_modx->makeUrl($_modx->resource.id, 'mgr', '', 'full')} не работает и выдает пустой результат.
Sphinx
23 мая 2017, 11:46
modx.pro
2 567
+1

Удаление файлов в Git

День добрый!

Вопрос конечно не связан с Modx, но может быть будет полезен кому-нибудь. Как правильно удалять файлы из репозитория?

Опишу ситуацию:
1. Создаю репозиторий:
git init
2. Создаю файлы на сервере file1.php, file2.php, file3.php, file4.php, file5.php и далее:
git add .
git commit -m "First commit"
git push origin
Теперь все файлы в репозитории.
Sphinx
22 мая 2017, 11:13
modx.pro
1 864
0

Modx на поддомене через .htaccess

Не получается добиться корректной работы Modx на поддомене, созданного через .htaccess.
1. Первое я создал папку tmp в корне сайта.
2. В .htaccess добавил:
RewriteCond %{HTTP_HOST} ^(www\.)?tmp\.sait\.ru$ [NC]
RewriteCond %{REQUEST_URI} !/tmp
RewriteRule (.*) /tmp/$1 [L]
3. Теперь в адресной строке могу зайти на поддомен tmp.sait.ru/
4. Залил в папочку tmp чистый Modx, прописал пути. В общем Modx запускается.
Теперь надо отредактировать .htaccess чтобы корректно строились урлы. Тут и проблема. Есть 2 .htaccess: основного сайта и на поддомене. Я так понимаю надо отредактировать на поддомене. Но не знаю как.
Сейчас Modx на поддомене работает, но ссылки строятся не правильно. Они выглядят tmp.sait.ru/tmp/manager/ или tmp.sait.ru/tmp/index.php?id=3 (это без ЧПУ, еще не подключил его), а должны выглядеть как tmp.sait.ru/manager/ или tmp.sait.ru/index.php?id=3. В общем добавляется папочка /tmp — она не нужна. Подскажите пожалуйста, как решить эту проблему?
Sphinx
25 февраля 2017, 16:14
modx.pro
1 399
0

HybridAuth + чанки из файлов

День добрый!

Не получается вызвать чанк для сниппета HybridAuth из файла
Так вызов сниппета работает отлично:
{$_modx->runSnippet('!HybridAuth', [
	'providers' => 'facebook*',
	'loginTpl' => 'tpl.HybridAuth.login',
])}

Подскажите, каким образом вызвать чанк из файла? Такой вариант, к примеру:
'loginTpl' => '@FILE /assets/tpl.HybridAuth.login.tpl',
к сожалению не работает.
Sphinx
28 декабря 2016, 09:15
modx.pro
1 035
0

Не работает пагинация при ajaxMode+pageLinkScheme

Добрый день!
Никак не получается запустить пагинацию в связке двух параметров ajaxMode и pageLinkScheme.
К примеру:

<div id="pdopage">
    <div class="rows">
        [[!pdoPage?
                &parents=`0`
                &ajaxMode=`default`
		&pageLinkScheme=`/[[+pageVarKey]]-[[+page]]/`
        ]]
    </div>
    [[!+page.nav]]
</div>

При нажатии на номера страниц в пагинации — переход не происходит. Подскажите, в чем может быть проблема?
Sphinx
08 декабря 2016, 06:26
modx.pro
1 167
0

Проверить наличие ключа в сессии с помощью Femon

Добрый день!
В документации есть теги fastField. Значение сессии можно вывести как [[#SESSION.another_key]]. Не могу разобраться как проверить на существование данного ключа (another_key) в сессии. Как можно проверить на Fenom, существует ли ключ another_key в суперглобальном массиве $SESSION?

Нужно, к примеру, что-то типа этого:
{if isset($SESSION.another_key)}
	код....
{else}
	код....
{/if}
Sphinx
01 декабря 2016, 14:35
modx.pro
2
1 365
+1