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); } } }