<?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); }
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); }
<?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;
* @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); }
<?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); }
$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); }