index.php

Go to the documentation of this file.
00001 <?php
00002 
00003 // This file is part of the web-based "Application Form for New Users" 
00004 // of University Library Braunschweig, Germany
00005 //
00006 // Copyright (C) 2004 University Library Braunschweig, Germany
00007 
00031 
00032 require_once('config.php');
00033 require_once('../util.php');
00034 require_once('../text.php');
00035 require_once('../fields.php');
00036 
00037 session_start();
00038 
00039 // select language
00040 
00041 $lang = (isset($_GET['lang'])) ? $_GET['lang'] : $lang_default;
00042 
00043 if (!isset($text_multi[$lang]))
00044         $l = $lang_default;
00045 
00046 $text    = $text_multi[$lang];
00047 $buttons = $buttons_multi[$lang];
00048 $months =  $months_multi[$lang];
00049 
00050 
00056 
00057 $valid_params = array(
00058         "sort" => "/^(last_name|first_name|birthday|sex|entry_date)$/",
00059         "order"=> "/^(up|down)$/",
00060         "status" => "/^(new|old)$/",
00061         "button" => "/^(" . $buttons['delete_all'] . "|" .  $buttons['ok'] . "|" .
00062                             $buttons['cancel'] . "|)$/",
00063         "action"=> "/^(delete_all|)$/",
00064         "lang" => "/^(de|en)$/"
00065 );
00066 
00068 
00069 $default_params = array (
00070         'sort' => "last_name",
00071         'order' => "up",
00072         'status' => "new",
00073         'lang' => $lang_default
00074 );
00075 
00076 foreach ($default_params as  $k => $v) {
00077         if (!isset($_SESSION[$k]))
00078                 $_SESSION[$k] = $v;
00079 }
00080 
00081 foreach ($_GET as  $k => $v) {
00082         if (param_ok($valid_params, $k, $v)) 
00083                 $_SESSION[$k] = $v;
00084 }
00085 
00086 
00087 // \brief default sort order
00088 
00089 $default_sortkeys = array( 'last_name', 'first_name', 'birthday');
00090 
00091 // \brief which columns are to appear in the index
00092 
00093 $sort = $_SESSION['sort'];
00094 
00095 print_header( array("@notabene@" => "", "@bodyattr@" => "",
00096               "@url-de@" => "index.php?lang=de", "@url-en@" => "index.php?lang=en" ));
00097 
00098 print   '<table border=0>
00099          <tr> 
00100          <td><strong>' . $text['status'] . ': </strong></td>
00101          <td>';
00102 
00103   link_maybe($text['status_new'],
00104              "index.php?lang=$lang&status=new&sort=$sort&order=" . $_SESSION["order"] ,
00105              $_SESSION["status"] != "new") ;
00106   print " / ";
00107   link_maybe($text['status_old'],
00108              "index.php?lang=$lang&status=old&sort=$sort&order=" . $_SESSION["order"],
00109              $_SESSION["status"] != "old");
00110 
00111 print   '</td></tr> 
00112          <tr> 
00113                 <td> <strong>' . $text['order'] . ': </strong> </td>
00114          <td>';
00115 
00116 
00117 
00118 link_maybe($text['order_asc'],
00119             "index.php?lang=$lang&order=up&sort=$sort&status=" . $_SESSION["status"],
00120             $_SESSION["order"] != "up") ;
00121 print " / ";
00122 link_maybe($text['order_desc'],
00123             "index.php?lang=$lang&order=down&sort=$sort&status=" . $_SESSION["status"],
00124             $_SESSION["order"] != "down");
00125 
00126 print   ' </td> </tr> </table> <br>';
00127 
00128 ($link = mysql_pconnect($dbhost, $dbuser, $dbpass)) or db_error_mysql();
00129 mysql_select_db($dbname,$link) or db_error_mysql();
00130 
00131 fields_init($link, $lang);
00132 
00133 
00134 $table_columns = array(
00135                   'last_name' =>  $fields['last_name']['label'],
00136                   'first_name' => $fields['first_name']['label'],
00137                   'birthday' =>   $fields['birthday']['label'],
00138                   'entry_date' => $fields['entry_date']['label']
00139         );
00140 
00141 // delete obsolete data sets
00142 
00143 if (($_SESSION['action'] == 'delete_all') and $_SESSION['button'] == $buttons['ok']) {
00144 
00145         $q  =   "DELETE addresses FROM persons, addresses ";
00146         $q  .=  "WHERE persons.status='old' and persons.id = addresses.person_id";
00147         db_query_mysql($link,$q, array()); 
00148 
00149         $q  =   "DELETE FROM persons WHERE persons.status='old'";
00150         db_query_mysql($link, $q, array()); 
00151 
00152         $_SESSION["button"] = "";
00153 
00154         unset($_SESSION['action']);
00155 }
00156 // query db
00157 
00158 
00159 $sortkeys = $_SESSION["sort"];
00160 
00161 if ($_SESSION["order"] == "down") 
00162         $sortkeys .= " DESC";
00163 
00164 foreach ($default_sortkeys as $s) {
00165         if ($s != $_SESSION["sort"])
00166                 $sortkeys .= ", $s" ;
00167 }
00168 
00169 $q  =  "SELECT id FROM persons WHERE status = ";
00170 $q .= "'" . $_SESSION["status"] . "' ";
00171 
00172 $q .= "ORDER BY $sortkeys";
00173 
00174 
00175 // print $q;
00176 
00177 $res = db_query_mysql($link,$q, array()); 
00178 
00179 
00180 if (empty($res)) {
00181         print $text['db_empty']; 
00182 } else {
00183         print "<table border=0 cellpadding=5 >";
00184 
00185         // table header
00186         print "<tr>\n";
00187         foreach ($table_columns as $k => $v ) {
00188                 $order=$_SESSION['order'];
00189                 print "<th align=\"left\" >";
00190                 link_maybe(htmlentities($v), "index.php?lang=$lang&status=$status&order=$order&sort=$k", 
00191                            $_SESSION["sort"] != $k); 
00192                 print "</th>\n";
00193         }
00194         print "<th> &nbsp; </th>";
00195 
00196         print "</tr>\n";
00197 
00198         // table body
00199         foreach ($res as $row) {
00200                 print "<tr>\n";
00201 
00202                 foreach ($table_columns as $f => $dummy ) {
00203 
00204                         // query database
00205 
00206                         $q = $fields[$f]["view_query"];
00207                         // print $q;
00208 
00209                         $r = db_query_mysql($link,$q,
00210                                 array('@id@' => $row["id"]));
00211 
00212                         $v = (isset($r[1][0])) ? $r[1][0] : "";
00213 
00214                         print "<td>" . htmlentities($v) . "&nbsp; </td>\n";
00215 
00216                 }
00217 
00218                 print "<td>";
00219 
00220                 $id = $row["id"];
00221                 print "<a href=\"action.php?&lang=$lang&action=show&id=" . $id . "\">";
00222                 print $text['details'];
00223                 print "</td>\n";
00224                 print "</tr>\n";
00225         }
00226         print "</table>";
00227 
00228 if ($_SESSION["status"] == "old")  {
00229         print '<form method="GET">';
00230 
00231 
00232         if ($_SESSION['button'] == $buttons['delete_all']) {
00233                 print '<br><strong>' . $text['confirm_delete_all'] . '</strong>&nbsp;&nbsp;';
00234                 print '<input type="hidden" value="' . $lang . '" name="lang">';
00235                 print '<input type="hidden" value="delete_all" name="action">';
00236                 print '<input type="submit" name="button" value="' . $buttons['ok'] . '">&nbsp;'; 
00237                 print '<input type="submit" name="button" value="' . $buttons['cancel'] . '">'; 
00238         } else {
00239                 print '<input type="hidden" value="' . $lang . '" name="lang">';
00240                 print '<br><br><input type="submit" name="button" value="' . 
00241                        $buttons['delete_all'] . '">';
00242         }
00243 
00244         print "</form>";
00245 }
00246 
00247 }
00248 
00249 mysql_close($link);
00250 print_footer(array());
00251 
00252 ?>

Generated on Mon Aug 28 09:46:09 2006 for anmeldung by  doxygen 1.4.7