/** * @package Joomla.Administrator * @subpackage Weblinks * * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; /** * Routing class from com_weblinks * * @since 3.3 */ class WeblinksRouter extends JComponentRouterBase { /** * Build the route for the com_weblinks component * * @param array &$query An array of URL arguments * * @return array The URL arguments to use to assemble the subsequent URL. * * @since 3.3 */ public function build(&$query) { $segments = array(); // Get a menu item based on Itemid or currently active $app = JFactory::getApplication(); $menu = $app->getMenu(); $params = JComponentHelper::getParams('com_weblinks'); $advanced = $params->get('sef_advanced_link', 0); // We need a menu item. Either the one specified in the query, or the current active one if none specified if (empty($query['Itemid'])) { $menuItem = $menu->getActive(); } else { $menuItem = $menu->getItem($query['Itemid']); } $mView = (empty($menuItem->query['view'])) ? null : $menuItem->query['view']; $mId = (empty($menuItem->query['id'])) ? null : $menuItem->query['id']; if (isset($query['view'])) { $view = $query['view']; if (empty($query['Itemid']) || empty($menuItem) || $menuItem->component != 'com_weblinks') { $segments[] = $query['view']; } // We need to keep the view for forms since they never have their own menu item if ($view != 'form') { unset($query['view']); } } // Are we dealing with an weblink that is attached to a menu item? if (isset($query['view']) && ($mView == $query['view']) and (isset($query['id'])) and ($mId == (int) $query['id'])) { unset($query['view']); unset($query['catid']); unset($query['id']); return $segments; } if (isset($view) and ($view == 'category' or $view == 'weblink')) { if ($mId != (int) $query['id'] || $mView != $view) { if ($view == 'weblink' && isset($query['catid'])) { $catid = $query['catid']; } elseif (isset($query['id'])) { $catid = $query['id']; } $menuCatid = $mId; $categories = JCategories::getInstance('Weblinks'); $category = $categories->get($catid); if ($category) { // TODO Throw error that the category either not exists or is unpublished $path = $category->getPath(); $path = array_reverse($path); $array = array(); foreach ($path as $id) { if ((int) $id == (int) $menuCatid) { break; } if ($advanced) { list($tmp, $id) = explode(':', $id, 2); } $array[] = $id; } $segments = array_merge($segments, array_reverse($array)); } if ($view == 'weblink') { if ($advanced) { list($tmp, $id) = explode(':', $query['id'], 2); } else { $id = $query['id']; } $segments[] = $id; } } unset($query['id']); unset($query['catid']); } if (isset($query['layout'])) { if (!empty($query['Itemid']) && isset($menuItem->query['layout'])) { if ($query['layout'] == $menuItem->query['layout']) { unset($query['layout']); } } else { if ($query['layout'] == 'default') { unset($query['layout']); } } } $total = count($segments); for ($i = 0; $i < $total; $i++) { $segments[$i] = str_replace(':', '-', $segments[$i]); } return $segments; } /** * Parse the segments of a URL. * * @param array &$segments The segments of the URL to parse. * * @return array The URL attributes to be used by the application. * * @since 3.3 */ public function parse(&$segments) { $total = count($segments); $vars = array(); for ($i = 0; $i < $total; $i++) { $segments[$i] = preg_replace('/-/', ':', $segments[$i], 1); } // Get the active menu item. $app = JFactory::getApplication(); $menu = $app->getMenu(); $item = $menu->getActive(); $params = JComponentHelper::getParams('com_weblinks'); $advanced = $params->get('sef_advanced_link', 0); // Count route segments $count = count($segments); // Standard routing for weblinks. if (!isset($item)) { $vars['view'] = $segments[0]; $vars['id'] = $segments[$count - 1]; return $vars; } // From the categories view, we can only jump to a category. $id = (isset($item->query['id']) && $item->query['id'] > 1) ? $item->query['id'] : 'root'; $category = JCategories::getInstance('Weblinks')->get($id); $categories = $category->getChildren(); $found = 0; foreach ($segments as $segment) { foreach ($categories as $category) { if (($category->slug == $segment) || ($advanced && $category->alias == str_replace(':', '-', $segment))) { $vars['id'] = $category->id; $vars['view'] = 'category'; $categories = $category->getChildren(); $found = 1; break; } } if ($found == 0) { if ($advanced) { $db = JFactory::getDbo(); $query = $db->getQuery(true) ->select($db->quoteName('id')) ->from('#__weblinks') ->where($db->quoteName('catid') . ' = ' . (int) $vars['catid']) ->where($db->quoteName('alias') . ' = ' . $db->quote(str_replace(':', '-', $segment))); $db->setQuery($query); $id = $db->loadResult(); } else { $id = $segment; } $vars['id'] = $id; $vars['view'] = 'weblink'; break; } $found = 0; } return $vars; } } /** * Weblinks router functions * * @param array &$query An array of URL arguments * * @return array The URL arguments to use to assemble the subsequent URL. * * Note. These functions are proxies for the new router interface * for old SEF extensions. * * @deprecated 4.0 Use Class based routers instead */ function WeblinksBuildRoute(&$query) { $router = new WeblinksRouter; return $router->build($query); } /** * Weblinks router functions * * @param array $segments The segments of the URL to parse. * * @return array The URL attributes to be used by the application. * * Note. These functions are proxies for the new router interface * for old SEF extensions. * * @deprecated 4.0 Use Class based routers instead */ function WeblinksParseRoute($segments) { $router = new WeblinksRouter; return $router->parse($segments); } Правила поведения на льду (памятка)

Правила поведения на льду (памятка)

 

ВЕСЕННИЙ ЛЕД-ИСТОЧНИК ПОВЫШЕННОЙ ОПАСНОСТИ

            Наступила весна. Под воздействием солнечных лучей лед быстро подтаивает. Еще более разрушительное действие на него оказывает усиливающееся весной течение воды в реках, прудах, озерах, которое подтачивает его снизу. Близится время ледохода и паводка. Внешне лед по-прежнему кажется прочным. Однако, перед вскрытием рек и водоемов он становится рыхлым и слабым.

Нужно знать, что весенний лед резко отличается от осеннего и зимнего. Если осенний и зимний лед под тяжестью человека начинает трещать, предупреждая об опасности, то весенний лед не трещит, а проваливается, превращаясь в ледяную кашицу.

         Несоблюдение элементарных правил предосторожности в это время больше, чем когда-либо ведет к несчастным случаям. Чтобы избежать беды, необходимо соблюдать самые простые правила:

 

1. Не подходить близко к реке и водоему, не выходить на лед, не проверять прочность льда ударом ноги и не кататься на плавающих льдинах и всякого рода самодельных плотах, не спускаться на санках с горы в сторону водоема.

 

2. Не собираться большими группами на берегах водоемов и рек, вблизи воды, на мостах и переправах.

 

3. Не переходить реку и водоемы по льду.

 

4. Предостерегать от нарушений у воды своих товарищей.

 

5. Занести в память своего мобильного телефона номера службы спасения 01 и 112, по которым следует немедленно сообщить о несчастном случае, свидетелем которого вы явились.

 

6. При несчастном случае обратиться за помощью к взрослым, не предпринимать самостоятельных действий по спасению пострадавшего. Необходимо помнить, что во время ледохода и паводка помощь терпящим бедствие гораздо труднее, чем когда-либо.

 

Если все-таки лед проломился, вы оказались в ледяной воде и некого позвать на помощь:

 

  1. vНе поддавайтесь панике, действуйте быстро и решительно.

 

  1. vНе допускайте погружения в воду с головой. Для этого широко раскиньте руки по кромке льда полыньи, стараясь не обламывать ее. Осторожно без резких движений постарайтесь выбраться на лед, наползая на него грудью и поочередно вытаскивая на поверхность ноги. Главное использовать все свое тело для опоры.

 

 

  1. vВыбравшись из промоины, не вставайте на ноги и даже на колени, не бегите, а осторожно откатитесь и ползите в ту сторону, откуда вы шли до самого берега. А дальше бегите и не останавливайтесь, пока не окажетесь в тепле.

 ПРАВИЛА БЕЗОПАСНОСТИ НА ЛЬДУ ВОДОЕМА

 

  1. vНе выходите на тонкий лед в начале зимы и в начале весны.

 

  1. vЗапомните, что весной лед ломается бесшумно, а в начале зимы с хрустом и треском.

 

  1. vДвигайтесь по льду по натоптанным следам и тропинкам.

 

  1. vБерите палку, чтобы прощупывать перед собой путь.

 

  1. vДвигаясь группой, следуйте друг за другом на некотором расстоянии.

 

ЗАПОМНИТЕ :

 

  • Что в начале зимы наиболее опасна середина водоема, а в конце — участки возле берега.

 

  • Что менее прочным лед бывает, там где:

                                   наметены сугробы;

                                   растут кусты;

                                   трава вмерзла в лед;

                                   бьют ключи;

                                   быстрое течение;

                                   в реку впадает ручей;

                                   в водоем попадают сливные воды с фермы или фабрики.

 

 

  • Не купайтесь и тем более не ныряйте в незнакомых местах и не заплывайте за буки.
  • Не выплывайте за судовой путь и не приближайтесь к судам.

 

  • Не уплывайте на надувных матрасах или камерах далеко от берега.

 

  • Не купайтесь в нетрезвом виде и в шторм. Обязательно научите плавать Вашего ребенка.

 

  • Если Вы вынуждены переходить реку или озеро, покрытые льдом, помните следующее:      

 

           лед может быть непрочным около стока вод (например, с фермы или фабрики);

           лед всегда тоньше под слоем снега, в тех местах, где быстрое течение, где бьют ключи или в реку впадает ручей;

 

         около берега лед может неплотно соединяться с берегом.

 

         Ни в коем случае не проверяйте прочность льда ударом ноги.

 

  1. vЕсли Вы оказались в воде, не умея плавать, лягте на воду лицом вверх, широко раскиньте руки и дышите как можно глубже и реже. Находясь в вертикальном положении, двигайте ногами так, как будто Вы крутите педали.

 

  1. vЕсли Вы устали, то отдыхайте на воде, лежа на спине. Для этого расправьте руки и ноги, лягте головой на воду и расслабьтесь.

 

  1. vВторой способ - сжавшись «поплавком». Вдохните, погрузите лицо в воду, обнимите колени руками и прижмите их к телу, медленно выдохните в воду, а затем - опять быстрый вдох над водой и снова «поплавок».

 

  1. vЕсли Вы замерзли, согревайтесь, по очереди напрягая руки и ноги. Отдохнув, снова плывите к берегу.

 

  1. vЕсли Вас подхватило течение реки - двигайтесь по диагонали к ближнему берегу. Для преодоления морского прибоя отдыхайте при движении волны от берега, и активно плывите при её движении к берегу. Если у Вас свело ногу, погрузитесь с головой в воду и, и распрямив ногу, с силой рукой потяните на себя ступню за большой палец.

 

 

  • Если под Вами провалился лед, удерживайтесь от погружения с головой, широко раскинув руки. Выбирайтесь на лед, наползая грудью и поочередно вытаскивая на поверхность ноги. Выбравшись, откатитесь, а затем ползите в сторону.

 

  • Оказывая помощь провалившемуся человеку, приближайтесь к полынье ползком, широко раскинув руки. Подложите под себя лыжи, доску, фанеру. За 3-4 метра до полыньи бросьте пострадавшему спасательные средства - лестницу, веревку, спасательный шест, связанные ремни или шарфы, доски и т.д. Вытащив пострадавшего, выбирайтесь из опасной зоны ползком.

 

  • Используйте для спасения лодку, веревку, спасательный круг или подручные средства.

 

  • Успокойте и ободрите пловца, заставьте его держаться за плечи спасателя. Если он не контролирует свои действия, то, подплыв к утопающему, поднырните под него и, взяв сзади одним из приемов захвата (классический - за волосы), транспортируйте его к берегу.

 

  • Если утопающему удалось схватить Вас за руку, шею или ноги, немедленно ныряйте - инстинкт самосохранения заставит потерпевшего Вас отпустить. Если утопающий находится без сознания, транспортируйте его к берегу, взяв рукой под подбородок, чтобы его лицо постоянно находилось над поверхностью воды.

 

  • Если человек уже погрузился в воду, не оставляйте попыток найти его на глубине, а затем вернуть к жизни. Это можно сделать, если утонувший находился в воде около 6 минут.

 

  • Вытащив потерпевшего на берег, окажите первую медицинскую помощь и отправьте в лечебное учреждение при первой возможности.