dc608526bf13212fe25a93f6346fe157c7998e08
[infodrom.org/service.infodrom.org] / src / InfoCon / account / update.wml
1 #include <infocon.style>
2 #include <phptools.inc>
3 #include "account.inc"
4
5 <page func=InfoCon title="Kontoführung">
6
7 <?
8   if ($_POST[formtype] == "admin" || $_POST[formtype] == "newaccount")
9     $ktoname = "Administration";
10 ?>
11
12 <account_heading>
13
14 <sql_prepare>
15 <form_to_yyyymmdd>
16
17 <?
18   if ($_POST[formtype] == "admin") {
19     $query = "SELECT blz_kto,name,display FROM account_names ORDER BY name";
20     $sth = pg_exec ($dbh, $query);
21
22     for ($nr=0; $nr < pg_NumRows ($sth); $nr++) {
23       $row = pg_fetch_array ($sth, $nr);
24
25       if ($_POST['name_' . $row['blz_kto']] != $row['name'] ||
26           ($_POST['display_' . $row['blz_kto']] ? 1 : 0) != $row['display']) {
27         $query = sprintf ("UPDATE account_names SET name='%s',display=%d,sys_user='%s',sys_edit=now() WHERE blz_kto = '%s'",
28                           $_POST['name_' . $row['blz_kto']],
29                           $_POST['display_' . $row['blz_kto']] ? 1 : 0,
30                           $_SERVER['REMOTE_USER'],
31                           $row['blz_kto']);
32
33         pg_exec ($dbh, $query);
34         $output = "Kontoinformationen aktualisiert.";      
35       }
36     }
37   } elseif ($_POST[formtype] == "newaccount") {
38     if (isset($_POST['blz']) && isset($_POST['kto']) && isset($_POST['name'])) {
39       $query = sprintf ("INSERT INTO account_names (blz_kto,name,display,sys_user,sys_edit) ".
40                         "VALUES ('%s:%s','%s',1,'%s',now())",
41                         $_POST['blz'],
42                         $_POST['kto'],
43                         $_POST['name'],
44                         $_SERVER['REMOTE_USER']);
45       pg_exec ($dbh, $query);
46
47       $query = sprintf ("INSERT INTO account (blz_kto,statement,datum,from_to,descr,category,value_eur,sys_user,sys_edit) ".
48                         "VALUES ('%s:%s','%s','%s','Account Administration','Initial Zero Statement','Miscellaneous',0.0,'%s',now())",
49                         $_POST['blz'],
50                         $_POST['kto'],
51                         date("Y") . "/00",
52                         date("Y-m-j"),
53                         $_SERVER['REMOTE_USER']);
54       pg_exec ($dbh, $query);
55
56       $output = "Neues Konto erstellt.";
57     } else {
58       $output = "Nicht ausreichend Informationen gegeben.";
59     }
60     exit (0);
61   } else {
62     $table = "account";
63     $field = "value_eur";
64     if ((strlen ($_POST[currency]) > 0) && ($_POST[currency] == "dm")) {
65       $table = "account_dm";
66       $field = "value_dm";
67     }
68
69     if (strlen ($_POST[category]) == 0 && strlen ($_POST[newcategory]) > 0) {
70       $category = $_POST[newcategory];
71     } else {
72       $category = $_POST[category];
73     }
74     if (strlen ($_POST[from_to]) == 0 && strlen ($_POST[newfrom_to]) > 0) {
75       $from_to = $_POST[newfrom_to];
76     } else {
77       $from_to = $_POST[from_to];
78     }
79     $statement = sql_prepare ($_POST[statement]);
80     $category = sql_prepare ($category);
81     $descr = sql_prepare (trim($_POST[descr]));
82     $from_to = sql_prepare ($from_to);
83
84     $date = form_to_yyyymmdd ($_POST[datum]);
85
86     $value = ereg_replace (",",".", $_POST[value]);
87
88     if (isset($_POST[id]) && $_POST[id] > 0 && strlen ($_POST[delete])) {
89       $query = sprintf("DELETE FROM %s WHERE id = %d", $table, $_POST[id]);
90       $output = "Posten gelöscht.";
91     } elseif (isset($_POST[id]) && $_POST[id] > 0) {
92       $query = sprintf("UPDATE %s SET datum='%s',statement='%s',from_to='%s',descr='%s',category='%s',%s=%s,sys_user='%s',sys_edit=now() " .
93                        "WHERE id = %d",
94                        $table,
95                        $date,
96                        $statement,
97                        $from_to,
98                        $descr,
99                        $category,
100                        $field,$value,
101                        $_SERVER['REMOTE_USER'],
102                        $_POST['id']);
103         $output = "Posten aktualisiert.";
104     } else {
105       $query = sprintf("INSERT INTO %s (blz_kto,datum,statement,from_to,descr,category,%s,sys_user,sys_edit) ".
106                        "VALUES ('%s','%s','%s','%s','%s','%s',%s,'%s',now())",
107                        $table, $field,
108                        $_POST['blzkto'],
109                        $date,
110                        $statement,
111                        $from_to,
112                        $descr,
113                        $category,
114                        $value,
115                        $_SERVER['REMOTE_USER']);
116       $output = "Neuen Posten aufgenommen.";
117       $output .= sprintf('</p><p><a href="edit.php?blzkto=%s">Weiteren Posten aufnehmen</a>', $_POST['blzkto']);
118     }
119     $sth = pg_exec ($dbh, $query) or die("Datenbank-Abfrage!");
120   }
121
122   echo ("<p>".$output."</p>");
123 ?>
124
125 </page>
126
127 # Local variables:
128 # mode: php
129 # mode: auto-fill
130 # end: