<?php

//=====================================================
// Автор: REZER (http://rezer.net)
//=====================================================
// Данный код защищен авторскими правами
//=====================================================

if( !defined( "DATALIFEENGINE" ) ) die( "Hacking attempt!" );

class dle_boardPlagin {
	
	public $PlaginID = null;
	public $Options = array();
	public $AllowContinueOrder = true;
	public $API = false;
	private $ModOn = false;
	
	//------------------------------------------=-=-=-=-=-=-=-=-=
	//	Автоинициализация
	//------------------------------------------=-=-=-=-=-=-=-=-=
	
	public function __ModuleConstruct(){
		global $DLEBoardAPIPayments;
		
		if( !is_object( $DLEBoardAPIPayments ) )
			{
				if( !file_exists( ENGINE_DIR."/data/board.config.php" ) ) return "DLE Board is not exists";
				require( ENGINE_DIR."/inc/payments/extension/plagin/dle_board/api.php" );
				$this->API = new dle_boardApiPlagin;
			}
				else
			{
				$this->API = $DLEBoardAPIPayments;
			}
		
		if( $this->API->ModOn === true ) $this->ModOn = true;
	}
	
	//------------------------------------------=-=-=-=-=-=-=-=-=
	//	Создание заказа
	//------------------------------------------=-=-=-=-=-=-=-=-=
	
	public function CheckOrder( $info ){
		global $db, $member_id, $is_logged;
		
		$board_id = !$info['orderID'] ? intval( $_REQUEST['board_id'] ) : $info['options']['board_id'];
		$type_vip = !$info['orderID'] ? $_REQUEST['type_vip'] : $info['options']['type_vip'];
		$day = !$info['orderID'] ? intval( $_REQUEST['day'] ) : $info['options']['day'];
		
		if( $day < 1 ) return "Не верно указан срок действия выбранной вами услуги.";
		if( !in_array( $type_vip, $this->API->AllowType ) ) return "Приняты не верные данные, в частности не правильно указана услуга.";
		if( !$is_logged ) return "Данный текст разрешено оплачивать только зарегистрированным пользователям.";
		
		$Price = $this->API->TypePrice( $type_vip, $day );
		if( $Price == 0 ) return "Не верная стоимость выбранной вами услуги.";
		
		
		$return['product'] = "Покупка услуги {$this->API->TypeToName[$type_vip]} для объявления";
		$return['order_info'] = "После оплаты выбранному объявлению будет добавлена выбранная вами услуга и будет действовать <strong>{$day}</strong> дней. Если услуга уже действует для объявления, она будет продлена. Если объявление должно будет удалено раньше срока окончания услуги, срок хранения будет обновлён.";
		$return['price'] = $this->API->TypePrice( $type_vip, $day );
		$return['currency'] = $this->API->Currency;
		$return['about'] = "Покупка платной услуги {$this->API->TypeToName[$type_vip]} для объявления.";
		$return['text_complited'] = "Вы успешно оплатили услугу.";
		$return['options'] = array(
			"board_id"	=> $board_id,
			"type_vip"	=> $type_vip,
			"day"		=> $day,
		);
						
		return $return;
	}
	
	//------------------------------------------=-=-=-=-=-=-=-=-=
	//	При успешной оплате
	//------------------------------------------=-=-=-=-=-=-=-=-=
	
	public function PaymentCompleted( $info ){
		
		$board_id = $info['options']['board_id'];
		$type_vip = $info['options']['type_vip'];
		$day = $info['options']['day'];
		
		$updateBoard = $this->API->PaymentComplited( $board_id, $day, $type_vip );
		if( $updateBoard !== true ) return $updateBoard;
		
		return array(
			"payment_completed"		=> true,
			"text_complited"		=> $this->API->TextComplited,
		);
	}
}

?>