Example #1
0
 /**
  * Construct
  */
 public function __construct()
 {
     $this->ff = ff::get_ff();
     $this->ff->needaccess(2);
     redirect::store("medlemmer?ff_id={$this->ff->id}");
     $this->page_handle();
     $this->ff->load_page();
 }
Example #2
0
 /**
  * Construct
  */
 public function __construct()
 {
     $this->ff = ff::get_ff();
     $this->ff->needaccess(true);
     ess::$b->page->add_title("Logg");
     $this->show();
     $this->ff->load_page();
 }
Example #3
0
 /**
  * Construct
  */
 public function __construct()
 {
     $this->ff = ff::get_ff();
     $this->ff->needtype("bank");
     $this->ff->needaccess(3);
     redirect::store("bank?ff_id={$this->ff->id}");
     ess::$b->page->add_title("Bankkontroll");
     $this->page_handle();
     $this->ff->load_page();
 }
Example #4
0
    /**
     * Construct
     */
    public function __construct()
    {
        $this->ff = ff::get_ff();
        $this->ff->needaccess(2, "Du har ikke tilgang til denne banken.");
        $this->priority_write = $this->ff->get_bank_write_priority();
        if (false && !access::has("admin")) {
            echo '
<div class="bg1_c xsmall">
	<h1 class="bg1">' . ucfirst($this->ff->type['type']) . 'bank stengt<span class="left"></span><span class="right"></span></h1>
	<div class="bg1">
		<p>' . ucfirst($this->ff->type['type']) . 'banken er stengt for å unngå distribusjon av penger. Pengenivået vil bli justert til å være ihht. verdiene ved midnatt.</p>
	</div>
</div>';
            $this->ff->load_page();
        }
        redirect::store("banken?ff_id={$this->ff->id}");
        ess::$b->page->add_title("Banken");
        $this->nostat = access::is_nostat() && login::$user->player->id != 1;
        // kontroller at vi har bankkonto
        if (!login::$user->player->user->data['u_bank_auth']) {
            ess::$b->page->add_message("Banken for {$this->ff->type['refobj']} benytter seg av passordet i din vanlige bank. For å få tilgang til den må du først opprette et passord. Etter du har opprettet et passord kan du gå tilbake til banken til {$this->ff->type['refobj']}.");
            redirect::handle("banken", redirect::ROOT);
        }
        // kontroller at vi er logget inn i banken
        $this->auth_verify();
        // gi/fjerne tilgang for medeier?
        if ((isset($_POST['pri2_wt']) || isset($_POST['pri2_wf'])) && validate_sid()) {
            $this->pri2_access();
        }
        // vise statistikk
        if (isset($_GET['stats'])) {
            $this->stats();
        }
        // sette inn penger?
        if (isset($_POST['bank_inn']) && !$this->nostat && $this->ff->access($this->priority_write)) {
            $this->sett_inn();
        }
        // ta ut penger
        if (isset($_POST['bank_ut']) && !$this->nostat && $this->ff->access($this->priority_write)) {
            $this->ta_ut();
        }
        // vis banken
        $this->show();
        $this->ff->load_page();
    }
Example #5
0
 /**
  * Construct
  */
 public function __construct()
 {
     $this->ff = ff::get_ff();
     if ($this->ff->type['type'] != "familie" || $this->ff->data['ff_is_crew']) {
         $this->ff->needtype("bomberom");
     }
     $this->ff->needaccess(true);
     $this->fam = $this->ff->type['type'] == "familie";
     // konkurrerende broderskap har ikke bomberom
     if ($this->ff->competition) {
         ess::$b->page->add_message("Broderskapet er i konkurransemodus og har derfor ikke et aktivt bomberom.", "error");
         $this->ff->redirect();
     }
     redirect::store("bomberom?ff_id={$this->ff->id}");
     ess::$b->page->add_title("Bomberommet");
     // sjekk om vi kan kaste ut nå
     $this->check_kick_hour();
     $this->kick_access = $this->ff->access($this->ff->type['type'] == "familie" ? 2 : true);
     // behandle forespørselen
     $this->page_handle();
     // last inn siden
     $this->ff->load_page();
 }
Example #6
0
    /**
     * Flytt artikkel rundt i utgivelsen
     */
    protected function pub_ffna_move(ff_avis_utgivelse $ffn)
    {
        $this->ff->needaccess(2);
        ess::$b->page->add_title("Flytt artikkel");
        // publisert?
        if ($ffn->data['ffn_published'] != 0 && !$this->ff->mod) {
            ess::$b->page->add_message("Utgivelsen er publisert og kan ikke endres.", "error");
            redirect::handle();
        }
        // hent informasjon
        $ffna_id = intval(getval("move_ffna"));
        $result = \Kofradia\DB::get()->query("SELECT ffna_id, ffna_created_time, ffna_up_id, ffna_updated_time, ffna_title, LENGTH(ffna_text) AS ffna_text_length, ffna_theme_position, ffna_theme_priority, ffna_published_time, ffna_price FROM ff_newspapers_articles WHERE ffna_id = {$ffna_id} AND ffna_ffn_id = {$ffn->id}");
        $ffna = $result->fetch();
        if (!$ffna) {
            ess::$b->page->add_message("Fant ikke artikkelen.", "error");
            redirect::handle();
        }
        // hent alle artiklene som er lagt til i utgivelsen
        $result = \Kofradia\DB::get()->query("SELECT ffna_id, ffna_title, ffna_theme_position, ffna_theme_priority FROM ff_newspapers_articles WHERE ffna_ffn_id = {$ffn->id} ORDER BY ffna_theme_priority");
        $articles = array();
        while ($row = $result->fetch()) {
            $articles[$row['ffna_theme_position']][$row['ffna_id']] = $row;
        }
        $template = ff_avis::$templates[$ffn->data['ffn_template']];
        // valgt plassering?
        if (isset($_POST['theme_position'])) {
            $position = postval("theme_position");
            if (($pos = mb_strpos($position, ":")) === false) {
                ess::$b->page->add_message("Du må velge en plassering.", "error");
            } else {
                // kontroller verdier
                $area = mb_substr($position, 0, $pos);
                $priority = intval(mb_substr($position, $pos + 1));
                $add = $area == $ffna['ffna_theme_position'] ? 0 : 1;
                if (!isset($template['areas'][$area]) || $priority <= 0) {
                    ess::$b->page->add_message("Ugyldig plassering.", "error");
                } else {
                    // sjekk priority
                    if (isset($articles[$area]) && $priority > count($articles[$area]) + $add || !isset($articles[$area]) && $priority != 1) {
                        ess::$b->page->add_message("Ugyldig plassering.", "error");
                    } elseif ($area == $ffna['ffna_theme_position'] && $priority == $ffna['ffna_theme_priority']) {
                        ess::$b->page->add_message("Ingen endringer ble utført.");
                        redirect::handle();
                    } else {
                        // flytt artikler (for fjerning)
                        \Kofradia\DB::get()->exec("UPDATE ff_newspapers_articles SET ffna_theme_priority = ffna_theme_priority - 1 WHERE ffna_ffn_id = {$ffn->id} AND ffna_theme_position = " . \Kofradia\DB::quote($ffna['ffna_theme_position']) . " AND ffna_theme_priority > {$ffna['ffna_theme_priority']}");
                        // flytt artikler (for oppretting/flytting)
                        \Kofradia\DB::get()->exec("UPDATE ff_newspapers_articles SET ffna_theme_priority = ffna_theme_priority + 1 WHERE ffna_ffn_id = {$ffn->id} AND ffna_theme_position = " . \Kofradia\DB::quote($area) . " AND ffna_theme_priority >= {$priority}");
                        // oppdater artikkelen
                        \Kofradia\DB::get()->exec("UPDATE ff_newspapers_articles SET ffna_theme_position = " . \Kofradia\DB::quote($area) . ", ffna_theme_priority = {$priority} WHERE ffna_id = {$ffna_id}");
                        ess::$b->page->add_message("Artikkelen ble flyttet.");
                        redirect::handle();
                    }
                }
            }
        }
        // vis informasjon
        echo '
<p class="c">Flytt artikkel | <a href="avis?ff_id=' . $this->ff->id . '&amp;u&amp;ffn=' . $ffn->id . '">Tilbake</a></p>
<div class="section center w250">
	<h2>Artikkelinformasjon</h2>
	<dl class="dd_right">
		<dt>Tittel</dt>
		<dd><a href="avis?ff_id=' . $this->ff->id . '&amp;a&amp;ffna=' . $ffna['ffna_id'] . '&amp;to_ffn=' . $ffn->id . '">' . htmlspecialchars($ffna['ffna_title']) . '</a></dd>
		<dt>Journalist</dt>
		<dd><user id="' . $ffna['ffna_up_id'] . '" /></dd>
		<dt>Opprettet</dt>
		<dd>' . ess::$b->date->get($ffna['ffna_created_time'])->format() . '</dd>
		<dt>Sist endret</dt>
		<dd>' . ess::$b->date->get($ffna['ffna_updated_time'])->format() . '</dd>
		<dt>Publisert</dt>
		<dd>' . ess::$b->date->get($ffna['ffna_published_time'])->format() . '</dd>
		<dt>Antall tegn</dt>
		<dd>' . game::format_number($ffna['ffna_text_length']) . '</dd>
		<dt>Pris</dt>
		<dd>' . game::format_cash($ffna['ffna_price']) . '</dd>
	</dl>
</div>
<form action="" method="post">
	<div class="section center w300">
		<h2>Velg plassering</h2>
		<dl class="dd_right">
			<dt>Plassering</dt>
			<dd>
				<select name="theme_position">
					<option value="">Velg plassering</option>';
        $pos = $ffna['ffna_theme_position'];
        $pri = $ffna['ffna_theme_priority'];
        // vis plasseringsalterantivene
        foreach ($template['areas'] as $key => $area) {
            $here = $key == $pos;
            $add = 1;
            echo '
					<optgroup label="' . htmlspecialchars($area) . '">';
            if (isset($articles[$key])) {
                echo '
						<option value="' . htmlspecialchars($key) . ':1"' . ($here && $pri == 1 ? ' selected="selected"' : '') . '>' . htmlspecialchars($area) . ' (øverst)' . ($here && $pri == 1 ? ' (valgt)' : '') . '</option>';
                foreach ($articles[$key] as $row) {
                    if ($ffna['ffna_id'] == $row['ffna_id']) {
                        $add = 0;
                        continue;
                    }
                    echo '
						<option value="' . htmlspecialchars($key) . ':' . ($row['ffna_theme_priority'] + $add) . '"' . ($here && $pri == $row['ffna_theme_priority'] + 1 ? ' selected="selected"' : '') . '>Etter &laquo;' . htmlspecialchars($row['ffna_title']) . '&raquo;' . ($here && $pri == $row['ffna_theme_priority'] + 1 ? ' (valgt)' : '') . '</option>';
                }
            } else {
                echo '
						<option value="' . htmlspecialchars($key) . ':1"' . ($here && $pri == 1 ? ' selected="selected"' : '') . '>' . htmlspecialchars($area) . ($here && $pri == 1 ? ' (Valgt)' : '') . '</option>';
            }
            echo '
					</optgroup>';
        }
        echo '
				</select>
			</dd>
		</dl>
		<p class="c">' . show_sbutton("Flytt artikkel") . '</p>
	</div>
</form>';
    }