Exemple #1
0
 /**
  * List polls
  */
 public function action_index($page = 1)
 {
     \ess::$b->page->add_title("Avstemninger");
     // hent avstemningene
     $pagei = new \pagei(\pagei::PER_PAGE, 10, \pagei::ACTIVE_GET, "side");
     $pagei->__construct(\pagei::ACTIVE, intval($page));
     $polls = Poll::getPolls($pagei, \login::$logged_in ? \login::$user : null);
     $data = array();
     foreach ($polls as $poll) {
         $vote = \login::$logged_in ? $poll->getVote() : null;
         // finn alternativet med flest stemmer
         $votes_max = 0;
         foreach ($poll->options as $option) {
             if ($option->data['po_votes'] > $votes_max) {
                 $votes_max = $option->data['po_votes'];
             }
         }
         $options = array();
         foreach ($poll->options as $option) {
             $options[] = array("item" => $option, "percent" => $option->getPercent(), "is_vote" => $option == $vote, "width" => round($option->data['po_votes'] / $votes_max * 100));
         }
         $data[] = array("item" => $poll, "options" => $options, "in_progress" => $poll->data['p_time_end'] > time());
     }
     return View::forgeTwig("polls/poll_list", array("polls" => $data, "pagei" => $pagei));
 }
Exemple #2
0
 /** Last inn siden (kalles til slutten av scriptet for å hente themet */
 public function load()
 {
     $this->content .= ob_get_contents();
     @ob_clean();
     // load through twig template?
     $templates = array('guest_simple' => 'templates/guest/simple', 'guest' => 'templates/guest/wide', 'node' => 'templates/guest/node', 'doc' => 'templates/doc');
     if (isset($templates[$this->theme_file])) {
         $template = $templates[$this->theme_file];
         \Kofradia\View::forgeTwig($template);
         $response = new \Kofradia\Response();
         $response->setContents(\Kofradia\View::forgeTwig($template));
         $response->output();
         die;
     }
     global $_base;
     $_base->dt("page_load_pre");
     // temafilen
     $theme_file = PATH_PUBLIC . "/themes/" . $this->theme . "/" . $this->theme_file . ".php";
     // finnes ikke temafilen?
     if (!file_exists($theme_file)) {
         throw new HSException("Fant ikke temafilen <b>{$this->theme_file}.php</b> for temaet <b>{$this->theme}</b>.");
     }
     if (mb_strpos($this->content, '<boxes />') === false) {
         $this->content = '<boxes />' . $this->content;
     }
     // hent temafilen
     require $theme_file;
     // hent full html kode som ble generert
     $content = ob_get_contents();
     @ob_clean();
     echo $this->postParse($content);
     die;
 }
Exemple #3
0
 /**
  * Show 'takk til'-page
  */
 public function action_credits()
 {
     \ess::$b->page->add_title("Takk til");
     $pagei = new \pagei(\pagei::PER_PAGE, 15);
     $donations = Donation::getDonations($pagei);
     return View::forge("misc/takk_til", array("donations" => $donations));
 }
Exemple #4
0
 /**
  * Show full list
  */
 public function action_list()
 {
     \ess::$b->page->add_title("Donasjoner");
     // hent donasjonene på denne siden
     $pagei = new \pagei(\pagei::ACTIVE_GET, "side", \pagei::PER_PAGE, 30);
     $list = Donation::getDonations($pagei);
     return View::forgeTwig("donations/list", array("pagei" => $pagei, "donations" => $list));
 }
Exemple #5
0
 /**
  * List of last utpressinger
  */
 public function action_log()
 {
     $this->needUser();
     $this->ut = new \Kofradia\Game\Utpressing($this->user->player);
     \ess::$b->page->add_title("Utpressing");
     \ess::$b->page->add_title("Siste utpressinger");
     \kf_menu::$data['utpressing'] = true;
     $pagei = new \pagei(\pagei::PER_PAGE, 20, \pagei::ACTIVE_GET, "side");
     $expire = time() - 43200;
     $rows = $this->ut->getLast($pagei, $expire);
     return View::forge('game/utpressing/log', array("list" => $rows, "pagei" => $pagei));
 }
Exemple #6
0
 /**
  * Show list of GitHub-events
  * This is allowed for all users, including guests
  */
 public function show_list()
 {
     if (\login::$logged_in) {
         $github = \Kofradia\Users\GitHub::get(\login::$user);
         $events = $events = $github->getUnseenEvents();
         $github->setUpdated();
         // any new?
         if ($events) {
             // show the new ones
             return View::forge("github/list_new", array("events" => $events));
         }
     }
     // show full list
     $pagei = new \pagei(\pagei::PER_PAGE, 40, \pagei::ACTIVE_GET, "page");
     $events = Hendelser::getEvents($pagei);
     // show the list
     return View::forge("github/list", array("events" => $events, "pagei" => $pagei));
 }
Exemple #7
0
 /**
  * Shows the result of a query in a simple table
  *
  * @param \PDOStatement
  */
 public static function debugResult($result)
 {
     $query = $result->queryString;
     $fields = array();
     $table = array();
     if ($result->rowCount() == 0) {
         $fields = array("empty");
     } else {
         $row = $result->fetch();
         foreach (array_keys($row) as $field) {
             $fields[] = $field;
         }
         do {
             $table[] = $row;
         } while ($row = $result->fetch());
     }
     echo View::forge("app/db/debugger", array("query" => $query, "fields" => $fields, "table" => $table));
 }
Exemple #8
0
 /**
  * Shows a recordlist of online users within each hour
  */
 public function action_online_top()
 {
     \ess::$b->page->add_title("Antall pålogget rekorder");
     // hent stats
     $result = \Kofradia\DB::get()->query("SELECT name, extra, value, time FROM sitestats");
     $sitestats = array();
     $sitestats_max = array();
     while ($row = $result->fetch()) {
         $sitestats[$row['name']][$row['extra']] = $row;
         $sitestats[$row['name']][$row['extra']] = $row;
         if (!array_key_exists($row['name'], $sitestats_max)) {
             $sitestats_max[$row['name']] = $row;
         } else {
             if ($row['value'] > $sitestats_max[$row['name']]['value']) {
                 $sitestats_max[$row['name']] = $row;
             }
         }
     }
     return View::forge("stats/online_top", array("sitestats" => $sitestats, "sitestats_max" => $sitestats_max));
 }
Exemple #9
0
<?php

// data:
// \Kofradia\Users\Contact $contact
$is_block = $contact->isBlock();
$player = $contact->getTargetPlayer();
echo '
	<h1>Oppdater ' . (!$is_block ? 'kontakt' : 'blokkering') . '</h1>';
echo \Kofradia\View::forge("users/contacts/form_add_edit", array("edit" => true, "is_block" => $is_block, "player" => $player, "contact" => $contact));
Exemple #10
0
<h1 id="kontakter">Kontakter</h1>
<p>Her er en oversikt over dine kontakter. Disse kontaktene får et eget bilde ved siden av spillernavnet når spillernavnet
	blir vist på siden. For å legge til en kontakt må du trykke på kontaktlinken øverst i profilen til vedkommende.</p>

<?php 
if (!$friends) {
    ?>
<p>Du har ingen kontakter.</p>
<?php 
} else {
    echo \Kofradia\View::forge("users/contacts/list_group", array("contacts" => $friends, "sort" => $friends_sort, "is_block" => false));
}
?>


<h1 id="blokkeringer">Blokkeringsliste</h1>
<p>Her er en oversikt over hvem du har blokkert. Disse kontaktene kan ikke sende deg meldinger og får et bilde
	ved sidenav spillernavnet når spillernavnet blir vist på siden. For å legge til en blokkering må du trykke
	på blokkeringslinken øverst i profilen til vedkommende.</p>
<p>Begrunnelsen som er satt opp hos vedkommende vil komme opp som begrunnelse
	når en blokkert spiller forsøker å sende deg en melding og liknende.</p>

<?php 
if (!$blocks) {
    ?>
<p>Du har ikke blokkert noen spillere.</p>
<?php 
} else {
    echo \Kofradia\View::forge("users/contacts/list_group", array("contacts" => $blocks, "sort" => $blocks_sort, "is_block" => true));
}
Exemple #11
0
 /**
  * View list of contacts
  */
 public function action_list()
 {
     $sort_k = new \sorts("sort", "/kontakter");
     $sort_k->append("asc", "Navn", "up_name");
     $sort_k->append("desc", "Navn", "up_name DESC");
     $sort_k->append("asc", "Sist aktiv", "up_last_online DESC");
     $sort_k->append("desc", "Sist aktiv", "up_last_online");
     $sort_k->append("asc", "Lagt til som kontakt", "uc_time");
     $sort_k->append("desc", "Lagt til som kontakt", "uc_time DESC");
     $sort_k->set_active(getval('sort'), 0);
     $sort_b = new \sorts("sort", "/kontakter");
     $sort_b->append("asc", "Navn", "up_name");
     $sort_b->append("desc", "Navn", "up_name DESC");
     $sort_b->append("asc", "Sist aktiv", "up_last_online DESC");
     $sort_b->append("desc", "Sist aktiv", "up_last_online");
     $sort_b->append("asc", "Lagt til som blokkering", "uc_time");
     $sort_b->append("desc", "Lagt til som blokkering", "uc_time DESC");
     $sort_b->set_active(getval('sort'), 0);
     $sort_by = $sort_k->active()['params'];
     $contacts = Contact::getContacts($this->user, $sort_by);
     $by_type = array(Contact::TYPE_FRIEND => array(), Contact::TYPE_BLOCK => array());
     foreach ($contacts as $contact) {
         $by_type[$contact->getType()][] = $contact;
     }
     return View::forge("users/contacts/list", array("friends" => $by_type[Contact::TYPE_FRIEND], "blocks" => $by_type[Contact::TYPE_BLOCK], "friends_sort" => $sort_k, "blocks_sort" => $sort_b));
 }
Exemple #12
0
 /**
  * Vis side for feilmelding hvis det er noen feilmelding
  */
 protected function show_errors()
 {
     // ingen feilmelding?
     if (!isset($_SESSION[$GLOBALS['__server']['session_prefix'] . 'login_error'])) {
         return;
     }
     // vis feilside
     $login_error = $_SESSION[$GLOBALS['__server']['session_prefix'] . 'login_error'][0];
     $info = $_SESSION[$GLOBALS['__server']['session_prefix'] . 'login_error'][1];
     unset($_SESSION[$GLOBALS['__server']['session_prefix'] . 'login_error']);
     \ess::$b->page->theme_file = "guest";
     switch ($login_error) {
         case "deactivated":
             \ess::$b->page->add_title("Deaktivert");
             return \Kofradia\View::forgeTwig('users/login/deactivated', array("email" => $info['u_email'], "date" => $info['u_deactivated_time'], "reason" => \game::bb_to_html($info['u_deactivated_reason'])));
         default:
             throw new HSException("Ukjent innloggingsfeil ({$login_error})");
     }
 }
Exemple #13
0
<?php

// data:
// array $events
// pagei $pagei
?>
<h1 class="c">Hendelser i GitHub</h1>

<?php 
echo \Kofradia\View::forge("github/show_events", array("events" => $events));
?>

<p class="c"><?php 
echo $pagei->pagenumbers();
?>
</p>
<p class="c"><a href="https://github.com/hswno/kofradia/pulse" target="_blank">Gå til GitHub</a></p>
Exemple #14
0
 /**
  * Hent boks med livefeed
  */
 public function action_livefeed()
 {
     $lf = \livefeed::get_latest(3);
     return \Kofradia\View::forgeTwig('users/login/helpers/livefeed', array("data" => $lf));
 }