} else { $bx->box_begin(); $bx->box_title($t->translate("Users")); $bx->box_body_begin(); ?> <table border=0 align=center cellspacing=1 cellpadding=1 width=100%> <?php echo "<tr><td><b>" . $t->translate("No") . ".</b></td><td><b># " . $t->translate("Con") . "</b></td><td><b>" . $t->translate("Username") . "</b></td><td><b>" . $t->translate("Realname") . "</b></td><td><b>" . $t->translate("E-Mail") . "</b></td></tr>\n"; $i = 1; while ($db->next_record()) { $columns = "COUNT(*)"; $tables = "contact"; $where = "user=\"" . $db->f("username") . "\" AND status=\"A\""; $num = ""; $dbn = new DB_SourceContact(); if ($dbn->query("SELECT {$columns} AS cnt FROM {$tables} WHERE {$where}")) { $dbn->next_record(); $num = "[" . sprintf("%03d", $dbn->f("cnt")) . "]"; } echo "<tr><td>" . sprintf("%d", $i) . "</td>\n"; echo "<td><a href=\"" . $sess->url("index.php") . $sess->add_query(array("by" => "filter", "author" => $db->f("username"))) . "\">{$num}</a></td>\n"; echo "<td>" . $db->f("username") . "</td>\n"; echo "<td>" . $db->f("realname") . "</td>"; echo "<td><<a href=\"mailto:" . $db->f("email_usr") . "\">" . ereg_replace("@", " at ", htmlentities($db->f("email_usr"))) . "</a>></td>"; echo "</tr>\n"; $i++; } echo "</table>\n"; } $bx->box_body_end(); $bx->box_end();
# This is the text backend of the system # # This program is free software. You can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 or later of the GPL. ###################################################################### require "./include/prepend.php3"; page_open(array("sess" => "SourceContact_Session")); if (isset($auth) && !empty($auth->auth["perm"])) { page_close(); page_open(array("sess" => "SourceContact_Session", "auth" => "SourceContact_Auth", "perm" => "SourceContact_Perm")); } header("Content-Type: text/plain"); // Disabling cache header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 header("Pragma: no-cache"); // HTTP/1.0 require "./include/config.inc"; require "./include/lib.inc"; $db = new DB_SourceContact(); $db->query("SELECT * FROM contact WHERE contact.status='A' ORDER BY contact.modification DESC limit 10"); $i = 0; while ($db->next_record()) { echo $db->f("name") . "\n"; $timestamp = mktimestamp($db->f("modification")); echo timestr($timestamp) . "\n"; echo $sys_url . "conbyconid.php?id=" . $db->f("conid") . "\n"; $i++; } @page_close();
<h3><?php echo $sys_name; ?> Database Connection</h3> <ul> <li>I am now going to try to create a DB_<?php echo $sys_name; ?> database connection.<br>If an error occures, then you should look at these points and fix them before proceeding: <ul> <li>Have you introduced the correct database parameters (<i>Host</i>, <i>Database</i> name, <i>User</i> name and <i>Password</i>) in the include/local.inc file? <li>Have you created the database tables and set the defaults? (you've got them in the <i>sql</i> subdirectory) <li>Is your database running? ;-) </ul> <?php $db = new DB_SourceContact(); if ($db->query("SELECT * FROM auth_user")) { ?> <li><b><font color="green">Created a DB_<?php echo $sys_name; ?> database connection successfully.</font></b></li> <?php } ?> </ul> <p>[ <a href="install.php">Go back</a> ] [ <a href="install.php?action=check_session">Next</a> ]
break; // Classifications // Classifications case "classifications": stats_title($t->translate("Contacts listed by Classifications")); $db->query("SELECT DISTINCT type, COUNT(*) AS cnt FROM categories GROUP BY type"); while ($db->next_record()) { $type = $db->f("type"); if ($db->f("cnt") > 0 && $type != "Contact") { stats_subtitle($t->translate("Contact Category") . " " . $type); $dbtot = new DB_SourceContact(); $dbtot->query("SELECT COUNT(*) FROM contact WHERE category='{$type}'"); $dbtot->next_record(); $total_number_cat = $dbtot->f("COUNT(*)"); $db2 = new DB_SourceContact(); $db2->query("SELECT class, COUNT(*) AS cnt2 FROM classifications WHERE type='{$type}' GROUP BY class"); while ($db2->next_record()) { $cnt2 = $db2->f("cnt2"); if ($cnt2 > 0) { $url = "index.php"; $urlquery = array("by" => "filter", "class" => $db2->f("class")); stats_display($db2->f("class"), $cnt2, $url, $urlquery, $total_number_cat); } } } } stats_end(); break; } } ?>
### ## Get a database connection $db = new DB_SourceContact(); // Check if there was a submission while (is_array($HTTP_POST_VARS) && (list($key, $val) = each($HTTP_POST_VARS))) { switch ($key) { case "create": // Create a new user if (empty($username) || empty($password) || empty($email_usr)) { // Do we have all necessary data? $be->box_full($t->translate("Error"), $t->translate("Please enter") . " <B>" . $t->translate("Username") . "</B>, <B>" . $t->translate("Password") . "</B> " . $t->translate("and") . " <B>" . $t->translate("E-Mail") . "</B>!"); break; } /* Does the user already exist? NOTE: This should be a transaction, but it isn't... */ $db->query("select * from auth_user where username='******'"); if ($db->nf() > 0) { $be->box_full($t->translate("Error"), $t->translate("User") . " <B>{$username}</B> " . $t->translate("already exists") . "."); break; } // Create a uid and insert the user... $u_id = md5(uniqid($hash_secret)); $permlist = addslashes(implode($perms, ",")); $modification_usr = "******"; $creation_usr = "******"; $query = "insert into auth_user values('{$u_id}','{$username}','{$password}','{$realname}','{$email_usr}',{$modification_usr},{$creation_usr},'{$permlist}')"; $db->query($query); if ($db->affected_rows() == 0) { $be->box_full($t->translate("Error"), "<b>" . $t->translate("Database Access failed") . ":</b> {$query}"); break; }
switch ($key) { case "u_edit": // Change user parameters if ($auth->auth["uid"] == $u_id) { // user changes his own account $password = trim($password); $cpassword = trim($cpassword); $realname = trim($realname); $email_usr = trim($email_usr); if (strcmp($password, $cpassword)) { // password are identical? $be->box_full($t->translate("Error"), $t->translate("The passwords are not identical") . ". " . $t->translate("Please try again") . "!"); break; } $query = "UPDATE auth_user SET password='******', realname='{$realname}', email_usr='******', modification_usr=NOW() WHERE user_id='{$u_id}'"; $db->query($query); if ($db->affected_rows() == 0) { $be->box_full($t->translate("Error"), $t->translate("Change User Parameters failed") . ":<br>{$query}"); break; } $bi->box_full($t->translate("Change User Parameters"), $t->translate("Password and/or E-Mail Address of") . " <b>" . $auth->auth["uname"] . "</b> " . $t->translate("is changed") . "."); if ($ml_notify) { $message = "Username: "******"uname"] . "\n"; $message .= "Realname: {$realname}\n"; $message .= "E-Mail: {$email_usr}\n"; mailuser("admin", "User parameters has changed", $message); } } else { $be->box_full($t->translate("Error"), $t->translate("Access denied")); } break;
$columns = "*"; $tables = "contact"; $where = "conid='{$id}'"; if (!$db->query("SELECT {$columns} FROM {$tables} WHERE {$where}")) { mysql_die($db); } else { // If contact in table if ($db->next_record()) { // If contact owner is logged in user if ($db->f("user") == $auth->auth["uname"] || $perm->have_perm("admin")) { // Look if clasifications are already in table $dbcla = new DB_SourceContact(); $columns = "*"; $tables = "classifications,contact"; $where = "classifications.conid='{$id}' AND classifications.type = '{$type}' AND contact.conid = classifications.conid"; if ($dbcla->query("SELECT {$columns} FROM {$tables} WHERE {$where}")) { // If classifications are in table if ($dbcla->next_record()) { // Modify existing classifications clamod($dbcla); } else { // Insert new classifications claform($db); } } else { mysql_die($db); } } else { $be->box_full($t->translate("Error"), $t->translate("Access denied") . "."); } // If contact not in table