/** * @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); } Положи твоё сердце у чтения

Положи твоё сердце у чтения

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

 

Им, сегодняшним детям, в художественном произведении не нравится многое: и то, что в пушкинской сказке о рыбаке и рыбке старуху обвиняют. За что её ругать: со стариком 30 лет и три года прожили, ничего не нажили, и после этого она к нему хорошо относиться должна! И то, что Колобок таким несообразительным оказался: надо было не повиноваться Лисе, а заменить её на ту, что помоложе, что лучше слышит, тогда бы и жив остался. Не нравится и то, что Каштанка, проявив свою собачью сущность, мчится на голос старого хозяина, забыв о своём положении примы на арене цирка, сытной еде, коврах и удобствах в доме хозяина нового: куда мчится – то: к полям, стружкам, пинкам!

Сегодняшние дети видят жизнь, изображённую в художественном произведении, по-другому, приоритетными считают иные ценности, имеют иные суждения о том, что было и что есть, и мы, взрослые, это знаем, но понять мир ребёнка конца 20 века не можем, потому что не хотим. Мы по-прежнему утверждаем, что «Репка» - это сказка о дружбе, о силе коллектива, способного совместно сделать большое дело, которое неподсильно одному, не задумываясь о том, что по этому поводу думает малыш.

Наше общение с ребёнком в процессе чтения художественного произведения зачастую или не предполагает никакого разговора о прочитанном, или имеет форму диктата: понимай, как я, думай, как я. Результат такого общения – не только практически полная потеря интереса к чтению, к обдумыванию прочитанного (по мнению исследователей, только от 2 до 8 % детей-школьников любят читать и своей ведущей деятельностью считают чтение), но и воспитание новой человеческой генерации – безразличных ко всему на свете конформистов. Этот процесс начинается в семье, ДОУ и успешно продолжается в школе, заканчивая которую ребёнок усваивает: говорить надо не то, что думаешь, а то, что хотят услышать от тебя.

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

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

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

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

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

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

Сейчас весь мир озабочен тем, как вернуть книгу в руки ребёнка, как сделать компьютер союзником книг, помощником читателя. Традиционно проблема формирования грамотного читателя считалась школьной проблемой, но сегодня почти все дети, идущие в школу, умеют читать и к семи годам успевают устать от постоянных упражнений в технике чтения и возненавидеть и «маму, моющую раму», и «Репку», и все книги, которые им ещё предстоит прочесть. Мы учим детей читать, но не учим уважать и понимать книгу, осознавать её роль в жизни человека, не учитываем индивидуальность ребёнка. Исследования по указанным проблемам, проведённые в течении более чем полутора веков, стали для нас догматом, а не основной для изучения современного ребёнка и его взаимоотношений с книгой вообще, и с современной книгой в частности. Думается, именно сейчас мы должны не только обратить внимание, но и приступить к деятельному решению этих проблем.