Example #1
0
<?php

/**
 * @package		Home
 * @category	modules
 * @author		Nazar Mokrynskyi <*****@*****.**>
 * @copyright	Copyright (c) 2014, Nazar Mokrynskyi
 * @license		MIT License, see license.txt
 */
namespace cs\modules\Home;

use cs\Index, cs\User;
$Index = Index::instance();
if (!isset($Index->route_ids[0])) {
    error_code(400);
    return;
}
$User = User::instance();
if (!in_array(AUTOMAIDAN_GROUP, $User->get_groups())) {
    error_code(403);
    return;
}
if (!Events::instance()->check_refuse($Index->route_ids[0])) {
    error_code(500);
}
Example #2
0
if (!isset($_POST['stream_code'], $_POST['lat'], $_POST['lng'])) {
    error_code(400);
    return;
}
$User = User::instance();
if (!in_array(STREAMER_GROUP, $User->get_groups())) {
    error_code(403);
    return;
}
$stream_code = trim($_POST['stream_code']);
if (preg_match('/ustream.tv\\/(channel|embed)\\/([0-9]+)/', $stream_code, $m)) {
    $stream_code = "https://www.ustream.tv/embed/{$m['2']}";
} elseif (preg_match('/(youtube.com\\/embed\\/|youtube.com\\/watch\\?v=)([0-9a-z\\-]+)/i', $stream_code, $m)) {
    $stream_code = "https://www.youtube.com/embed/{$m['2']}";
} elseif ($stream_code != '') {
    error_code(400);
    return;
}
$User->set_data('stream_url', $stream_code);
$Events = Events::instance();
$event = $User->get_data('stream_event');
if ($event) {
    $Events->del($event);
}
if ($stream_code) {
    $event = Events::instance()->add(STREAM_CATEGORY, 120, $_POST['lat'], $_POST['lng'], 0, "stream:{$stream_code}", 'urgent', 2, 30, '');
    if (!$event) {
        error_code(500);
    }
    $User->set_data('stream_event', $event);
}
Example #3
0
<?php

/**
 * @package		Home
 * @category	modules
 * @author		Nazar Mokrynskyi <*****@*****.**>
 * @copyright	Copyright (c) 2014, Nazar Mokrynskyi
 * @license		MIT License, see license.txt
 */
namespace cs\modules\Home;

use cs\User;
$User = User::instance();
$Events = Events::instance();
if (!$User->user()) {
    error_code(403);
    return;
}
if (!isset($_POST['category'], $_POST['timeout'], $_POST['lat'], $_POST['lng'], $_POST['visible'], $_POST['text'], $_POST['time'], $_POST['time_interval'], $_POST['img'])) {
    error_code(400);
    return;
}
if (in_array(AUTOMAIDAN_GROUP, $User->get_groups()) && !in_array($_POST['category'], [1, 3, 6, 7, 8, 17, 21, 22])) {
    // Magic numbers - id of categories, where confirmation is needed
    error_code(403);
    return;
}
$tags = [];
if ($_POST['address_details']) {
    $tags = _trim(explode(',', $_POST['address_details']));
    $last = count($tags) - 1;
Example #4
0
 * @category	modules
 * @author		Nazar Mokrynskyi <*****@*****.**>
 * @copyright	Copyright (c) 2014, Nazar Mokrynskyi
 * @license		MIT License, see license.txt
 */
namespace cs\modules\Home;

use cs\Index, cs\Page, cs\User;
$Index = Index::instance();
if (!isset($Index->route_ids[0], $_POST['driver'])) {
    error_code(400);
    return;
}
$User = User::instance();
if (!in_array(AUTOMAIDAN_COORD_GROUP, $User->get_groups())) {
    error_code(403);
    return;
}
$Events = Events::instance();
$event = $Events->get($Index->route_ids[0]);
if (!$event) {
    error_code(404);
    return;
}
if ($event['user'] == $_POST['driver']) {
    error_code(400);
    Page::instance()->error('Цей той самий водій, який додав подію на карту, оберіть іншого для підтвердження.');
}
if (!Events::instance()->check_assign($Index->route_ids[0], $_POST['driver'])) {
    error_code(500);
}
 * @category	modules
 * @author		Nazar Mokrynskyi <*****@*****.**>
 * @copyright	Copyright (c) 2014, Nazar Mokrynskyi
 * @license		MIT License, see license.txt
 */
namespace cs\modules\Home;

use cs\User;
if (!isset($_POST['lat'], $_POST['lng'])) {
    error_code(400);
    return;
}
$User = User::instance();
if (!in_array(STREAMER_GROUP, $User->get_groups())) {
    error_code(403);
    return;
}
$Events = Events::instance();
$event = $User->get_data('stream_event');
if (!$event) {
    error_code(404);
    return;
}
$event = $Events->get($event);
if (!$event) {
    error_code(404);
    return;
}
if (!Events::instance()->set($event['id'], 120, $_POST['lat'], $_POST['lng'], 0, $event['text'], 'urgent', 2, 60, '')) {
    error_code(500);
}
Example #6
0
<?php

/**
 * @package		Home
 * @category	modules
 * @author		Nazar Mokrynskyi <*****@*****.**>
 * @copyright	Copyright (c) 2014, Nazar Mokrynskyi
 * @license		MIT License, see license.txt
 */
namespace cs\modules\Home;

use cs\Page, cs\User;
$User = User::instance();
if (!in_array(AUTOMAIDAN_GROUP, $User->get_groups())) {
    error_code(403);
    return;
}
$event = Events::instance()->check_is_assigned();
if (!$event) {
    error_code(404);
} else {
    Page::instance()->json($event);
}
Example #7
0
$groups = array_combine(array_column($groups, 'id'), $groups);
$groups = array_map(function ($g) {
    $g['categories'] = [];
    return $g;
}, $groups);
$categories_ = [];
foreach ($categories as $c) {
    $categories_[$c['id']] = $c;
    $groups[$c['group']]['categories'][] = $c['id'];
}
$categories = $categories_;
unset($categories_, $c);
$Page->js('cs.home = ' . _json_encode(['categories' => $categories, 'reporter' => in_array(STREAMER_GROUP, $User->get_groups() ?: []) ? _json_encode($User->get_data('stream_url') ?: 1) : 0, 'automaidan' => (int) in_array(AUTOMAIDAN_GROUP, $User->get_groups() ?: []), 'automaidan_coord' => (int) in_array(AUTOMAIDAN_COORD_GROUP, $User->get_groups() ?: [])]) . ';', 'code');
$Index = Index::instance();
if (isset($Index->route_ids[0])) {
    $event = Events::instance()->get($Index->route_ids[0]);
    if ($event) {
        $Page->Description = 'Додано: ' . date('H:i d.m.Y', $event['added']);
        if ($event['timeout'] > 0) {
            $Page->Description .= ' Актуально до: ' . date('H:i d.m.Y', $event['timeout']);
        }
        if ($event['img']) {
            $Page->replace('https://opir.org/components/modules/Home/includes/img/share.png', $event['img']);
        }
        if (strpos($event['text'], 'stream:') === false) {
            $Page->Description .= ' ' . $event['text'];
        }
        $Page->og('title', array_column(Events_categories::instance()->get_all(), 'name', 'id')[$event['category']]);
    }
    unset($event);
}