3 class mw_data_auto_crud extends mw_data{
5 public function call_data_auto_crud($method_name, $arguments){
10 $IS_XML = $env->bdd("sgbd") == "xml";
11 $table_exists_function = $IS_XML ? "data_exists" : "table_exists";
13 // desc_<table_name>()
15 (substr($method_name, 0, 5) == "desc_")
16 && ($table_name = substr($method_name, 5))
17 && ($sgbd->$table_exists_function(($IS_XML ? "" : "#--").$table_name))
19 $r = $this->data_desc(
21 "table_name" => $table_name
25 // add_<table_name>(array $values)
27 (substr($method_name, 0, 4) == "add_")
28 && ($table_name = substr($method_name, 4))
29 && ($sgbd->$table_exists_function(($IS_XML ? "" : "#--").$table_name))
31 $r = $this->data_insert(
33 "table_name" => $table_name,
34 "values" => $arguments[0]
38 // get_<table_name>(string $index_name, string $index_value)
40 (substr($method_name, 0, 4) == "get_")
41 && ($table_name = substr($method_name, 4))
42 && ($sgbd->$table_exists_function(($IS_XML ? "" : "#--").$table_name))
44 $r = $this->data_read(
46 "table_name" => $table_name,
47 "index_name" => $arguments[0],
48 "index_value" => $arguments[1]
52 // list_<table_name>(array $params)
54 (substr($method_name, 0, 5) == "list_")
55 && ($table_name = substr($method_name, 5))
56 && ($sgbd->$table_exists_function(($IS_XML ? "" : "#--").$table_name))
58 $params = $arguments[0];
59 $params["table_name"] = $table_name;
60 $r = $this->data_list($params);
62 // set_<table_name>(string index_name, string index_value, array $values)
64 (substr($method_name, 0, 4) == "set_")
65 && ($table_name = substr($method_name, 4))
66 && ($sgbd->$table_exists_function(($IS_XML ? "" : "#--").$table_name))
68 $r = $this->data_update(
70 "table_name" => $table_name,
71 "index_name" => $arguments[0],
72 "index_value" => $arguments[1],
73 "values" => $arguments[2]
77 // del_<table_name>(string $index_name, string $index_value)
79 (substr($method_name, 0, 4) == "del_")
80 && ($table_name = substr($method_name, 4))
81 && ($sgbd->$table_exists_function(($IS_XML ? "" : "#--").$table_name))
83 $r = $this->data_delete(
85 "table_name" => $table_name,
86 "index_name" => $arguments[0],
87 "index_value" => $arguments[1]