public static function save()
 {
     $params = $_POST;
     $v = new Valitron\Validator($params);
     $v->rule('required', 'content');
     $v->rule('lengthMin', 'content', 1);
     $v->rule('required', 'site-id');
     $v->rule('numeric', 'site-id');
     if ($v->validate()) {
         $kommentti = new Kommentti(array('comment_content' => $params['content'], 'site_id' => $params['site-id'], 'kayttaja_id' => $_SESSION['user']));
         $kommentti->save();
         Redirect::to('/site/show_site/' . $params['site-id'], array('message' => 'Kommentti lisätty'));
     } else {
         $site = Site::find($params['site-id']);
         $kommentit = Kommentti::getAllComments($params['site-id']);
         View::make('site/show_site.html', array('site' => $site, 'kommentit' => $kommentit, 'errors' => $v->errors()));
     }
 }
 public static function haeLuetutKayttajalla($kayttaja_id)
 {
     $query = DB::connection()->prepare('SELECT * ' . 'FROM Kirjoitus ' . 'INNER JOIN KirjoituksenLukenutKayttaja ' . 'ON Kirjoitus.id = KirjoituksenLukenutKayttaja.kirjoitus_id ' . 'WHERE KirjoituksenLukenutKayttaja.kayttaja_id=:kayttaja_id');
     $query->execute(array('kayttaja_id' => $kayttaja_id));
     $rows = $query->fetchAll();
     $kirjoitukset = array();
     foreach ($rows as $row) {
         $kirjoitukset[] = new Kirjoitus(array('id' => $row['id'], 'nimi' => $row['nimi'], 'sisalto' => $row['sisalto'], 'julkaistu' => $row['julkaistu'], 'julkaisija' => Kayttaja::hae($row['julkaisija']), 'kommentteja' => sizeof(Kommentti::haeKirjoituksella($row['id']))));
     }
     return $kirjoitukset;
 }
 public static function nayta($id)
 {
     self::check_logged_in();
     $kayttaja = Kayttaja::hae($id);
     $kayttaja->kirjoitukset = Kirjoitus::haeKayttajalla($kayttaja->id);
     $kayttaja->kirjoituksia = sizeof($kayttaja->kirjoitukset);
     $kayttaja->kommentteja = sizeof(Kommentti::haeKayttajalla($kayttaja->id));
     $kayttaja->luetutKirjoitukset = KirjoituksenLukenutKayttaja::haeLuetutKayttajalla($kayttaja->id);
     $kayttaja->ryhma = Ryhma::hae($kayttaja->ryhma_id);
     View::make('kayttaja/nayta.html', array('kayttaja' => $kayttaja));
 }
 public function poista()
 {
     $kirjoitukset = Kirjoitus::haeKayttajalla($this->id);
     foreach ($kirjoitukset as $kirjoitus) {
         $kirjoitus->poista();
     }
     $kommentit = Kommentti::haeKayttajalla($this->id);
     foreach ($kommentit as $kommentti) {
         $kommentti->poista();
     }
     $query = DB::connection()->prepare("DELETE FROM Kayttaja WHERE id=:id");
     $query->execute(array('id' => $this->id));
 }
 public static function show($id)
 {
     $site = Site::find($id);
     $kommentit = Kommentti::getAllComments($id);
     View::make('site/show_site.html', array('site' => $site, 'kommentit' => $kommentit));
 }
 public static function lisaaKommentti()
 {
     self::check_logged_in();
     self::check_detention();
     $params = $_POST;
     $kirjoitus_id = intval($params['kirjoitus_id']);
     $kommentti = new Kommentti(array('kirjoitus' => $kirjoitus_id, 'sisalto' => $params['sisalto'], 'julkaisija' => self::get_user_logged_in()->id, 'julkaistu' => date('d-m-Y H:i:s', time())));
     $errors = $kommentti->errors();
     if (count($errors) == 0) {
         $kommentti->tallenna();
         Redirect::to('/kirjoitus/' . $kirjoitus_id, array('message' => 'Uusi kommentti on lisätty kirjoitukseen!'));
     } else {
         Redirect::to('/kirjoitus/' . $kirjoitus_id, array('errors' => $errors));
     }
 }