Личный кабинет на готовом движке
- Chrst
- Сообщения: 370
- Зарегистрирован: Пт май 11, 2007 09:28
- Откуда: Медиахолдинг "ЛеККС"
- Контактная информация:
Да приглашение на ввод имени пароля будет, дальше соответственно вывалит ошибку связанную с базой.Groom писал(а):2 Chrst
Вопросик такой, если нет связи с базой нетапа, то как минимкм страниуа авторизации должна появиться?
А то странно, поставил уже 7.9 финал, ровно та же петрушка, включаю модуль, иду по ссылке - белая страница.
Собственно не важно под какую нюку ставить. Ничего специфичного там нет, работать должна со всеми, даже версии 6.х.
Может путь к конфигу не правильно нарисовали? Вообще в index.php есть блок, отвечающий за отображение ошибок кода. Если выключили включите.
- Chrst
- Сообщения: 370
- Зарегистрирован: Пт май 11, 2007 09:28
- Откуда: Медиахолдинг "ЛеККС"
- Контактная информация:
Что имеется ввиду пополнения? Счета? Если да то utm5_payment_tool или urfaclient.Arny писал(а):спасибо, с кодировками разобрался, насчёт пополнения, знающие люди, подскажите куда рыть
В своем "кабинете" реализовал смену паролей и включение/выключение Интернета через urfa. Кредит тоже сделал посредством urfaclient.starchik писал(а):сделал смену паролей....
Делать, не делать смену пароля на Интернет из кабинета - спорный религиозный вопрос. Пока не решил

в твоем кабинет и сделал. вот теперь думаю со сменой тарифов.....стоит или нет и вобще по-силам ли мне этоChrst писал(а):В своем "кабинете" реализовал смену паролей и включение/выключение Интернета через urfa. Кредит тоже сделал посредством urfaclient.
Делать, не делать смену пароля на Интернет из кабинета - спорный религиозный вопрос. Пока не решил

через urfa который на пхп? или оффициаьный? и в чем разница реализации через консольную админку или urfa на php?
значит будем переходить с консольной админки на urfa.....Chrst писал(а):Через urfaphp (respect автору). Разница собственно не большая, и так и так работает, но у урфы возможности пошире.starchik писал(а):через urfa который на пхп? или оффициаьный? и в чем разница реализации через консольную админку или urfa на php?
Вот смена тарифа на urfaphp, обкатана и проверена, правда написал для joomla, но можно переделать куда надо. Фактически function plgUserTariffModify получает на вход (&$row) готовую и размеченую html страничку и заменяет на этой странице штуки типа {current_tariff} на реальные значения и готовые формы.starchik писал(а):в твоем кабинет и сделал. вот теперь думаю со сменой тарифов.....стоит или нет и вобще по-силам ли мне этоChrst писал(а):В своем "кабинете" реализовал смену паролей и включение/выключение Интернета через urfa. Кредит тоже сделал посредством urfaclient.
Делать, не делать смену пароля на Интернет из кабинета - спорный религиозный вопрос. Пока не решил![]()
Да, сделано исходя из условий что у пользователя 1 аккаунт и один тариф с одной услугой (у меня именно так, универсальную штуку не стал делать).
Код: Выделить всё
<?php
defined( '_JEXEC' ) or die( 'Restricted access' );
@ini_set("display_errors", "1");
error_reporting(E_ALL);
require_once("./urfa/URFAClient.php");
$mainframe->registerEvent( 'onPrepareContent', 'plgUserTariffModify' );
function plgUserTariffModify(&$row, &$params, $page=0){
$pos = strpos($row->text, '{user_tariff}');
if ($pos > 0) {
$avail_tariffs=array(59,60,61,62,63,64,65); // id доступных пользователю тарифов
$row->text = preg_replace('/{user_tariff}/', '', $row->text);
try {
$urfa_admin = new URFAClient_Admin('test000', 'test000');
} catch (Exception $exception) {
echo "Error in line ", $exception->getLine();
echo $exception->getMessage(); // Выводит "Невозможно
// открыть файл"
}
$user_tariff = $urfa_admin->rpcf_get_user_tariffs($_SESSION['URFA']['user_id']);
//***************** Обработка смены тарифа начало
$change_tariff_message = '';
$uri = & JFactory::getURI();
if (isset($uri->_vars['urfa_next_tariff'])&&isset($uri->_vars['urfa_next_tariff_accept'])) { // =='accepted'
$user_id = $_SESSION['URFA']['user_id'];
$account_id = $_SESSION['URFA']['basic_account'];
$service_id = 108; // id разовой услуги смены тарифа
$tariff_current = $user_tariff['user_tariffs'][0]['current_tariff'];
$tariff_next = $uri->_vars['urfa_next_tariff'];
$tariff_link_id = $user_tariff['user_tariffs'][0]['tariff_link_id'];
if ($user_tariff['user_tariffs'][0]['next_tariff']<>$tariff_next) {
$new_tariff_link_id = $urfa_admin->rpcf_link_user_tariff($user_id, $account_id, $tariff_current, $tariff_next, $discount_period_id, $tariff_link_id);
if ($tariff_link_id==$new_tariff_link_id['tariff_link_id']) {
$change_tariff_message = 'РўР°С_РёС" С_Р>РчР_С_С_С%РчР_Р_ С_Р°С_С╪РчС'Р_Р_Р_Р_ РїРчС_РёР_Р_Р° С_С_РїРчС_Р_Р_ РёР·Р_РчР_РчР_'; //тариф сменен
$user_tariff = $urfa_admin->rpcf_get_user_tariffs($_SESSION['URFA']['user_id']);
$urfa_admin->rpcf_add_once_service_to_user($user_id, $account_id, $service_id); //0x2551 Списываем бабки за смену тарифа
} else {
$change_tariff_message = 'Р_С_РёР+РєР° С_Р_РчР_С< С'Р°С_РёС"Р° С_Р>РчР_С_С_С%РчР_Р_ С_Р°С_С╪РчС'Р_Р_Р_Р_ РїРчС_РёР_Р_Р°'; //неудача смены тарифа
}
}
array_pop($uri->_vars);
}
//***************** Обработка смены тарифа конец
$discount_period = $urfa_admin->rpcf_get_discount_period($user_tariff['user_tariffs'][0]['discount_period_id']);
$discount_period_start = date("Р"Р°С'Р° d.m.YР_. Р_С_РчР_С_ H:i",$discount_period['start_date']);
$discount_period_end = date("Р"Р°С'Р° d.m.YР_. Р_С_РчР_С_ H:i",$discount_period['end_date']);
$current_tariff = $urfa_admin->rpcf_get_tariff($user_tariff['user_tariffs'][0]['current_tariff']);
$next_tariff = $urfa_admin->rpcf_get_tariff($user_tariff['user_tariffs'][0]['next_tariff']);
//******************************* Форма смены тарифа начало
$form_title = '<FORM METHOD="GET">';
unset($uri->_vars['urfa_next_tariff']);
unset($uri->_vars['urfa_next_tariff_accept']);
$form_footer = '</FORM>';
$form_body = '';
while(list($key, $val) = each($uri->_vars)) {
$form_body = $form_body.'<input type="hidden" name="'.$key.'" value="'.$val.'">';
}
$form_body = $form_body.'<SELECT NAME="urfa_next_tariff"> ';
$tariffs_list = $urfa_admin->rpcf_get_tariffs_list();
for ($j=0;$j<count($avail_tariffs);$j++) {
for ($i=0;$i<$tariffs_list['count'];$i++) {
if ($tariffs_list['tariffs'][$i]['id']==$avail_tariffs[$j]) {
$form_body = $form_body.'<OPTION VALUE='.$tariffs_list['tariffs'][$i]['id'].'>'.$tariffs_list['tariffs'][$i]['name'].'</OPTION>';
break;
}
}
}
$form_body = $form_body.'</SELECT> <BR> <BR>';
$form_body = $form_body.'<input name="urfa_next_tariff_accept" type="checkbox" value="accepted">РЇ РїР_Р_РёР_Р°С_ Рё РїС_РёР_РёР_Р°С_ С_С_Р>Р_Р_РёС_ С_Р_РчР_С< С'Р°С_РёС"Р°</input>';
$form_body = $form_body.'<BR> <BR> <input type="submit" value="РЎР_РчР_РёС'С_ С'Р°С_РёС"">';
$form_change_tariff = $form_title.$form_body.$form_footer;
//******************************* Форма смены тарифа конец
$row->text = preg_replace('/{current_tariff}/', $current_tariff['tariff_name'], $row->text);
$row->text = preg_replace('/{next_tariff}/', $next_tariff['tariff_name'], $row->text);
$row->text = preg_replace('/{discount_period_start}/', $discount_period_start, $row->text);
$row->text = preg_replace('/{discount_period_end}/', $discount_period_end, $row->text);
$row->text = preg_replace('/{form_change_tariff}/', $form_change_tariff, $row->text);
$row->text = preg_replace('/{change_tariff_message}/', $change_tariff_message, $row->text);
}
}

-
- Сообщения: 1612
- Зарегистрирован: Пт ноя 10, 2006 15:23
Chrst, если еще не устал рассылать, то буду тоже очень благодарен за мордочку.
satdream@mail.ru
Спасибо!
satdream@mail.ru
Спасибо!