function auth($cmd = 'auth', $username = '', $password = '') { if (XOX_DEBUG_MODE) { echo "auth({$cmd},{$username},{$password})<br>\n"; } $authenticated = false; if ($cmd == 'logout') { $authenticated = false; } elseif ($cmd == 'login') { // arrive from login form $GLOBALS['user'] = new cUser($username); $authenticated = $GLOBALS['user']->validatePassword($password); } elseif ($cmd == 'lost') { // forgot password $tmp_user = new cUser($username); if (!empty($tmp_user->email)) { return array('email' => $tmp_user->email, 'password' => $tmp_user->generatePassword(), 'displayname' => isset($tmp_user->displayname) ? $tmp_user->displayname : ''); } else { return false; } $authenticated = false; } elseif (isset($_SESSION['user'])) { $GLOBALS['user'] = $_SESSION['user']; if (is_obj($GLOBALS['user'], 'cUser')) { if ($username == $GLOBALS['user']->getUsername() && !empty($password)) { $authenticated = $GLOBALS['user']->validatePassword($password); } else { $authenticated = true; } } } if ($authenticated) { $_SESSION['user'] = $GLOBALS['user']; $GLOBALS['user_name'] = !empty($GLOBALS['user']->displayname) ? $GLOBALS['user']->displayname : $GLOBALS['user']->username; $GLOBALS['user_email'] = $GLOBALS['user']->email; $GLOBALS['user_rights'] = $GLOBALS['user']->getRights(); } else { unset($_SESSION['user']); $GLOBALS['user'] = ''; $GLOBALS['user_name'] = ''; $GLOBALS['user_email'] = ''; $GLOBALS['user_rights'] = array(); } // return authentication succeeded flag return is_obj($GLOBALS['user'], 'cUser') && $GLOBALS['user']->isAuthenticated(); }
<?php error_reporting(1); header('Content-type: text/html; charset=utf-8'); include "_plugins/smarty/Smarty.class.php"; include "_configs/config.php"; function __autoload($class_name) { require_once '_classes/' . $class_name . '.php'; } $smarty = new Smarty(); $sesja = new cSession(); $grupa = new cGroup(); $user = new cUser(); $finger = new cFinger(); $log = new cLog(); $czytnik = new cCzytnik(); $smarty->template_dir = '_skins/first'; $smarty->compile_dir = '_var/tmp_c'; $smarty->cache_dir = '_var/cache'; $smarty->config_dir = '_configs'; $smarty->caching = 0; $smarty->compile_check = true; //sprawdza czy plik szablonu lub konfiguracja uleg�y zmienie $smarty->cache_lifetime = 3600; //czas �ycia pliku w cache 1 godzina $sesja->start(); $opcja = $_GET[opcja]; $rodzaj = $_GET[rodzaj]; $sortuj = ''; if ($_GET[sortuj]) {
<?php require_once "_classes/cGroup.php"; require_once "_classes/cUser.php"; $fp = fopen('delete.log', 'a'); if (isset($_POST['id'], $_POST['tab'])) { $id = (int) $_POST['id']; $tabela = $_POST['tab']; fwrite($fp, "[ii] tabela: {$tabela}, id: {$id}\n"); switch ($tabela) { case "uzytkownik": $sql = new cUser(); $sql->delete($id); $sql->close(); fwrite($fp, "[ii] usunieto uzytkownika o ID = {$id}\n"); break; case "grupa": $sql = new cGroup(); $sql->delete($id); $sql->close(); fwrite($fp, "[ii] usunieto grupe o ID = {$id}\n"); break; default: fwrite($fp, "[ee] Niepoprawna nazwa tabeli!\n"); break; } } else { fwrite($fp, "[ee] coś nie tak z POST!\n"); } fclose($fp); ?>
break; case "grupa": $sql = new cGroup(); $sql->delete($id); $sql->close(); break; default: break; } } else { if (isset($_POST['ids'], $_POST['tab'])) { $ids = explode(',', $_POST['ids']); $tabela = $_POST['tab']; switch ($tabela) { case "uzytkownik": $sql = new cUser(); foreach ($ids as $id) { $sql->delete((int) $id); } $sql->close(); break; case "grupa": $sql = new cGroup(); foreach ($ids as $id) { $sql->delete((int) $id); } $sql->close(); break; default: //fwrite($fp, "[ee] Niepoprawna nazwa tabeli!\n"); break;
<?php /* * */ include_once './include/h.inc.php'; //login if (isset($_POST['op']) && $_POST['op'] == 'login') { $username = isset($_POST['username']) ? mysql_escape_string($_POST['username']) : ''; $password = isset($_POST['password']) ? mysql_escape_string($_POST['password']) : ''; $obj_user = new cUser($db, DB_PREFIX); if (!$obj_user->authenticate($username, $password)) { $action = USER_LOGIN_FAILED . ",username:"******",password:"******",username:"******",password:" . $password; $obj_user->action_log($action, $username); go2url(DEFAULT_PAGE); } } //logout if (isset($_GET['op']) && $_GET['op'] == 'logout') { $sess_user->action_log(USER_LOGOUT); $sess_user->logout(); session_unregister('sess_user'); go2url('index.php'); } //change password if (isset($_POST['op']) && $_POST['op'] == 'change') {
<?php require_once "_classes/cUser.php"; require_once "_classes/cGroup.php"; if (isset($_POST['tab'])) { $tabela = $_POST['tab']; switch ($tabela) { case 'uzytkownik': $sql = new cUser(); $imie = $_POST['name']; $nazwisko = $_POST['surname']; $opis = $_POST['desc']; $grupa = $_POST['group']; $id = $sql->add($imie, $nazwisko, $opis, 1); $sql->close(); //fwrite($fp, "[ii] dodalem uzytkownika o ID = $id\n"); break; case 'grupa': $sql = new cGroup(); $nazwa = $_POST['name']; $opis = $_POST['desc']; $id = $sql->add($nazwa, $opis, 1); $sql->close(); //fwrite($fp, "[ii] dodalem grupe o ID = $id\n"); break; default: //fwrite($fp, "[ee] Niepoprawna tabela\n"); break; } } ?>
/** Funkcja pakuje w tablice potrzebne dane do wyswietlania stronnicowania wynikow zwraca: tablice z danymi lub NULL jezeli otrzyma zly drugi parametr parametry: $strona - aktualna strona, jeżeli wartość będzie -1, to znaczy, że mają być wyświetlone wszystkie rekordy i nie wyświetli się "następny" oraz pogrubiony i bez linku "wszystkie" $co - jedna ze stalych: PORCJUJ_GRUPY, PORCJUJ_UZYTKOWNIKOW */ function porcjuj($strona, $co) { $zwroc = array(); // wybieramy jakie dane dzielimy switch ($co) { case PORCJUJ_GRUPY: $sql = new cGroup(); $link = 'index.php?opcja=wyswietl&rodzaj=grupe&'; break; case PORCJUJ_UZYTKOWNIKOW: $sql = new cUser(); $link = 'index.php?opcja=wyswietl&rodzaj=uzytkownikow&'; break; default: return NULL; } // pobieramy ilosc rekordow $zwroc['rekordow'] = $sql->count(); if ($strona >= 0 and $strona % ITEMS_ON_PAGE == 0 and $strona < $zwroc['rekordow']) { $zwroc['rekord_n'] = ($strona / ITEMS_ON_PAGE + 1) * ITEMS_ON_PAGE; $zwroc['encje'] = $sql->limit_read($strona, ITEMS_ON_PAGE); if ((int) $zwroc['rekord_n'] > (int) $zwroc['rekordow']) { $zwroc['rekord_n'] = $zwroc['rekordow']; } $zwroc['porcjowanie'] = porcjowanie($strona, $zwroc['rekordow'], ITEMS_ON_PAGE, $link); } else { // wyświetlamy wszystkie rekordy $zwroc['porcjowanie'] = porcjowanie($strona, $zwroc['rekordow'], ITEMS_ON_PAGE, $link); $zwroc['rekord_n'] = $zwroc['rekordow']; $zwroc['encje'] = $sql->read(); } return $zwroc; }