DemonidZe Posted March 27, 2013 Posted March 27, 2013 Проблема с отправкой смс... судя по скрину дело в том, что на шлюз уходят данные с другим часовым поясом. у меня вот +7 на шлюзе судя по всему +2... код поглядел, но ничего похожего на часовые пояса там не обнаружил. Как поправить? Я не силён в PHP В окне "Состояние", отображаются вопросительные знаки... P.S. Если используется тема отличная от KVT (в моём случае Plain Clean) и не отображаются иконки, необходимо скопировать недостающие(!!!) файлы из /skins/taskbar/ в /skins/%theme_name%/taskbar/ добрый день могу сказать что проблема скорее всего с подписью . судя по количеству вопросительных знаков там должно быть написано влияет регистр и все знаки .
v27s Posted March 28, 2013 Posted March 28, 2013 Проблема с отправкой смс... судя по скрину дело в том, что на шлюз уходят данные с другим часовым поясом. у меня вот +7 на шлюзе судя по всему +2... код поглядел, но ничего похожего на часовые пояса там не обнаружил. Как поправить? Я не силён в PHP В окне "Состояние", отображаются вопросительные знаки... P.S. Если используется тема отличная от KVT (в моём случае Plain Clean) и не отображаются иконки, необходимо скопировать недостающие(!!!) файлы из /skins/taskbar/ в /skins/%theme_name%/taskbar/ добрый день могу сказать что проблема скорее всего с подписью . судя по количеству вопросительных знаков там должно быть написано 12.JPG влияет регистр и все знаки . Спасибо! С подписью разобрался (подсказали в суппорте TurboSMS), а вот с кодировкой и временем отправки беда... Сообщения на кириллице приходят битые и ответы от шлюза вопросительными знаками... у самого везде всё выставлено в UTF8 более негде проблем не возникает...
v27s Posted March 28, 2013 Posted March 28, 2013 Благодаря товарищу внесли в код рассылки следующие правки и всё заработало как надо: Правим косяк с кодировками: открываем /modules/general/turbosms/index.php находим строку (71): $result = array(); после неё добавляем: $TsmsDB->query('SET NAMES utf8'); PROFIT!!! Теперь всё жестко-принудительно Далее корректировка по часовому поясу (строки указаны с учетом правки кодировки): находим строку (160): $date=date("Y-m-d H:i:s"); Заменяем/дописываем: $date=date("Y-m-d H:i:s", time()-5*3600); Где "-5*3600" разница в часах между часовыми поясами сервера отправителя (в моём случае GMT +7) и шлюза TurboSMS (GMT +2). Опять же PROFIT!!! Колхозолизация конечно весьма высока, но за то работает
nlo Posted March 28, 2013 Posted March 28, 2013 (edited) обновился спасибо. выздоравливай! Edited March 28, 2013 by nlo
nightfly Posted March 28, 2013 Author Posted March 28, 2013 V27S Опять же PROFIT!!! Спасибо за указание на актуальные проблемы. В 0.4.0 начиная с ревизии 2471 сетнеймс воткнут как есть, а также можно указывать таймзону более-менее по-человечески: Учитывая что 0.3.9 получился весьма п@зд#цбаговатым фичастым, думаю следует ожидать в скором времени 0.4.0 который будет направлен в первую очередь на "работу над ошибками". Так что с нетерпением жду радостных багрепортов nlo выздоравливай!Спасибо
Icelips Posted March 28, 2013 Posted March 28, 2013 (edited) уже 2 недели тестируем смс модуль все отлично. и да выздоравливайте! Edited March 28, 2013 by Icelips
v27s Posted March 29, 2013 Posted March 29, 2013 V27S Опять же PROFIT!!! Спасибо за указание на актуальные проблемы. В 0.4.0 начиная с ревизии 2471 сетнеймс воткнут как есть, а также можно указывать таймзону более-менее по-человечески:tsms.png Учитывая что 0.3.9 получился весьма п@зд#цбаговатым фичастым, думаю следует ожидать в скором времени 0.4.0 который будет направлен в первую очередь на "работу над ошибками". Так что с нетерпением жду радостных багрепортов Вэлкам! Всегда рад помочь, чем могу Спасибо огромное за ваш труд! Крепкого здоровья вам!
Den1xxx Posted March 29, 2013 Posted March 29, 2013 Релиз Ubilling 0.3.9 - rev 2465 - Модуль «Консоль разработчика»: мерджнут патч от Den1xxx улучшающий обработку SQL запросов. это правильно конечно, но заметил в демке, что выполненный SQL запрос не сохраняется в текстареа, что не есть труъ. Я не правил это на этот раз в коде, т.к. показалось, что этот этап уже был готов Небольшое замечание по Вики, стр. http://wiki.ubilling.net.ua/doku.php?id=openpayz Либо так, если у вас полностью цифровые логины у пользователей: op_customers_login.sql -- transform users.login -> users.login; CREATE VIEW op_customers (realid,virtualid) AS SELECT users.login, users.login FROM `users`; Насколько я понял, virtualid задуман как уник и цифровой причем. Тогда лучше было бы так, снимая требования на логин по цифре: CREATE VIEW op_customers (realid,virtualid) AS SELECT users.login, CRC32(users.login) FROM `users`;
v27s Posted March 29, 2013 Posted March 29, 2013 (edited) При попытке рассылки, высыпает варнинги, из всего списка отсылается только первое сообщение... настройки php.ini смотрел, лимиты и таймауты расширены до приемлемых значений... В чем еще может быть дело, куда копать? Edited March 29, 2013 by V27S
nightfly Posted March 29, 2013 Author Posted March 29, 2013 Оно у вас пытается соединяться с локалхостом, без пароля. А что у вас с 152 и 153 строках? В релизной версии там вообще дефайн функции tsms_SendSMS($number,$sign,$message,$wappush).
v27s Posted March 29, 2013 Posted March 29, 2013 (edited) Оно у вас пытается соединяться с локалхостом, без пароля. А что у вас с 152 и 153 строках? В релизной версии там вообще дефайн функции tsms_SendSMS($number,$sign,$message,$wappush). Если отправляю конкретному пользователю, то всё норм, а вот если массовая рассылка то вот такие варнинги... $number= mysql_real_escape_string($number); $sign= mysql_real_escape_string($sign); Edited March 29, 2013 by V27S
nightfly Posted March 29, 2013 Author Posted March 29, 2013 $number= mysql_real_escape_string($number); $sign= mysql_real_escape_string($sign); Хм, аналогично. И как не сложно заметить здесь не происходит никаких вызовов mysql_connect порождающих ошибки выше. Сейчас попробую повторить еффект у себя.
nightfly Posted March 29, 2013 Author Posted March 29, 2013 Попытка повротить еффект у себя завершилась фейлом. В моем случае отсылка что массово, что поодиночно - происходит одинаково. Оно у вас изначально вообще слало массово?
nightfly Posted March 29, 2013 Author Posted March 29, 2013 (edited) Все, понял откуда растут ноги. Походу они растут из жопы "особенностей" работы mysql_real_escape_string() пытающегося соединяться с БД (Оо) , чтобы получать текущий чарсет. Попробуйте выковырять модуль turbosms из Ubilling CURRENT 0.4.0 rev 2473. Должно взлететь. Edited March 29, 2013 by nightfly
v27s Posted March 29, 2013 Posted March 29, 2013 Все, понял откуда растут ноги. Походу они растут из жопы "особенностей" работы mysql_real_escape_string() пытающегося соединяться с БД (Оо) , чтобы получать текущий чарсет. Попробуйте выковырять модуль turbosms из Ubilling CURRENT 0.4.0 rev 2473. Должно взлететь. Вытащил модуль TurboSMS из версии 0.4.0 rev 2475, отработал с косяками, но все смски ушли.
nightfly Posted March 29, 2013 Author Posted March 29, 2013 Та блин, нету там mysq_real_escape_string() больше. Как так.
madf Posted March 29, 2013 Posted March 29, 2013 Та блин, нету там mysq_real_escape_string() больше. Как так.Так оно ж про mysql_escape_string пишет. Что он депрекейтед
nightfly Posted March 29, 2013 Author Posted March 29, 2013 Млин. Моя старый и совсем слепой стал. Так и есть Видимо PHP 5.4. Оооокей, щас нагло хакну
v27s Posted March 29, 2013 Posted March 29, 2013 (edited) Млин. Моя старый и совсем слепой стал. Так и есть Видимо PHP 5.4. Оооокей, щас нагло хакну Вот молодец! Работаешь не покладая рук! Памятник ставить пора! Сегодня затестить не смогу, ибо 23:00, абоны не оценят ночного спама )))) P.S. убрал у себя в отслеживании сообщений колонку Msg ID, ибо не понятен смысл куда оно и зачем... + поскольку скин Plain Clear, в данном варианте нормально всё влезает. Было бы круто, если можно было бы дропать из базы косячные строки, отсылки - т.е. рядом с сообщением красный крестик для удаления, а так же возможность массового удаления, если вдруг по запарке отправил, или отправил что-то не то и оно не ушло еще ) Edited March 29, 2013 by V27S
nightfly Posted March 29, 2013 Author Posted March 29, 2013 Вот молодец! Работаешь не покладая рук! Исходя из качества кода, непонятно, что он далеко не руками писан? Памятник ставить пора! ...посмертно.... Сегодня затестить не смогу, ибо 23:00, абоны не оценят ночного спама )))) Окей, корень зла понятен. Зафиксю - отпишусь.
v27s Posted March 29, 2013 Posted March 29, 2013 (edited) Памятник ставить пора! ...посмертно.... /me прописал у nightfly в консоли IDDQD и нажал Enter! Edited March 29, 2013 by V27S
nightfly Posted March 29, 2013 Author Posted March 29, 2013 Еще раз отрихтовал в ревизии 0.4.0 rev 2480. Буду плакать кровавыми слезами если и это начнет у вас взрываться.
nightfly Posted March 29, 2013 Author Posted March 29, 2013 Den1xxx это правильно конечно, но заметил в демке, что выполненный SQL запрос не сохраняется в текстареа, что не есть труъ.Да, походу на демке эта опция бай дефолт не включена просто Я не правил это на этот раз в коде, т.к. показалось, что этот этап уже был готов Да так и есть Насколько я понял, virtualid задуман как уник и цифровой причем.Правильно поняли - он просто для удобства пользования платежными системами. Ну логины и так сами по себе уникальны - в случае если они имеют вид 00002, 00003 итд (опции генерации логинов), вариант приведенный в виках просто позволяет пользователю при пополнении счета, терминалом скажем, помнить меньше цифр (ну вместо там номера договора или еще чего-то типа того). В таком случае CRC32('00002') даст юзеру шанс повводить на терминале что-то типа 2765239769. В случае же нецифровых логинов "изкоробки" да CRC32() вполне себе вариант, как и скажем INET_ATON() и даст вполне себе вменяемый результат. Спасибо, добавил в вику. В общем как сказано в конце примеров "В общем все ограничено только вашей извращенной фантазией ;)" Кстати, будете смеяться, но OpenPayz изначально планировался и писался как реализация взаимодействия с платежными системами для fnshop Собственно FastShop подразумевался в виде ромбовидного "Managers interface" на архитектурной схеме. Но как водиться, у кастомера как-то резко кончились деньги и этот самый OpenPayz на скорую руку переточился под Ubilling (а че ж добру пропадать?). Собственно в норме `realid` это должно было быть ничто иное как хорошо известный вам $system->user['username'] либо $order_id.
v27s Posted March 30, 2013 Posted March 30, 2013 Еще раз отрихтовал в ревизии 0.4.0 rev 2480. Буду плакать кровавыми слезами если и это начнет у вас взрываться. Спасибо огромное! Всё нормально работает
Den1xxx Posted March 30, 2013 Posted March 30, 2013 (edited) эта опция бай дефолт не включена простоУпс. Не заметил. OpenPayz изначально планировался и писался как реализация взаимодействия с платежными системами для fnshop Собственно такая же задача встала. Решил особо не изобретать велосипед, если есть рабочий вариант.Правда пока не разобрался ещё. Надеюсь разобраться и по итогам разработки закинуть что-либо и в Ваш репо, на очереди ipay.by и webmoney. Edited March 30, 2013 by Den1xxx
Recommended Posts