$field) { if (substr($field["inout"], -3) == "OUT") { $out[$i] = "@" . idf_escape($field["field"]) . " AS " . idf_escape($field["field"]); } if (!$field["inout"] || substr($field["inout"], 0, 2) == "IN") { $in[] = $i; } } if (!$error && $_POST) { $call = array(); foreach ($routine["fields"] as $key => $field) { if (in_array($key, $in)) { $val = process_input($field); if ($val === false) { $val = "''"; } if (isset($out[$key])) { $connection->query("SET @" . idf_escape($field["field"]) . " = $val"); } } $call[] = (isset($out[$key]) ? "@" . idf_escape($field["field"]) : $val); } $query = (isset($_GET["callf"]) ? "SELECT" : "CALL") . " " . idf_escape($PROCEDURE) . "(" . implode(", ", $call) . ")"; echo "

" . h($query) . " " . lang('Edit') . "\n"; if (!$connection->multi_query($query)) { echo "

" . error() . "\n"; } else { do { $result = $connection->store_result(); if (is_object($result)) { select($result); } else { echo "

" . lang('Routine has been called, %d row(s) affected.', $connection->affected_rows) . "\n"; } } while ($connection->next_result()); if ($out) { select($connection->query("SELECT " . implode(", ", $out))); } } } ?>

\n"; foreach ($in as $key) { $field = $routine["fields"][$key]; $name = $field["field"]; echo "" . $adminer->fieldName($field); $value = $_POST["fields"][$name]; if ($value != "" && ereg("enum|set", $field["type"])) { $value = intval($value); } input($field, $value, (string) $_POST["function"][$name]); // param name can be empty echo "\n"; } echo "\n"; } ?>