рд╢реБрдн рджреЛрдкрд╣рд░, рдкреНрд░рд┐рдп рд╣рдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВред
рд▓реИрдирдмрд┐рд▓рд┐рдВрдЧ рдФрд░ рдЖрд░рдЯреАрдпреВ рдореЗрдВ рдЦрд╛рддреЗ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдХрд╛рд░реНрдп рдерд╛ред
рдореИрдВ рдЖрдкрдХреЗ рд╕рд╛рде рдПрдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╡рд┐рдХрд▓реНрдк рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред
рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛
рд▓рдирдмрд┐рд▓рд┐рдВрдЧ v.1.8
рдЖрд░рдЯреАрдпреВ рдХрдХреНрд╖рд╛ 4 рдФрд░ 5
php 5.3
mysql 5.0.51a-24 + lenn5
рдХреНрд░реЙрди
рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди
LanBilling рдЦрд╛рддрд╛ рд╕реНрдерд┐рддрд┐ рдбреЗрдЯрд╛ vgroups рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИред
рддрд╛рд▓рд┐рдХрд╛ рдлрд╝реАрд▓реНрдб:
рдЕрд╡рд░реБрджреНрдз -
рдЕрд╡рд░реБрджреНрдз рд╕реНрдерд┐рддрд┐ (0 - рдЦреБрд▓рд╛,> 0 - рдЕрд╡рд░реБрджреНрдз)
blk_req - рдЕрд╡рд░реБрджреНрдз рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдз рдХреА рд╕реНрдерд┐рддрд┐ (! =! рдФрд░! = рдЕрд╡рд░реБрджреНрдз - рдмреНрд▓реЙрдХ
; = 0 рдФрд░ = рдЕрд╡рд░реБрджреНрдз - рдмрдВрдж рдХрд░реЗрдВ)
рдХреНрд░реЛрди рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рд╣рдо рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЕрдВрддрд░рд╛рд▓ рдХреЗ рд╕рд╛рде php рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдирд┐рд╖реНрдкрд╛рджрди рдХреЛ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рдЬреЛ рдХреНрд╖реЗрддреНрд░ рдХреА рд╕реНрдерд┐рддрд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдЧрд╛
LanBilling рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ blk_req, рдорд╛рдирдХ RTU рд╕реНрдХреНрд░рд┐рдкреНрдЯ (set.aspx рдпрд╛ get.aspx) рдореЗрдВ рд╕реЗ рдПрдХ рдХреЛ рд╕рд╛рдмреБрди рдХрдорд╛рдВрдб рднреЗрдЬреЗрдВ рдФрд░, рдпрджрд┐ рд╕рд╣реА рд╣реИ, рддреЛ
рдЕрд╡рд░реБрджреНрдз рдФрд░
blk_req рдлрд╝реАрд▓реНрдб рдХреЗ рдорд╛рди рдмрджрд▓реЗрдВ
рд╕рд╛рдмреБрди рдЕрдиреБрд░реЛрдз рднреЗрдЬрдиреЗ рдХрд╛ рдХрд╛рд░реНрдп
function xmlHttpsReq($xml,$type){ $ch = curl_init('https://IP_:/mobile_request/'.$type.'.aspx?admin'); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); curl_setopt($ch, CURLOPT_POST,1); curl_setopt($ch, CURLOPT_POSTFIELDS, $xml); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); $data=curl_exec($ch); $result=substr($data,0,strpos($data,'</Root>')+7); if( curl_errno($ch) != 0 ) { die('CURL_error: ' . curl_errno($ch) . ', ' . curl_error($ch)); }; curl_close($ch); return $result; }
рд╕рднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░реНрдп
function getUserList() { $data=xmlHttpsReq('<commands><command name="Get" table="User" /></commands>','get'); $xml = new SimpleXMLElement($data); foreach ($xml->command->user as $user) { $usr[]=$user; } return $usr; }
рд▓реЙрдЧрд┐рди рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░реНрдп
function getUser($ID) { $data=xmlHttpsReq('<commands><command name="Get" table="User"><item><id>'.$ID.'</id></item></command></commands>','get'); $xml = new SimpleXMLElement($data); return $xml->command->user; }
рдЦрд╛рддрд╛ рдкреИрд░рд╛рдореАрдЯрд░ рд╕реЗрдЯ рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░реНрдп
function setUser($arr) { $converter = new Array2XML(); $obj = $converter->convert($arr); $data=xmlHttpsReq('<commands><command name="Edit" table="User">'.$obj.'</command></commands>','set'); $xml = new SimpleXMLElement($data); return $xml->command->item->result; }
рд╕рд░рдгреА рдХреЛ xml рдореЗрдВ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдХреНрд╖рд╛
class Array2XML { private $writer; private $rootName = 'item'; function __construct() { $this->writer = new XMLWriter(); } public function convert($data) { $this->writer->openMemory(); $this->writer->startElement($this->rootName); if (is_array($data)) { $this->getXML($data); } $this->writer->endElement(); return $this->writer->outputMemory(); } public function setVersion($version) { $this->version = $version; } public function setEncoding($encoding) { $this->encoding = $encoding; } public function setRootName($rootName) { $this->rootName = $rootName; } private function getXML($data) { foreach ($data as $key => $val) { if (is_numeric($key)) { $key = 'key'.$key; } if (is_array($val)) { $this->writer->startElement($key); $this->getXML($val); $this->writer->endElement(); } else { $this->writer->writeElement($key, $val); } } } }
рдЦрд╛рддрд╛ рд╕реЗрдЯрд┐рдВрдЧ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рд▓реЙрдЧрд┐рди рдФрд░ GUID рдХреЛ рдЬрд╛рдирдирд╛ рд╣реЛрдЧрд╛ред
рд╡рд░реНрддрдорд╛рди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ, RTU API рдЖрдкрдХреЛ рд▓реЙрдЧрд┐рди (
рдЧреЗрдЯрдЕрдк рдлрд╝рдВрдХреНрд╢рди) рджреНрд╡рд╛рд░рд╛ рдЦрд╛рддреЗ рдХрд╛ GUID рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП
GUU рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП
getUserList рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди
mysql_connect(HOST,USERNAME,PASSWORD); mysql_select_db(DBNAME);
рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИред