本文整理汇总了PHP中putlog函数的典型用法代码示例。如果您正苦于以下问题:PHP putlog函数的具体用法?PHP putlog怎么用?PHP putlog使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了putlog函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: get_facebook_cache
/**
* Hent Facebook-cache
*/
protected function get_facebook_cache()
{
// har vi cache?
$data = cache::fetch("facebook_posts");
if ($data) {
return $data;
}
// authentiser
$app_id = KOF_FB_APP_ID;
$app_secret = KOF_FB_APP_SECRET;
if (!$app_id || !$app_secret) {
return null;
}
$ret = @file_get_contents("https://graph.facebook.com/oauth/access_token?client_id={$app_id}&client_secret={$app_secret}&grant_type=client_credentials");
if ($ret === false) {
// kunne ikke hente data
putlog("CREWCHAN", "Henting av Facebook-data feilet.");
cache::store("facebook_posts", array());
}
$info = null;
parse_str($ret, $info);
// hent JSON
$json = @file_get_contents("https://graph.facebook.com/kofradia/posts?access_token={$info['access_token']}");
$data = json_decode($json, true);
cache::store("facebook_posts", $data);
return $data;
}
示例2: check_new
/**
* Sjekk etter nye ting
*/
public static function check_new($data)
{
global $_base, $_game;
$last_prev = isset(game::$settings['wordpress_last']) ? intval(game::$settings['wordpress_last']['value']) : false;
$last = 0;
// hent siste data
$last_data = isset(game::$settings['wordpress_last_data']) ? unserialize(game::$settings['wordpress_last_data']['value']) : NULL;
// reverser data så nyeste kommer til slutt
$data = array_reverse($data);
// gå gjennom og se om noe er nyere
$time_old = time() - 600;
foreach ($data as $row) {
$last = max($row['time'], $last);
// ny?
if ($last_prev !== false && $row['time'] > $last_prev) {
// loggmelding
$time = $row['time'] < $time_old ? ' (' . $_base->date->get($row['time'])->format() . ')' : '';
putlog("INFO", '%bNytt innlegg i bloggen:%b %u' . $row['title'] . '%u' . $time . ' ' . $row['link']);
}
}
// lagre hvis det var noe nytt
if ($last > 0 && ($last_prev === false || $last_prev < $last || isset($last_data) && ($row['link'] != $last_data['link'] || $row['title'] != $last_data['title']))) {
$data = \Kofradia\DB::quote(serialize($row));
\Kofradia\DB::get()->exec("REPLACE INTO settings SET name = 'wordpress_last', value = {$last}");
\Kofradia\DB::get()->exec("REPLACE INTO settings SET name = 'wordpress_last_data', value = {$data}");
}
}
示例3: set_data
/**
* Oppdater en Hall of Fame (oppnådd)
*/
protected static function set_data($name, $sub, $data, $extra = null)
{
$a = \Kofradia\DB::get()->exec("\n\t\t\tINSERT IGNORE INTO hall_of_fame\n\t\t\tSET\n\t\t\t\thof_name = " . \Kofradia\DB::quote($name) . ",\n\t\t\t\thof_sub = " . \Kofradia\DB::quote($sub) . ",\n\t\t\t\thof_time = " . time() . ",\n\t\t\t\thof_data = " . \Kofradia\DB::quote(serialize($data)));
$affected = $a > 0;
// logg
list($subject, $url) = self::get_subject($name, $extra);
$text = self::get_text($name, $sub, $data);
putlog("INFO", "%bHALL OF FAME:%b %u" . $subject . "%u ble " . $text . " {$url}");
// spillerlogg
$up = null;
if ($name != "familie" && $name != "familie_rank") {
$up = $extra;
}
if ($name == "ff_owner") {
$up = $extra[1];
}
if ($up) {
$up->add_log("hall_of_fame", $text);
}
// ff-logg
if ($name == "familie") {
$extra->add_log("info", 'Broderskapet ble det første broderskap i spillet og havnet på <a href="&rpath;/hall_of_fame">Hall of Fame</a>!');
} elseif ($name == "familie_rank") {
$extra->add_log("info", 'Broderskapet har for øyeblikket flest poeng av alle broderskap på spillet i historien og havnet på <a href="&rpath;/hall_of_fame">Hall of Fame</a>!');
}
self::cache_load(true);
return $affected;
}
示例4: send_email
/** Send en bestemt artikkel på e-post */
protected function send_email($row)
{
$this->email->text('Hei,
Siden du ikke lengre er med i avisfirmaet "' . $row['ff_name'] . '" har din artikkel blitt slettet fordi den ikke tilhørte noen utgivelse. I tilfelle du kanskje ønsker å beholde teksten fra artikkelen, sender vi den på e-post.
Avisfirma: ' . $row['ff_name'] . ' <' . ess::$s['path'] . '/ff/?ff_id=' . $row['ff_id'] . '>
Tittel: ' . $row['ffna_title'] . '
Opprettet: ' . ess::$b->date->get($row['ffna_created_time'])->format(date::FORMAT_SEC) . ($row['ffna_updated_time'] ? '
Sist oppdatert: ' . ess::$b->date->get($row['ffna_updated_time'])->format(date::FORMAT_SEC) : '') . ($row['ffna_published'] ? '
Publisert: ' . ess::$b->date->get($row['ffna_published_time'])->format(date::FORMAT_SEC) : '') . '
Pris: ' . game::format_cash($row['ffna_price']) . '
Innhold:
-- START --
' . $row['ffna_text'] . '
-- SLUTT --
--
Kofradia.no
Denne e-posten er sendt til ' . $row['u_email'] . ' som ' . ($row['up_access_level'] == 0 ? 'tidligere tilhørte' : 'tilhører') . ' ' . $row['up_name'] . '
' . ess::$s['path']);
$this->email->format();
mailer::add_emails($this->email, $row['u_email'], "Din tidligere artikkel: {$row['ffna_title']} - Kofradia", true);
putlog("CREWCHAN", "AVISARTIKKEL SLETTET: E-post planlagt for utsendelse. %c4Mailer scriptet må kjøres!");
}
示例5: adjust_capacity
/**
* Juster kapasiteten i bomberommene
*/
public static function adjust_capacity()
{
// finn antall pålogget siste 48 timer
$expire = time() - 86400 * 2;
$result = \Kofradia\DB::get()->query("SELECT COUNT(*) FROM users_players WHERE up_access_level != 0 AND up_last_online > {$expire}");
$ant_online = $result->fetchColumn(0);
// for julaften og nyttår
$d = array("12-24", "12-30", "12-31");
$f = 1;
if (in_array(ess::$b->date->get()->format("m-d"), $d)) {
$f = 3;
// 3 ganger så mange plasser
}
// antall som skal fordeles (minimum 5 stk)
$ant_fordeles = max(5, ceil($ant_online * self::CAPACITY_FACTOR * $f));
\Kofradia\DB::get()->beginTransaction();
// hent ut alle bomberommene
$result = \Kofradia\DB::get()->query("SELECT ff_id, ff_params FROM ff WHERE ff_type = 4 AND ff_inactive = 0 FOR UPDATE");
$bomberom = array();
while ($row = $result->fetch()) {
$row['rest'] = 0;
// antall ekstra plasser det skal settes av (de som blir fordelt tilfeldig)
$bomberom[] = $row;
}
// ingen bomberom?
$ant_bomberom = count($bomberom);
if ($ant_bomberom == 0) {
putlog("LOG", "BOMBEROM KAPASITET: Ingen bomberom eksisterer.");
\Kofradia\DB::get()->commit();
return;
}
// fordel plasser på bomberommene
$per_bomberom = floor($ant_fordeles / $ant_bomberom);
$rest = $ant_fordeles % $ant_bomberom;
// eksta å fordele tilfeldig?
if ($rest > 0) {
// plukk ut tilfeldige bomberom
$tilfeldige = (array) array_rand($bomberom, $rest);
foreach ($tilfeldige as $key) {
$bomberom[$key]['rest']++;
}
}
// oppdater bomberommene
foreach ($bomberom as $row) {
// antall bomberommet skal ha plass til
$ant = $row['rest'] + $per_bomberom;
// frihavnen får dobbelt så mange plasser
if ($row['ff_id'] == 44) {
$ant += $per_bomberom;
}
// oppdater
$params = new params($row['ff_params']);
$params->update("bomberom_kapasitet", $ant);
// lagre
\Kofradia\DB::get()->exec("UPDATE ff SET ff_params = " . \Kofradia\DB::quote($params->build()) . " WHERE ff_id = {$row['ff_id']}");
}
// lagre
\Kofradia\DB::get()->commit();
}
示例6: putlog
/**
* Tunnel til putlog funksjonen
* @return unknown
*/
protected static function putlog(Category $forum, $location, $msg)
{
// ff?
if ($forum->ff) {
return putlog("FF", ucfirst($forum->ff->type['refobj']) . " {$forum->ff->data["ff_name"]} - " . $msg);
}
return putlog($location, $msg);
}
示例7: add
/**
* Legg til søknad
*/
public static function add($type, $params, $reason, $rel_id = NULL)
{
global $_base, $__server;
$type = (int) $type;
$rel_id = $rel_id === NULL ? 'NULL' : intval($rel_id);
// kontroller typen
if (!isset(self::$types[$type])) {
throw new HSException("Fant ikke typen.");
}
// legg til
\Kofradia\DB::get()->exec("INSERT INTO div_soknader SET ds_type = {$type}, ds_up_id = " . self::up_id() . ", ds_rel_id = {$rel_id}, ds_time = " . time() . ", ds_reason = " . \Kofradia\DB::quote($reason) . ", ds_params = " . \Kofradia\DB::quote(serialize($params)));
// oppdater cache
tasks::set("soknader", \Kofradia\DB::get()->query("SELECT COUNT(ds_id) FROM div_soknader WHERE ds_reply_decision = 0")->fetchColumn(0));
// logg
putlog("NOTICE", "%bNY SØKNAD:%b {$__server['https_path']}{$__server['relative_path']}/crew/soknader");
return \Kofradia\DB::get()->lastInsertId();
}
示例8: __construct
public function __construct()
{
// fjern alle kulene som ikke er kjøpt allerede
\Kofradia\DB::get()->exec("TRUNCATE bullets");
// sett opp tidsperiode
$this->get_time_period();
// sett opp firmaene hvor kulene skal bli fordelt mellom
$this->get_ff_list();
// har vi ingen firmaer?
if (count($this->ff_list) == 0) {
putlog("CREWCHAN", "KULEPLANLEGGING: Det er ingen firmaer som kan selge kuler.");
return;
}
// finn ut antall kuler vi skal fordele til hvert firma
$this->get_count();
// logg antall kuler
putlog("CREWCHAN", "KULEPLANLEGGING: {$this->count_total} kuler planlagt for salg.");
// legg til kulene i databasen
$this->add();
}
示例9: load_user
protected function load_user()
{
$user = login::$user;
// vise en spesiell bruker?
if (isset($_GET['u_id']) && access::has("admin")) {
// hent bruker
$user = user::get((int) $_GET['u_id']);
// fant ikke?
if (!$user) {
echo '
<h1>Meldinger</h1>
<p>Fant ingen bruker med ID <b>' . htmlspecialchars($_GET['u_id']) . '</b>.</p>';
$this->load_page();
}
$this->show_deleted = true;
}
$this->inbox = new user_innboks($user);
// logg visning av innboks
putlog("PROFILVIS", "%c5%bVIS-MELDINGER:%b%c %u" . login::$user->player->data['up_name'] . "%u ({$_SERVER['REQUEST_URI']})");
// lagre redirect adresse
redirect::store($this->addr());
}
示例10: action_notify
/**
* Handle notify URLs from PayPal
*/
public function action_notify()
{
file_put_contents(PATH_ROOT . "/paypal.log", print_r($_POST, true), FILE_APPEND);
// TODO: remove this when tested on production
if (!isset($_POST['receiver_email']) || $_POST['receiver_email'] != 'henrist@henrist.net') {
die;
}
// should really check for duplicates, but we don't
// but it must be "completed"
if (!isset($_POST['payment_status']) || $_POST['payment_status'] != 'Completed') {
die;
}
// verify it
$verify = Donation::verifyPayPalData($_POST);
if (!$verify) {
die;
}
// check for user etc
$custom = postval("custom");
if (!preg_match('~^(.*):(.*);public=(0|1)$~', $custom, $matches)) {
die;
}
trigger_error("should add");
$player = null;
if ($matches[1] != "gjest") {
// find this player
$result = DB::get()->query("\n\t\t\t\tSELECT up_id\n\t\t\t\tFROM users_players\n\t\t\t\t\tLEFT JOIN users ON up_u_id = u_id\n\t\t\t\t\tLEFT JOIN sessions ON u_id = ses_u_id\n\t\t\t\tWHERE ses_id = " . DB::quote($matches[1]) . " AND up_id = " . DB::quote($matches[2]) . " LIMIT 1");
if ($up_id = $result->fetchColumn(0)) {
$player = \player::get($up_id);
}
}
$time = \ess::$b->date->parse(postval("payment_date"));
// add it
$d = Donation::create(postval("mc_gross"), $time, $matches[3] ? $player->id : null);
putlog("CREWCHAN", sprintf("%%uDONASJON:%%u %s %s ble donert av %s", postval("mc_currency"), postval("mc_gross"), $player ? $player->data['up_name'] . ($matches[3] ? ' (synlig)' : ' (som anonym)') : 'anonym gjest'));
// no output
die;
}
示例11: handle_attack
/**
* Behandle angrep
*/
protected function handle_attack()
{
// har vi ingen kuler?
if (login::$user->player->data['up_weapon_bullets'] == 0) {
return;
}
$bullets = max(0, (int) postval("kuler"));
// har vi ikke så mange kuler?
if ($bullets > login::$user->player->data['up_weapon_bullets']) {
ess::$b->page->add_message("Du har ikke så mange kuler.", "error");
return;
}
// har ikke skrevet inn noe?
if ($bullets == 0) {
ess::$b->page->add_message("Du må fylle inn antall kuler du ønsker å benytte.", "error");
return;
}
// er offeret i fengsel?
if ($this->up_offer->fengsel_check()) {
ess::$b->page->add_message('<user id="' . $this->up_offer->id . '" /> er i fengsel og kan ikke angripes nå.', "error");
return;
}
// kontroller skjema
if (!$this->form->validateHashOrAlert(null, "Angrip spiller: {$this->up_offer->data['up_name']}")) {
return;
}
// oppdater tidspunkt for siste angrep
\Kofradia\DB::get()->exec("UPDATE users_players SET up_df_time = " . time() . " WHERE up_id = " . login::$user->player->id);
// er i annen bydel, bomberom eller vi klarte ikke å finne spilleren?
$not_found_b = $this->up_offer->data['up_b_id'] != login::$user->player->data['up_b_id'];
$not_found_brom = $this->up_offer->bomberom_check();
$prob = rand(1, 100);
$find_prob = $this->up_offer->calc_find_player_prob() * 100;
$not_found_prob = $prob > $find_prob;
if ($not_found_b || $not_found_brom || $not_found_prob) {
// logg
if ($not_found_b) {
$reason = 'Ikke i samme bydel (' . login::$user->player->bydel['name'] . ' mot ' . $this->up_offer->bydel['name'] . ').';
if ($not_found_brom) {
$reason .= ' Offeret er også i bomberom.';
}
} elseif ($not_found_brom) {
$reason = 'Offeret er i bomberom.';
} else {
$reason = 'Traff ikke på sannsynligheten (' . $prob . ' > ' . ceil($find_prob) . ').';
}
putlog("DF", "ANGREP FEILET: " . login::$user->player->data['up_name'] . " skulle angripe%c3 " . $this->up_offer->data['up_name'] . "%c med {$bullets} " . fword("kule", "kuler", $bullets) . ". {$reason}");
// øk telleren over antall ganger vi ikke har funnet spiller
\Kofradia\DB::get()->exec("UPDATE users_players SET up_attack_failed_num = up_attack_failed_num + 1 WHERE up_id = " . login::$user->player->id);
// øk telleren over antall ganger vi ikke har funnet spiller (for familien spilleren er medlem i)
login::$user->player->attack_ff_update("failed");
// øk teller for ff for offeret
$this->up_offer->attacked_ff_update("failed");
// sett i fengsel i 2-4 minutter
$fengsel = login::$user->player->fengsel_rank(100, true, true, rand(120, 240));
// mist energi
login::$user->player->energy_use(self::ENERGY_NOT_FOUND);
// øk anti-bot
$this->antibot->increase_counter();
// trigger
login::$user->player->trigger("attack_notfound", array("not_found_b" => $not_found_b, "not_found_brom" => $not_found_brom, "not_found_prob" => $not_found_prob, "bullets" => $bullets, "up" => $this->up_offer));
// vis resultat og last inn siden
$this->attack_result_notfound_show($fengsel, $bullets);
redirect::handle();
}
// angrip spilleren
$result = login::$user->player->weapon->attack($this->up_offer, $bullets);
// sett ned antall kuler spilleren har
\Kofradia\DB::get()->exec("UPDATE users_players SET up_weapon_bullets = GREATEST(0, up_weapon_bullets - {$bullets}) WHERE up_id = " . login::$user->player->id);
login::$user->player->data['up_weapon_bullets'] = max(0, login::$user->player->data['up_weapon_bullets'] - $bullets);
// trigger
login::$user->player->trigger("attack", array("attack" => $result, "up" => $this->up_offer));
// vis resultat og last inn siden
$this->attack_result_show($result, $bullets);
}
示例12: step4
function step4()
{
global $__server, $_game;
// er skjemaet sendt inn?
if ($_SERVER['REQUEST_METHOD'] == "POST") {
// sjekk for gyldig trinn
if (!isset($_POST['step']) || $_POST['step'] != 4) {
redirect::handle();
}
// betingelser, alder, forste_bruker
$betingelser = isset($_POST['betingelser']);
$alder = isset($_POST['alder']);
$forste_bruker = isset($_POST['forste_bruker']);
// er ikke betingelsene godtatt?
if (!$betingelser) {
ess::$b->page->add_message("Hvis du ikke godtar betingelsene kan du dessverre ikke registrere deg her.", "error");
} elseif (!$alder) {
ess::$b->page->add_message("Hvis du ikke har fylt 13 år kan du dessverre ikke registrere deg her.", "error");
} elseif (!$forste_bruker) {
ess::$b->page->add_message("Hvis du allerede har en bruker fra før så bruk den! Å opprette ny konto gjør det bare dumt for deg selv og kan i værste tilfelle føre til politianmeldelse.", "error");
} else {
// finn en tilfeldig bydel
$result = \Kofradia\DB::get()->query("SELECT id FROM bydeler WHERE active = 1 ORDER BY RAND()");
$bydel = $result->fetchColumn(0);
// sett opp nødvendig info
$user = \Kofradia\DB::quote($this->info['user']);
$pass = \Kofradia\DB::quote($this->info['pass']);
$email = \Kofradia\DB::quote($this->info['email']);
$referer = \Kofradia\DB::quote($this->info['referer']);
$tos_version = intval(game::$settings['tos_version']['value']);
$birth = \Kofradia\DB::quote($this->info['birth']);
$recruiter = array("up_id" => 'NULL', "up_u_id" => 'NULL');
global $__server;
// er denne brukeren vervet?
if (isset($_COOKIE[$__server['cookie_prefix'] . "rid"])) {
$rid = $_COOKIE[$__server['cookie_prefix'] . "rid"];
// finnes denne brukeren?
$result = \Kofradia\DB::get()->query("SELECT up_id, up_u_id FROM users_players WHERE up_id = " . \Kofradia\DB::quote($rid));
if ($row = $result->fetch()) {
$recruiter = $row;
}
}
\Kofradia\DB::get()->beginTransaction();
// deaktiver kontroll av foreign key
\Kofradia\DB::get()->exec("SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0");
// opprett bruker
$time = time();
\Kofradia\DB::get()->exec("INSERT INTO users SET u_email = {$email}, u_pass = {$pass}, u_birth = {$birth}, u_tos_version = {$tos_version}, u_created_time = {$time}, u_created_ip = " . \Kofradia\DB::quote($_SERVER['REMOTE_ADDR']) . ", u_created_referer = {$referer}, u_recruiter_u_id = {$recruiter['up_u_id']}, u_recruiter_points_last = 0");
$u_id = \Kofradia\DB::get()->lastInsertId();
// opprett spiller og tilknytt brukeren
\Kofradia\DB::get()->exec("INSERT INTO users_players SET up_u_id = {$u_id}, up_name = {$user}, up_created_time = {$time}, up_recruiter_up_id = {$recruiter['up_id']}, up_b_id = {$bydel}");
$up_id = \Kofradia\DB::get()->lastInsertId();
\Kofradia\DB::get()->exec("UPDATE users SET u_active_up_id = {$up_id} WHERE u_id = {$u_id}");
// aktiver kontroll av foreign key
\Kofradia\DB::get()->exec("SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS");
// sett opp riktig rank plassering
#\Kofradia\DB::get()->exec("UPDATE users_players AS main, (SELECT COUNT(users_players.up_id)+1 AS pos, ref.up_id FROM users_players AS ref LEFT JOIN users_players ON users_players.up_points > ref.up_points AND users_players.up_access_level < {$_game['access_noplay']} AND users_players.up_access_level != 0 WHERE ref.up_id = $up_id GROUP BY ref.up_id) AS rp SET main.up_rank_pos = rp.pos WHERE main.up_id = rp.up_id");
\Kofradia\DB::get()->exec("INSERT INTO users_players_rank SET upr_up_id = {$up_id}");
ranklist::update();
// slett registrasjonsoppføringen
\Kofradia\DB::get()->exec("DELETE FROM registration WHERE id = {$this->id}");
\Kofradia\DB::get()->commit();
// send e-post
$email = new email();
$email->text = 'Hei,
Du har registrert deg som ' . $this->info['user'] . ' på Kofradia.
Velkommen til spillet!
--
www.kofradia.no';
$email->headers['X-SMafia-IP'] = $_SERVER['REMOTE_ADDR'];
$email->headers['Reply-To'] = "henvendelse@smafia.no";
$email->send($this->info['email'], "Velkommen til Kofradia");
ess::$b->page->add_message('Velkommen til Kofradia!<br /><br />Du er nå registrert som <b>' . $this->info['user'] . '</b> og automatisk logget inn.<br /><br />Sjekk ut menyen til venstre så ser du hva vi har å tilby i dag.<br /><br />Hvis du har noen spørsmål ta en titt under <a href="' . ess::$s['relative_path'] . '/node">hjelp</a> og ta evt. kontakt med <a href="support/">support</a> om du ikke finner svar på det du lurer på!<br /><br />Ikke glem og les gjennom <a href="' . ess::$s['relative_path'] . '/node/6">reglene for forumene</a> før du skriver i forumet. Lykke til i spillet!');
// hent antall medlemmer
$result = \Kofradia\DB::get()->query("SELECT COUNT(up_id) FROM users_players WHERE up_access_level < {$_game['access_noplay']} AND up_access_level != 0");
putlog("INFO", "%bNY SPILLER:%b (#{$up_id} - Nummer %b" . $result->fetchColumn(0) . "%b) %u{$this->info['user']}%u registrerte seg! {$__server['absolute_path']}{$__server['relative_path']}/p/" . rawurlencode($this->info['user']));
// logg inn brukeren
login::do_login($u_id, $this->info['pass'], LOGIN_TYPE_TIMEOUT, false);
// slett registrasjonsoppføringen fra session etc
$this->trash();
// sjekk om det er mulig multi
$result = \Kofradia\DB::get()->query("\n\t\t\t\t\tSELECT up_name\n\t\t\t\t\tFROM users_players, users\n\t\t\t\t\tWHERE u_online_ip = " . \Kofradia\DB::quote($_SERVER['REMOTE_ADDR']) . "\n\t\t\t\t\t\tAND u_id != {$u_id}\n\t\t\t\t\t\tAND u_active_up_id = up_id AND up_access_level != 0\n\t\t\t\t\t\tAND up_last_online > " . (time() - 86400 * 30) . "\n\t\t\t\t\tLIMIT 10");
if ($result->rowCount() > 0) {
$names = array();
while ($row = $result->fetch()) {
$names[] = $row['up_name'];
}
putlog("CREWCHAN", "%b%c4NY REGISTERT, MULIG MULTI:%c%b (#{$up_id}) %u{$this->info['user']}%u registrerte seg. Andre spillere på IP-en: " . implode(", ", $names) . ". {$__server['path']}/admin/brukere/finn?ip=" . rawurlencode($_SERVER['REMOTE_ADDR']));
}
// videresend til hovedsiden
redirect::handle("", redirect::ROOT);
}
}
echo '
<form action="registrer" method="post">
<input type="hidden" name="abort" />
<h1>Bekreftelse av betingelsene</h1>
//.........这里部分代码省略.........
示例13: parse_receivers
/**
* Sett opp og kontroller mottakere
*/
protected function parse_receivers()
{
// sett opp søk
$where = $this->get_receivers();
if (!$where) {
return null;
}
// hent brukere og evt. blokk
$result = \Kofradia\DB::get()->query("\n\t\t\tSELECT u_active_up_id, u_access_level, up_id, up_name, up_access_level, uc_id, uc_info\n\t\t\tFROM (\n\t\t\t\tSELECT u_active_up_id, u_access_level, up_id, up_name, up_access_level, uc_id, uc_info\n\t\t\t\tFROM users_players, users LEFT JOIN users_contacts ON u_id = uc_u_id AND uc_contact_up_id = " . login::$user->player->id . " AND uc_type = 2\n\t\t\t\tWHERE up_u_id = u_id AND {$where}\n\t\t\t\tORDER BY up_access_level = 0, up_last_online DESC\n\t\t\t) ref\n\t\t\tGROUP BY up_name");
$this->errors = array();
$this->infos = array();
$receivers = array();
while ($row = $result->fetch()) {
// seg selv?
if ($row['up_id'] == login::$user->player->id) {
$this->remove_player($row);
$this->errors[] = 'Du kan ikke legge til deg selv som mottaker. Du er mottaker av meldingen automatisk.';
} elseif ($row['up_access_level'] == 0 && (!access::has("crewet") || $row['u_access_level'] == 0 || count($this->players_list) > 1 || $row['u_active_up_id'] != $row['up_id'])) {
if (!access::has("crewet") || $row['u_access_level'] == 0 || $row['u_active_up_id'] != $row['up_id']) {
$this->remove_player($row);
$this->errors[] = '<user id="' . $row['up_id'] . '" /> er død og kan ikke motta meldinger.';
} else {
$receivers[] = $row;
$this->errors[] = '<user id="' . $row['up_id'] . '" /> er død, men brukeren er aktivert. Kan motta meldinger hvis spilleren er den eneste mottakeren.';
}
} elseif ($row['uc_id'] && !access::has("crewet")) {
$this->remove_player($row);
// sett opp begrunnelse
$info = $row['uc_info'];
$reason = game::bb_to_html($info);
$reason = empty($reason) ? '' : ' Begrunnelse: ' . $reason;
$this->errors[] = '<user id="' . $row['up_id'] . '" /> har blokkert deg og kan ikke legges til som mottaker.' . $reason;
} else {
// forbeholdt mot å motta meldinger? -> men crew
if (in_array($row['up_access_level'], ess::$g['access']['block_pm']) && access::has("crewet")) {
$this->infos[] = '<user id="' . $row['up_id'] . '" /> er egentlig reservert mot meldinger.';
} elseif (in_array($row['up_access_level'], ess::$g['access']['block_pm'])) {
$result2 = \Kofradia\DB::get()->query("\n\t\t\t\t\t\tSELECT uc_contact_up_id\n\t\t\t\t\t\tFROM users_players, users_contacts\n\t\t\t\t\t\tWHERE up_id = {$row['up_id']}\n\t\t\t\t\t\t AND up_u_id = uc_u_id\n\t\t\t\t\t\t AND uc_contact_up_id = " . login::$user->player->id . "\n\t\t\t\t\t\t AND uc_type = 1");
$kontakt = $result2->rowCount() > 0;
// ikke kontakt? sjekk for mottatt melding innen 24 timer
if (!$kontakt) {
$expire = time() - 86400;
$result2 = \Kofradia\DB::get()->query("\n\t\t\t\t\t\t\tSELECT MAX(ir2.ir_restrict_im_time)\n\t\t\t\t\t\t\tFROM inbox_rel AS ir1, inbox_rel AS ir2\n\t\t\t\t\t\t\tWHERE ir1.ir_up_id = {$row['up_id']} AND ir1.ir_it_id = ir2.ir_it_id AND ir2.ir_up_id = " . login::$user->player->id . " AND ir1.ir_deleted = 0");
// for lenger enn 24 timer siden? --> kan ikke sende melding
if ($result2->rowCount() == 0 || $result2->fetchColumn(0) < $expire) {
$this->remove_player($row);
$this->errors[] = '<user id="' . $row['up_id'] . '" /> kan ikke legges til som mottaker fordi spilleren er reservert mot dette. For å kunne sende melding til denne spilleren må du være i kontaklisten til personen, eller ha mottatt en melding fra personen i løpet av de siste 24 timene.';
putlog("NOTICE", "%bMELDING SPERRET%b: %u" . login::$user->player->data['up_name'] . "%u forsøkte å sende melding til %u{$row['up_name']}%u men var ikke i kontaktlisten!");
// lagre logg
$file = GAMELOG_DIR . "/message_reject_" . date("Ymd_His") . ".log";
$fh = @fopen($file, "w");
if ($fh) {
fwrite($fh, "Melding fra " . login::$user->player->data['up_name'] . " (ID: " . login::$user->player->id . ")\n\n\n" . print_r($_POST, true));
fclose($fh);
putlog("NOTICE", "%c4%bMESSAGE LOG SAVED TO %u{$file}%u");
} else {
putlog("NOTICE", "%c0,4%bERROR SAVING MESSAGE LOG TO FILE {$file}");
}
continue;
}
}
}
// kan sende melding
$receivers[] = $row;
// blokkert men vi er crew? (testet ovenfor hvis man ikke var crew)
if ($row['uc_id']) {
$info = $row['uc_info'];
$reason = game::bb_to_html($info);
$reason = empty($reason) ? '' : ' Begrunnelse: ' . $reason;
$this->infos[] = '<user id="' . $row['up_id'] . '" /> har egentlig blokkert deg.' . $reason;
}
}
}
$this->receivers = $receivers;
}
示例14: intval
}
$q = $_POST['q'];
// limit
$limit = intval(min(100, max(1, postval("limit", 10))));
// ekskluder?
$exclude = "";
$exclude_ids = array();
if (isset($_POST['exclude'])) {
$exclude_ids = array_unique(array_map("intval", explode(",", $_POST['exclude'])));
if (count($exclude_ids) > 0) {
$exclude = "up_id NOT IN (" . implode(",", $exclude_ids) . ") AND ";
}
}
// ignorere egne deaktiverte spillere?
if (isset($_POST['is'])) {
$exclude .= "up_u_id != " . login::$user->id . " AND ";
}
// hent brukere
$q2 = \Kofradia\DB::quote(str_replace("_", "\\_", $q));
$result = \Kofradia\DB::get()->query("SELECT SQL_CALC_FOUND_ROWS up_id, up_name, up_access_level FROM users_players WHERE {$exclude}up_name LIKE {$q2} ORDER BY LENGTH(up_name), up_name LIMIT {$limit}");
$result2 = \Kofradia\DB::get()->query("SELECT FOUND_ROWS()");
$num = $result2->fetchColumn(0);
// logg
putlog("LOG", "%c3%bFINN-SPILLER:%b%c %u" . login::$user->player->data['up_name'] . "%u søkte etter %u{$q}%u!");
// xml
$data = '<userlist query="' . htmlspecialchars($q) . '" limit="' . $limit . '" results="' . $num . '">';
while ($row = $result->fetch()) {
$data .= '<user up_id="' . $row['up_id'] . '" up_name="' . htmlspecialchars($row['up_name']) . '">' . htmlspecialchars(game::profile_link($row['up_id'], $row['up_name'], $row['up_access_level'])) . '</user>';
}
$data .= '</userlist>';
ajax::xml($data);
示例15: putlog
ess::$b->page->add_message('Brukeren til <user id="' . $up['up_id'] . '" /> er deaktivert. Endringer må gjøres manuelt.', "error");
redirect::handle();
}
// er spilleren deaktivert?
if ($up['up_access_level'] == 0) {
ess::$b->page->add_message('Spilleren <user id="' . $up['up_id'] . '" /> er deaktivert. Endringer må gjøres manuelt.', "error");
redirect::handle();
}
// overfør nivå
\Kofradia\DB::get()->exec("UPDATE users, users_players SET up_access_level = u_access_level WHERE u_active_up_id = up_id AND up_id = {$up['up_id']} AND u_access_level != 0 AND up_access_level != 0");
ess::$b->page->add_message('Tilgangsnivået til brukeren <user id="' . $up['up_id'] . '" /> ble overført til spilleren.');
// ranklista
\Kofradia\DB::get()->exec("UPDATE users, users_players_rank SET upr_up_access_level = u_access_level WHERE upr_up_id = {$up['up_id']} AND upr_up_id = u_active_up_id");
ranklist::update();
// logg
putlog("CREWCHAN", "TILGANGSNIVÅ OVERFØRT: Tilgangsnivået til {$up['up_name']} ble overført fra brukeren (nivå: {$up['u_access_level']}) til spilleren (gammelt nivå: {$up['up_access_level']}).");
redirect::handle();
}
$result = \Kofradia\DB::get()->query("\n\t\tSELECT u_id, u_access_level, up_access_level, up_id, up_name, up_last_online\n\t\tFROM users, users_players\n\t\tWHERE u_active_up_id = up_id AND up_u_id = u_id AND u_access_level != up_access_level AND (up_access_level != 0 || u_access_level != 1)\n\t\tORDER BY up_name");
if ($result->rowCount() > 0) {
$admin = access::has("admin");
echo '
<div class="bg1_c medium">
<h1 class="bg1">Forskjell mellom brukernivå og spillernivå<span class="left2"></span><span class="right2"></span></h1>
<div class="bg1">
<boxes />' . ($admin ? '
<form action="" method="post">' : '') . '
<table class="table ' . ($admin ? 'tablemt' : 'tablem') . ' center">
<thead>
<tr>
<th>U_ID</th>