realip,'443',$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'] = 'password'; $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'] = isset($data['EMAIL']) ? trim($data['EMAIL']) : ''; $data['COUNTRY'] = isset($data['COUNTRY']) ? trim($data['COUNTRY']) : 'China'; $data['STATE'] = isset($data['STATE']) ? trim($data['STATE']) : ''; $data['CITY'] = isset($data['CITY']) ? trim($data['CITY']) : ''; $data['ADDRESS'] = isset($data['ADDRESS']) ? trim($data['ADDRESS']) : ''; $data['PHONE'] = isset($data['PHONE']) ? trim($data['PHONE']) : ''; $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'] = ''; if ($real == 1) { $data['COMMENT'] = 'XCBVARSTDUSD'; $data['LOGIN'] = isset($data['LOGIN']) ? $data['LOGIN'] : ''; } else { $data['GROUP'] = 1; $data['COMMENT'] = 'demoforex'; $data['LEVERAGE'] = 100; $data['DEPOSIT'] = 100000; $data['LOGIN'] = ''; } /* $query = 'NEWACCOUNT MASTER=password|IP='.$ip.'|GROUP='.$data['accounttype'].'|NAME='.$data['username'].'|PASSWORD='.$data['password']. '|INVESTOR=|EMAIL='.$data['email'].'|COUNTRY=hk|STATE=hk|CITY=hk|ADDRESS=hk|COMMENT='.$comment.'|PHONE='.$data['phone']. '|PHONE_PASSWORD=|STATUS=resident|ZIPCODE=000000|ID=10|LEVERAGE='.$leverage.'|AGENT='.$data['agent']. '|SEND_REPORTS=1|DEPOSIT='.$deposit; 2016-5-24 7:30修改*/ //$data['username'] = iconv("utf-8", "gbk", $data['username']); /* $query = 'NEWACCOUNT MASTER=password|IP='.$data['ip'].'|GROUP='.$group.'|NAME='.$data['username'].'|PASSWORD='.$data['password']. '|INVESTOR='.$data['investor'].'|EMAIL='.$data['email'].'|COUNTRY=hk|STATE=hk|CITY=hk|ADDRESS=hk|COMMENT='.$comment.'|PHONE=15814419156 |PHONE_PASSWORD='.$data['phone_password'].'|STATUS=resident|ZIPCODE=000000|ID=10|LEVERAGE='.$leverage.'|AGENT=1|SEND_REPORTS=1|DEPOSIT='.$deposit; */ /* $data['username'] = iconv("utf-8", "gbk", $data['username']); $query = 'NEWACCOUNT MASTER=xcoq123|IP='.$data['ip'].'|GROUP=1|NAME='.$data['username'].'|PASSWORD='.$data['password']. '|INVESTOR=|EMAIL=email|COUNTRY=China|STATE=hk|CITY=hk|ADDRESS=hk|COMMENT='.$comment.'|PHONE=+8613659856084 |PHONE_PASSWORD=|STATUS=resident|ZIPCODE=123|ID=10|LEVERAGE='.$leverage.'|AGENT=123|SEND_REPORTS=1|DEPOSIT='.$deposit; echo $query; echo '
'; echo '
'; */ $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']}|LOGIN={$data['LOGIN']}"; //--- 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); } } }