From: Ole B. Rosentreter Date: Sun, 13 Oct 2024 19:26:08 +0000 (+0200) Subject: DB-Lib erweitert X-Git-Url: https://git.laktatnebel.de/?a=commitdiff_plain;ds=inline;p=domainverwaltung.git DB-Lib erweitert --- diff --git a/domainverwaltung-web/web/lib/database_functions.php b/domainverwaltung-web/web/lib/database_functions.php index 224b1c5..d5c0b99 100644 --- a/domainverwaltung-web/web/lib/database_functions.php +++ b/domainverwaltung-web/web/lib/database_functions.php @@ -2,6 +2,8 @@ if (DB_TYPE == "mysql") { require ("db/database_functions_mysql.php"); +} elseif (DB_TYPE == "pgsql") { + require ("db/database_functions_pgsql.php"); } require ("db/database_functions_insert.php"); @@ -9,4 +11,117 @@ require ("db/database_functions_select.php"); require ("db/database_functions_update.php"); require ("db/database_functions_delete.php"); +$selectFromViewTodoShortOverview = "SELECT * FROM ticket.view_todo_short_overview;"; + +$selectFromDtStatus = "SELECT * FROM ticket.dt_status;"; + +$selectFromDtUser = "SELECT * FROM ticket.dt_user;"; + +$selectFromDtUserWithNames = "SELECT id, name_user FROM ticket.dt_user;"; + +$selectFromDtProject = "SELECT * FROM ticket.dt_project;"; + +$selectFromDtDomain = "SELECT * FROM ticket.dt_domain;"; + +/** + * @param connect_dbms_handle + * @param id + */ +function getProjectNameOfIssue($connect_dbms_handle, $id) { + + $project = ""; + + $fk_project = getData($connect_dbms_handle, generateSelect(array("fk_project"), "ticket.dt_issue", array("id=".$id), null)); + if ($fk_project[0][0] != null ) { + $project_arr = getData($connect_dbms_handle, generateSelect(array("name_project"), "ticket.dt_project", array("id=".$fk_project[0][0]), null)); + $project = $project_arr[0][0]; + } + return $project; +} + +/** + * @param connect_dbms_handle + * @param id + */ +function getDomainIdOfIssue($connect_dbms_handle, $id) { + + $fk_domain = getData($connect_dbms_handle, generateSelect(array("fk_domain"), "ticket.dt_issue", array("id=".$id), null)); + if ($fk_domain[0][0] == null ) { + return 0; + } + return $fk_domain[0][0]; +} + +/** + * @param connect_dbms_handle + * @param id + */ +function getProjectIdOfIssue($connect_dbms_handle, $id) { + + $fk_project = getData($connect_dbms_handle, generateSelect(array("fk_project"), "ticket.dt_issue", array("id=".$id), null)); + if ($fk_project[0][0] == null ) { + return 0; + } + return $fk_project[0][0]; +} + +/** + * @param connect_dbms_handle + * @param id + */ +function getIssueOfProject($connect_dbms_handle, $project) { + + $where_clause = ""; + + $issue_ids = getData($connect_dbms_handle, generateSelect(array("id"), "ticket.dt_issue", array("fk_project=".$project), null)); + if ($issue_ids[0][0] == null ) { + return 0; + } else { + //var_dump($issue_ids); + foreach ($issue_ids as $issue_id) { + $where_clause .= $issue_id[0].", "; + } + $where_clause = "id in (".substr($where_clause, 0, strlen($where_clause)-2).")"; + $issues = getData($connect_dbms_handle, generateSelect(array("*"), "ticket.view_todo_short_overview", array($where_clause), null)); + + } + return $issues; +} + +/** + * @param connect_dbms_handle + * @param id + */ +function getIssueOfDomain($connect_dbms_handle, $domain) { + + $where_clause = ""; + + $issue_ids = getData($connect_dbms_handle, generateSelect(array("id"), "ticket.dt_issue", array("fk_domain=".$domain), null)); + if ($issue_ids[0][0] == null ) { + return 0; + } else { + //var_dump($issue_ids); + foreach ($issue_ids as $issue_id) { + $where_clause .= $issue_id[0].", "; + } + $where_clause = "id in (".substr($where_clause, 0, strlen($where_clause)-2).")"; + $issues = getData($connect_dbms_handle, generateSelect(array("*"), "ticket.view_todo_short_overview", array($where_clause), null)); + + } + return $issues; +} + +/** + * @param connect_dbms_handle + * @param id + */ +function getAssigneeIdOfIssue($connect_dbms_handle, $id) { + + $fk_project = getData($connect_dbms_handle, generateSelect(array("fk_assignee"), "ticket.dt_issue", array("id=".$id), null)); + if ($fk_project[0][0] == null ) { + return 0; + } + return $fk_project[0][0]; +} + ?> \ No newline at end of file diff --git a/domainverwaltung-web/web/lib/db/database_functions_insert.php b/domainverwaltung-web/web/lib/db/database_functions_insert.php index 4e90056..2dd4fa1 100644 --- a/domainverwaltung-web/web/lib/db/database_functions_insert.php +++ b/domainverwaltung-web/web/lib/db/database_functions_insert.php @@ -2,20 +2,37 @@ function generateInsertSchema($schema, $table, $values) { - $insert_str = "INSERT INTO ".$schema.".".$table." VALUES ("; - - //print_r($values); - $anzValues = count($values); - for ($i = 0 ; $i < $anzValues; $i++) { - $insert_str .= $values[$i]; - if ($i < $anzValues-1) { - $insert_str .= ", "; - } - } + $insert_str = "INSERT INTO ".$schema.".".$table." VALUES ("; + + //print_r($values); + $anzValues = count($values); + for ($i = 0 ; $i < $anzValues; $i++) { + $insert_str .= $values[$i]; + if ($i < ($anzValues-1)) { + $insert_str .= ", "; + } + } + + $insert_str .= ");"; + //echo debugPrint($insert_str); + return $insert_str; +} - $insert_str .= ");"; - //echo debugPrint($insert_str); - return $insert_str; +function generateInsertSchemaReturn($schema, $table, $values, $return) { + $insert_str = "INSERT INTO ".$schema.".".$table." VALUES ("; + + //print_r($values); + $anzValues = count($values); + for ($i = 0 ; $i < $anzValues; $i++) { + $insert_str .= $values[$i]; + if ($i < ($anzValues-1)) { + $insert_str .= ", "; + } + } + + $insert_str .= ") ".$return.";"; + //echo debugPrint($insert_str); + return $insert_str; } function generateInsert($table, $values) { diff --git a/domainverwaltung-web/web/lib/db/database_functions_pgsql.php b/domainverwaltung-web/web/lib/db/database_functions_pgsql.php index 7eb2a35..9d584c7 100644 --- a/domainverwaltung-web/web/lib/db/database_functions_pgsql.php +++ b/domainverwaltung-web/web/lib/db/database_functions_pgsql.php @@ -4,9 +4,9 @@ * Mit PostgresSQL verbinden */ function getDBConnection() { - $str_connection = "host=".HOST." db=".DB." user=".USER." pass=".PASS; + $str_connection = "host=".HOST." port=5432 dbname=".DB." user=".USER." password=".PASS." "; // mit DB verbinden - $connect_dbms_handle = @pg_connect($str_connection) or die('Verbindungsaufbau fehlgeschlagen: '); + $connect_dbms_handle = @pg_connect($str_connection) or die('Verbindungsaufbau fehlgeschlagen: ' . pg_last_error()); if ($connect_dbms_handle) { return $connect_dbms_handle; @@ -56,10 +56,10 @@ function getData ($dbms_connection, $db_query) { // DB Abfage starten //echo $db_query; - $res_sql_result = pg_query ($db_query, $dbms_connection); + $res_sql_result = pg_query ($dbms_connection, $db_query); // Gültigkeit der DB Abfage testen if ($res_sql_result) { - //echo "
  • ".$res_sql_result; + //echo "

    ".$res_sql_result."

    "; while ($arr_sql_data = pg_fetch_row($res_sql_result)) { //echo debugPrint($arr_sql_data); array_push ($return_arr_data, $arr_sql_data); diff --git a/domainverwaltung-web/web/lib/db/database_functions_select.php b/domainverwaltung-web/web/lib/db/database_functions_select.php index d118a5c..2f65c46 100644 --- a/domainverwaltung-web/web/lib/db/database_functions_select.php +++ b/domainverwaltung-web/web/lib/db/database_functions_select.php @@ -1,19 +1,46 @@ \ No newline at end of file diff --git a/domainverwaltung-web/web/lib/gui/gui_functions_button.php b/domainverwaltung-web/web/lib/gui/gui_functions_button.php index 383c18d..20ae213 100644 --- a/domainverwaltung-web/web/lib/gui/gui_functions_button.php +++ b/domainverwaltung-web/web/lib/gui/gui_functions_button.php @@ -34,12 +34,14 @@ function makeButton($ref_button_name, $ref_value_button, $ref_html_button, $ref_ echo "\n"; } + $str_id = $ref_id == null ? " " : " id=\"".$ref_id."\" "; $str_class = $ref_class == null ? " " : " class=\"".$ref_class."\" "; + $str_tabindex = $ref_tabindex == null ? " " : " tabindex=\"".$ref_tabindex."\" "; $str_javascript = $ref_javascript == null ? " " : " onchange=\"".$ref_javascript."\" "; echo $intend."\t"; - echo "