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

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

С нами с 19 декабря 2015; Место в рейтинге пользователей: #15
Александр Туниеков
09 мая 2019, 19:57
0
Ну с андроид я знаком уже :). а с iphone нет. Для андроид приложение сделать что-то около 30 т.р. плюс вам где-то надо будет дизайн сделать на него. На iphone мне придется учиться и это получиться дороже.
Вот так если захотите у меня заказать.
А вообще лучше на сайтах для программистов андроид и iphone вам поискать.
Александр Туниеков
09 мая 2019, 19:46
0
Приложение для андроид? насколько большая база товаров? синхронизация может будет долгая :(
Александр Туниеков
09 мая 2019, 17:15
0
Мобильное приложение для андроид или iphone? Что в нем нужно? Я делал для андроид приложение калькулятор товаров, но во первых дизайн не мое, во вторых никто им пока не пользуется :).
Александр Туниеков
31 марта 2019, 13:24
0
Вообщем надо было в build.config.php добавить define('PKG_PROVIDER_ID', 3); чтобы при установке знало с какого провайдера брать ключ. 3 — это у меня ид модсторе. Теперь при установке с модсторе пакет ставиться, а с локальной установкой не ставиться. Как и должно быть. Только порылся я по транспортному пакету и вообще не нашел что там зашифровано :(.
Александр Туниеков
31 марта 2019, 11:41
0
Попробовал так https://gist.github.com/touol/af98f895e770debff7aad9b128e6debd. Но попытка не удалась :(. Пакет на тесте ставится, а не должен.
Помогите пожалуйста
Александр Туниеков
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);