Александр Туниеков

Александр Туниеков

С нами с 19 декабря 2015; Место в рейтинге пользователей: #15
Александр Туниеков
31 марта 2019, 09:57
0
К сожалению, я это пример не понял :(.
Александр Туниеков
26 марта 2019, 18:13
0
Попробовали использовать и
1 вешался модкс на строке
$mes = $modx->getChunk($tpl, $scriptProperties);
2 не отправлял сообщения с пробелами.
Вот переписанный smschook
<?php
$fields = $hook->getValues();
$phones = $scriptProperties['smschook_phones'];
if(empty($phones)){
    $phones = $modx->getOption('smschook_phones', null, '');
}

$tpl = $scriptProperties['smschook_tpl'];
$mes = $modx->getChunk($tpl, $fields);
//return true;
$data = [
    'login' => $modx->getOption('smschook_login', null, ''),
    'psw' => $modx->getOption('smschook_password', null, ''),
    'phones' => $phones,
    'mes' => $mes
];

if (empty($data['login']) || empty($data['psw'])
    || empty($data['phones']) || empty($data['mes']) || empty($scriptProperties['smschook_tpl'])) {
    $modx->log(modX::LOG_LEVEL_ERROR, '[smscHook] Error sending SMS: empty login, password, phones, message or tpl'.$data['login'].$data['psw'].$phones.$tpl );
    return true;
}

$link = 'https://smsc.ru/sys/send.php?login=' . $data['login'] . '&psw=' . $data['psw'] . '&phones=' . $data['phones'] . '&mes=' . urlencode($data['mes']) . '&charset=utf-8';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $link);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$res = curl_exec($ch);
if (curl_getinfo($ch, CURLINFO_HTTP_CODE) == 200 && substr($res, 0, 2) == 'OK') {
    curl_close($ch);
    return true;
}
$modx->log(modX::LOG_LEVEL_ERROR, '[smscHook] Error sending SMS: ' . print_r(curl_getinfo($ch), true));
curl_close($ch);
return true;
Александр Туниеков
02 марта 2019, 21:56
0
Заводи допполе status Дополнительные поля профиля юзера (не extended).
Затем сниппет юзеру, который меняет этот статус. Например status это чекбокс
...
$modx->user->set("status", !$modx->user->get("status") );
$modx->user->save();
можно менять статус по ajax.
Вывод таблицы пользователей через pdoUsers
Александр Туниеков
02 марта 2019, 09:22
0
Кажется немного не верно. Здесь https://github.com/modxcms/revolution/blob/769b4f498bfc486b6417835f01443666178abc72/core/model/modx/transport/modtransportpackage.class.php#L233 Происходит сохранение пакета в таблицу до его установки. То есть ваш запрос вернет версию, которая ставиться. Надо добавить фильтр по installed не null.
Наверно так
$c = $modx->newQuery('transport.modTransportPackage');
$c->select('version_major')
    ->where(array(
    'package_name' => 'ИМЯ ПАКЕТА',
    'installed:!=' => null,
))
    ->sortby('version_major','DESC')
    ->limit(1);
$version = (int) $modx->getValue($c->prepare());

if ($version == 3)  {
    ...
}
Проверять надо. Но проверка на пустое содержимое таблицы мне подходит. Надеюсь никто не додумается поставить пакет и потом сразу же обновить.
Александр Туниеков
02 марта 2019, 05:41
0
Спасибо. Этот вариант как-то не пришел в голову :)
Александр Туниеков
01 марта 2019, 21:16
0
Посмотрел код установщика пакетов. Похоже никак нельзя предыдущею версию нельзя получить :(
Александр Туниеков
01 марта 2019, 17:41
+1
За помощь хотя бы рейтинг плюсуйте :)
Александр Туниеков
01 марта 2019, 17:26
+1
Без понятия :) красивости это не ко мне. А так вообще-то у вас обычный ява-скрипт. Навешать лоадер, например, без проблем можно. Прогресс-бар уже сложнее. Там как то степень готовности получать надо. Можно сделать MODX.console https://yadi.sk/i/8hgGFbfMkIQfnA https://github.com/touol/EmailQueue/blob/b41f3e445f97b9b277dcc890c66b2ee101a61dbf/assets/components/emailqueue/js/mgr/widgets/items.grid.js#L341
Александр Туниеков
01 марта 2019, 12:07
+1
Ну вы похоже коносолью браузера не очень умеете пользоваться :(.
Так вот ошибка 500 пропала потому, что она теперь показывается. Шелкаете на этой строке и там показывается ответ от сервера. Смотрите что в ответе.
https://yadi.sk/i/sthHH3XOTbCjsw
Александр Туниеков
01 марта 2019, 11:55
+1
А показ ошибок пхп включили?
Александр Туниеков
01 марта 2019, 04:52
+1
Залил на GitHub github.com/SequelONE/PayPanel
что-то мне не сильно охота дебажить чужой компонент :)
в консоли ругается на setAction.
Когда научитесь собеседников уважать? Ошибку сразу надо писать. Я не телепат же :)
выдаёт 500ую ошибку
То есть запрос в network уже есть?! В коннектор компонента PayPanel/assets/components/paypanel/connector.php в начало вставьте
error_reporting(E_ALL);
ini_set('display_errors', 1);
И смотрите ошибку в network response. Если что там не понятно, ошибку сюда.
Александр Туниеков
28 февраля 2019, 19:49
+1
Явных ошибок не вижу. Раз запроса не проходит ищи этап на каком срывается. Для начала вставь console.log(«test»); в начало этой функции и проверь консоль браузера. Или алертом можешь проверять. Я с телефона сижу счас. Не удобно набирать.
Александр Туниеков
28 февраля 2019, 15:43
+1
хм… или эта функция save_action должна вызвать? что-то такого варианта я не встречал…
Александр Туниеков
28 февраля 2019, 14:18
+1
покажи эту функцию this.setAction('importapi', 'false', 0);
Александр Туниеков
28 февраля 2019, 06:04
+1
А что не так то пошло? :) Какая ошибка? В коносоле разработчика в Network что говорит?
Александр Туниеков
23 февраля 2019, 21:36
0
Какие 5к р.)) о чем речь
Я другу, на его последнее предложение, так и сказал, что нормальный сайт от 50т.р. делается.
Ты как разработчик вообще гарантировать какую то прибыль не можешь, и об этом надо говорить клиенту.
Ясно, что не могу, но вопрос в том, что клиенты же не за красивые глазки бегут заказывать у тебя сайт. Нужно чтоб разработанный сайт их как-то устраивал. Приносил прибыль или моральное удовлетворение :)
Александр Туниеков
23 февраля 2019, 20:11
0
Как минимум плюс в том, что вам не приходится общаться с неадекватными, агенство их для вас фильтрует.
Агентствам бывает пофиг. Они берут заказы от неадекватных и просто скидывают тебе, которые фиг знает как делать.
Херня. Как сказать «хочу быть богатым».
Аргумент весомый :(. Только меня не совсем устраивает текущее положение, заработки и то что мало пользы от работы. Хотя конечно 90% фирм закрываются в первые 3 года работы. Может и для сайтов такая-же судьба…
Александр Туниеков
23 февраля 2019, 19:10
0
Не вопрос не в предоплате. Пример не слишком удачный :(. Вопрос какие сайты эффективны и восстребованны? Как это определять? Какие суммы для эффективного сайта приемлемы? Как подобрать клиенту нужный ему сайт и объяснить его стоимость?
Вопросы может и дурацкие. Типа «смысла жизни» :), но по крайней мере меня такие вопросы развивают :)
Александр Туниеков
29 января 2019, 10:43
0
Разобрался :) В общем в modExtra менять ничего не нужно.
Александр Туниеков
29 января 2019, 08:04
0
Для проверки установил Tickets. На modAction ругается 3 раза. А должно 1 раз на это
if ($action = $modx->getObject('modAction', array('namespace' => 'tickets'))) {
                $action->remove();
                /** @var modMenu $menu */
                if ($menu = $modx->getObject('modMenu', array('text' => 'tickets'))) {
                    $menu->remove();
                }
Похоже наши гуру и сами не знают, что там такого нужно поменять, чтоб не ругалось :)