public function initialize() { $conf = SomeFactory::getConfiguration(); # # start session here # $session = SomeFactory::getSession(); # # session started, create default user # $user = SomeFactory::getUser(); # # language selection # $this->setLanguage(); # # template= url parameter? # $template = SomeRequest::getCmd('template', ''); $this->setTemplate($template); // does session has sysmessage? if ($session->get('sysmessage')) { $this->sysmessage = $session->get('sysmessage'); $session->clear('sysmessage'); } }
/** * @return true if user is created, false if not. */ public function create() { $user = SomeFactory::getUser(); if ($user->getUserrole() === SomeUser::ROLE_HEADTEACHER) { someloader('some.user.user'); $someuser = new SomeUser(); $this->userdata = array('username' => SomeRequest::getVar('tunnus', ''), 'fname' => SomeRequest::getVar('etunimi', ''), 'lname' => SomeRequest::getVar('sukunimi', ''), 'unit' => SomeRequest::getVar('yksikko', ''), 'email' => SomeRequest::getVar('sposti', ''), 'phone' => SomeRequest::getVar('puh', ''), 'password' => SomeRequest::getVar('salasana', '')); $someuser->setUsername($this->userdata['username']); // DO THE PASSWORD HASHING HERE $someuser->setPassword($this->userdata['password']); $someuser->setUserrole('teacher'); $this->userdata['userrole'] = $someuser->getUserrole(); $someuser->create(); //Yritetään lisäksi tehdä uusi tuutori $db = SomeFactory::getDBO(); $stmt = $db->prepare("INSERT INTO tuutori VALUES(?, ?, ?, ?, ?, ?, 'Tuutori')"); $ok = $stmt->execute(array($this->userdata['username'], $this->userdata['fname'], $this->userdata['lname'], $this->userdata['email'], $this->userdata['phone'], $this->userdata['unit'])); if ($someuser->getId() > 0 && $ok > 0) { $this->userdata['id'] = $someuser->getId(); return true; } else { return false; } } }
public function login() { $username = SomeRequest::getVar('username', null); $password = SomeRequest::getVar('password', null); // IF PASSWORD IS HASHED and optionally SALTED // only load the user and check password match in the php code $sql = "SELECT * FROM someuser WHERE username=? and password=?"; $database = SomeFactory::getDBO(); $stmt = $database->prepare($sql); $ok = $stmt->execute(array($username, $password)); if ($ok) { $row = $stmt->fetch(); if ($row['id']) { // $this->userdata = $row; $user = SomeFactory::getUser(); $user->setId($row['id']); $user->setUsername(trim($row['username'])); $user->setUserrole(trim($row['userrole'])); $user->setEmail(trim($row['email'])); $user->setHomepage(trim($row['homepage'])); return true; } else { echo "Käyttäjää ei löytynyt"; $this->errors['notfound'] = "user {$username} not found from database. Check username and password"; } } return false; }
public function getNameData() { $namedata; $user = SomeFactory::getUser(); $db = SomeFactory::getDBO(); $stmt = null; //Jos kirjautunut ja opiskelija if ($user->getId() && $user->getUserrole() === 'student') { $statement = $db->prepare("SELECT etunimi, sukunimi FROM opiskelija WHERE opnro=?"); $ok = $statement->execute(array($user->getUsername())); if ($ok) { $namedata = $statement->fetch(PDO::FETCH_ASSOC); } } else { if ($user->getId() && $user->getUserrole() === 'teacher' || $user->getId() && $user->getUserrole() === 'headteacher') { $statement = $db->prepare("SELECT etunimi, sukunimi FROM tuutori WHERE tunnus=?"); $ok = $statement->execute(array($user->getUsername())); if ($ok) { $namedata = $statement->fetch(PDO::FETCH_ASSOC); } } else { echo "You do not have permission!!!!"; } } return $namedata; }
function logout() { $user = SomeFactory::getUser(); $user = SomeFactory::getUser(); $user->setId(0); $user->setUsername(''); $user->setUserrole('guest'); $user->setUsername(''); $user->setEmail(''); $user->setHomepage(''); $app = SomeFactory::getApplication(); $app->redirect('index.php?app=login'); }
/** * default flow function. * if no view is set, register form is shown. If the user is not logged in. * */ function display() { // if the user is logged in, then it is sort of wrong to show register form... $user = SomeFactory::getUser(); if (!$user->getId()) { $view = SomeRequest::getVar('view', 'register'); $model = $this->getModel($view); $view = $this->getView($view); $tmpl = SomeRequest::getVar('tmpl', 'default'); $view->setModel($model); $view->display($tmpl); } else { // change to login view. Do http redirect. $app = SomeFactory::getApplication(); $app->redirect('index.php?app=login'); } }
<?php $user = SomeFactory::getUser(); $nimi = $this->getNameData(); echo "<h1>Tervetuloa " . $nimi['etunimi'] . " " . $nimi['sukunimi'] . " (" . $user->getUsername() . ")</h1><br/><br/>"; echo "Tämä palvelu on tarkoitettu Tampereen yliopiston opiskelijoiden ja opettajien väliseen hops-käyttöön. <br><br>\nPalvelussa opiskelijat voivat täyttää vuosittaiset hops-lomakkeensa ja suunnitella tulevan lukuvuoden kursseja. <br> He voivat myös seurata opintojensa etenemistä 'Suoritukset' välilehden alta.\n<br><br>Tuutorit sen sijaan voivat palvelun avulla pitää paremmin kirjaa tuutoroitavistaan ja muodostaa helpommin lukukausittaiset vuosiraportit, <br>jotka sitten lähetetään niistä vastuussa olevalle ylituutorille.\n<br><br>\nOmat tietosi löydät 'Omat tiedot' välilehden alta. Muistathan pitää yhteystietosi ajantasalla.";
public function delete() { //VielŠ kerran varmistus kŠyttŠjŠn oikeuksista $user = SomeFactory::getUser(); if ($user->getUserrole() === SomeUser::ROLE_HEADTEACHER) { //On oikeudet. Poistetaan ensin kŠyttŠjŠ someuser-taulusta $someuser = new SomeUser(); $tunnus = SomeRequest::getVar('tunnus', ''); $db = SomeFactory::getDBO(); $stmt = $db->prepare("SELECT id FROM someuser WHERE username=?"); $ok = $stmt->execute(array($tunnus)); $id = $stmt->fetch(PDO::FETCH_ASSOC); if ($id) { //Saatiin id, voidaan poistaa kŠyttŠjŠ $someuser->setId($id['id']); $ryhmat; $stmt = $db->prepare("SELECT tunnus FROM hops_ryhma WHERE tuutori = ?"); $ok = $stmt->execute(array($tunnus)); if ($ok) { $i = 0; while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) { $ryhmat[$i++] = $row; } } var_dump($ryhmat); $i = 0; if ($ryhmat != null) { foreach ($ryhmat as $ryhma) { $stmt = $db->prepare("UPDATE opiskelija SET hopsryhma = null WHERE hopsryhma = ?"); $ok = $stmt->execute(array($ryhma['tunnus'])); $stmt = $db->prepare("DELETE FROM hops_ryhma WHERE tunnus = ?"); $ok = $stmt->execute(array($ryhma['tunnus'])); if ($ok) { echo "RyhmŠn poisto onnistui"; } } } //Poistetaan myšs itse tuutori omasta taulustaan $stmt = $db->prepare("DELETE FROM tuutori WHERE tunnus=?"); $ok = $stmt->execute(array($tunnus)); if ($ok) { $someuser->delete(); return true; } } else { return false; } } else { return false; } }
public function delete() { //Varmistutaan vielŠ, ettŠ kŠyttŠjŠ on varmasti ylituutori $user = SomeFactory::getUser(); if ($user->getUserrole() === SomeUser::ROLE_HEADTEACHER) { //Oli, voidaan edetŠ poiston kanssa $model = $this->getModel('profile'); $success = $model->delete(); if ($success) { $app = SomeFactory::getApplication(); $app->redirect('index.php?app=hops&action=listPeople'); } } else { echo "Sinulla ei ole kŠyttšoikeuksia poistoon!"; } }
public function saveEndForm() { $data = $_POST; $user = SomeFactory::getUser(); $db = SomeFactory::getDBO(); $stmt = null; if ($user->getId() && $user->getUserrole() === 'teacher') { foreach ($data['ryhmat'] as $tiedot) { $stmt = $db->prepare("UPDATE loppuraportit \n\t SET alkup_koko = ?, palautetut = ?, osallistuneet_ryhma = ?, osallistuneet_yks = ?, tavoittamattomat = ?, poisjaaneet = ?, i = ?, ii = ?, iii = ?, iv = ?, v = ?\n\t WHERE tuutori = '" . $user->getUsername() . "' AND hopsryhma = '" . $tiedot['tunnus'] . "'"); $ok = $stmt->execute(array($tiedot['alkup_koko'], $tiedot['pal_hopsit'], $tiedot['osallistuneet'], $tiedot['yks_tapaamiset'], $tiedot['tavoittamattomat'], $tiedot['poissa'], $tiedot['i'], $tiedot['ii'], $tiedot['iii'], $tiedot['iv'], $tiedot['v'])); $stmt = $db->prepare("INSERT INTO loppuraportit VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?)"); $ok = $stmt->execute(array($user->getUsername(), $tiedot['tunnus'], $tiedot['alkup_koko'], $tiedot['pal_hopsit'], $tiedot['osallistuneet'], $tiedot['yks_tapaamiset'], $tiedot['tavoittamattomat'], $tiedot['poissa'], $tiedot['i'], $tiedot['ii'], $tiedot['iii'], $tiedot['iv'], $tiedot['v'])); } } }
public function create() { //Tarkistetaan, ollaanko ylituutori $user = SomeFactory::getUser(); if ($user->getUserrole() === SomeUser::ROLE_HEADTEACHER) { //Ollaan. Halutaan luoda uusi ryhmä. //Haetaan oleelliset muuttujat post-variablesta //uuden ryhmän tunnus $ryhma_tunnus = SomeRequest::getVar('tunnus', ''); //Ryhmän tuutorin tunnus $tuutori_tunnus = SomeRequest::getVar('tuutori_tunnus', ''); if (!empty($ryhma_tunnus) && !empty($tuutori_tunnus)) { //Saatiin jotain, luodaan uusi ryhmä $db = SomeFactory::getDBO(); $stmt = $db->prepare("INSERT INTO hops_ryhma VALUES(?,?)"); $ok = $stmt->execute(array($ryhma_tunnus, $tuutori_tunnus)); if ($ok) { return true; } else { return false; } } else { return false; } } else { return false; } }
public function getCourseData($year) { $coursedata; $tunnus = null; $user = SomeFactory::getUser(); if ($user) { $tunnus = $user->getUsername(); } else { $this->data = array("Kukaan ei ole kirjautunut!!"); return false; } $db = SomeFactory::getDBO(); //Tässä kohtaa lasketaan minkä vuosien kurssisuorituksia haetaan. $syksylisa = 0; $kevatlisa = 0; if ($year == 1) { $kevatlisa = 1; } else { if ($year == 2) { $syksylisa = 1; $kevatlisa = 2; } else { if ($year == 3) { $syksylisa = 2; $kevatlisa = 3; } } } $statement = $db->prepare("SELECT k.tunnus, k.nimi, k.op, os.kausi FROM kurssi as k JOIN on_suorittanut as os ON k.tunnus = os.tunnus JOIN opiskelija as o ON o.opnro = os.opnro WHERE os.opnro=? AND ((os.vuosi = o.avuosi+? AND os.kausi ='Syksy') OR (os.vuosi=o.avuosi+? AND os.kausi='Kevät'))"); $ok = $statement->execute(array($tunnus, $syksylisa, $kevatlisa)); if ($ok) { $i = 1; while ($row = $statement->fetch(PDO::FETCH_ASSOC)) { $coursedata[$i++] = $row; } } return $coursedata; }
?> <p> Palvelu Tampereen yliopiston opettajien ja opiskelijoiden välistä HOPS-yhteistyötä varten. <br> HOPS-palvelun avulla helpotetaan opintojen suunnittelua ja HOPS-ryhmien valvontaa. <br> Palveluun kirjaudutaan opiskelija-/opettajanumerolla. </p> <br> <?php $app = SomeFactory::getApplication(); ?> <?php if (SomeFactory::getUser()->getId() > 0) { ?> <a href="index.php?app=login&view=logout">Log Out <?php echo SomeFactory::getUser()->getUsername(); ?> </a> <?php } else { ?> <form action='index.php?app=login&view=login' method='post'> <label for='username'>Käyttäjätunnus:</label> <br> <input type='text' name='username' value='' /> <br /> <label for='password'>Salasana:</label> <br><input type='password' name='password' value='' /> <br /> <input type='submit' name='smit' value='Kirjaudu' /> </form>