<function name="rpcf_add_user" id="0x2005"> <input> <integer name="user_id" default="0"/> <string name="login"/> <string name="password"/> <string name="full_name" default=""/> <if variable="user_id" value="0" condition="eq"> <integer name="unused" default="0"/> </if> <integer name="is_juridical" default="0"/> <string name="jur_address" default=""/> <string name="act_address" default=""/> <string name="flat_number" default=""/> <string name="entrance" default=""/> <string name="floor" default=""/> <string name="district" default=""/> <string name="building" default=""/> <string name="passport" default=""/> <integer name="house_id" default="0"/> <string name="work_tel" default=""/> <string name="home_tel" default=""/> <string name="mob_tel" default=""/> <string name="web_page" default=""/> <string name="icq_number" default=""/> <string name="tax_number" default=""/> <string name="kpp_number" default=""/> <string name="email" default=""/> <integer name="bank_id" default="0"/> <string name="bank_account" default=""/> <string name="comments" default=""/> <string name="personal_manager" default=""/> <integer name="connect_date" default="0"/> <integer name="is_send_invoice" default="0"/> <integer name="advance_payment" default="0"/> <integer name="parameters_count" default="size(parameter_value)"/> <for name="i" from="0" count="size(parameter_value)"> <integer name="parameter_id" array_index="i"/> <string name="parameter_value" array_index="i"/> </for> </input> <output> <integer name="user_id"/> <string name="error_msg"/> <if variable="user_id" value="0" condition="eq"> <error code="10" comment="unable to add or edit user"/> </if> <if variable="user_id" value="-1" condition="eq"> <error code="10" comment="unable to add user, probably login exists"/> </if> </output> </function>
function rpcf_add_user($user,$parameters) { //0x2005 $ret=array(); if (!$this->connection->urfa_call(0x2005)) { print "Error calling function ". __FUNCTION__ ."\n"; return FALSE; } $packet = $this->connection->getPacket(); $packet->DataSetInt($user['user_id']); $packet->DataSetString($user['login']); $packet->DataSetString($user['password']); $packet->DataSetstring($user['full_name']); if ($user['user_id'] == 0){ $unused = 0; $packet->DataSetInt($unused); } $packet->DataSetInt($user['is_juridical']); $packet->DataSetString($user['jur_address']); $packet->DataSetString($user['act_address']); $packet->DataSetString($user['flat_number']); $packet->DataSetString($user['entrance']); $packet->DataSetString($user['floor']); $packet->DataSetString($user['district']); $packet->DataSetString($user['building']); $packet->DataSetString($user['passport']); $packet->DataSetInt($user['house_id']); $packet->DataSetString($user['work_tel']); $packet->DataSetString($user['home_tel']); $packet->DataSetString($user['mob_tel']); $packet->DataSetString($user['web_page']); $packet->DataSetString($user['icq_number']); $packet->DataSetString($user['tax_number']); $packet->DataSetString($user['kpp_number']); $packet->DataSetString($user['email']); $packet->DataSetInt($user['bank_id']); $packet->DataSetString($user['bank_account']); $packet->DataSetString($user['comments']); $packet->DataSetString($user['personal_manager']); $packet->DataSetInt($user['connect_date']); $packet->DataSetInt($user['is_send_invoice']); $packet->DataSetInt($user['advance_payment']); $packet->DataSetInt(count($parameters)); foreach ($parameters as $array_item){ $packet->DataSetInt($array_item['id']); $packet->DataSetString($array_item['value']); } $this->connection->urfa_send_param($packet); $ret['user_id']=0; if($x = $this->connection->urfa_get_data()){ $z_user_id = $x->DataGetInt(); $error_msg = $x->DataGetString(); $ret['user_id']=$z_user_id; $ret['error_msg']=$error_msg; // $x = $this->connection->urfa_get_data(); } return $ret; }