'; echo $e->getMessage().': '.$e->getUserinfo(); echo ''; exit; } PEAR::setErrorHandling( PEAR_ERROR_CALLBACK, 'pearError' ); if($session->logged_in) { $smarty->assign ("zalogowany", $session->username);} $db = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD); mysql_select_db(DB_NAME,$db); // podaje wszystkie sezony $db = mysql_connect(DB_HOST, DB_USER , DB_PASSWORD); mysql_select_db(DB_NAME,$db); $result = mysql_query("SELECT * FROM sezony ORDER BY id",$db); if (mysql_num_rows ($result) >= 1) { $sezony = array(); while ($myrow = mysql_fetch_array ($result, MYSQL_ASSOC)) array_push ($sezony, $myrow); $smarty->assign ("sezony", $sezony); } if ($wybierzsezon) $_SESSION['sezon']=$wybierzsezon; if ($_SESSION['sezon']) { //podaje dane sezonu $wybranysezon = $_SESSION['sezon']; $query = "SELECT * FROM sezony WHERE id='$wybranysezon'"; $result = mysql_query($query); if (mysql_num_rows($result) >= 1){ $sezon = array(); while ($myrow = mysql_fetch_array($result, MYSQL_ASSOC)) array_push ($sezon, $myrow); $nazwasezonu = $sezon[0][nazwa]; $sezon = $sezon[0][id]; $smarty->assign ("sezon", $sezon); //id bieżącego sezonu $smarty->assign ("nazwasezonu", $nazwasezonu); //id bieżącego sezonu } } if (!$_SESSION['sezon']) { //podaje dane sezonu $query = "SELECT * FROM sezony WHERE aktywny=1"; $result = mysql_query($query); if (mysql_num_rows($result) >= 1){ $sezon = array(); while ($myrow = mysql_fetch_array($result, MYSQL_ASSOC)) array_push ($sezon, $myrow); $nazwasezonu = $sezon[0][nazwa]; $sezon = $sezon[0][id]; $smarty->assign ("sezon", $sezon); //id bieżącego sezonu $smarty->assign ("nazwasezonu", $nazwasezonu); //id bieżącego sezonu } } $query = "SELECT DISTINCT l.nazwa AS nazwa, l.id AS id FROM ligi l, sezonyligidruzyny sld, sezony s WHERE l.id=sld.liga AND sld.sezon='$sezon' ORDER BY l.klasa"; $result = mysql_query($query); if (mysql_num_rows($result) >= 1){ $ligi = array(); while ($myrow = mysql_fetch_array($result, MYSQL_ASSOC)) array_push ($ligi, $myrow); $smarty->assign ("ligi", $ligi); } $query = "SELECT * FROM aktualnosci WHERE glowna=1 ORDER BY datawpisu DESC"; $result = mysql_query($query); if (mysql_num_rows($result) >= 1){ $newsy = array(); while ($myrow = mysql_fetch_array ($result, MYSQL_ASSOC)) array_push ($newsy, $myrow); $smarty->assign ("newsy", $newsy); } // rodzaje stron $query = "SELECT * FROM strony WHERE aktywna=1 ORDER BY kolejnosc"; $result = mysql_query($query); if (mysql_num_rows($result) >= 1){ $strony = array(); while ($myrow = mysql_fetch_array ($result, MYSQL_ASSOC)) array_push ($strony, $myrow); } for($i = 0; $i < sizeof($strony); $i++){ if (!$strony[$i][link]) $strony[$i][link] = "strona.php?id=" . $strony[$i][id]; } $smarty->assign ("strony", $strony); //--------------------------------------------------- function loginFunction($username = null, $status = null, &$auth = null) { global $smarty; $loginform = new HTML_QuickForm('loginform','POST' ,$_SERVER['REQUEST_URI'] , '', NULL ,TRUE); $loginform->setJsWarnings('Formularz zawiera błędy:', 'Proszę poprawić podane pola.'); // Add some elements to the form $loginform->addElement('header', null, 'Formularz rejestracyjny'); $loginform->addElement('text', 'username', 'Login:', array('size' => 50, 'maxlength' => 255)); $loginform->addElement('password', 'password', 'Hasło:', array('size' => 50, 'maxlength' => 255)); $loginform->addElement('image', 'Login', 'images/ok.gif'); // Define filters and validation rules $loginform->addRule('username', 'Wpisz login', 'required', null, 'client'); $loginform->addRule('password', 'Wpisz hasło', 'required', null, 'client'); $loginform->applyFilter('__ALL__', 'htmlspecialchars'); $loginform->validate(); $loginrenderer =& new HTML_QuickForm_Renderer_ArraySmarty($smarty); $loginform->accept($loginrenderer); $smarty->assign('loginform', $loginrenderer->toArray()); } //authentication $authoptions = array( 'dsn' => $dsn, 'cryptType'=>"md5", 'db_fields' => '*', ); $a = new Auth("MDB2", $authoptions, "loginFunction"); if (isset($_REQUEST['logout']) && $a->getAuth()) { $a->start(); $a->logout(); session_destroy(); } $a->setFailedLoginCallback ("failed_login_callback"); $a->start(); if ($a->checkAuth()) { $smarty->assign("logged_username", $a->getUsername()); $smarty->assign("zalogowany", $a->getUsername()); $xusername = $a->getUsername(); $query = "SELECT * FROM sezony WHERE aktywny=1"; $result = mysql_query($query); if (mysql_num_rows($result) >= 1){ $sezon_aktywny = array(); while ($myrow = mysql_fetch_array($result, MYSQL_ASSOC)) array_push ($sezon_aktywny, $myrow); $sezonaktywny = $sezon_aktywny[0][id]; } $query = "SELECT DISTINCT l.nazwa AS nazwa, l.id AS id, u.id AS uid FROM (ligi l, sezonyligidruzyny sld, sezony s) LEFT JOIN user_2_liga u ON l.id=u.liga AND u.user = '$xusername' WHERE l.id=sld.liga AND sld.sezon='$sezonaktywny' ORDER BY l.klasa"; $result = mysql_query($query); if (mysql_num_rows($result) >= 1){ $ligi1 = array(); while ($myrow = mysql_fetch_array($result, MYSQL_ASSOC)) array_push ($ligi1, $myrow); } } function failed_login_callback() { global $smarty; $smarty->assign("authentication_error", "Zły login lub hasło"); } function checkUnique($username) { $dsn = array( 'phptype' => 'mysql', 'username' => DB_USER, 'password' => DB_PASSWORD, 'hostspec' => DB_HOST, 'database' => DB_NAME, ); $mdb2 = MDB2::factory($dsn); $mdb2->setFetchMode(MDB2_FETCHMODE_ASSOC); $query = "SELECT * FROM auth WHERE username = '$username'"; $result = $mdb2->query($query); if ($result->numRows() >= 1) { return false; } else { return true; } } function addUser($data) { $dsn = array( 'phptype' => 'mysql', 'username' => DB_USER, 'password' => DB_PASSWORD, 'hostspec' => DB_HOST, 'database' => DB_NAME, ); $mdb2 = MDB2::factory($dsn); $mdb2->setFetchMode(MDB2_FETCHMODE_ASSOC); if ($data['druzyna'] != 18){ $adduser = $mdb2->prepare('INSERT INTO auth VALUES (:username, :password, :email, :dodano, :telefon, :imie, :nazwisko, :druzyna, :aktywny)'); $data_add = array('username' => $data['regusername'], 'password' => md5($data['regpassword']), 'imie' => $data['imie'], 'nazwisko' => $data['nazwisko'], 'druzyna' => $data['druzyna'], 'email' => $data['email'], 'telefon' => $data['telefon'], 'dodano' => date('Y-m-d H:i:s'), 'aktywny' => '0' ); $affectedRows = $adduser->execute($data_add); if ($data['newsletter']) { for($j=0;$jquery($query); } } } /* $html = "Liga Ursynowska - Dodano nowego uzytkownika: " . $data['regusername']; $params['host'] = 'smtp.ligaursynowska.pl'; $params['port'] = 25; $params['auth'] = true; $params['username'] = 'mail@wls.h2.pl'; $params['password'] = 'ligafirm'; $headers['From'] = 'poczta@ligaursynowska.pl'; $headers['X-Abuse-To'] = 'poczta@ligaursynowska.pl'; $headers['Subject'] = $html; $headers['Content-Type'] = 'text/html; charset="iso-8859-2"'; $headers['Content-Transfer-Encoding'] = 'quoted-printable'; $message = new Mail_mime(); $message->setHTMLBody($html); $body = $message->get(); $mail = Mail::factory('smtp', $params); $recipients = "janusz@wls.com.pl, poczta@ligafirm.pl, krzysztof@wls.com.pl"; $sendmail = $mail->send($recipients, $headers, $body); */ } } function updateuser($data) { global $a; $dsn = array( 'phptype' => 'mysql', 'username' => DB_USER, 'password' => DB_PASSWORD, 'hostspec' => DB_HOST, 'database' => DB_NAME, ); $mdb2 = MDB2::factory($dsn); $mdb2->setFetchMode(MDB2_FETCHMODE_ASSOC); if ($data['regpassword']) { $fields_values = array( 'imie' => $data['imie'], 'nazwisko' => $data['nazwisko'], 'email' => $data['email'], 'telefon' => $data['telefon'], 'password'=> md5($data['regpassword']), 'druzyna' => $data['druzyna'] ); } else { $fields_values = array( 'imie' => $data['imie'], 'nazwisko' => $data['nazwisko'], 'email' => $data['email'], 'telefon' => $data['telefon'], 'druzyna' => $data['druzyna'] ); } $mdb2->loadModule('Extended'); $affectedRows = $mdb2->extended->autoExecute('auth', $fields_values, MDB2_AUTOQUERY_UPDATE, 'username = "'. $a->getUsername() . '"'); foreach ($fields_values as $k => $v) { $a->setAuthData($k, $v); } $liga_value = array(); $xusername = $a->getUsername(); $query="DELETE FROM user_2_liga WHERE user = '$xusername'"; $result = $mdb2->query($query); if ($data['newsletter']) { for($j=0;$jquery($query); } } } } // Instantiate the HTML_QuickForm object $form = new HTML_QuickForm('register','post' ,'' , '', NULL ,TRUE); $form->addElement('text', 'regusername', 'Login:', array('size' => 50, 'maxlength' => 255)); if ($a->checkAuth()) { $defaults = array( 'regusername' => $a->getUsername(), 'imie' => $a->getAuthData('imie'), 'nazwisko' => $a->getAuthData('nazwisko'), 'email' => $a->getAuthData('email'), 'telefon' => $a->getAuthData('telefon'), 'druzyna' => $a->getAuthData('druzyna'), 'newsletter[]' => $defaults['newsletter'] ); $form->freeze('regusername'); $form->setJsWarnings('Formularz zawiera błędy:', 'Proszę poprawić podane pola.'); // Add some elements to the form $form->addElement('header', null, 'Formularz rejestracyjny'); $form->addElement('password', 'regpassword', 'Hasło:', array('size' => 50, 'maxlength' => 255)); $form->addElement('password', 'replypassword', 'Powtórz hasło:', array('size' => 50, 'maxlength' => 255)); $form->addElement('text', 'imie', 'Imię:', array('size' => 50, 'maxlength' => 255)); $form->addElement('text', 'nazwisko', 'Nazwisko:', array('size' => 50, 'maxlength' => 255)); $form->addElement('text', 'druzyna', 'Drużyna:', array('size' => 50, 'maxlength' => 255)); $form->addElement('text', 'email', 'Adres e-mail:', array('size' => 50, 'maxlength' => 255)); $form->addElement('text', 'telefon', 'Telefon:', array('size' => 50, 'maxlength' => 255)); $form->addElement('submit', 'Send', 'Wyślij'); // Define filters and validation rules $form->applyFilter('__ALL__', 'strip_tags'); $form->addRule('regusername', 'Musisz podać login', 'required', null, 'client'); $form->addRule('regusername', 'Niedozwolone znaki w loginie', 'nopunctuation', null, 'client'); $form->addRule('regusername', 'Za długi login - maksymalnie 30 znaków', 'maxlength', 30, 'client'); $form->addRule('imie', 'Niedozwolone znaki w imieniu', 'nopunctuation', null, 'client'); $form->addRule('imie', 'Za długie imie - maksymalnie 30 znaków', 'maxlength', 30, 'client'); $form->addRule('nazwisko', 'Niedozwolone znaki w nazwisku', 'nopunctuation', null, 'client'); $form->addRule('druzyna', 'Musisz podać drużynę', 'required', null, 'client'); $form->addRule('druzyna', 'Niedozwolone znaki w drużynie', 'nopunctuation', null, 'client'); $form->addRule('regusername', 'Za długie nazwisko - maksymalnie 30 znaków', 'maxlength', 30, 'client'); $form->addRule('imie', 'Musisz podać imię', 'required', null, 'client'); $form->addRule('nazwisko', 'Musisz podać nazwisko', 'required', null, 'client'); $form->addRule('email', 'Musisz podać adres e-mail', 'required', null, 'client'); $form->addRule('email', 'Niepoprawny adres email', 'email', null, 'client'); for ($i=0; $iaddElement('checkbox', 'newsletter['.$i.']', $ligi1[$i]['nazwa'], ''); $form->addElement('hidden', 'liga_value['.$i.']', $ligi1[$i]['id']); if ($ligi1[$i]['uid']) { $defaults['newsletter'][$i]=1; } } $form->setDefaults($defaults); if ($_POST['regpassword']) { $form->addRule('regpassword', 'Musisz podać hasło', 'required', null, 'client'); $form->addRule('regpassword', 'Niedozwolone znaki w haśle', 'nopunctuation', null, 'client'); $form->addRule('regpassword', 'Za długie hasło - maksymalnie 30 znaków', 'maxlength', 30, 'client'); $form->addRule('replypassword', 'Powtórz hasło', 'required', null, 'client'); $form->addRule(array('regpassword', 'replypassword'), 'Hasła niezgodne', 'compare', null, 'client'); $form->addRule('replypassword', 'Wpisz hasło 2 razy', 'required', null, 'client'); } // Try to validate a form if ($form->validate()) { $form->process('updateUser'); $smarty->assign("updated", "Twoje dane zostały zmienione"); } } else { $form->setJsWarnings('Formularz zawiera błędy:', 'Proszę poprawić podane pola.'); // Add some elements to the form $form->addElement('header', null, 'Formularz rejestracyjny'); $form->addElement('password', 'regpassword', 'Hasło:', array('size' => 50, 'maxlength' => 255)); $form->addElement('password', 'replypassword', 'Powtórz hasło:', array('size' => 50, 'maxlength' => 255)); $form->addElement('text', 'imie', 'Imię:', array('size' => 50, 'maxlength' => 255)); $form->addElement('text', 'nazwisko', 'Nazwisko:', array('size' => 50, 'maxlength' => 255)); $form->addElement('text', 'druzyna', 'Drużyna:', array('size' => 50, 'maxlength' => 255)); $form->addElement('text', 'email', 'Adres e-mail:', array('size' => 50, 'maxlength' => 255)); $form->addElement('text', 'telefon', 'Telefon:', array('size' => 50, 'maxlength' => 255)); $form->addElement('submit', 'Send', 'Wyślij'); // Define filters and validation rules $form->applyFilter('__ALL__', 'strip_tags'); $form->addRule('regusername', 'Musisz podać login', 'required', null, 'client'); $form->addRule('regusername', 'Niedozwolone znaki w loginie', 'nopunctuation', null, 'client'); $form->addRule('regusername', 'Za długi login - maksymalnie 30 znaków', 'maxlength', 30, 'client'); $form->addRule('imie', 'Musisz podać imię', 'required', null, 'client'); $form->addRule('nazwisko', 'Musisz podać nazwisko', 'required', null, 'client'); $form->addRule('telefon', 'Musisz podać telefon', 'required', null, 'client'); $form->addRule('imie', 'Niedozwolone znaki w imieniu', 'nopunctuation', null, 'client'); $form->addRule('imie', 'Za długie imie - maksymalnie 30 znaków', 'maxlength', 30, 'client'); $form->addRule('nazwisko', 'Niedozwolone znaki w nazwisku', 'nopunctuation', null, 'client'); $form->addRule('regusername', 'Za długie nazwisko - maksymalnie 30 znaków', 'maxlength', 30, 'client'); $form->addRule('druzyna', 'Musisz podać drużynę', 'required', null, 'client'); $form->addRule('druzyna', 'Niedozwolone znaki w drużynie', 'nopunctuation', null, 'client'); $form->addRule('regpassword', 'Musisz podać hasło', 'required', null, 'client'); $form->addRule('regpassword', 'Niedozwolone znaki w haśle', 'nopunctuation', null, 'client'); $form->addRule('regpassword', 'Za długie hasło - maksymalnie 30 znaków', 'maxlength', 30, 'client'); $form->addRule('replypassword', 'Powtórz hasło', 'required', null, 'client'); $form->addRule(array('regpassword', 'replypassword'), 'Hasła niezgodne', 'compare', null, 'client'); $form->addRule('email', 'Musisz podać adres e-mail', 'required', null, 'client'); $form->addRule('email', 'Niepoprawny adres email', 'email', null, 'client'); $form->addRule('replypassword', 'Wpisz hasło 2 razy', 'required', null, 'client'); for ($i=0; $iaddElement('checkbox', 'newsletter['.$i.']', $ligi[$i]['nazwa'], ''); $form->addElement('hidden', 'liga_value['.$i.']', $ligi[$i]['id']); } // Try to validate a form if ($form->validate()) { $form->registerRule('checkusername', 'callback', 'checkUnique'); $form->addRule('regusername', 'Login już istnieje, proszę wybrać inny', 'checkusername', null, 'client'); if ($form->validate()) { $form->process('addUser'); $smarty->assign("registered", "Dziękujemy ". $form->getSubmitValue('regusername') .', zostałeś zarejestrowany. Możesz się zalogować, ale pełny dostęp do wszystkich funkcji strony otrzymasz po akceptacji przez administratora.'); } } } $renderer =& new HTML_QuickForm_Renderer_ArraySmarty($smarty); $form->accept($renderer); $smarty->assign('form', $renderer->toArray()); $smarty->display ("registration.htm"); ?>