Содержание

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>user_tariff</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</description>
	<files>
		<filename plugin="user_tariff">user_tariff.php</filename>
	</files>
</install>

PHP

<?php
 
defined( '_JEXEC' ) or die( 'Restricted access' );
 
//@ini_set("display_errors", "1");
//error_reporting(E_ALL);
 
require_once("./urfa/URFAClient.php");
 
//require_once("./urfa/URFAConfig.php");
 
$mainframe->registerEvent( 'onPrepareContent', 'plgUserTariffModify' );
 
function plgUserTariffModify(&$row, &$params, $page=0){
	include ("./urfa/URFAConfig.php");
    $pos = strpos($row->text, '{user_tariff}');
 
    if ($pos!==false) {
        if ($_SESSION['URFA']['is_juridical']) {
          $avail_tariffs=array(66,67,68,69); // id Доступных пользователю тарифов Юрики
        } else {
          $avail_tariffs=array(66,67,68,69,70,71,72); // id Доступных пользователю тарифов Физики
		}
 
        $row->text = preg_replace('/{user_tariff}/', '', $row->text);
 
	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']);
//        if ($_SESSION['URFA']['user_id']==1) print_r($user_tariff);
//***************** Обработка смены тарифа
        $change_tariff_message = '';
//        $uri = & JFactory::getURI();
 
        $urfa_next_tariff = JRequest::getVar('urfa_next_tariff');
        $urfa_next_tariff_accept = JRequest::getVar('urfa_next_tariff_accept');
        $tariff_change_type = JRequest::getVar('tariff_change_type');
 
        if (isset($urfa_next_tariff) && isset($urfa_next_tariff_accept)) { 
            $user_id = $_SESSION['URFA']['user_id'];
            $account_id = $_SESSION['URFA']['basic_account'];
            $service_id_normal = 108; // id услуги "Смена тарифа"
            $service_id_urgent = 109; // id услуги "Смена тарифа"
//	        if ($_SESSION['URFA']['user_id']==1) print "**************";
            $tariff_current =     $user_tariff['user_tariffs'][0]['current_tariff'];
	    $discount_period_id = $user_tariff['user_tariffs'][0]['discount_period_id'];
            $tariff_link_id =     $user_tariff['user_tariffs'][0]['tariff_link_id'];
//            print 'tariff_change_type '.$tariff_change_type;
            if (($user_tariff['user_tariffs'][0]['next_tariff']<>$urfa_next_tariff) or ($tariff_change_type=='urgent')) {
                $new_tariff_link_id = $urfa_admin->rpcf_link_user_tariff($user_id, $account_id, $tariff_current, $urfa_next_tariff, $discount_period_id, $tariff_link_id);
                if ($tariff_link_id==$new_tariff_link_id['tariff_link_id']) {
                    $change_tariff_message = 'Тариф следующего расчетного периода успешно изменен.'; 
//                    print $tariff_change_type;
                    if ($tariff_change_type=='urgent') { // Срочная смена тарфа - изменение конца расчетного периода
//						print "***".$discount_period_id."***";
						$discount_period = $urfa_admin->rpcf_get_discount_period($discount_period_id);
//						print_r($discount_period);
						$start = $discount_period['start_date'];
						$expire = strtotime("+1 day");
						$expire = strtotime(date("d.m.Y",$expire));
						$periodic_type_t = 3;
						$cd = 1;
						$di = 0;
//print $start."<BR>";
//print date("d.m.Y",$start)."<BR>";
//print $expire."<BR>";
//print date("d.m.Y H:i:s",$expire)."<BR>";
						$urfa_admin->rpcf_add_discount_period($discount_period_id,$start,$expire,$periodic_type_t,$cd,$di); //0x2603
                    	$change_tariff_message = $change_tariff_message."<BR> Дата конца текущего расчетного периода успешно изменена.";
						$urfa_admin->rpcf_add_once_service_to_user($user_id,$account_id,$service_id_urgent,0,0,time(),1,0); //0x2555
                    } else {
						$urfa_admin->rpcf_add_once_service_to_user($user_id,$account_id,$service_id_normal,0,0,time(),1,0); //0x2555
					}
                    $user_tariff = $urfa_admin->rpcf_get_user_tariffs($_SESSION['URFA']['user_id']);
//                    print 'good';
//                    $urfa_admin->rpcf_add_once_service_to_user($user_id, $account_id, $service_id); //0x2551
//$res = rpcf_add_once_service_to_user2($user_id,$account_id,$service_id,$tplink,$slink_id,$discount_date,$quantity,$invoice_id); //0x2555
 
 
                } 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="POST">';
	 if (isset($uri->_vars['urfa_next_tariff'])) {
        unset($uri->_vars['urfa_next_tariff']);
     }
	 if (isset($uri->_vars['urfa_next_tariff_accept'])) {
        unset($uri->_vars['urfa_next_tariff_accept']);
     }
	 if (isset($uri->_vars['tariff_change_type'])) {
        unset($uri->_vars['tariff_change_type']);
     }
 
	$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="tariff_change_type" type="radio" value="normal" checked> Со следующего Расчетного периода (стоимость услуги 30р.) <BR>';
//		$form_body = $form_body.'<input name="tariff_change_type" type="radio" value="urgent" align=left disabled=true> Срочная смена, с ближайшей полуночи (стоимость услуги 100р.) Внимание - прочтите условия!!! <BR>';
        // Срочная смена тарифа производится сменой даты окончания ИНДИВИДУАЛЬНОГО РП аккаунта на ближайшую полночь
		$form_body = $form_body.'<input name="tariff_change_type" type="radio" value="urgent" align=left> Срочная смена, с ближайшей полуночи (стоимость услуги 100р.) Внимание - прочтите условия!!! <BR>';
        $form_body = $form_body.'<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);
    }
}

SQL

 

HTML

Смена тарифа - платная услуга, стоимость смены на следующий расчетный период 30р., срочная смена с ближайшей полуночи 100р. . Стоимость услуги снимается со счета сразу в момент активации услуги заказа тарифа. Подробно ознакомиться с Тарифами можно на странице Тарифы

Вы можете сменить тариф планово - со следующего Расчетного периода, или же воспользоваться СРОЧНОЙ сменой тарифа с ближайшей полуночи. При этом изменится дата окончания текущего Расчетного периода и соответственно новый расчетный период начнется с завтрашнего дня.

Перед СРОЧНОЙ сменой тарифа внимательно прочтите следующий текст:

Внимание!!! При срочной смене тарифа НЕ ПРОИЗВОДИТСЯ возврат не истраченного предоплаченного трафика и перерасчет неиспользованного срока действия безлимитных тарифов! Т.е. если у вас недавно начался новый расчетный период и с вас сняли стоимость тарифа, то эта сумма возвращена не будет. Никакие претензии не принимаются! Пользуйтесь СРОЧНОЙ сменой тарифа в крайнем случае и когда вам это действительно необходимо. Отмечая галочку "Я понимаю и принимаю условия смены тарифа" вы соглашаетесь со всеми этими условиями.

Если вы все таки решили воспользоваться Срочной сменой тарифа, но у вас остались сомнения - свяжитесь с техподдержкой (Через утилиту UTMTray, по тел. 55593555, 55594555) - мы ответим на все вопросы.

{user_tariff}{change_tariff_message}

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

Начало

Конец

{discount_period_start}

{discount_period_end}

Тариф

Текущий тариф

Тариф следующего Расчетного периода

{current_tariff}

{next_tariff}

 

Смена тарифа

{form_change_tariff}

 

Пример

Смена тарифа - платная услуга, стоимость смены на следующий расчетный период 30р., срочная смена с ближайшей полуночи 100р. . Стоимость услуги снимается со счета сразу в момент активации услуги заказа тарифа. Подробно ознакомиться с Тарифами можно на странице Тарифы

Вы можете сменить тариф планово - со следующего Расчетного периода, или же воспользоваться СРОЧНОЙ сменой тарифа с ближайшей полуночи. При этом изменится дата окончания текущего Расчетного периода и соответственно новый расчетный период начнется с завтрашнего дня.

Перед СРОЧНОЙ сменой тарифа внимательно прочтите следующий текст:

Внимание!!! При срочной смене тарифа НЕ ПРОИЗВОДИТСЯ возврат не истраченного предоплаченного трафика и перерасчет неиспользованного срока действия безлимитных тарифов! Т.е. если у вас недавно начался новый расчетный период и с вас сняли стоимость тарифа, то эта сумма возвращена не будет. Никакие претензии не принимаются! Пользуйтесь СРОЧНОЙ сменой тарифа в крайнем случае и когда вам это действительно необходимо. Отмечая галочку "Я понимаю и принимаю условия смены тарифа" вы соглашаетесь со всеми этими условиями.

Если вы все таки решили воспользоваться Срочной сменой тарифа, но у вас остались сомнения - свяжитесь с техподдержкой (Через утилиту UTMTray, по тел. 93105, 94555) - мы ответим на все вопросы.

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

Начало

Конец

Дата 27.08.2009г. время 00:00

Дата 27.09.2009г. время 00:00

Тариф

Текущий тариф

Тариф следующего Расчетного периода

Лето-2009 2000 Мб

Лето-2009 2000 Мб

Смена тарифа



Со следующего Расчетного периода (стоимость услуги 30р.)
Срочная смена, с ближайшей полуночи (стоимость услуги 100р.) Внимание - прочтите условия!!!


Я понимаю и принимаю условия смены тарифа

 
/home/u18456/wiki.flintnet.ru/www/data/pages/joomla_plugin/user_tariff.txt · Последние изменения: 2009/12/02 13:26 От 94.228.193.1
 
За исключением случаев, когда указано иное, содержимое этой вики предоставляется на условиях следующей лицензии: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