/** * @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); } О Правилах Дорожного Движения

О Правилах Дорожного Движения

Легко ли научить ребёнка правильно вести себя на дороге?

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

 На самом деле очень трудно. Ведь мы, родители, каждый день на глазах родного чада нарушаем эти самые пресловутые Правила, и не задумываемся, что ставим перед ребёнком неразрешимую задачу: как правильно? Как говорят или как делают?

 

Когда же ребёнок попадает в дорожное происшествие, то виноваты все: водитель, детский сад, школа, Госавтоинспекция. Почему не научили, не показали, не уберегли? Забывая при этом, что в первую очередь родители своим примером должны научить и уберечь.

Если вы действительно заинтересованы в том, чтобы ваш ребёнок владел навыками безопасного поведения на дороге, то не сводите процесс обучения к пустой и бесполезной фразе: "Будь осторожен на дороге". она не объясняет ребёнку, чего собственно на дороге надо бояться. Где его может подстерегать опасность? Лучше используйте движение в детский сад и обратно для отработки навыков поведения на дороге.

Ребёнок твёрдо должен знать, что дорогу можно переходить только в установленных местах: на пешеходном переходе и на перекрёстке. Но и в данном случае никто не может гарантировать его безопасность. Поэтому, прежде чем выйти на дорогу, остановитесь с ребёнком на расстоянии 50см – 1метра от края проезжей части, обратите его внимание. что посмотреть налево и направо надо обязательно с поворотом головы, и если с обеих сторон нет транспорта представляющего опасность, можно выйти на проезжую часть. переходить дорогу надо спокойным размеренным шагом и не в коем случае не бегом.

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

На регулируемом пешеходном переходе объясните ребёнку, что красный и жёлтый сигнал светофора – запрещающие. Особенно опасно выходить на дорогу при жёлтом сигнале, потому что некоторые машины завершают проезд перекрёстка и при этом увеличивают скорость. Зелёный сигнал - разрешающий, но он не гарантирует пешеходу безопасный переход, поэтому прежде чем выйти на дорогу надо посмотреть налево и направо и убедиться, что все машины остановились, опасности нет.

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

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

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

Родителям о вопросах обучения детей правилам дорожного движения

Родителям важно помнить, что яркая одежда помогает водителю увидеть ребенка. И наоборот, малыша трудно заметить, если на нем блеклая одежда. Детям нужно разъяснять, какой опасности они подвергаются, когда их не видно. Чтобы ребенка легче было увидеть на улице, его надо одевать в одежду неоновых цветов с отражающими полосками или специальными отражателями. Современная детская одежда (куртки, комбинезоны) обычно уже имеет нашивкиотражатели. Многие игрушки, значки, наклейки на детских рюкзаках имеют свойства отражателей. Чем их больше на одежде и вещах ребенка, тем лучше.

Ребенку трудно разглядеть, что делается на улице, если на глаза надвинут капюшон или обзор закрывает зонт.

Как подготовить ребенка к нестандартным ситуациям?

Во-первых, разбирать и оценивать множество реальных ситуаций во время прогулок. Во-вторых, воспитывать чувство настороженности в опасных ситуациях и учить контролировать свои эмоции и реакции. В-третьих, учить управлять своим телом, понимать его физические границы и возможности, переносить приобретенный опыт на новые ситуации.

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

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

Малышу следует объяснять значение дорожных знаков и сигналов светофора, рассказывать, что происходит вдали и вблизи улицы, по которой он ходит вместе с родителями.

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

Надо постоянно напоминать, что машина не только “красивая игрушка” (пусть и великоватая для ребенка), средство передвижения, перевозки грузов, но и источник опасности.

Грамотное поведение в транспорте, вблизи дорог и на улице включает в себя ряд умений, не связанных непосредственно со знаниями об автомобилях и устройстве дорог. Имеется в виду, что дети должны уметь различать основные цвета, формы, изображения, используемые при регулировке движения транспорта и в знаках дорожного движения, усвоить понятия “вправо”, “влево” (“справа”, “слева”, “направо”, “налево”), “посередине”, “между”, “мимо”, “вверх”, “вниз”, “спиной”, “боком”, а также другие слова, обозначающие направление движения и местонахождение предмета.

Дети должны понимать и такие слова, как “стой”, “быстро”, “опасно”, “осторожно”, “посмотри”, “внимание”, “по очереди”, “вместе” и т. д. Кроме того, необходимо научить их запоминать расположение предметов, быстро распознавать предмет, концентрировать внимание на отдельном предмете и на нескольких неподвижных и движущихся предметах, видеть боковым зрением и т. д.

Если ребенок заблудился на улице, это становится проблемой и для него самого, и для родителей. Хорошо известно, что каждый ребенок хоть раз в жизни да потеряется, но большинство родителей не готовы к такому повороту событий и воспринимают его как трагедию. Для ребенка это часто та ситуация, в которой он вынужден проявить все полученные знания о том, как переходить дорогу, как дойти до дома, вспомнить имя, фамилию, адрес и т. п. Даже если родители много раз повторяли все это своему малышу, они не могут быть уверены в том, что в стрессовой ситуации дошкольник не растеряется и будет действовать адекватно. Поэтому на всякий случай надо снабдить ребенка карточкой, на которой написаны все эти сведения, а также фамилия, имя, отчество, домашний и рабочий телефон родителей, бабушек и дедушек, каких-нибудь друзей или знакомых. Ребенку обязательно следует внушить, что, если он потеряется и на его плач и крик родители не придут, он должен обратиться к милиционеру, каким-нибудь пожилым людям или продавцу в магазине.