==== XML ====
==== PHP ====
registerEvent( 'onPrepareContent', 'plgUserInfoModify' );
function plgUserInfoModify(&$row, &$params, $page=0){
$pos = strpos($row->text, '{user_info}');
if ($pos!==false) {
$row->text = preg_replace('/{user_info}/', '', $row->text);
// print '************'.$_SESSION['URFA']['tariff_id'].'************';
try {
$urfa_user5 = new URFAClient_User5($_SESSION['URFA']['login'], $_SESSION['URFA']['password']);
} catch (Exception $exception) {
echo "Error in line ", $exception->getLine();
echo $exception->getMessage();
exit;
}
$uri = & JFactory::getURI();
if (isset($uri->_vars['urfa_cmd'])) {
if ($uri->_vars['urfa_cmd']=='enable_int') {
$urfa_user5->rpcf_user5_change_int_status(1);
array_pop($uri->_vars);
}
}
if (isset($uri->_vars['urfa_cmd'])) {
if ($uri->_vars['urfa_cmd']=='disable_int') {
$urfa_user5->rpcf_user5_change_int_status(0);
array_pop($uri->_vars);
}
}
try {
$userinfo = $urfa_user5->rpcf_user5_get_user_info();
$services = $urfa_user5->rpcf_user5_get_services();
} catch (Exception $exception) {
echo "Error in line ", $exception->getLine();
echo $exception->getMessage();
}
$service_type = 3; // Состояние ремонта
$service_traff_index = 0;
for ($i=0;$i<$services['count'];$i++) {
if ($services['services'][$i]['service_type']==$service_type) {
$service_traff_index = $i;
break;
}
}
$services_info = $urfa_user5->rpcf_user5_get_services_info($services['services'][$service_traff_index]['id']); //-0x4024
// print_r($services_info);
// $services_info['iptsd_prepaid_size_list'][$i]['prepaid_p']
// $services_info['iptsd_prepaid_size_list'][$i]['tclass_name_p']
//$services_info['iptsd_prepaid_size']
$prepaid_traf = 0;
for ($i=0;$i<$services_info['iptsd_prepaid_size'];$i++) {
if (substr_count($services_info['iptsd_prepaid_size_list'][$i]['tclass_name_p'],'(10)')>0) {
$prepaid_traf = $services_info['iptsd_prepaid_size_list'][$i]['prepaid_p'];
break;
}
}
$row->text = preg_replace('/{full_name}/', $userinfo['full_name'], $row->text);
$row->text = preg_replace('/{login}/', $userinfo['login'], $row->text);
$row->text = preg_replace('/{basic_account}/', $userinfo['basic_account'], $row->text);
switch ($userinfo['is_blocked']) {
case 0:
$is_blocked = "Нет";
break;
case 16:
$is_blocked = "Да, отрицательный баланс";
break;
case 256:
$is_blocked = "Да - Заблокирован администратором";
break;
case 768:
$is_blocked = "Да, заблокирован администратором";
break;
default:
$is_blocked = "Да, код блокировки=".$userinfo['is_blocked'];
}
$row->text = preg_replace('/{is_blocked}/', $is_blocked, $row->text);
$row->text = preg_replace('/{balance}/', sprintf ("%01.2f руб.",$userinfo['balance']), $row->text);
$row->text = preg_replace('/{credit}/', sprintf ("%01.2f руб.",$userinfo['credit']), $row->text);
$row->text = preg_replace('/{create_date}/', date("d.m.Yг.",$userinfo['create_date']), $row->text);
$row->text = preg_replace('/{actual_address}/', $userinfo['actual_address'], $row->text);
$row->text = preg_replace('/{icq_number}/', $userinfo['icq_number'], $row->text);
$enable_inet = "_query."&urfa_cmd=enable_int>Включить";
$disable_inet = "_query."&urfa_cmd=disable_int>Выключить";
if ($userinfo['int_status']==1) {
$row->text = preg_replace('/{int_status}/', 'Включен '.$disable_inet, $row->text);
} else {
$row->text = preg_replace('/{int_status}/', 'Выключен '.$enable_inet, $row->text);
}
$row->text = preg_replace('/{tariff}/', $services['services'][$service_traff_index]['tariff_name'], $row->text);
$row->text = preg_replace('/{cost}/', sprintf("%01.2f руб.",$services['services'][$service_traff_index]['cost']), $row->text);
$row->text = preg_replace('/{discounted}/', sprintf("%01.2f руб.",$services['services'][$service_traff_index]['discounted_in_curr_period']), $row->text);
$row->text = preg_replace('/{day_cost}/', sprintf("%01.2f руб.",$services_info['iptsd_borders_size_list'][0]['cost1']), $row->text);
$row->text = preg_replace('/{night_cost}/', sprintf("%01.2f руб.",$services_info['iptsd_borders_size_list'][1]['cost1']), $row->text);
// $row->text = preg_replace('/{prepaid_traffic}/', sprintf("%01.3f МБ",$services_info['iptsd_prepaid_size_list'][0]['prepaid_p']/1024/1024), $row->text);
$row->text = preg_replace('/{prepaid_traffic}/', sprintf("%01.3f МБ",$prepaid_traf/1024/1024), $row->text);
$IP_list = '';
// $_SESSION['URFA']['IP'] = '';
for ($i=0;$i<$services_info['ipgroup_size'];$i++) {
$IP_list = $IP_list.$services_info['ipgroup_size_list'][$i]['ip'].'
==== HTML ====
';
// $_SESSION['URFA']['IP'][$i]=$services_info['ipgroup_size_list'][$i]['ip'];
}
$row->text = preg_replace('/{IP_addres}/', $IP_list, $row->text);
}
}
{user_info}
Лицевой счет | {basic_account} |
Логин | {login} |
ФИО | {full_name} |
Номер ICQ | {icq_number} |
Дата подключения | {create_date} |
Баланс | {balance} |
Кредит | {credit} |
Блокировка | {is_blocked} |
Интернет | {int_status} |
Тариф | Стоимость в месяц | Списано в текущем расчетном периоде | Стоимость дневного трафика (6:00-23:00) | Стоимость ночного трафика (23:00-6:00) | Осталось предоплаченного дневного трафика | IP адреса |
{tariff} | {cost} | {discounted} | {day_cost} | {night_cost} | {prepaid_traffic} | {IP_addres} |
==== Пример ====
Лицевой счет | 1 |
Логин | kayfolom |
ФИО | Корепов Евгений Августович |
Номер ICQ | 1501 |
Дата подключения | 12.10.2005г. |
Баланс | 1487.30 руб. |
Кредит | 0.00 руб. |
Блокировка | Нет |
Интернет | Включен Выключить |
Тариф | Стоимость в месяц | Списано в текущем расчетном периоде | Стоимость дневного трафика (6:00-23:00) | Стоимость ночного трафика (23:00-6:00) | Осталось предоплаченного дневного трафика | IP адреса |
Лето-2009 4000 Мб | 1000.00 руб. | 1000.00 руб. | 1.00 руб. | 0.10 руб. | 0.000 МБ | 10.0.0.25 |