* Forhåndsvisning av forumtråd * * Inndata: * - topic_id [optional] * - text */ require "../../../app/ajax.php"; ajax::require_user(); // kontroller lås ajax::validate_lock(true); global $_base, $_game; // sett opp tekst $text = postval("text"); if (empty($text)) { $text = "Mangler innhold."; } // forhåndsviser vi en redigert forumtråd? if (isset($_POST['topic_id'])) { // hent forumtråden $topic = new \Kofradia\Forum\TopicAjax($_POST['topic_id']); // sett opp data $data = $topic->extended_info(); $data['ft_text'] = $text; $data['ft_last_edit'] = time(); $data['ft_last_edit_up_id'] = login::$user->player->id; } else { // sett opp data $data = array("ft_text" => $text); } ajax::html(parse_html(\Kofradia\Forum\Category::template_topic_preview($data)));
// kontroller lås ajax::validate_lock(true); $result = rapportering::report_signature($ref, $note); // brukeren finnes ikke if ($result === "player_not_found") { ajax::html("<p>Spilleren du ønsket å rapportere ble ikke funnet.</p>", ajax::TYPE_INVALID); } elseif ($result[0] === "dupe") { ajax::html("<p>Du har allerede rapportert signaturen til denne brukeren.</p>", ajax::TYPE_INVALID); } break; // profiltekst // profiltekst case "profile": // kontroller lås ajax::validate_lock(true); $result = rapportering::report_profile($ref, $note); // brukeren finnes kke if ($result === "player_not_found") { ajax::html("<p>Spilleren du ønsket å rapportere ble ikke funnet.</p>", ajax::TYPE_INVALID); } elseif ($result[0] === "dupe") { ajax::html("<p>Du har allerede rapportert profilen til denne brukeren.</p>", ajax::TYPE_INVALID); } break; // fant ikke ønsket rapporteringsvalg // fant ikke ønsket rapporteringsvalg default: ajax::html("<p>Ukjent rapportering.</p>", ajax::TYPE_INVALID); sysreport::log("Rapportering ble ikke funnet: {$_POST['type']}\n\nReferanse: {$_POST['ref']}\n\nBegrunnelse for rapportering: {$_POST['note']}"); } ajax::html('<p>Rapporteringen ble sendt inn og vil bli behandlet så fort som mulig.</p><p>Du vil normalt <b>ikke få svar</b> når saken er behandlet. Takk for din rapportering.</p><div class="p" style="border: 1px dotted #525252; padding: 5px; margin: 1em 1.5em">' . parse_html(game::bb_to_html($note)) . '</div>');
// finn ut hvilke felt som skal lagres $list = explode(",", $_POST['fields']); $show = array(); foreach ($list as $item) { if (isset($fields[$item])) { $show[] = $item; } } // lagre if (count($show) == 0) { login::$user->params->remove("finn_bruker_felt", true); } else { login::$user->params->update("finn_bruker_felt", implode(",", $show), true); } // send html kode for å oppdatere siden ajax::html('<p>Innstillingene ble lagret. Oppdaterer..</p><script type="text/javascript">navigateTo()</script>'); } $_base->page->add_css(' .ipc_col_f, .ipc_col_f2 { float: left; width: 13%; } .ipc_col_c { float: left; width: 24%; } .ipc_col_l { float: left; width: 26%; } .ipc_col_f .section {
<div class="rap_wrap"> <p class="rap_time">Innsendt <span>' . ess::$b->date->get($row['r_time'])->format() . '</span></p> <p class="rap_w"><user id="' . $row['r_source_up_id'] . '" /> rapporterte <span class="rap_u"><user id="' . $row['r_up_id'] . '" /></span></p> <div class="col2_w"> <div class="col_w left"> <div class="col"> <p>Rapportert: <a href="' . rapportering::generate_link($row) . '">' . rapportering::$types[$row['r_type']] . '</a></p>'; if ($row['r_state'] <= 0) { $data .= ' <p><b>Ubehandlet rapportering</b></p>'; } elseif ($row['r_state'] == 1) { $data .= ' <p>Blir behandlet av <user id="' . $row['r_crew_up_id'] . '" /><br />(' . ess::$b->date->get($row['r_crew_time'])->format() . ')</p>'; } else { $data .= ' <p>Behandlet av <user id="' . $row['r_crew_up_id'] . '" /><br />(' . ess::$b->date->get($row['r_crew_time'])->format() . ')</p>'; } $data .= ' </div> </div> <div class="col_w right"> <div class="col rap_note">' . game::bb_to_html($row['r_note']) . '</div>' . ($row['r_state'] == 2 ? ' <div class="col rap_note">' . game::bb_to_html($row['r_crew_note']) . '</div>' : '') . ' </div> </div> </div>'; } $data .= ' <p class="c">' . $pagei->pagenumbers_ajax() . '</p>'; ajax::html(parse_html($data));
/** * Må vente før nytt forumsvar kan legges til * @param integer $wait ventetid */ protected function add_reply_error_wait($wait) { \ajax::html("Du må vente " . \game::counter($wait) . " før du kan opprette forumsvaret.", \ajax::TYPE_INVALID); }
/** Forumsvaret ble gjenopprettet */ protected function restore_complete() { // hent utvidet informasjon og returner HTML-malen \ajax::html(parse_html($this->topic->forum->template_topic_reply($this->extended_info()))); }
/** Vis status for henvendelsen (ajax) */ public function status_ajax() { $this->params->lock(); $status = unserialize($this->params->get("repliers")); // oppdater oppføringen for denne spilleren $expire = time() - 300; if (isset($status[login::$user->player->id]) && $status[login::$user->player->id]['last'] >= $expire) { $status[login::$user->player->id]['last'] = time(); } else { $status[login::$user->player->id] = array("first" => time(), "last" => time()); } // lagre liste $this->params->update("repliers", serialize($status), true); // sett opp liste over spillere som har begynt å svare $list = array(); $expire = time() - 180; // vis de som har blitt oppdatert innen 3 min foreach ($status as $up_id => $data) { if ($data['last'] < $expire) { continue; } $list[$up_id] = $data['last']; } arsort($list); // vis liste over spillere $ul = array(); foreach ($list as $up_id => $last) { $ul[] = '<li><user id="' . $up_id . '" /> åpnet svarskjemaet ' . ess::$b->date->get($status[$up_id]['first'])->format(date::FORMAT_SEC) . ' (' . game::timespan($status[$up_id]['first'], game::TIME_ABS | game::TIME_PAST | game::TIME_FULL) . ') -- oppdatert ' . game::timespan($last, game::TIME_ABS | game::TIME_PAST | game::TIME_FULL) . '</p>'; } ajax::html(parse_html(' <ul> ' . implode(' ', $ul) . ' </ul>')); }
/** Ugyldig type */ protected function add_topic_error_type() { \ajax::html("Ugyldig type.", \ajax::TYPE_INVALID); }