public function add($to, $message, $options = []) { extract($options); $news = !empty($news); $project = !empty($project); $issue = !empty($issue); $language = !empty($language) ? $language : false; if ($language) { if (!in_array($language, System::getAvailableLanguages())) { return 'error: INVALID_LANGUAGE'; } } else { $language = $this->user->getLanguage(); } $table = ($project ? 'groups_' : '') . 'posts'; $retStr = Db::query(['INSERT INTO "' . $table . '" ("from","to","message","news","lang") VALUES (:id,:to,:message, :news, :language)', [':id' => $_SESSION['id'], ':to' => $to, ':message' => Comments::parseQuote(htmlspecialchars($message, ENT_QUOTES, 'UTF-8')), ':news' => $news ? 'true' : 'false', ':language' => $language]], Db::FETCH_ERRSTR); if ($retStr != Db::NO_ERRSTR) { return $retStr; } if ($project && $issue && $to == Config\ISSUE_BOARD) { require_once __DIR__ . '/vendor/autoload.php'; $client = new \Github\Client(); $client->authenticate(Config\ISSUE_GIT_KEY, null, \Github\client::AUTH_URL_TOKEN); $message = static::stripTags($message); try { $client->api('issue')->create('nerdzeu', 'nerdz.eu', ['title' => substr($message, 0, 128), 'body' => User::getUsername() . ': ' . $message]); } catch (\Github\Exception\RuntimeException $exception) { System::dumpError('GitHub API: ' . $exception->getMessage()); System::dumpError('GitHub API: ' . $exception->getPrevious()); } } return $retStr; }
<?php ob_start('ob_gzhandler'); require_once $_SERVER['DOCUMENT_ROOT'] . '/class/autoload.php'; use NERDZ\Core\User; use NERDZ\Core\System; $user = new User(); ob_start(array('NERDZ\\Core\\Utils', 'minifyHTML')); if (!$user->isLogged()) { die($user->lang('REGISTER')); } $vals = []; $vals['tok_n'] = NERDZ\Core\Security::getCsrfToken('edit'); $longlangs = System::getAvailableLanguages(1); $vals['langs_a'] = []; $i = 0; foreach ($longlangs as $id => $val) { $vals['langs_a'][$i]['longlang_n'] = $val; $vals['langs_a'][$i]['shortlang_n'] = $id; ++$i; } $vals['mylang_n'] = $user->getLanguage($_SESSION['id']); $vals['myboardlang_n'] = $user->getBoardLanguage($_SESSION['id']); $user->getTPL()->assign($vals); $user->getTPL()->draw('preferences/language');
ob_start('ob_gzhandler'); require_once $_SERVER['DOCUMENT_ROOT'] . '/class/autoload.php'; use NERDZ\Core\User; use NERDZ\Core\System; $user = new User(); if (!NERDZ\Core\Security::refererControl()) { die(NERDZ\Core\Utils::jsonResponse('error', $user->lang('ERROR') . ': referer')); } if (!NERDZ\Core\Security::csrfControl(isset($_POST['tok']) ? $_POST['tok'] : 0, 'edit')) { die(NERDZ\Core\Utils::jsonResponse('error', $user->lang('ERROR') . ': token')); } if (!$user->isLogged()) { die(NERDZ\Core\Utils::jsonResponse('error', $user->lang('REGISTER'))); } $lang = isset($_POST['lang']) && is_string($_POST['lang']) ? trim($_POST['lang']) : ''; if (!in_array($lang, System::getAvailableLanguages())) { die(NERDZ\Core\Utils::jsonResponse('error', $user->lang('ERROR'))); } switch (isset($_GET['action']) ? strtolower($_GET['action']) : '') { case 'userlang': if (!$user->setLanguage($lang)) { die(NERDZ\Core\Utils::jsonResponse('error', $user->lang('ERROR'))); } $_SESSION['lang'] = $lang; break; case 'boardlang': if (!$user->setBoardLanguage($lang)) { die(NERDZ\Core\Utils::jsonResponse('error', $user->lang('ERROR'))); } $_SESSION['board_lang'] = $lang; break;