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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 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."]");

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品福利一区二区三区| 美洲天堂一区二卡三卡四卡视频| 亚洲一区在线观看网站| 欧美aaaaa成人免费观看视频| 福利一区福利二区| 欧美日韩一级二级三级| 国产精品久久久久久久久免费樱桃 | 欧美性生活大片视频| 久久精品综合网| 蜜桃视频一区二区| 欧美在线高清视频| 日韩美女啊v在线免费观看| 极品美女销魂一区二区三区| 欧美精品99久久久**| 亚洲已满18点击进入久久| www.爱久久.com| 国产性色一区二区| 国产在线精品免费av| 日韩三区在线观看| 日本一不卡视频| 欧美日韩一级黄| 亚洲韩国一区二区三区| 色欧美乱欧美15图片| 国产精品热久久久久夜色精品三区| 男人的天堂亚洲一区| 欧美一区永久视频免费观看| 亚洲国产日产av| 欧美日韩成人综合天天影院| 亚洲电影你懂得| 欧美日韩国产123区| 亚洲综合一二三区| 色婷婷精品大视频在线蜜桃视频| 亚洲女爱视频在线| 91丨porny丨蝌蚪视频| 亚洲欧美一区二区久久| 欧美在线视频不卡| 亚洲成人三级小说| 欧美一区二区三区在线看| 日韩av电影免费观看高清完整版 | 日韩国产高清在线| 欧美一级一级性生活免费录像| 免费亚洲电影在线| 精品国产乱码久久久久久1区2区 | 欧美系列亚洲系列| 五月天中文字幕一区二区| 91精品久久久久久久91蜜桃| 日本三级亚洲精品| 久久精品人人爽人人爽| 99热精品一区二区| 亚洲国产日日夜夜| 日韩欧美你懂的| 国产传媒久久文化传媒| 亚洲日本va午夜在线影院| 一本到不卡精品视频在线观看| 亚洲福利视频一区二区| 日韩欧美专区在线| av动漫一区二区| 日韩综合小视频| 久久毛片高清国产| 色婷婷久久久综合中文字幕| 爽爽淫人综合网网站| 久久精品网站免费观看| 色先锋aa成人| 精品一区二区三区免费观看| 中文字幕一区二区在线播放| 欧美日韩一级视频| 国产成a人亚洲| 亚洲gay无套男同| 国产日韩欧美一区二区三区乱码| 色94色欧美sute亚洲线路一久| 美女任你摸久久| 国产精品的网站| 日韩视频在线你懂得| av影院午夜一区| 美女在线观看视频一区二区| 一区二区中文字幕在线| 欧美一区二区在线看| 99久久99久久精品免费观看| 日韩和的一区二区| 亚洲情趣在线观看| 久久九九久精品国产免费直播| 欧美性猛交一区二区三区精品| 国产一区二区视频在线播放| 亚洲在线成人精品| 国产日韩精品久久久| 91精品国产黑色紧身裤美女| 成人av在线网| 精品午夜久久福利影院| 午夜精品福利在线| 亚洲男人天堂av网| 国产偷国产偷亚洲高清人白洁| 欧美日高清视频| 99久久精品一区二区| 国产麻豆精品视频| 亚洲不卡一区二区三区| 亚洲欧美视频在线观看| 2017欧美狠狠色| 日韩视频国产视频| 91精品国产91久久久久久最新毛片| 色哟哟日韩精品| av网站一区二区三区| 成人av电影在线| 国产精品香蕉一区二区三区| 狠狠色丁香婷综合久久| 麻豆精品精品国产自在97香蕉| 亚洲成人一区在线| 污片在线观看一区二区| 尤物av一区二区| 亚洲综合精品久久| 一区二区在线看| 亚洲精品你懂的| 亚洲一区在线视频| 五月婷婷久久综合| 欧美a级理论片| 狠狠色丁香九九婷婷综合五月| 精品亚洲免费视频| 韩国女主播一区二区三区| 国内不卡的二区三区中文字幕 | 欧美日韩在线一区二区| 欧美日韩国产成人在线91| 欧美亚男人的天堂| 欧美日韩国产综合久久| 91精品国产综合久久精品图片| 精品视频色一区| 日韩欧美一区二区免费| 久久欧美一区二区| 国产精品―色哟哟| 亚洲一区在线视频观看| 奇米精品一区二区三区在线观看一| 六月婷婷色综合| 成人一区在线看| 日本电影亚洲天堂一区| 欧美日韩精品高清| 久久综合999| 国产精品国产三级国产普通话三级| 亚洲男同性视频| 美国毛片一区二区| a级精品国产片在线观看| 91久久一区二区| 日韩一区二区三区免费观看| 欧美国产精品一区二区三区| 一区二区三区蜜桃| 欧美aⅴ一区二区三区视频| 国产一区二区在线免费观看| 一本大道综合伊人精品热热| 欧美一区二区三区在线电影| 国产亚洲欧美一级| 亚洲午夜精品17c| 国产毛片一区二区| 欧美私模裸体表演在线观看| 精品精品欲导航| 亚洲欧美另类图片小说| 男女激情视频一区| 播五月开心婷婷综合| 欧美电影一区二区三区| 欧美精品一区二区三区四区 | 欧美高清精品3d| 国产精品美日韩| 日本中文字幕不卡| 99久久精品国产一区二区三区 | 8v天堂国产在线一区二区| 久久老女人爱爱| 日韩精品一二三区| 99国产精品久久久久久久久久 | 国产偷国产偷亚洲高清人白洁| 亚洲一区在线观看免费观看电影高清| 美女网站色91| 欧美色老头old∨ideo| 亚洲国产精品成人综合| 日韩成人一区二区三区在线观看| 99精品国产91久久久久久| 精品国产sm最大网站免费看| 亚洲一区影音先锋| 成人动漫精品一区二区| 久久久久一区二区三区四区| 日本免费在线视频不卡一不卡二| 成人99免费视频| 国产欧美一区二区精品性| 日本视频一区二区| 欧美日韩国产美| 亚洲久草在线视频| 97成人超碰视| 国产精品久久久久毛片软件| 国产一区二区三区高清播放| 欧美videos大乳护士334| 天天综合网 天天综合色| 91久久精品网| 中文字幕中文乱码欧美一区二区| 国内精品视频666| 精品动漫一区二区三区在线观看| 五月婷婷综合在线| 欧美伊人久久久久久久久影院| 17c精品麻豆一区二区免费| 国产精品一区二区视频| 337p粉嫩大胆色噜噜噜噜亚洲| 麻豆精品视频在线| 日韩亚洲欧美一区二区三区| 日本视频一区二区| 日韩视频一区二区在线观看| 麻豆免费精品视频|