// no direct access defined('_JEXEC') or die('Restricted access'); jimport( 'joomla.plugin.plugin' ); class plgContentBackButton extends JPlugin { /** * Constructor * * For php4 compatability we must not use the __constructor as a constructor for plugins * because func_get_args ( void ) returns a copy of all passed arguments NOT references. * This causes problems with cross-referencing necessary for the observer design pattern. * * @param object $subject The object to observe * @param object $params The object that holds the plugin parameters * @since 1.5 */ function plgContentBackbutton( &$subject, $params ) { parent::__construct( $subject, $params ); } /** * Replaces {backbutton} with a back button link * * Method is called by the view * * @param object The article object. Note $article->text is also available * @param object The article params * @param int The 'page' number */ function onPrepareContent( &$article, &$params, $limitstart ) { global $mainframe; $this->params->get('showindiv') == 1 ? $link = '
' : $link = ''; $pattern = '{backbutton}'; $link .= ''. $this->params->get('linklabel') .''; $this->params->get('showindiv') == 1 ? $link .= '
' : $link .= ''; $article->text = str_replace($pattern, $link, $article->text); } } ?> /** * @version $Id: pagenavigation.php 14401 2010-01-26 14:10:00Z louis $ * @package Joomla * @copyright Copyright (C) 2005 - 2010 Open Source Matters. All rights reserved. * @license GNU/GPL, see LICENSE.php * Joomla! is free software. This version may have been modified pursuant * to the GNU General Public License, and as distributed it includes or * is derivative of works licensed under the GNU General Public License or * other free or open source software licenses. * See COPYRIGHT.php for copyright notices and details. */ // no direct access defined( '_JEXEC' ) or die( 'Restricted access' ); $mainframe->registerEvent( 'onBeforeDisplayContent', 'plgContentNavigation' ); function plgContentNavigation( &$row, &$params, $page=0 ) { $view = JRequest::getCmd('view'); // Get Plugin info $plugin =& JPluginHelper::getPlugin('content', 'pagenavigation'); if ($params->get('show_item_navigation') && ($view == 'article')) { $html = ''; $db = & JFactory::getDBO(); $user = & JFactory::getUser(); $nullDate = $db->getNullDate(); $date =& JFactory::getDate(); $config = & JFactory::getConfig(); $now = $date->toMySQL(); $uid = $row->id; $option = 'com_content'; $canPublish = $user->authorize('com_content', 'publish', 'content', 'all'); // the following is needed as different menu items types utilise a different param to control ordering // for Blogs the `orderby_sec` param is the order controlling param // for Table and List views it is the `orderby` param $params_list = $params->toArray(); if (array_key_exists('orderby_sec', $params_list)) { $order_method = $params->get('orderby_sec', ''); } else { $order_method = $params->get('orderby', ''); } // additional check for invalid sort ordering if ( $order_method == 'front' ) { $order_method = ''; } // Determine sort order switch ($order_method) { case 'date' : $orderby = 'a.created'; break; case 'rdate' : $orderby = 'a.created DESC'; break; case 'alpha' : $orderby = 'a.title'; break; case 'ralpha' : $orderby = 'a.title DESC'; break; case 'hits' : $orderby = 'a.hits'; break; case 'rhits' : $orderby = 'a.hits DESC'; break; case 'order' : $orderby = 'a.ordering'; break; case 'author' : $orderby = 'a.created_by_alias, u.name'; break; case 'rauthor' : $orderby = 'a.created_by_alias DESC, u.name DESC'; break; case 'front' : $orderby = 'f.ordering'; break; default : $orderby = 'a.ordering'; break; } $xwhere = ' AND ( a.state = 1 OR a.state = -1 )' . ' AND ( publish_up = '.$db->Quote($nullDate).' OR publish_up <= '.$db->Quote($now).' )' . ' AND ( publish_down = '.$db->Quote($nullDate).' OR publish_down >= '.$db->Quote($now).' )'; // array of articles in same category correctly ordered $query = 'SELECT a.id,' . ' CASE WHEN CHAR_LENGTH(a.alias) THEN CONCAT_WS(":", a.id, a.alias) ELSE a.id END as slug,' . ' CASE WHEN CHAR_LENGTH(cc.alias) THEN CONCAT_WS(":", cc.id, cc.alias) ELSE cc.id END as catslug' . ' FROM #__content AS a' . ' LEFT JOIN #__categories AS cc ON cc.id = a.catid' . ' WHERE a.catid = ' . (int) $row->catid . ' AND a.state = '. (int) $row->state . ($canPublish ? '' : ' AND a.access <= ' .(int) $user->get('aid', 0)) . $xwhere . ' ORDER BY '. $orderby; $db->setQuery($query); $list = $db->loadObjectList('id'); // this check needed if incorrect Itemid is given resulting in an incorrect result if ( !is_array($list) ) { $list = array(); } reset($list); // location of current content item in array list $location = array_search($uid, array_keys($list)); $rows = array_values($list); $row->prev = null; $row->next = null; if ($location -1 >= 0) { // the previous content item cannot be in the array position -1 $row->prev = $rows[$location -1]; } if (($location +1) < count($rows)) { // the next content item cannot be in an array position greater than the number of array postions $row->next = $rows[$location +1]; } $pnSpace = ""; if (JText::_('<') || JText::_('>')) { $pnSpace = " "; } if ($row->prev) { $row->prev = JRoute::_(ContentHelperRoute::getArticleRoute($row->prev->slug, $row->prev->catslug)); } else { $row->prev = ''; } if ($row->next) { $row->next = JRoute::_(ContentHelperRoute::getArticleRoute($row->next->slug, $row->next->catslug)); } else { $row->next = ''; } // output if ($row->prev || $row->next) { $html = ' ' ; if ($row->prev) { $html .= ' ' ; } if ($row->prev && $row->next) { $html .= ' ' ; } if ($row->next) { $html .= ' ' ; } $html .= ' ' ; // Get the plugin parameters $pluginParams = new JParameter( $plugin->params ); $position = $pluginParams->get('position', 1); if ($position) { // display after content $row->text .= $html; } else { // display before content $row->text = $html . $row->text; } } } return ; }

    Bezienswaardigheden in Grave

Hierboven ziet u een kleine greep uit de bezienswaardigheden wat Grave te bieden heeft. Niet alleen de bezienswaardigheden in en om het centrum maakt het de moeite waard, maar Grave heeft ook een landschappelijk aantrekkelijk buitengebied waar u heerlijk kunt wandelen of fietsen.

Als u meer informatie wilt over de bezienswaardigheden of bijvoorbeeld fietsroutes, dan kunt u het beste even een kijkje nemen op www.toerismegrave.nl. U vindt hier ook de route beschrijving voor de stadswandeling. De stadswandeling kunt u ook georganiseerd mee lopen in een groep met een gids die u het één en ander verteld over het historische verleden van deze oude vestingstad.

Als u meer informatie over de fietspendeldienst  wilt die bij ons voor de deur aanmeert, kunt u het beste een kijkje nemen op www.maashopper.nl. Hier vind u alle tijden en de plaatsen waar de fietspendeldienst nog meer aanmeert.