public static function poista($karhuid) { $karhu = new Karhu(array('karhuid' => $karhuid)); $alkuperainen_karhu = Karhu::etsi($karhuid); if (self::get_user_logged_in()->karhuid == $karhuid) { View::make('karhu/karhu.html', array('karhu' => $alkuperainen_karhu, 'virhe' => 'Et voi poistaa itseäsi!')); } elseif ($karhu->voiko_poistaa()) { $karhu->poista(); Redirect::to('/karhut', array('viesti' => 'Karhu poistettu onnistuneesti!')); } else { View::make('karhu/karhu.html', array('karhu' => $alkuperainen_karhu, 'virhe' => 'Karhua ei voi poistaa, koska se on ryhmänjohtajana meneillään olevassa keikassa.')); } }
public static function vastaa($viestiid) { $viesti = Viesti::etsi($viestiid); $attribuutit = array('otsikko' => "Re: " . $viesti->otsikko, 'saajaid' => $viesti->lahettajaid, 'saajanimi' => $viesti->lahettajanimi); $karhut = Karhu::kaikki(); View::make('viesti/uusi.html', array('karhut' => $karhut, 'attribuutit' => $attribuutit)); }
public static function get_user_logged_in() { if (isset($_SESSION['karhuid'])) { $karhuid = $_SESSION['karhuid']; $karhu = Karhu::etsi($karhuid); return $karhu; } return null; }
public static function kirjaudu() { $parametrit = $_POST; $karhu = Karhu::tunnistaudu($parametrit['tunnus'], $parametrit['salasana']); if ($karhu) { $_SESSION['karhuid'] = $karhu->karhuid; $_SESSION['nimi'] = $karhu->nimi; Redirect::to('/', array('viesti' => 'Tervetuloa ' . $karhu->nimi . '!')); } else { View::make('etusivu.html', array('virhe' => 'Väärä käyttäjätunnus tai salasana!', 'kayttajatunnus' => $parametrit['tunnus'])); } }
public static function kaikki() { $kysely = DB::connection()->prepare("SELECT chatviestiid, to_char(aika, 'YYYY-MM-DD HH24:MI') as parempiaika, viesti, karhuid FROM Chat ORDER BY aika DESC LIMIT 12"); $kysely->execute(); $rivit = $kysely->fetchAll(); $viestit = array(); foreach ($rivit as $rivi) { $karhu = Karhu::etsi($rivi['karhuid']); $viestit[] = new Chatviesti(array('chatviestiid' => $rivi['chatviestiid'], 'aika' => $rivi['parempiaika'], 'viesti' => $rivi['viesti'], 'karhuid' => $rivi['karhuid'], 'lahettaja' => $karhu->nimi)); } return $viestit; }
public static function luo_tilasto() { $keikat = Keikka::keikat_paattyneet(); $tilasto = array(); $tilasto['karhut'] = Karhu::lukumaara(); $tilasto['onnistumisprosentti'] = self::laske_onnistumisprosentti($keikat); $tilasto['tuottavin_keikka'] = self::tuottavin_keikka(); $tilasto['kokonaissaalis'] = self::kokonaissaalis(); $tilasto['keikkoja'] = self::suoritettujen_keikkojen_lkm(); $tilasto['topkarhut'] = self::top5_karhut_saldo(); return $tilasto; }
public static function osallistujat($keikkaid) { $kysely = DB::connection()->prepare('SELECT karhuid from Osallistuminen WHERE keikkaid = :keikkaid'); $kysely->execute(array('keikkaid' => $keikkaid)); $rivit = $kysely->fetchAll(); $osallistujat = array(); foreach ($rivit as $rivi) { $karhu = Karhu::etsi($rivi['karhuid']); $osallistujat[] = $karhu; } return $osallistujat; }
public static function tallenna_tulos($keikkaid) { $parametrit = $_POST; $keikka = Keikka::etsi($keikkaid); $keikka->saalis = $parametrit['saalis']; $keikka->kommentti = $parametrit['kommentti']; $virheet = $keikka->validoi_tulos(is_numeric($parametrit['saalis'])); $onko_numero = !is_numeric($parametrit['saalis']); if (count($virheet) == 0 && !$onko_numero) { $keikka->kirjaa_tulos($_SESSION['karhuid']); Kassa::maksa_keikan_palkka($keikkaid); if ($keikka->saalis == 0) { $viesti = 'Keikan tulos kirjattu. Keikka epäonnistui, koska saalista ei saatu.'; } else { $saldo = Karhu::etsi($_SESSION['karhuid'])->saldo; $viesti = 'Keikan tulos kirjattu ja palkat maksettu osallistujille! Kokonaissaldosi on nyt ' . $saldo; } Redirect::to('/keikat', array('viesti' => $viesti)); } else { View::make('keikka/kirjaus.html', array('virheet' => $virheet, 'keikka' => $keikka, 'onko_numero' => $onko_numero)); } }
public function validoi_vastaanottaja() { $virheet = array(); if ($this->saajaid == null || $this->saajaid == 0) { $virheet[] = 'Viestillä tulee olla vastaanottaja!'; } else { if (Karhu::etsi($this->saajaid) == null) { $virheet[] = 'Vastaanottajaa ei ole olemassa!'; } } return $virheet; }