Личный кабинет на готовом движке

Технические вопросы по UTM 5.0
Закрыто
mikos
Сообщения: 38
Зарегистрирован: Пн фев 02, 2009 18:09

Сообщение mikos »

Kayfolom писал(а):
Adam писал(а):Народ, поделитесь под джумлу кабинетом плиз.
shatnev {NoSpam} centroset.ru
Как полностью допишу и задокументирую, выложу обязательно. Еще неделя гдето...
А либы урфы релиза пока небыло ведь? Сам ее дописывал?

У меня не получилось ее запустить - ругался на отсутвтвие ф-ции в php...

Kayfolom
Сообщения: 746
Зарегистрирован: Вс фев 12, 2006 17:15

Сообщение Kayfolom »

mikos писал(а):
Kayfolom писал(а):
Adam писал(а):Народ, поделитесь под джумлу кабинетом плиз.
shatnev {NoSpam} centroset.ru
Как полностью допишу и задокументирую, выложу обязательно. Еще неделя гдето...
А либы урфы релиза пока небыло ведь? Сам ее дописывал?

У меня не получилось ее запустить - ругался на отсутвтвие ф-ции в php...
Дописал несколько требуемых функций, часть взял из ветки с урфой.
Запустить тоже не вышло сначало - ставил последний php. В том что стоял небыло math функций

Аватара пользователя
ds
Сообщения: 380
Зарегистрирован: Пн сен 18, 2006 14:06

Сообщение ds »

Наконец то доработал функцию urfa_get_data. Теперь вызываем ее только один раз. Остальные повторные вызовы надо убрать. Если вызвать повторно, то функция заблокирутся на чтении. Лучше вызывать вместе с if, чтобы если она вернет false - если ничего не вернулось, не нарушилась логика.

Код: Выделить всё


if ($x = $this->connection->urfa_get_data()) {
   .....
   $id = $x->DataGetInt();
   .....
}


Вот сама функция

Код: Выделить всё

function urfa_get_data() {
    $packet = $this->getPacket();
    $packet->clean();
    while(true) {
       if (!feof($this->socket)) {
             $packet->read();
             if ($packet->AttrGetInt(4))
                 break;
              
       }
    }
    if (count($packet->data)==0)
          return FALSE;
    return $packet;
}


[/code]

Сорри, не туда отправил
:)

andvas
Сообщения: 2
Зарегистрирован: Пт фев 20, 2009 21:08
Откуда: Самара

Сообщение andvas »

Chrst, tikb вышлешь буду тоже очень благодарен.

andvas2002@mail.ru

Спасибо!

neiks
Сообщения: 19
Зарегистрирован: Ср мар 12, 2008 11:03

Сообщение neiks »

Как успехи?

mikos
Сообщения: 38
Зарегистрирован: Пн фев 02, 2009 18:09

Сообщение mikos »

2Kayfolom, очень ждем новостей по модулям джумлы :)

Kayfolom
Сообщения: 746
Зарегистрирован: Вс фев 12, 2006 17:15

Сообщение Kayfolom »

А я жду релиза urfa php :) Заодно обкатаю плагины - внедрил, работают прекрасно, исправляю всплывающие мелкие глючки....

mikos
Сообщения: 38
Зарегистрирован: Пн фев 02, 2009 18:09

Сообщение mikos »

Kayfolom писал(а):А я жду релиза urfa php :) Заодно обкатаю плагины - внедрил, работают прекрасно, исправляю всплывающие мелкие глючки....
А когда он ожидается? Он же вроде теперь на вики живет?

Application
Сообщения: 4
Зарегистрирован: Ср янв 21, 2009 18:30
Откуда: САХАЛИН

Сообщение Application »

2Chrst application@mail.ru спс заранее)))

Kayfolom
Сообщения: 746
Зарегистрирован: Вс фев 12, 2006 17:15

Сообщение Kayfolom »

Кабинет на Joomla:

http://www.ukhta-inform.ru/JoomlaNetUpPlugin.7z

В комплекте - промежуточная, но рабочая версия urfa php и плагины к джумле.

В данный момент реализовано:
Авторизация через урфу. В базе джумлы хранятся только логины пользователе посетивших кабинет. Больше ничего. При авторизации ведется дополнительный лог (необязательно), нужда табличка user_login_log (скрипт в комплекте).

Информация пользователя (Логин, ФИО, баланс, кредит, блокировка и т.п.) с возможностью включения/отключения инета

Кредит. Четыре вида кредита на разные сроки с разной стоимостью (стоимость списываеться разовой услугой). Для работы нужна табличка utmtray_credits (скрипт создания в комплекте). Скрипт удаления кредитов тоже в комплекте - check_expire_credit.php запускаем по крону раз в час к примеру.

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

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

SMS обслуживание. Получение номера ЛС и баланса, сообщения в техподдержку по короткому номеру. Но это слишком специфично, зависит от конкретный условий.

Смена пароля. просто смена пароля.

Отчет по платежам.

Отчет по услугам.

Отчет по трафику.

Инсрукция: Ставим joomla! версии 1.5 и выше. Штатными средствами ставим плагин авторизации (urfa.php и urfa.xml архивируем в зип и через админку инсталим).
В админке джумлы отключам родную авторизацию, включаем урфа авторизацию. Выносим компонент Вход на видное место и пробуем логинится.

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

Плагины содержания работают просто - перед показом странички пользователю проверяют на наличие своего тега, если он есть, отрабатывают и заменяют теги на реальную инфу.

К примеру смена пароля: на странице размещаем следующие теги
{user_password_change} - если присутствует, то плагин начинает работать со страницей.
{change_password_message} - сообщение о результате смены пароля, обычно заменяется на "" и не видна. Заполняется по результату смены пароля. У меня завернута в html большим толстым и ярким шрифтом.
{form_change_password} - форма смены тарифа.

Все это можно комбинировать как угодно и где угодно. Хоть весь личный кабинет на одной странице.

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

mikos
Сообщения: 38
Зарегистрирован: Пн фев 02, 2009 18:09

Сообщение mikos »

Пасиб огромное! Буду пробовать - надо только джумлу восстановить с прошлой попытки :) ...авторизация с urfa не пошла, так теперь в джумлу не войти :)

mikos
Сообщения: 38
Зарегистрирован: Пн фев 02, 2009 18:09

Сообщение mikos »

2Kayfolom а какая у тебя версия php?
У меня

Код: Выделить всё

# php -v
PHP 5.2.6 with Suhosin-Patch 0.9.6.2 (cli) (built: Dec 25 2008 20:47:39) 
Copyright (c) 1997-2008 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies
Но URFA не работает, есть ошибка на неопределенную функцию

Код: Выделить всё

PHP Fatal error:  Call to undefined function hash_init() in /export/www/joomla15/urfa/URFAClient_Connection.php on line 100
Я так понимаю, что отсутствует эта ф-ция, которая должна быть в составе PECL hash. Пробую проставить эту либу...

Код: Выделить всё

[root@home /usr/ports/security/pecl-hash]# make
===>  pecl-hash-1.5 cannot install: doesn't work with PHP version : 5 (Doesn't support PHP 5).
*** Error code 1

Stop in /usr/ports/security/pecl-hash.
Не подходит для 5ки говорит. Как урфу запустить? :(

mikos
Сообщения: 38
Зарегистрирован: Пн фев 02, 2009 18:09

Сообщение mikos »

Этот порт устарел. Необходимо устанавливать security/php5-hash
Все встало и работает.
Спасибо!

mikos
Сообщения: 38
Зарегистрирован: Пн фев 02, 2009 18:09

Сообщение mikos »

2Kayfolom Попробовал плагин кредита - не пойму что ему не нравится :(

Код: Выделить всё

Notice: fwrite() [function.fwrite]: send of 1 bytes failed with errno=32 Broken pipe in /export/www/joomla15/urfa/URFAClient_Packet.php on line 153

Notice: fwrite() [function.fwrite]: send of 2 bytes failed with errno=32 Broken pipe in /export/www/joomla15/urfa/URFAClient_Packet.php on line 154

Notice: fwrite() [function.fwrite]: send of 2 bytes failed with errno=32 Broken pipe in /export/www/joomla15/urfa/URFAClient_Packet.php on line 157

Notice: fwrite() [function.fwrite]: send of 2 bytes failed with errno=32 Broken pipe in /export/www/joomla15/urfa/URFAClient_Packet.php on line 158

Notice: fwrite() [function.fwrite]: send of 4 bytes failed with errno=32 Broken pipe in /export/www/joomla15/urfa/URFAClient_Packet.php on line 159

Fatal error: Uncaught exception 'Exception' with message 'Error code 0' in /export/www/joomla15/urfa/URFAClient_Packet.php:27 Stack trace: #0 /export/www/joomla15/urfa/URFAClient_Connection.php(82): URFAClient_Packet->read() #1 /export/www/joomla15/urfa/URFAClient_Admin.php(297): URFAClient_Connection->urfa_call(8240) #2 /export/www/joomla15/plugins/content/credit.php(105): URFAClient_Admin->rpcf_get_accountinfo(1) #3 /export/www/joomla15/plugins/content/credit.php(118): get_credit(1, Object(URFAClient_Admin)) #4 [internal function]: plgUserCreditModify(Object(stdClass), Object(JParameter), 0) #5 /export/www/joomla15/libraries/joomla/event/dispatcher.php(136): call_user_func_array('plgUserCreditMo...', Array) #6 /export/www/joomla15/components/com_content/views/article/view.html.php(102): JDispatcher->trigger('onPrepareConten...', Array) #7 /export/www/joomla15/libraries/joomla/application/component/controller.php(310): ContentViewArticle->display() #8 /export/www/joomla15/components/com_content/controller.php(48): JContr in /export/www/joomla15/urfa/URFAClient_Packet.php on line 27

Kayfolom
Сообщения: 746
Зарегистрирован: Вс фев 12, 2006 17:15

Сообщение Kayfolom »

PHP Version 5.2.8. Специально поставил под урфу.

Попробуй урфа-функции используемые в кредите отдельно повызывать. Или для начала все урфа-функции закомментировать, проверить работу sql части, потом read-only функции урфы и т.д.

Закрыто