/** * Hent diverse infobokser for crew */ public static function getExtendedAccessBoxes() { if (!isset(\login::$extended_access)) { return; } if (!\login::extended_access_is_authed()) { return; } $boxes = array(); // support meldinger if (\access::has("crewet")) { $row = \tasks::get("support"); if ($row['t_ant'] > 0) { $boxes[] = array(\ess::$s['relative_path'] . '/support/?a=panel&kategori=oppsummering', 'Det er <b>' . $row['t_ant'] . '</b> ' . fword("ubesvart supportmelding", "ubesvarte supportmeldinger", $row['t_ant']) . '!'); } } // hent antall nye rapporteringer fra cache $row = \tasks::get("rapporteringer"); if ($row['t_ant'] > 0) { $boxes[] = array(\ess::$s['relative_path'] . '/crew/rapportering', 'Det er <b>' . $row['t_ant'] . '</b> ' . fword("ubehandlet rapportering", "ubehandlede rapporteringer", $row['t_ant']) . '.'); } // hent antall nye søknader fra cache $row = \tasks::get("soknader"); if ($row['t_ant'] > 0) { $boxes[] = array(\ess::$s['relative_path'] . '/crew/soknader', 'Det er <b>' . $row['t_ant'] . '</b> ' . fword("ubehandlet søknad", "ubehandlede søknader", $row['t_ant']) . '.'); } // antall ubesvarte henvendelser if (\access::has("mod")) { // hent antall nye henvendelser fra cache $row = \tasks::get("henvendelser"); if ($row['t_ant'] > 0) { $boxes[] = array(\ess::$s['relative_path'] . '/henvendelser?a', 'Det er <b>' . $row['t_ant'] . '</b> ' . fword("ny henvendelse", "nye henvendelser", $row['t_ant']) . ' som er ubesvart.'); } } // hendelser fra GitHub $github = \Kofradia\Users\GitHub::get(\login::$user); if (!$github->hasActivated()) { $boxes[] = array(\ess::$s['relative_path'] . '/github', 'Du vil nå motta nye hendelser fra GitHub her. Trykk her for å se de siste hendelsene.'); } else { $num_changes = $github->getCodeBehindCount() + $github->getOtherBehindCount(); if ($num_changes > 0) { $boxes[] = array(\ess::$s['relative_path'] . '/github', 'Det er <b>' . $num_changes . '</b> ny' . ($num_changes == 1 ? '' : 'e') . ' hendelse' . ($num_changes == 1 ? '' : 'r') . ' i GitHub.'); } } return $boxes; }
protected static function get_extended_access_login() { if (!isset(login::$extended_access)) { return; } if (login::extended_access_is_authed()) { return; } $data = ' <div id="clogin"> <h1 class="bg1">Crew</h1> <div class="bg1">'; // har ikke passord? if (!isset(login::$extended_access['passkey'])) { $data .= ' <p>Du har ikke opprettet et crewpassord.</p> <p><a href="' . ess::$s['relative_path'] . '/extended_access?create">Opprett passord »</a></p>'; } else { // logg inn skjema $data .= ' <form action="' . ess::$s['relative_path'] . '/extended_access?login&orign=' . urlencode($_SERVER['REQUEST_URI']) . '" method="post" autocomplete="off"> <dl class="dd_right"> <dt>Pass</dt> <dd><input type="password" name="password" class="styled w100" /></dd> </dl> <p class="r"> <span style="float: left"><a href="' . ess::$s['relative_path'] . '/extended_access?forgot">Glemt passord »</a></span> <a href="' . ess::$s['relative_path'] . '/extended_access">Info »</a> </p> </form>'; } $data .= ' </div> </div>'; return $data; }
if (password::verify_hash($password, login::$extended_access['passkey'])) { return true; } // for kompatibilitet mot gammel løsning if (password::verify_hash(md5(sha1($password . login::$user->id, $stored_hash) . login::$user->id), login::$extended_access['passkey'])) { return true; } // feil passord return false; } // behold orign ved reload if (isset($_GET['orign'])) { redirect::store("extended_access?orign=" . urlencode($_GET['orign'])); } // ikke authed? if (!login::extended_access_is_authed()) { // opprette passord? if (isset($_GET['create'])) { // har vi passord? if (isset(login::$extended_access['passkey'])) { $_base->page->add_message("Passord er allerede lagt inn i din konto.", "error"); redirect::handle(); } // sjekk if (isset($_POST['password']) && isset($_POST['password_repeat'])) { // oppfyller passordet kravet? $error = password::validate($_POST['password'], password::LEVEL_STRONG); if ($error != 0) { $_base->page->add_message("Passordet oppnådde ikke følgende krav: " . ucfirst(implode(", ", password::format_errors($error))), "error"); redirect::handle("extended_access?create"); }