|
@@ -1,119 +1,119 @@
|
|
|
-<?php
|
|
|
|
|
-namespace common\lib;
|
|
|
|
|
-
|
|
|
|
|
-use common\helpers\Utils;
|
|
|
|
|
-
|
|
|
|
|
-class Mt4Api {
|
|
|
|
|
-
|
|
|
|
|
- protected $realip = '';
|
|
|
|
|
-
|
|
|
|
|
- protected $port = '';
|
|
|
|
|
-
|
|
|
|
|
- public function __construct($realip, $port)
|
|
|
|
|
- {
|
|
|
|
|
- $this->realip = $realip;
|
|
|
|
|
- $this->port = $port;
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
- public function MQ_Query($query,$real = 0 ){
|
|
|
|
|
- $ret='error';
|
|
|
|
|
- //---- open socket
|
|
|
|
|
- $ptr=@fsockopen($this->realip,$this->port,$errno,$errstr,5);
|
|
|
|
|
- /*
|
|
|
|
|
- if( $real ){
|
|
|
|
|
- $ptr=@fsockopen($this->realip,$this->port,$errno,$errstr,5);
|
|
|
|
|
- }else{
|
|
|
|
|
- $ptr=@fsockopen($this->demoip,'443',$errno,$errstr,5);
|
|
|
|
|
- }
|
|
|
|
|
- */
|
|
|
|
|
-
|
|
|
|
|
- //---- check connection
|
|
|
|
|
- if($ptr){
|
|
|
|
|
- //---- send request
|
|
|
|
|
- if(fputs($ptr,"W$query\nQUIT\n")!=FALSE){
|
|
|
|
|
- //---- clear default answer
|
|
|
|
|
- $ret='';
|
|
|
|
|
- //---- receive answer
|
|
|
|
|
- while(!feof($ptr)) {
|
|
|
|
|
- $line=fgets($ptr,128);
|
|
|
|
|
- if($line=="end\r\n") break;
|
|
|
|
|
- $ret.= $line;
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- fclose($ptr);
|
|
|
|
|
- }
|
|
|
|
|
- //---- return answer
|
|
|
|
|
- return $ret;
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- public function addAccount($data, $real = 0){
|
|
|
|
|
- //字段:
|
|
|
|
|
- //INVESTOR STATUS ZIPCODE ID SEND_REPORTS PHONE_PASSWORD 属性不明
|
|
|
|
|
- $data['MASTER'] = 'Helongpasswd';
|
|
|
|
|
- $data['IP'] = isset($data['IP']) && trim($data['IP']) != '' ? trim($data['IP']) : Utils::getClientIp();
|
|
|
|
|
- $data['GROUP'] = isset($data['GROUP']) ? trim($data['GROUP']) : '';
|
|
|
|
|
- $data['NAME'] = isset($data['NAME']) ? trim($data['NAME']) : '';
|
|
|
|
|
- $data['PASSWORD'] = isset($data['PASSWORD']) ? trim($data['PASSWORD']) : '';
|
|
|
|
|
- $data['INVESTOR'] = isset($data['INVESTOR']) ? trim($data['INVESTOR']) : '';
|
|
|
|
|
- $data['EMAIL'] = 'email';
|
|
|
|
|
- $data['COUNTRY'] = 'hk';
|
|
|
|
|
- $data['STATE'] = 'hk';
|
|
|
|
|
- $data['CITY'] = 'hk';
|
|
|
|
|
- $data['ADDRESS'] = 'hk';
|
|
|
|
|
- $data['PHONE'] = '00000000';
|
|
|
|
|
- $data['PHONE_PASSWORD'] = isset($data['PHONE_PASSWORD']) ? trim($data['PHONE_PASSWORD']) : '';
|
|
|
|
|
- $data['STATUS'] = '';
|
|
|
|
|
- $data['ZIPCODE'] = isset($data['ZIPCODE']) ? trim($data['ZIPCODE']) : '';
|
|
|
|
|
- $data['ID'] = isset($data['ID']) ? trim($data['ID']) : '';
|
|
|
|
|
- $data['LEVERAGE'] = isset($data['LEVERAGE']) ? trim($data['LEVERAGE']) : '';
|
|
|
|
|
- $data['AGENT'] = 0;
|
|
|
|
|
- $data['SEND_REPORTS'] = 1;
|
|
|
|
|
- $data['DEPOSIT'] = '';
|
|
|
|
|
- $data['COMMENT'] = '';
|
|
|
|
|
- $data['LOGIN'] = isset($data['LOGIN']) ? $data['LOGIN'] : '';
|
|
|
|
|
-
|
|
|
|
|
- // iconv('GB2312', 'UTF-8', $str);
|
|
|
|
|
- //iconv('GB2312', 'UTF-8', $str);
|
|
|
|
|
-
|
|
|
|
|
- $data['NAME'] = iconv("utf-8", "gbk", $data['NAME']);
|
|
|
|
|
-
|
|
|
|
|
- /*
|
|
|
|
|
- $query = 'NEWACCOUNT MASTER='.$data['MASTER'].'|IP='.$data['IP'].'|GROUP='.$data['GROUP'].'|NAME='.$data['NAME'].'|PASSWORD='.$data['PASSWORD'].
|
|
|
|
|
- '|INVESTOR='.$data['INVESTOR'] .'|EMAIL=email|COUNTRY=hk|STATE=hk|CITY=hk|ADDRESS=hk|COMMENT='.$data['COMMENT'].'|PHONE=000000000|PHONE_PASSWORD='.$data['PHONE_PASSWORD'].'|STATUS=resident|ZIPCODE=000000|ID=10|LEVERAGE='.$data['LEVERAGE'].'|AGENT=0'.
|
|
|
|
|
- '|SEND_REPORTS=1|DEPOSIT=0';
|
|
|
|
|
- */
|
|
|
|
|
-
|
|
|
|
|
- //--- prepare query
|
|
|
|
|
-
|
|
|
|
|
- $query="NEWACCOUNT MASTER={$data['MASTER']}|IP={$data['IP']}|GROUP={$data['GROUP']}|NAME={$data['NAME']}|".
|
|
|
|
|
- "PASSWORD={$data['PASSWORD']}|INVESTOR={$data['INVESTOR']}|EMAIL={$data['EMAIL']}|COUNTRY={$data['COUNTRY']}|".
|
|
|
|
|
- "STATE={$data['STATE']}|CITY={$data['CITY']}|ADDRESS={$data['ADDRESS']}|COMMENT={$data['COMMENT']}|".
|
|
|
|
|
- "PHONE={$data['PHONE']}|PHONE_PASSWORD={$data['PHONE_PASSWORD']}|STATUS={$data['STATUS']}|ZIPCODE={$data['ZIPCODE']}|".
|
|
|
|
|
- "ID={$data['ID']}|LEVERAGE={$data['LEVERAGE']}|AGENT={$data['AGENT']}|SEND_REPORTS={$data['SEND_REPORTS']}|".
|
|
|
|
|
- "DEPOSIT={$data['DEPOSIT']}";
|
|
|
|
|
-
|
|
|
|
|
- //--- send request
|
|
|
|
|
-
|
|
|
|
|
- //echo $query;die;
|
|
|
|
|
-
|
|
|
|
|
- $ret = $this->MQ_Query($query, $real);
|
|
|
|
|
-
|
|
|
|
|
- $info = $this->qgstr($ret);
|
|
|
|
|
- return $info;
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- //处理api返回的信息 如: OK LOGIN=50010 or ERROR IP is blocked. Please wait 60 secs and try again.
|
|
|
|
|
-
|
|
|
|
|
- protected function qgstr($str)
|
|
|
|
|
- {
|
|
|
|
|
- if( strstr($str, 'OK')){
|
|
|
|
|
- $tmp = explode('=', $str);
|
|
|
|
|
- $login = str_replace('\r\n', '', $tmp[1]);
|
|
|
|
|
- return array('Ret'=>0, 'Obj'=> array('Login' => $login));
|
|
|
|
|
- }else{
|
|
|
|
|
- return array('Ret'=>1, 'str'=>$str);
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
-}
|
|
|
|
|
|
|
+<?php
|
|
|
|
|
+namespace common\lib;
|
|
|
|
|
+
|
|
|
|
|
+use common\helpers\Utils;
|
|
|
|
|
+
|
|
|
|
|
+class Mt4Api {
|
|
|
|
|
+
|
|
|
|
|
+ protected $realip = '';
|
|
|
|
|
+
|
|
|
|
|
+ protected $port = '';
|
|
|
|
|
+
|
|
|
|
|
+ public function __construct($realip, $port)
|
|
|
|
|
+ {
|
|
|
|
|
+ $this->realip = $realip;
|
|
|
|
|
+ $this->port = $port;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ public function MQ_Query($query,$real = 0 ){
|
|
|
|
|
+ $ret='error';
|
|
|
|
|
+ //---- open socket
|
|
|
|
|
+ $ptr=@fsockopen($this->realip,$this->port,$errno,$errstr,5);
|
|
|
|
|
+ /*
|
|
|
|
|
+ if( $real ){
|
|
|
|
|
+ $ptr=@fsockopen($this->realip,$this->port,$errno,$errstr,5);
|
|
|
|
|
+ }else{
|
|
|
|
|
+ $ptr=@fsockopen($this->demoip,'443',$errno,$errstr,5);
|
|
|
|
|
+ }
|
|
|
|
|
+ */
|
|
|
|
|
+
|
|
|
|
|
+ //---- check connection
|
|
|
|
|
+ if($ptr){
|
|
|
|
|
+ //---- send request
|
|
|
|
|
+ if(fputs($ptr,"W$query\nQUIT\n")!=FALSE){
|
|
|
|
|
+ //---- clear default answer
|
|
|
|
|
+ $ret='';
|
|
|
|
|
+ //---- receive answer
|
|
|
|
|
+ while(!feof($ptr)) {
|
|
|
|
|
+ $line=fgets($ptr,128);
|
|
|
|
|
+ if($line=="end\r\n") break;
|
|
|
|
|
+ $ret.= $line;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ fclose($ptr);
|
|
|
|
|
+ }
|
|
|
|
|
+ //---- return answer
|
|
|
|
|
+ return $ret;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ public function addAccount($data, $real = 0){
|
|
|
|
|
+ //字段:
|
|
|
|
|
+ //INVESTOR STATUS ZIPCODE ID SEND_REPORTS PHONE_PASSWORD 属性不明
|
|
|
|
|
+ $data['MASTER'] = 'Helongpasswd';
|
|
|
|
|
+ $data['IP'] = isset($data['IP']) && trim($data['IP']) != '' ? trim($data['IP']) : Utils::getClientIp();
|
|
|
|
|
+ $data['GROUP'] = isset($data['GROUP']) ? trim($data['GROUP']) : '';
|
|
|
|
|
+ $data['NAME'] = isset($data['NAME']) ? trim($data['NAME']) : '';
|
|
|
|
|
+ $data['PASSWORD'] = isset($data['PASSWORD']) ? trim($data['PASSWORD']) : '';
|
|
|
|
|
+ $data['INVESTOR'] = isset($data['INVESTOR']) ? trim($data['INVESTOR']) : '';
|
|
|
|
|
+ $data['EMAIL'] = 'email';
|
|
|
|
|
+ $data['COUNTRY'] = 'hk';
|
|
|
|
|
+ $data['STATE'] = 'hk';
|
|
|
|
|
+ $data['CITY'] = 'hk';
|
|
|
|
|
+ $data['ADDRESS'] = 'hk';
|
|
|
|
|
+ $data['PHONE'] = '00000000';
|
|
|
|
|
+ $data['PHONE_PASSWORD'] = isset($data['PHONE_PASSWORD']) ? trim($data['PHONE_PASSWORD']) : '';
|
|
|
|
|
+ $data['STATUS'] = '';
|
|
|
|
|
+ $data['ZIPCODE'] = isset($data['ZIPCODE']) ? trim($data['ZIPCODE']) : '';
|
|
|
|
|
+ $data['ID'] = isset($data['ID']) ? trim($data['ID']) : '';
|
|
|
|
|
+ $data['LEVERAGE'] = isset($data['LEVERAGE']) ? trim($data['LEVERAGE']) : '';
|
|
|
|
|
+ $data['AGENT'] = 0;
|
|
|
|
|
+ $data['SEND_REPORTS'] = 1;
|
|
|
|
|
+ $data['DEPOSIT'] = '';
|
|
|
|
|
+ $data['COMMENT'] = '';
|
|
|
|
|
+ $data['LOGIN'] = isset($data['LOGIN']) ? $data['LOGIN'] : '';
|
|
|
|
|
+
|
|
|
|
|
+ // iconv('GB2312', 'UTF-8', $str);
|
|
|
|
|
+ //iconv('GB2312', 'UTF-8', $str);
|
|
|
|
|
+
|
|
|
|
|
+ $data['NAME'] = iconv("utf-8", "gbk", $data['NAME']);
|
|
|
|
|
+
|
|
|
|
|
+ /*
|
|
|
|
|
+ $query = 'NEWACCOUNT MASTER='.$data['MASTER'].'|IP='.$data['IP'].'|GROUP='.$data['GROUP'].'|NAME='.$data['NAME'].'|PASSWORD='.$data['PASSWORD'].
|
|
|
|
|
+ '|INVESTOR='.$data['INVESTOR'] .'|EMAIL=email|COUNTRY=hk|STATE=hk|CITY=hk|ADDRESS=hk|COMMENT='.$data['COMMENT'].'|PHONE=000000000|PHONE_PASSWORD='.$data['PHONE_PASSWORD'].'|STATUS=resident|ZIPCODE=000000|ID=10|LEVERAGE='.$data['LEVERAGE'].'|AGENT=0'.
|
|
|
|
|
+ '|SEND_REPORTS=1|DEPOSIT=0';
|
|
|
|
|
+ */
|
|
|
|
|
+
|
|
|
|
|
+ //--- prepare query
|
|
|
|
|
+
|
|
|
|
|
+ $query="NEWACCOUNT MASTER={$data['MASTER']}|IP={$data['IP']}|GROUP={$data['GROUP']}|NAME={$data['NAME']}|".
|
|
|
|
|
+ "PASSWORD={$data['PASSWORD']}|INVESTOR={$data['INVESTOR']}|EMAIL={$data['EMAIL']}|COUNTRY={$data['COUNTRY']}|".
|
|
|
|
|
+ "STATE={$data['STATE']}|CITY={$data['CITY']}|ADDRESS={$data['ADDRESS']}|COMMENT={$data['COMMENT']}|".
|
|
|
|
|
+ "PHONE={$data['PHONE']}|PHONE_PASSWORD={$data['PHONE_PASSWORD']}|STATUS={$data['STATUS']}|ZIPCODE={$data['ZIPCODE']}|".
|
|
|
|
|
+ "ID={$data['ID']}|LEVERAGE={$data['LEVERAGE']}|AGENT={$data['AGENT']}|SEND_REPORTS={$data['SEND_REPORTS']}|".
|
|
|
|
|
+ "DEPOSIT={$data['DEPOSIT']}";
|
|
|
|
|
+
|
|
|
|
|
+ //--- send request
|
|
|
|
|
+
|
|
|
|
|
+ //echo $query;die;
|
|
|
|
|
+
|
|
|
|
|
+ $ret = $this->MQ_Query($query, $real);
|
|
|
|
|
+
|
|
|
|
|
+ $info = $this->qgstr($ret);
|
|
|
|
|
+ return $info;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ //处理api返回的信息 如: OK LOGIN=50010 or ERROR IP is blocked. Please wait 60 secs and try again.
|
|
|
|
|
+
|
|
|
|
|
+ protected function qgstr($str)
|
|
|
|
|
+ {
|
|
|
|
|
+ if( strstr($str, 'OK')){
|
|
|
|
|
+ $tmp = explode('=', $str);
|
|
|
|
|
+ $login = str_replace('\r\n', '', $tmp[1]);
|
|
|
|
|
+ return array('Ret'=>0, 'Obj'=> array('Login' => $login));
|
|
|
|
|
+ }else{
|
|
|
|
|
+ return array('Ret'=>1, 'str'=>$str);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+}
|