Jump to content
UTM.SPACE community

Utm (Личный Кабинет) Billing


Recommended Posts

Вставил я все как Вы Админ сказали, но ничего не показывается, пустая строка, вот код info.php

<?php
defined( '_CABINET' ) or die( 'Restricted access' );

include_once 'action/info/model.php';
include_once 'action/info/controller.php';

try {
$urfa_user5 = new URFAClient_User5 ( $_SESSION ['URFA'] ['login'], $_SESSION ['URFA'] ['password'], $UTMCoreHost, $UTMCorePort );
//$urfa_admin = new URFAClient_Admin($UTMCore_Login, $UTMCore_Password, $UTMCoreHost, $UTMCorePort);
} catch ( Exception $exception ) {
echo "Error in line ", $exception->getLine ();
echo $exception->getMessage ();
}
$services = GetServices ( $urfa_user5 );
$userinfo = $urfa_user5->rpcf_user5_get_user_info ();

$service_type = 3;
$abon_type = 2;
$service_traff_index = 0;
$abon_traff_index = 0;
for($i = 0; $i < $services ['count']; $i ++) {
if ($services ['services'] [$i] ['service_type'] == $service_type) {
$service_traff_index = $i;
}
if ($services ['services'] [$i] ['service_type'] == $abon_type) {
$abon_traff_index = $i;
}

}

$services_info = $urfa_user5->rpcf_user5_get_services_info ( $services ['services'] [$service_traff_index] ['id'] );

$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;
}
}
////Вот кусок который я вставил в info.php

$db = new dbWork ( DB_HOSTNAME, DB_USERNAME, DB_PASSWORD, DB_DATABASE );
if (! $db->getError ()) {
$outData = $db->GetStatus ( $userId='');
} else
echo $db->getError ();
/**
* Класс вспомогательных функций
* @author darang
*
*/
class DebUtil {
/**
* Возвращает текстовую информацию о состоянии клиента
* @param int $id
*/
static public function block_info($userId) {
$info = '';
switch ($userId) {
case 272 :
$info = "админская";
break;
case 16 :
$info = "системная";
break;
case 0 :
$info = "активен";
break;
default :
$info = $userId;
break;
}
return $info;
}
}


?>
/////////////////////////////////////
вот место в таблице где хочу вывести тип блокировки
<tr>
<td>Статус блокировки:</td>
<td><?php
echo $outData ?></td>
</tr>

Вот dbwork.php

<?php

class dbWork {

private $db;
public $error = false;

function __construct($db_hostname,$db_username,$db_password,$db_database) {

if (! $this->db = mysql_connect ( $db_hostname,$db_username,$db_password )) {
$this->error = "Couldn't execute query." . mysql_error ();
} else {
// select the database
if (! mysql_select_db ( $db_database )) {
$this->error = "Couldn't execute query." . mysql_error ();
} else {
mysql_query ( "SET NAMES 'latin1'" );
}
}

}
/// Место куда вставил функцию
function getStatus($userId) {
$sql = "SELECT status FROM activity_status WHERE id=" . $userId;
$result = mysql_query ( $sql ) or $this->error = "Ошибка соединения с базой данных.Получение информации о счете";
if(!$result){ return false;
}
else {
$row = mysql_fetch_array ( $result, MYSQL_ASSOC );
return $row;
}

}
//////

Link to post
Share on other sites
  • 2 weeks later...
  • Replies 99
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

Добрый день. Подскажите по какой причине через личный кабинет не показывается информация о трафике который был архивирован ? Через админку и через штатную статистику все показвается. Зарание спаси

admin

Ответьте на вопрос . не могу понять что происходит - скрипт Отчет по списаниям показывает время списания на час раньше чем оно действительно произошло :

10.11.2010 23:00:03 10 абонентская плата

11.11.2010 11:00:04 10 абонентская плата

11.11.2010 23:00:05 10 абонентская плата

12.11.2010 11:00:06 10 абонентская плата

12.11.2010 23:00:07 10 абонентская плата

хотя по факту списания были в 00-00 и в 12-00 . время на сервере выставлено верно . через стандартный личный кабинет списания отображаются серно , и в админке тоже время отображается верно .

Link to post
Share on other sites

в файле info.php замените date_default_timezone_set ( "Europe/Minsk" );

на date_default_timezone_set ( "Europe/Moscow" );

или удалите строчку вообще

да . всё отлично работает . спасибо .

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

Link to post
Share on other sites

Ребят вопрос по кредиту

case 0 : // Удаляем кредит

$length_credit = 0;

$credit = 0;

break;

case 1 :

$length_credit = 30;

$credit = 450;

$urfa_admin->rpcf_add_once_service_to_user ( $user_id, $account_id, 293, 0, 0, time (), 1, 0 ); //0x2555

Мне нужен что бы кредит был бесплатный, в течение 30 дней (т.е. один абонентский период). а как сделать так что бы у каждого абонента был выбор кредита размером его абонентской платы?

Link to post
Share on other sites

чтобы кредит был бесплатным

комментируем или удаляем

$urfa_admin->rpcf_add_once_service_to_user ( $user_id, $account_id, 293, 0, 0, time (), 1, 0 ); //0x2555

а на счёт размера в абон плату, здесь есть некоторые вопросы, т.к. у нас например есть просто абон. плата + стоимость тарифа, т.е. у всех допустим 1000 + стоимость их тарифа

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

вместо $credit = 450; у вас будет что $credit = $сумма_кредита;

Link to post
Share on other sites

Сделал включение инета после кредита (как описывалось в теме)

<h1>Обещанный платёж</h1>
<div class="info-mess">
<div class="inputdata">
<h3><span>Данные</span></h3>
<br />
<?php
if (isset ( $change_credit_message )) {
echo "<h4>".$change_credit_message."</h4><br/>";

//добавляем проверку что сумма задолженности вмести с кредитом больше 0 и тогда включаем интернет
//соответственно надо еще добавить проверку и в скрипте удаления кредита
if(($balance+$credit)>=0){
$accountinfo['int_status'] = 1;
$accountinfo["is_blocked"] = 0;
$urfa_admin->rpcf_save_account ( $account_id, $accountinfo, 0, 0, 0 );
}


}
echo "Ваш балланс: ".round($balance,2)." (+ $credit) руб.<br/><br/>";
echo $form_change_credit;

?>
</div>
</div>

Но ошибка:

Notice: Undefined variable: credit in /home/vhosting/www.regionnet.ru/html/cabinet/action/credit/credit.php on line 85
Ваш балланс: 90.01 (+ ) руб.

Вот 85 строка:


echo "Ваш балланс: ".round($balance,2)." (+ $credit) руб.<br/><br/>";

Link to post
Share on other sites
  • 3 weeks later...

Добрый день. Добавили вывосд состояния блокировки. Он пишет ошибку подскажите в чем может быть проблемма.

Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in /data/class/dbWork.php on line 56

line 56
$row = mysql_fetch_array ( $result, MYSQL_ASSOC );

Link to post
Share on other sites
  • 1 month later...

тоже интересует эта кнопочка . если ест ьвозможность выложите кусок кода с описанием куда его вставить .

Link to post
Share on other sites
  • 2 weeks later...
  • 4 weeks later...

Добрый день.

Подскажите по какой причине через личный кабинет не показывается информация о трафике который был архивирован ?

Через админку и через штатную статистику все показвается.

Зарание спасибо.

  • Like 1
Link to post
Share on other sites

здесь используется прямой sql запрос в базу, а не через urfu. Когда кабинет писался архивирования еще не было.

Link to post
Share on other sites
  • 3 weeks later...

а что вы хотите?

В ближайшее время скорее всего буду переписывать кабинет, надо вводить кэширование. А то ресурсоёмко когда много народа. Будет скорее всего на ZendFramework'е, если конечно ничего не поменяется, будет свободное время напишу.

Высказывайте свои пожелания, если хотите помочь материально, реквизиты есть на сайте.

Link to post
Share on other sites
  • 2 weeks later...

Добрый день!

Очень понравился Ваш кабинет, безумно хочется прикрутить, но возникли проблемы при установке.

Форма для входа отображается, но при вводе логина/пароля и нажатии на кнопку процесс входа повисает (индикатор бегает)

а в логах utm:

Info : Mar 29 12:34:14 f1fd4b70 RPCServer@0.0.0.0: Client connecting: 127.0.0.1:44899

Info : Mar 29 12:34:14 f1fd4b70 RPCConn: Connection from: 127.0.0.1:44899 new Session Key <8699914d4fb439b2159eee17253d2cfe>

ERROR : Mar 29 12:34:14 f1fd4b70 RPCConn: Unsupported SSL type <0>

Info : Mar 29 12:34:14 f1fd4b70 StreamManager: connection <3> not found

?Debug : Mar 29 12:34:14 f1fd4b70 RPCConn: Session closed...

Подскажите куда копать? Заранее большое спасибо!

Link to post
Share on other sites
  • 7 months later...
Guest
This topic is now closed to further replies.

×
×
  • Create New...