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