Ejemplo n.º 1
0
 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;
 }
Ejemplo n.º 2
0
<?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');
Ejemplo n.º 3
0
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;