亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? class.a2billing.php

?? asterisk用 的voip記費軟件
?? PHP
?? 第 1 頁 / 共 5 頁
字號:
		global $currencies_list;		if (isset($this->agiconfig['agi_force_currency']) && strlen($this->agiconfig['agi_force_currency'])==3)		{ 			$this->currency = $this->agiconfig['agi_force_currency'];		}				if (!isset($currencies_list[strtoupper($this->currency)][2]) || !is_numeric($currencies_list[strtoupper($this->currency)][2])) $mycur = 1;		else $mycur = $currencies_list[strtoupper($this->currency)][2];		$rate_cur = $rate / $mycur;		$cents = intval($rate_cur);		$units = round(($rate_cur - $cents) * 1E4);		while ($units != 0 && $units % 10 == 0) $units /= 10;				// say 'the rate is'		//$agi->stream_file('the-rate-is');		$agi->say_number($cents);		if ($units > 0) {			$agi->stream_file('point');			$agi->say_digits($units);		}		$agi->stream_file('cents-per-minute');	}	/**	 *	Function refill_card_with_voucher	 *	 *  @param object $agi	 *  @param object $RateEngine     	 *  @param object $voucher number		     *  @return 1 if Ok ; -1 if error	**/	function refill_card_with_voucher ($agi, $try_num){				global $currencies_list;				$this -> debug( WRITELOG, $agi, __FILE__, __LINE__, "[VOUCHER REFILL CARD LOG BEGIN]");		if (isset($this->agiconfig['agi_force_currency']) && strlen($this->agiconfig['agi_force_currency'])==3){ 			$this -> currency = $this->agiconfig['agi_force_currency'];		}				if (!isset($currencies_list[strtoupper($this->currency)][2]) || !is_numeric($currencies_list[strtoupper($this->currency)][2])){ 			$mycur = 1;		} else { 			$mycur = $currencies_list[strtoupper($this->currency)][2];		}		$timetowait = ($this->config['global']['len_voucher'] < 6) ? 8000 : 20000;		$res_dtmf = $agi->get_data('prepaid-voucher_enter_number', $timetowait, $this->config['global']['len_voucher'], '#');		$this -> debug( VERBOSE | WRITELOG, $agi, __FILE__, __LINE__, "VOUCHERNUMBER RES DTMF : ".$res_dtmf ["result"]);		$this -> vouchernumber = $res_dtmf ["result"];		if ($this -> vouchernumber <= 0){			return -1;		}				$this -> debug( VERBOSE | WRITELOG, $agi, __FILE__, __LINE__, "VOUCHER NUMBER : ".$this->vouchernumber);				$QUERY = "SELECT voucher, credit, activated, tag, currency, expirationdate FROM cc_voucher WHERE expirationdate >= CURRENT_TIMESTAMP AND activated='t' AND voucher='".$this -> vouchernumber."'";				$result = $this -> instance_table -> SQLExec ($this->DBHandle, $QUERY);		$this -> debug( VERBOSE | WRITELOG, $agi, __FILE__, __LINE__, "[VOUCHER SELECT: $QUERY]\n".print_r($result,true));					if ($result[0][0]==$this->vouchernumber)		{			if (!isset ($currencies_list[strtoupper($result[0][4])][2]))			{				$this -> debug( VERBOSE | WRITELOG, $agi, __FILE__, __LINE__, "System Error : No currency table complete !!!");				$agi-> stream_file('prepaid-unknow_used_currencie', '#');								return -1;			}			else			{					// DISABLE THE VOUCHER 				$this -> add_credit = $result[0][1] * $currencies_list[strtoupper($result[0][4])][2];				$QUERY = "UPDATE cc_voucher SET activated='f', usedcardnumber='".$this->accountcode."', usedate=now() WHERE voucher='".$this->vouchernumber."'";				$this -> debug( VERBOSE | WRITELOG, $agi, __FILE__, __LINE__, "QUERY UPDATE VOUCHER: $QUERY");				$result = $this -> instance_table -> SQLExec ($this->DBHandle, $QUERY, 0);								// UPDATE THE CARD AND THE CREDIT PROPERTY OF THE CLASS				$QUERY = "UPDATE cc_card SET credit=credit+'".$this ->add_credit."' WHERE username='".$this->accountcode."'";				$result = $this -> instance_table -> SQLExec ($this->DBHandle, $QUERY, 0);				$this -> credit += $this -> add_credit; 								$this -> debug( VERBOSE | WRITELOG, $agi, __FILE__, __LINE__, "QUERY UPDATE CARD: $QUERY");				$this -> debug( VERBOSE | WRITELOG, $agi, __FILE__, __LINE__, ' The Voucher '.$this->vouchernumber.' has been used, We added '.$this ->add_credit/$mycur.' '.strtoupper($this->currency).' of credit on your account!');				$this->fct_say_balance ($agi, $this->add_credit, 1);				$this -> debug( VERBOSE | WRITELOG, $agi, __FILE__, __LINE__, "[VOUCHER REFILL CARD: $QUERY]");				return 1;			}		}		else		{			$this -> debug( VERBOSE | WRITELOG, $agi, __FILE__, __LINE__, "[VOUCHER REFILL ERROR: ".$this->vouchernumber." Voucher not avaible or dosn't exist]");			$agi-> stream_file('voucher_does_not_exist');			return -1;		}		$this -> debug( WRITELOG, $agi, __FILE__, __LINE__, "[VOUCHER REFILL CARD LOG END]");		return 1;	}		/*	 * Function to generate a cardnumber	 */	 	function MDP()	{		$chrs = $this->agiconfig['cid_auto_create_card_len'];  		$pwd = "";		 mt_srand ((double) microtime() * 1000000);		 while (strlen($pwd)<$chrs)		 {			$chr = chr(mt_rand (0,255));			if (eregi("^[0-9]$", $chr))				$pwd = $pwd.$chr;		 };		 return $pwd;	}					/*	 * Function apply_rules to the phonenumber : Remove internation prefix	 */		function apply_rules ($phonenumber){								// BEGIN		if (substr($phonenumber,0,3)=="011"){			$this->myprefix='011';			return substr($phonenumber,3);				}			if (substr($phonenumber,0,1)=="1"){			$this->myprefix='1';			return $phonenumber;				}		if (substr($phonenumber,0,2)=="00"){			$this->myprefix='00';			return substr($phonenumber,2);				}		if (substr($phonenumber,0,2)=="09"){			$this->myprefix='09';			return substr($phonenumber,2);				}					$this->myprefix='';		return $phonenumber;		// END				// THIS PART IS DEPRECIATE : IT WAS DONE TO MANAGE THE CANADIAN LOCAL CALL 		// (NOT USEFUL ANYMORE AS WE CAN MANAGE THIS FROM THE RATECARD PROPERTIES)				/*		// EUROPE CALL TO THE CANADIAN SYSTEM		if (substr($phonenumber,0,2)=="00"){			$this->myprefix='011';			return "011".substr($phonenumber,2);				}				// CALL TO US / OR US CALL IN CANADA		if (substr($phonenumber,0,1)=="1"){			$this->myprefix='';			return "011".$phonenumber;				}				// LOCAL CALL WITH 1		$canada[]="1403";	$canada[]="1780";	$canada[]="1250";	$canada[]="1604";	$canada[]="1778";			$canada[]="1204";   $canada[]="1506";	$canada[]="1709";	$canada[]="1902";	$canada[]="1289";  $canada[]="1416";			$canada[]="1519";	$canada[]="1613";	$canada[]="1647";	$canada[]="1705";	$canada[]="1807";	$canada[]="1905";			$canada[]="1418";	$canada[]="1450";	$canada[]="1514";	$canada[]="1819";	$canada[]="1306";	$canada[]="1867";				// LOCAL CALL WITHOUT 1		$localcanada[]="403";	$localcanada[]="780";	$localcanada[]="250";	$localcanada[]="604";	$localcanada[]="778";			$localcanada[]="204";   $localcanada[]="506";	$localcanada[]="709";	$localcanada[]="902";	$localcanada[]="289";  $localcanada[]="416";			$localcanada[]="519";	$localcanada[]="613";	$localcanada[]="647";	$localcanada[]="705";	$localcanada[]="807";	$localcanada[]="905";			$localcanada[]="418";	$localcanada[]="450";	$localcanada[]="514";	$localcanada[]="819";	$localcanada[]="306";	$localcanada[]="867";				foreach ($localcanada as $pn){			if ($pn == substr($phonenumber,0,3)){				$this->myprefix='';				return "011"."1".$phonenumber;			}		}				// NO CHANGE		$this->myprefix='011';		return $phonenumber;*/	}			/*	 * Function callingcard_cid_sanitize : Ensure the caller is allowed to use their claimed CID.	 * Returns: clean CID value, possibly empty.	 */		function callingcard_cid_sanitize($agi){						$this -> debug( VERBOSE | WRITELOG, $agi, __FILE__, __LINE__, "[CID_SANITIZE - CID:".$this->CallerID."]");						if (strlen($this->CallerID)==0) {				$this -> debug( VERBOSE | WRITELOG, $agi, __FILE__, __LINE__, "[CID_SANITIZE - CID: NO CID]");				return '';			}			$QUERY="";			if($this->agiconfig['cid_sanitize']=="CID" || $this->agiconfig['cid_sanitize']=="BOTH"){				$QUERY .=  "SELECT cc_callerid.cid ".					  " FROM cc_callerid ".					  " JOIN cc_card ON cc_callerid.id_cc_card=cc_card.id ".					  " WHERE cc_card.username='".$this->cardnumber."' ";				$QUERY .= "ORDER BY 1";				$result1 = $this->instance_table -> SQLExec ($this->DBHandle, $QUERY);				$this -> debug( VERBOSE | WRITELOG, $agi, __FILE__, __LINE__, "QUERY = $QUERY\n".print_r($result1,true));			}						/*if($this->agiconfig['cid_sanitize']=="BOTH"){				$QUERY .= " UNION ";			}*/			$QUERY="";			if($this->agiconfig['cid_sanitize']=="DID" || $this->agiconfig['cid_sanitize']=="BOTH"){				$QUERY .=  "SELECT cc_did.did ".					  " FROM cc_did ".					  " JOIN cc_did_destination ON cc_did_destination.id_cc_did=cc_did.id ".					  " JOIN cc_card ON cc_did_destination.id_cc_card=cc_card.id ".					  " WHERE cc_card.username='".$this->cardnumber."' ";				$QUERY .= "ORDER BY 1";				$this -> debug( VERBOSE | WRITELOG, $agi, __FILE__, __LINE__, "QUERY = $QUERY");				$result2 = $this->instance_table -> SQLExec ($this->DBHandle, $QUERY);			}			if (count($result1)>0 || count($result2)>0) 				$result = array_merge($result1, $result2);						$this -> debug( VERBOSE | WRITELOG, $agi, __FILE__, __LINE__, "RESULT MERGE -> ".print_r($result,true));						if( !is_array($result)) {				$this -> debug( VERBOSE | WRITELOG, $agi, __FILE__, __LINE__, "[CID_SANITIZE - CID: NO DATA]");				return '';			}			for ($i=0;$i<count($result);$i++){				$this -> debug( WRITELOG, $agi, __FILE__, __LINE__, "[CID_SANITIZE - CID COMPARING: ".substr($result[$i][0],strlen($this->CallerID)*-1)." to ".$this->CallerID."]");				if(substr($result[$i][0],strlen($this->CallerID)*-1)==$this->CallerID) {					$this -> debug( WRITELOG, $agi, __FILE__, __LINE__, "[CID_SANITIZE - CID: ".$result[$i][0]."]");					return $result[$i][0];				}			}		$this -> debug( WRITELOG, $agi, __FILE__, __LINE__, "[CID_SANITIZE - CID UNIQUE RESULT: ".$result[0][0]."]");		return $result[0][0];	}		function callingcard_auto_setcallerid($agi){		// AUTO SetCallerID		$this -> debug( VERBOSE | WRITELOG, $agi, __FILE__, __LINE__, "[AUTO SetCallerID]");		if ($this->agiconfig['auto_setcallerid']==1){			if ( strlen($this->agiconfig['force_callerid']) >=1 ){				$agi -> set_callerid($this->agiconfig['force_callerid']);				$this -> debug( VERBOSE | WRITELOG, $agi, __FILE__, __LINE__, "[EXEC SetCallerID : ".$this->agiconfig['force_callerid']."]");			}elseif ( strlen($this->CallerID) >=1 ){				$this -> debug( VERBOSE | WRITELOG, $agi, __FILE__, __LINE__, "[REQUESTED SetCallerID : ".$this->CallerID."]");				      			// IF REQUIRED, VERIFY THAT THE CALLERID IS LEGAL      			$cid_sanitized = $this->CallerID;				/*if ($this->agiconfig['cid_sanitize']=='DID' || $this->agiconfig['cid_sanitize']=='CID' || $this->agiconfig['cid_sanitize']=='BOTH') {					$cid_sanitized = $this -> callingcard_cid_sanitize($agi);					$this -> debug( WRITELOG, $agi, __FILE__, __LINE__, "[TRY : callingcard_cid_sanitize]");					if ($this->agiconfig['debug']>=1) $agi->verbose('CALLERID SANITIZED: "'.$cid_sanitized.'"');				}*/				if (strlen($cid_sanitized)>0){					$agi->set_callerid($cid_sanitized);					$this -> debug( VERBOSE | WRITELOG, $agi, __FILE__, __LINE__, "[EXEC SetCallerID : ".$cid_sanitized."]");				}else{					$this -> debug( VERBOSE | WRITELOG, $agi, __FILE__, __LINE__, "[CANNOT SetCallerID : cid_san is empty]");				}			}		}	}			function callingcard_ivr_authenticate($agi){					$prompt='';		$res=0;		$retries=0;		$language = 'en';		$callerID_enable = $this->agiconfig['cid_enable'];						// 		  -%-%-%-%-%-%-		FIRST TRY WITH THE CALLERID AUTHENTICATION 	-%-%-%-%-%-%-				if ($callerID_enable==1 && is_numeric($this->CallerID) && $this->CallerID>0){			$this -> debug( WRITELOG, $agi, __FILE__, __LINE__, "[CID_ENABLE - CID_CONTROL - CID:".$this->CallerID."]");			$this -> debug( VERBOSE | WRITELOG, $agi, __FILE__, __LINE__, "[CID_ENABLE - CID_CONTROL - CID:".$this->CallerID."]");

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久精品国产色蜜蜜麻豆| 一区二区免费视频| 久久av资源站| 欧美日韩不卡一区| 亚洲美女偷拍久久| www.99精品| 亚洲人成在线播放网站岛国| 国产成人免费在线视频| 91精品国产综合久久久久久| 午夜电影网亚洲视频| 色94色欧美sute亚洲线路二| 国产精品乱人伦一区二区| 国产99久久久久久免费看农村| 欧美一卡二卡三卡| 午夜av区久久| 欧美一区二区视频在线观看2020 | 亚洲资源在线观看| 国产sm精品调教视频网站| 精品久久99ma| 另类成人小视频在线| 日韩精品中文字幕一区| 九一久久久久久| 欧美一区二区视频在线观看2022| 日韩高清不卡在线| 7777精品伊人久久久大香线蕉完整版 | 国产盗摄视频一区二区三区| 国产香蕉久久精品综合网| 国产91色综合久久免费分享| 国产亚洲精品精华液| 风流少妇一区二区| 一区二区三区日韩| 在线播放亚洲一区| 91在线你懂得| 波多野结衣视频一区| 精品一区二区三区视频在线观看| 亚洲福利视频一区| 久久久另类综合| 欧美日韩一本到| 国产**成人网毛片九色 | 国产一区二区不卡老阿姨| 日韩精品一区二区三区在线播放 | 丁香婷婷综合激情五月色| 亚洲精品成人精品456| 欧美电视剧免费全集观看| 色综合一区二区三区| 欧美日产国产精品| 成人手机在线视频| 国产成人免费视频| 国产精品少妇自拍| 精品91自产拍在线观看一区| 欧美美女一区二区| 欧美一区二区精品| 日韩欧美久久久| 26uuu精品一区二区三区四区在线 26uuu精品一区二区在线观看 | 欧美精品亚洲一区二区在线播放| 日本亚洲视频在线| 免费观看30秒视频久久| 日韩免费一区二区| 91免费版在线| 丝袜美腿亚洲一区| 亚洲精品视频自拍| 精品国产一区二区三区久久久蜜月| 高清视频一区二区| 日韩激情在线观看| 亚洲日本一区二区三区| 精品国产成人在线影院 | 最新热久久免费视频| 制服.丝袜.亚洲.中文.综合| 成人久久视频在线观看| 免费看黄色91| 亚洲人一二三区| 中文字幕久久午夜不卡| 欧美www视频| 欧美一区二区三区在线视频| 日本高清无吗v一区| 欧美大肚乱孕交hd孕妇| 色婷婷综合视频在线观看| 国产一区二区三区在线看麻豆| 午夜影视日本亚洲欧洲精品| 天天综合网 天天综合色| 亚洲精品视频免费观看| 一区二区三区在线观看动漫| 国产亚洲女人久久久久毛片| 色综合久久中文字幕综合网 | 久久99精品国产麻豆婷婷| 国产精品无人区| 国产三级三级三级精品8ⅰ区| 欧美一区二区三区人| 欧美日韩免费观看一区三区| 日本道免费精品一区二区三区| 成人在线视频首页| 欧美精品久久99久久在免费线| 国产精品国产自产拍在线| 丁香婷婷综合五月| 国产日韩欧美一区二区三区综合| 99r精品视频| 日本欧美一区二区在线观看| 日韩欧美高清一区| 久久综合一区二区| 国产欧美精品一区二区色综合 | www成人在线观看| 欧美成人乱码一区二区三区| 日韩欧美123| 国产午夜精品一区二区三区嫩草| 欧美极品aⅴ影院| 亚洲丝袜另类动漫二区| 亚洲国产一区视频| 激情六月婷婷久久| 成人h精品动漫一区二区三区| 99久久99久久精品免费观看| 欧洲一区二区av| 欧美大片一区二区三区| 中文字幕不卡一区| 天堂成人免费av电影一区| 国产一区二区毛片| 欧美视频中文字幕| 日韩一级完整毛片| 日韩电影在线看| 成人激情av网| 亚洲美女偷拍久久| 91视视频在线观看入口直接观看www | 久久人人爽人人爽| 久久综合国产精品| 一区二区三区鲁丝不卡| 国产盗摄一区二区| 国产精品久久久久久久久免费丝袜| 日本高清不卡一区| 日本va欧美va瓶| 日韩一卡二卡三卡国产欧美| 91成人看片片| 99国产精品久| 国产91露脸合集magnet| 美女视频网站久久| 亚洲电影视频在线| 亚洲人精品午夜| 国产精品久久久久影院色老大| 午夜欧美2019年伦理 | av在线一区二区| 国产一区二区毛片| 久久精品久久久精品美女| 亚洲一区在线视频| 亚洲图片激情小说| 国产精品久久二区二区| 久久久久国产一区二区三区四区| 91精品国产综合久久香蕉的特点| 欧美视频一区二区三区| 91福利在线看| 色综合夜色一区| 一本色道久久综合狠狠躁的推荐| 成人黄色国产精品网站大全在线免费观看 | 日韩精品一区二区三区四区| 欧美日韩和欧美的一区二区| 欧美综合色免费| 91视频免费观看| 91丨九色丨蝌蚪丨老版| www.av亚洲| 95精品视频在线| 91看片淫黄大片一级在线观看| 99v久久综合狠狠综合久久| 波多野结衣一区二区三区| av不卡一区二区三区| 99在线热播精品免费| jlzzjlzz亚洲日本少妇| 99re视频精品| 色综合久久66| 日本韩国欧美一区二区三区| 色狠狠一区二区三区香蕉| 91黄色免费版| 欧美午夜精品久久久久久孕妇| 欧美在线观看一区| 欧美日韩aaaaa| 日韩午夜激情电影| 久久免费午夜影院| 国产欧美视频在线观看| 国产精品视频九色porn| 亚洲色图欧美在线| 一区二区高清在线| 日韩黄色片在线观看| 欧美96一区二区免费视频| 国产资源精品在线观看| 国产福利一区二区三区在线视频| 成人av综合在线| 91电影在线观看| 日韩欧美中文一区| 久久午夜羞羞影院免费观看| 中文字幕的久久| 亚洲精品日日夜夜| 日韩中文字幕一区二区三区| 久久精品国产亚洲一区二区三区| 狠狠久久亚洲欧美| 波多野结衣91| 欧美亚洲日本一区| 欧美电视剧在线观看完整版| 欧美韩国一区二区| 亚洲精品乱码久久久久| 香港成人在线视频| 国产精品福利影院| 亚洲成人中文在线| 国产一区二区三区观看| 亚洲国产欧美在线人成|