Перейти до

Den1xxx

Маглы
  • Всього повідомлень

    32
  • Приєднався

  • Останній візит

Сообщения додав Den1xxx

  1. Со страницы http://wiki.ubilling.net.ua/doku.php?id=needhelp

     

    JQuery, CSS3, HTML5

    Требуется адекватный фронтенд девелопер/UXD для:

    1. вкорячивания responsive design
    2. выпиливания существующих косяков

    Могу сделать респонзив на бутстрапе 3 основанный на этом — http://bootswatch.com/

    Т.е. 16 тем в одной B)

    Но, блин, есть предложение.

    В папке «skins» как-то нагажено. Я предлагаю перенести все картинки в корень в папку «images»

    То же касается и остальных бутстрапов и прочего — что находится в этой папке, следует оттуда перенсти.

    Дело в том, что движок под админом каждый раз сканирует все папки в «skins» на предмет наличия «skin_name.txt»

    И куча дополнительных папок ему не на пользу, особенно когда будет 20 скинов, например.

    Да и лишняя путаница это. Я вот, например, сейчас заглянул туда и не понял — где скин, а где просто папка.

    А новую системную папку «images» задефайнить в common.php

     define('IMAGES_PATH', RCMS_ROOT_PATH . 'images/');

    И запихнуть туда все картинки из скинов, в папках.

     

    Причём можно пока из скинс не удалять, но скопировать и постепенно вывести практику пихать картинки в скинс из обращения.

  2. В php7 не работают PECL расширения.

    И пока движений никаких не видно.

     

    Поэтому перестанет работать следующее:

     

    pecl-memcache-3.0.8_1          Memcached extension

    pecl-memcached-2.2.0_4         PHP extension for interfacing with memcached via libmemcached library

     

    https://pecl.php.net/package/memcache- последние изменения - 2013-04-07

    https://pecl.php.net/package/memcached- последние изменения - 2014-04-01

    А для чего он нужен? При впечатляющем ускорении PHP7 нагрузка реально падает в разы.

    Цифры с реального проекта (магазин 1500 товаров, клоны того же магазина)

     

    Использовано памяти: 6.08MB | PHP: 5.3.27

    Использовано памяти: 3.22MB | PHP: 7.0.12

    Использовано памяти: 3.71MB | PHP: 5.5.38

    В варианте с PHP 5.5 используется мемкеш, в PHP 7 — мемкеша нет и памяти всё равно ест меньше.

    Кстати, mysql драйвер устарел именно с версии PHP 5.5 http://php.net/manual/ru/mysql.installation.php

     

    Если всё же нужен.

    В списке расширений для PHP7 вот здесь это не он?

    https://github.com/gophp7/gophp7-ext/wiki/extensions-catalog

    Вот прямая https://github.com/websupport-sk/pecl-memcache/tree/NON_BLOCKING_IO_php7/php7

    И в инете можно найти описание установки мемкеш на FreeBSD https://forums.freebsd.org/threads/55141/#post-323134

     

    PS/ Я не верю, что уважаемый Nightfly не мечтал заменить устаревший драйвер. Но там такое наследство по всему движку, что это просто трудно сделать. Надеюсь, что слегка помог в этом нелегком деле, хотя там ещё могут быть подводные камни на уровне системы.

  3.  

    Вопрос снят.

    Ну, да - уже недели две как. Опохмелюсь, можт обновлю скрин в доке :-)

     

    Подбросим работки, чтоб не расслаблялся.

    Заглянул в Убиллинг, в системные функции и опечалился.

    В последний год с устаревшим MySQL драйвером ничего не изменилось.

    А ведь он уже deprecated в более-менее адкватно свежих версиях PHP, и выпилена в PHP 7 → а она снижает нагрузку в 2-3 раза (проверено на себе).

    Предлагаю обновить. Печально в этом то, что слово «mysql» в Убиллинге встречается 1157 раз.

    Правда, несколько обнадеживает то, что апи в Убиллинге повторяется зачем-то 7 раз (можно ведь было бы положить в одно место и инклюдить?).

    Поэтому, возможно, не такой уж большой объём работ? Хотя, кого мы обманываем? :) Таки большой.

     

    Ладно, хватит воды, к делу.

    Поскольку в Убиллинге я не очень, а свой проверенный драйвер уже год как работает в родственном этому проекте, я нагло переписал Ваш, Nightfly, api.mysql.php.

    Вот http://fromgomel.com/uploads/api.mysql.php.7z

     

    Особенности:

    1. Работает на PHP от 5.0 и выше.

    2. Для гарантии одного соединения применён шаблон синглтон.

    3. Дисконнект при выгрузке объекта (читай — при завершении работы скрипта).

    4. Запуск производится с помощью $mysqldb = MySQLDB::connect(); в самом апи.

    Что не мешает вызывать повторно в любом другом месте — всё равно вернётся тот же объект (синглтон, ага).

    Запуск объекта по типу $db = new MySQLDB(); теперь невозможен, следует писать $db = MySQLDB::connect();

    5. Для ускоренной и правильной замены устаревшей реализации mysql_real_escape_string() введена rcms_escape_string()

     

    Инструкция по обновлению (сам так обновлял год назад).

    1. Заменяем mysql_real_escape_string() на rcms_escape_string()

    2. Заменяем new MySQLDB(); на MySQLDB::connect();

    3. Заменяем апи на новое в 7 местах. Хотя, возможно, это не прокатит, лучше запихнуть в system и инклюдить оттуда.

    4. Самое сложное. Заменяем mysql_query() на nr_query() или что-то другое.

    Применительно к Убиллингу. После пп. 1-3 эта функция останется в api/libs/api.workaround.php, docs/dshaper/dnswitch.php, modules/general/migration2/index.php и в консоли.

     

    Надеюсь, не слишком напугал.

    Спасибо за внимание.

  4. Неее, там какраз очень читаемая каша, если исполнять куски тестового кода с формочками и всяким таким.

     

    Упс. А разве тег <pre> этому помеха?

    post-19689-0-56834500-1456391597_thumb.png

     

    Сравните:

    post-19689-0-02106500-1456392039_thumb.png

    vs

    post-19689-0-74250300-1456392058_thumb.png

     

    ЗЫ копирайт подпортил картинки, мог бы быть и попрозрачнее.

    А надпись «Исполняем это» имхо вовсе не нужна, если в текстарии сохранился исходный код.

  5. Добрый день, nightfly.

    Пробегал мимо, посмотрел на консоль (было интересно, как сильно отличаются права в родственном проекте — $system->rights_database).

    Вот здесь — http://demo.ubilling.net.ua:9999/billing/?module=sqlconsole&devconsole=true

    К выводу желательно бы добавить <pre>, как в SQL консоли. Иначе в выводе нечитаемая каша.

    А также запоминание в textarea того, что было отправлено, т.к. вводить повторно при лёгком изменении кода — лень.

    Мне-то пофиг, а Вам с этим жить;)

    Удачи в разработке.

  6. Не-не-не. Я баюс - это миграции и тестирования еще на год вперед

     

    Хе-хе. Обижаете.

     

    Всё до нереально-тупого-простого сделано, в лучших традициях:

    CREATE TABLE `users` (
      `username` varchar(255) NOT NULL COMMENT 'Логин пользователя',
      `userdata` text NOT NULL COMMENT 'Сериализированный массив параметров пользователя',
      PRIMARY KEY (`username`)
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
    
    CREATE TABLE `users_cache` (
      `username` varchar(255) NOT NULL COMMENT 'Логин',
      `nicks` varchar(255) NOT NULL COMMENT 'Ник',
      `mails` varchar(255) NOT NULL COMMENT 'Почта',
      PRIMARY KEY (`username`),
      UNIQUE KEY `nicks` (`nicks`),
      UNIQUE KEY `mails` (`mails`)
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
    

    Нет никаких ИД пользователя, как в оригинале:)

     

     

    Линк в личке. Тот скин?

     

    Вроде он, спасибо.

    Иногда излишняя стеснительность — больший грех, чем прелюбодеяние.

    Это я к тому, что давно бы всё готово было:)

     

    Давайте что-ли сменим линки на сабдомены?

     

    Давайте запланируем на через-недельку.

    А то с этими праздниками опять.

  7. Денис, это не показывает, что они вообще существуют.

     

     

    Точно, ступил. Это из кеша;)

     

    А вообще у меня в магазине администраторы давно в БД — искать легче, «ху из ху».

    Их же может быть много, с разными правами.

    Могу поделиться user-classes.php

    Для совместимости юзеры при первом запуске распарсиваются из папки users в БД.

    Создаются 2 таблички — users и users_cache

    Для максимальной совместимости с оригиналом=)

    Только у Вас наверное табличка users уже используется.

    Но переименовать недолго — по одному файлу пробежаться всего-то.

     

    Есть ещё личная просьба: киньте в меня пожалуйста скином с reloadcms.com

    А то 3-й или четвертый раз пытаюсь начать верстать, но лень сильнее меня:)

    Нужно для раздела закачек и вики.

  8. замітив, що в ubiling є ще 4 адміністратори

     

    Вспоминайте, кому давали логин/пароль

     

    Я зробив такий висновок бо в $GLOBALS окрім відомих мені юзерів згадується ще 

     

    [nicks] => Array   (   [tester2] => tester2   [demo] => demo   [supra12] => Supra12   [testme] => TestMe

     

    Это не показывает что они администраторы.

    Есть какие-то тестовые, скорее всего, бесправные, пользователи.

    Чтобы они стали админом, их кто-то должен права дать сначала ;)

  9. Примерно об этом я и говорил. Раньше в фаерфоксе/опере была кнопочка 'все равно продолжить', но походу ее ликвидировали и больше химичить с сертификатами не выйдет вообще.

    Таки кнопка у меня такая на последнем FF работает. Хотя версию — две назад искал, не находил:)

  10. Чтобы функция загрузки бекапов могла работать с большими файлами (>100Мб) и на хостинге не кончилась внезапно память, одну функцию надо переписать в виде:

     function zb_DownloadFile($filePath,$contentType='') {
        if (!empty($filePath)) {
        if (file_exists($filePath)) {
        log_register("DOWNLOAD FILE `".$filePath."`");
        
        if (($contentType=='') OR ($contentType=='default')) {
            $contentType='application/octet-stream';
        } else {
            //additional content types
            if ($contentType=='docx') {
                $contentType='application/vnd.openxmlformats-officedocument.spreadsheetml.sheet';
            }
        } 
    		header("Content-Disposition: attachment; filename=\"" . basename($filePath)."\"");   
    		header("Content-Type: ".$contentType);
    		header("Content-Transfer-Encoding: Binary"); 
    		header("Content-Description: File Transfer");            
    		header("Content-Length: " . filesize($filePath));		
    		flush(); // this doesn't really matter.
    		$fp = fopen($filePath, "r");
    		while (!feof($fp)) {
    			echo fread($fp, 65536);
    			flush(); // this is essential for large downloads
    		} 
    		fclose($fp);
    		die();
        } else {
            throw new Exception('DOWNLOAD_FILEPATH_NOT_EXISTS');
        }
        } else {
            throw new Exception('DOWNLOAD_FILEPATH_EMPTY');
            
        }
    }
    
    
  11. Сегодня увидел на сервере своего провайдера прикольную фишку.

    Думаю, что такой прикол возможно добавить и в Убиллинг.

     

    13.01.2014

    Уважаемые абоненты, использующие технологию доступа IPoE.

    Добавлена новая услуга

    «Турбокнопка»:

    • предназначена для кратковременного (1 час) увеличения скорости доступа к сети Интернет;
    • активируется абонентом самостоятельно через личный кабинет на сайте www.garant-tv.by;
    • стоимость услуги списывается со счета сразу после активации;
    • не прерывает текущих загрузок файлов, потокового аудио/видео и т.д.;
    • действие заканчивается автоматически через 1 час после активации.
  12. Возникла проблемы с интеграцией ipay, кто-то уже ставил этот модуль?

    Случайно модули ipay.by с ipay.ua не перепутали?

    Это разные ПС, если что. :)

  13. я понял чего нету не хватает в билиненге!!!!! это кнопки !!!! ограбить корован!!!!

    Я кстати делал так (в другой системе с внутренним балансом).

    1. Выбираем среди пользователей суперадмина.

    2. Делаем кнопку «Ограбить всех!». При нажатии кнопки весь баланс со всех пользователей списывается на баланс суперадмина.

    3. Profit!

     

    Но вообще-то это может быть полезно только при переходе с режима тестирования на реальную работу:)

  14. У меня на сегодня так реализовано - человек оплатил на счет ПБ и отправил мне смс на моб с сумой и платежные ИД или инициалами плательщика.  Сеть до 100 пользователей, но уже стает сложно это все рулить таким способом (ручным) поэтому поставил задачу автоматизировать этот процесс, но есть технические вопросы, которые мне еще не приходилось решать (в основном это безопасность).

     

    При наличии автоматического приема платежей в UB, по меньшей мере странно «ставить задачу автоматизировать платежи».

    Ее нужно лишь настроить.

    Предварительно подключившись к какой-нибудь платежной системе.

  15.  

     

     

     

     

    Не епите Муму, Качество, и количество, это не равно покрытие.

    готовы рассказать эти сказки инспекторам НКРЗИ? ггггг

     

    Легко.

     

    ну да, если на руках есть утвержденный проект сети до модернизации, утвержденный проект сети после модернизации,  в наличии технико-экономическое обоснование того, что именно на этом столбе именно этому абоненту стало невозможно предоставлять услуги - тогда да. Нелегко. но возможно.. геморно. 

    А если нету, то сказки за деньги любят все. Проходили, плавали, знаем...

     

    Причем тут проект и как вы выразились инспектор НКЗИ!!??

    Предлагаю ввести модераторам еще ограничения по возрастной группе!

    Это уже народ не траву курит колеса глотает))

     

    ну попробуйте без техдокументации и без колес обосновать инспектору внеплановой проверки НКРЗИ, почему был грубо нарушен пункт 2 ст.31 закона и в процессе модернизации сети одному отдельно взятому абоненту качество предоставляемых услуг было сокращено до нуля.

     

     

    Стаття 31. Проектування, будівництво, реконструкція і модернізація телекомунікаційних мереж

    1. Проекти будівництва, реконструкції та модернізації телекомунікаційних мереж підлягають експертизі відповідно до статті 31 Закону України "Про регулювання містобудівної діяльності"

    2. Будівництво, реконструкція і модернізація телекомунікаційних мереж не повинні призводити до зниження надійності та якості зв'язку. Усі витрати, пов'язані з дотриманням цих вимог, покладаються на оператора телекомунікацій, який здійснює ці роботи.

     

    А зачем демонтировать линию и отключать абонента?

    Поставил ему задолженность в биллинге за «неоплаченное подключение» и отключил на законных основаниях.

    Останется подождать пока он сам погасит задолженность.

    post-19689-0-99939400-1373100473.jpg

  16.  

    а у меня в Белоруссии  родственники живут . и с интернетом у них очень тяжко , байфлай ихный дсл от белтелеком и в Минске видел домовенок или както так одна локалка как я понял на весь город с небольшим покрытием. Там походу тяжело  этим заниматься.

    У меня там товарищ живет за безлимит мало-мальски нормальный платит в месяц в почти 100$ , и по другому не получается - занимается авторемонтом, а без "нета" че-то не гуглится , а в остальном все как бы нормально. Еще , говорит, толкового "компьютерщика" днем с огнем не сыщешь.

    Сказки какие-то. Любит наверное товарищ жаловаться на свою нелегкую долю.

    У меня тариф 200 000 (примерно 23$) за 100Мбит анлим в месяц. Больше не надо, ибо Wi-Fi на ноуте не потянет.

    Большинство населения сидит на 1Мбит за 78 450 (примерно 9$) от ByFly.

    См. http://byfly.by/client/tariffsrelax — это главный провайдер, работает везде где есть телефон.

    У меня другой провайдер, у него ещё дешевле.

     

    Проблема в другом. Открыться новому провайдеру у нас в стране непросто. Много разрешений надо собрать.

    Все кто работает — не новые, а выросшие с тех пор, когда лицензии не надо было.

     

    Про толкового компьютерщика правда, но лишь потому что хорошего спеца в любом деле трудно сыскать :)

    Особенно в небольшом населенном пункте.

     

    Я кстати занимался компьютерами, 2 года назад совсем бросил. Вчера звонила клиентка, которой я 4 года назад что-то делал, компьютер сломался (только сейчас). Отстояла Винда 4 года. Когда я говорил клиентам, что она вообще может не ломаться, многие говорят что «а мне говорили что переустанавливать надо каждые 3 месяца». Потому что им говорили другие «спецы».

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

    Прям магия:)

  17.  

     если что - вылезет на первом желающем использовать эту ПС.

     

     

    Эт точно;)

    Оперативно запихнули, молодец.

    В описании Вики только пожалуйста добавьте словцо: Система «Расчет» (ЕРИП)

    А то многие пока даже в Беларуси не знают, что это одно и то же:)

  18. nightfly

    сделал интеграцию белорусского ipay.by в openpayz

     

     

    Какие платежи может обрабатывать?

    1. Ipay.by как интегратор системы «Расчет» белорусского Нац. банка через свой API обрабатывает платежи системы (ещё она называется ЕРИП).

    Что работает так: на сайте формируется номер заказа; клиент записывает его на бумажке и идет в ближайший банкомат.

    Ищет там Получателя в дереве системы Расчет (как вас искать нужно указать на своем сайте).

    Вводит номер заказа, оплачивает карточкой и получает чек на руки.

    2. Оплата со счета мобильного оператора МТС (Беларусь)

    3. Оплата со счета мобильного оператора Лайф (Беларусь)

     

    Cразу конечно не заработает (что надо чтобы заработало сказано ниже).

    Надо сказать, что мануал по подключению был реально упоротый. Желающие подключиться даже по готовому готовьтесь убить минимум неделю, на согласование и разные проверки.

    У меня ушло ещё и две недели на вникание. По итогам которого я до сих пор не могу понять, почему эта платежная система работает только в кодировке CP1251  ^^)

    Также, nigtfly, извините, не разобрался с Вашим велосипедом — парсером xml. Написал парсинг втупую, в  лоб, без функций (некрасиво, но работает).

    Также не знаю как, но надо заменить чем-то функции fn_shop_get_orderdata (массив заказа) и  fn_shop_state_change (сменить статус заказа).

    Я не знаю какие функции будут в Убиллинге отвечать за это, но в системе Расчет заказ где-то должен храниться, и статус его меняться.

    Ссылка на архив в личке.

  19. nightfly, решил написать пока не забыл.

     

    Вы пользуетесь уведомлениями по почте.

    Но это не работает корректно, с русской/украинской кодировкой, даже в УТФ.

    В браузере все может быть ОК, а вот средства вроде оутлук...

    То тема письма кракозябрами, то текст. Клиенты недовольны короче.

    Причем это как на минном поле — если тема письма на en (а это часто так и есть),

    то некорректной кодировки не заметно.  Фигня состоит в том, что разного рода сущности проверщики почты считают что тема письма

    должна быть непременно в KOI8-R, а браузеры — что тема и текст письма должны быть в одной кодировке.

     

    Я в свое время озадачивался этой проблемой и нашел решение  с помощью base64_encode, которое будет работать везде и всегда.

    function rcms_send_mail($to, $from, $sender, $encoding, $subj, $text) {
        $headers = 'From: =?'.$encoding.'?B?' . base64_encode($sender) . '?= <' . $from . ">\n";
        $headers .= "MIME-Version: 1.0\n";
        $headers .= 'Message-ID: <' . md5(uniqid(time())) . "@" . $sender . ">\n";
        $headers .= 'Date: ' . gmdate('D, d M Y H:i:s T', time()) . "\n";
        $headers .= "Content-type: text/plain; charset={$encoding}\n";
        $headers .= "Content-transfer-encoding: 8bit\n";
        $headers .= "X-Mailer: ReloadCMS\n";
        $headers .= "X-MimeOLE: ReloadCMS\n";
        return mail($to, '=?'.$encoding.'?B?' . base64_encode($subj). '?=', $text, $headers);
    }
    
    

    Решил написать, потому что здравого готового решения в свое время в интернете не нарыл, пришлось долго и нудно разбираться с протоколами...

    Надеюсь ремарка будет полезна для рассылки писем с Убиллинга:)

  20. эта опция бай дефолт не включена просто

    Упс. Не заметил.

     

     

    OpenPayz изначально планировался и писался как реализация взаимодействия с платежными системами для fnshop

    Собственно такая же задача встала. Решил особо не изобретать велосипед, если есть рабочий вариант.

    Правда пока не разобрался ещё.

    Надеюсь разобраться и по итогам разработки закинуть что-либо и в Ваш репо, на очереди ipay.by и webmoney.

  21. Релиз 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`;
     
  22. PHPExcel. Пробовал несколько, этот подошел больше всего.

    С кириллицей и UTF все ОК.

    post-4093-0-15835000-1362670776_thumb.png

    Я скину решение в личку?

    Ставить Ubilling нет пока времени, а подправить там всего 1 файлик,

    думаю не проблема, учитывая что у нас фреймворки одинаковы ;)

    Принцип работы — экспорт/импорт 1-й таблицы на выбор.

×
×
  • Створити нове...