| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106 |
- <?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'] = 'pwdhandz';
- $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'] : '';
- $data['NAME'] = iconv("utf-8", "gbk", $data['NAME']);
- //--- 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
- $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);
- }
- }
- }
|