コード例 #1
0
 function set_chart_details($id, $code_chart, $description, $chart_type)
 {
     log_debug("accounts_charts_manage", "Executing set_chart_details({$id}, values...)");
     if (user_permissions_get("accounts_charts_write")) {
         $obj_chart = new chart();
         /*
         	Load SOAP Data
         */
         $obj_chart->id = @security_script_input_predefined("int", $id);
         $obj_chart->data["code_chart"] = @security_script_input_predefined("int", $code_chart);
         $obj_chart->data["description"] = @security_script_input_predefined("any", $description);
         $obj_chart->data["chart_type"] = @security_script_input_predefined("int", $chart_type);
         foreach (array_keys($obj_chart->data) as $key) {
             if ($obj_chart->data[$key] == "error") {
                 throw new SoapFault("Sender", "INVALID_INPUT");
             }
         }
         /*
         	Error Handling
         */
         // verify chart ID (if editing an existing chart)
         if ($obj_chart->id) {
             if (!$obj_chart->verify_id()) {
                 throw new SoapFault("Sender", "INVALID_ID");
             }
         }
         // make sure we don't choose a chart code that has already been taken
         if (!$obj_chart->verify_code_chart()) {
             throw new SoapFault("Sender", "DUPLICATE_CODE_CHART");
         }
         /*
         	Perform Changes
         */
         if ($obj_chart->action_update_details()) {
             return $obj_chart->id;
         } else {
             throw new SoapFault("Sender", "UNEXPECTED_ACTION_ERROR");
         }
     } else {
         throw new SoapFault("Sender", "ACCESS DENIED");
     }
 }