Содержание

XML

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE install SYSTEM "http://dev.joomla.org/xml/1.5/plugin-install.dtd">
<install version="1.5" type="plugin" group="content">
	<name>Отчет по Расчетным периодам</name>
	<author>Kayfolom</author>
	<authorEmail>ekorepov@ukhta-inform.ru</authorEmail>
	<authorUrl>authorUrl</authorUrl>
	<creationDate>2009</creationDate>
	<copyright>c</copyright>
	<license>license</license>
	<version>1.0</version>
	<description>Отчет Расчетный период</description>
	<files>
		<filename plugin="report_dp">report_dp.php</filename>
	</files>
    <params />
</install>

PHP

<?php
 
@ini_set("display_errors", "1");
error_reporting(E_ALL);
 
defined( '_JEXEC' ) or die( 'Restricted access' );
 
require_once("./urfa/URFAClient.php");
 
$mainframe->registerEvent( 'onPrepareContent', 'plgReport_DP_Modify' );
 
function plgReport_DP_Modify(&$row, &$params, $page=0){
 
	if (strpos($row->text, '{traffic_discount_period_report}') > 0) {
        $row->text = preg_replace('/{traffic_discount_period_report}/', '', $row->text);
		include ("./urfa/URFAConfig.php");
		$urfa_user5 = new URFAClient_User5($_SESSION['URFA']['login'], $_SESSION['URFA']['password']);
 
		function traffic_report_dp($start_date, $end_date, $urfa_user5) {
			$report = $urfa_user5->rpcf_user5_traffic_report($start_date, $end_date);  //-0x4012 
			$report_table = '';
			$bytes_count = 0;
			$summ = 0;
			if ($report['count']>0) {
		        $report_table = '<table border="1" cellpadding="4" style="background-color:#8db3e2"><tbody>';
				$report_table = $report_table.'</tr>';
				$report_table = $report_table.'<tr><th align=center>Класс трафика</th><th align=center>Объем, МБ</th><th align=center>Цена за МБ</th><th align=center>Сумма</th></tr>';
				for ($i=0;$i<$report['count'];$i++) {
					if ($report['traffic'][$i]['tclass_name']=='Zero') continue;
					$report_table = $report_table.'<tr style="background-color:#dbe5f1">';
					$report_table = $report_table.'<td align=left>'.$report['traffic'][$i]['tclass_name'].'</td>';
					$report_table = $report_table.'<td align=right>'.sprintf("%01.3f",$report['traffic'][$i]['bytes']/1024/1024).'</td>';
					$bytes_count = $bytes_count + $report['traffic'][$i]['bytes'];
					$report_table = $report_table.'<td align=right>'.sprintf("%01.2fруб.",$report['traffic'][$i]['base_cost']).'</td>';
					$report_table = $report_table.'<td align=right>'.sprintf("%01.2fруб.",$report['traffic'][$i]['discount']).'</td>';
					$summ = $summ + $report['traffic'][$i]['discount'];
					$report_table = $report_table.'</tr>';
				}
				$report_table = $report_table.'<tr style="background-color:#dbe5f1"><td>Итого :</td>';
				$report_table = $report_table.'<td align=right>'.sprintf("%01.3f",$bytes_count/1024/1024).'</td><td></td><td align=right>'.sprintf("%01.2fруб.",$summ).'</td>';
				$report_table = $report_table.'</tbody></table>';
 
			} else {
				$report_table = "Отчет отсутствует";
			}
 
			return $report_table;
		}
		$db_connect=mysql_connect($db_urfa_host,$db_urfa_user,$db_urfa_password) or die ("Connect failed");
		mysql_select_db($db_urfa_base,$db_connect);
		$report_table = '';
        $dp_select = JRequest::getVar('dp_select');
		if (isset($dp_select)) {
	        $dp_select = JRequest::getVar('dp_select');
			$query_dp = "Select start_date, end_date From discount_periods Where id = ".$dp_select;
			$mysql_res = mysql_query($query_dp,$db_connect);
			$mysql_res_row = mysql_fetch_array($mysql_res);
			$report_table = traffic_report_dp($mysql_res_row['start_date'],$mysql_res_row['end_date'],$urfa_user5);
		}
 
		// Отчет по тарифку за Расчетный период
		try {
			$urfa_admin = new URFAClient_Admin($UTMCore_Login,$UTMCore_Password);
			} catch (Exception $exception) { 
				echo "Error in line ", $exception->getLine();
				echo $exception->getMessage();
		} 
		$user_tariff = $urfa_admin->rpcf_get_user_tariffs($_SESSION['URFA']['user_id']);
 
		// Форма начало ************************************
		$query_dp = "Select dp1.id, dp1.start_date, dp1.end_date, dp1.periodic_type, ";
		$query_dp = $query_dp."dp1.next_discount_period_id, dp1.canonical_len, dp1.is_expired, dp1.custom_duration, dp1.static_id, dp1.discount_interval ";
		$query_dp = $query_dp."From discount_periods AS dp1 Inner Join discount_periods AS dp2 ON dp1.static_id = dp2.static_id Where dp2.id = ".$user_tariff['user_tariffs'][0]['discount_period_id']." ";
		$query_dp = $query_dp."Order by dp1.start_date DESC";
		$mysql_res = mysql_query($query_dp,$db_connect);
 
		$form_title = '<FORM METHOD="POST">';
		if (isset($uri->_vars['dp_select'])) {
			unset($uri->_vars['dp_select']);
		}
		$form_footer = '</FORM>';
		$form_body = '';
        $form_body = $form_body.'Выберите Расчетный период : <SELECT NAME="dp_select"> ';
		while($mysql_res_row=mysql_fetch_array($mysql_res)) {
			$discount_period_start = date("d.m.Y H:i",$mysql_res_row['start_date']);
			$discount_period_end = date("d.m.Y H:i",$mysql_res_row['end_date']);
			if (isset($dp_select) & ($dp_select==$mysql_res_row['id'])) {
				$form_body = $form_body.'<OPTION VALUE='.$mysql_res_row['id'].' selected>'.$discount_period_start." - ".$discount_period_end.'</OPTION>';
			} else {
				$form_body = $form_body.'<OPTION VALUE='.$mysql_res_row['id'].'>'.$discount_period_start." - ".$discount_period_end.'</OPTION>';
			}
		}
        $form_body = $form_body."</SELECT>  ";
        $form_body = $form_body."<input type='submit' value='Выполнить'>";
		$dp_select_form = $form_title.$form_body.$form_footer;
		// Форма конец ************************************
 
		if ($report_table=='') {
			$row->text = preg_replace('/{traffic_discount_period_message}/', "", $row->text);
		} else {
			$row->text = preg_replace('/{traffic_discount_period_message}/', "Отчет по трафику за расчетный период ".$discount_period_start.' - '.$discount_period_end, $row->text);
		}
        $row->text = preg_replace('/{traffic_discount_period_report_table}/', $report_table, $row->text);
        $row->text = preg_replace('/{traffic_discount_period_form}/', $dp_select_form, $row->text);
	}
}

HTML

Отчет по трафику по расчетным периодам

{traffic_discount_period_report}

{traffic_discount_period_form}

{traffic_discount_period_message}

{traffic_discount_period_report_table}

Пример

Отчет по трафику по расчетным периодам

Выберите Расчетный период :

Отчет по трафику за расчетный период 27.01.2009 00:00 - 28.01.2009 00:00

Класс трафикаОбъем, МБЦена за МБСумма
Входящий3748.4700.00руб.0.00руб.
Входящий ночной1545.9640.10руб.0.00руб.
Исходящий3943.1960.00руб.0.00руб.
Исходящий ночной2770.8200.00руб.0.00руб.
Городской входящий0.0690.00руб.0.00руб.
Городской исходящий0.1790.00руб.0.00руб.
Локальный1974.8250.00руб.0.00руб.
Итого :13983.5220.00руб.

 
/home/u18456/wiki.flintnet.ru/www/data/pages/joomla_plugin/report_dp.txt · Последние изменения: 2009/08/15 14:17 От kayfolom
 
За исключением случаев, когда указано иное, содержимое этой вики предоставляется на условиях следующей лицензии:CC Attribution-Noncommercial-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki