function checkRequiredFields(&$required, $vars = '') { $pass = 1; foreach ($required as $key => $values) { $keyval = modAddToMenu::getVal($key, $vars); $values = explode(',', $values); foreach ($values as $val) { $pass = 0; switch ($val) { case '*': if (strlen($keyval)) { $pass = 1; } break; case '+': if ($keyval) { $pass = 1; } break; default: if ($keyval == $val) { $pass = 1; } break; } if ($pass) { break; } } if (!$pass) { break; } $this->vars[$key] = $keyval; } return $pass; }
<?php /** * Module default template * * @package Add to Menu * @version 1.6.1 * * @author Peter van Westen <*****@*****.**> * @link http://www.nonumber.nl * @copyright Copyright © 2011 NoNumber! All Rights Reserved * @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL */ // No direct access defined('_JEXEC') or die('Restricted access'); echo modAddToMenu::render($params);
JError::raiseError(403, JText::_("ALERTNOTAUTH")); } $vars = JRequest::getVar('vars'); $option = $vars['option']; $comp_file = JRequest::getVar('comp'); $file = dirname(__FILE__) . DS . 'components' . DS . $option . DS . $comp_file . '.xml'; $template = ''; $xml =& JFactory::getXMLParser('Simple'); $xml->loadFile($file); if (isset($xml->document) && isset($xml->document->_children)) { require_once JPATH_PLUGINS . DS . 'system' . DS . 'nonumberelements' . DS . 'helpers' . DS . 'parameters.php'; $parameters =& NNParameters::getParameters(); $xml_template = $parameters->getObjectFromXML($xml->document->_children); if (isset($xml_template->params) && isset($xml_template->params->required)) { require_once dirname(__FILE__) . DS . 'helper.php'; if (!is_object($xml_template->params->required) || modAddToMenu::checkRequiredFields($xml_template->params->required, $vars)) { $template = $xml_template->params; } } } if (!$template) { return; } $lang =& JFactory::getLanguage(); $lang->load('mod_addtomenu', JPATH_ADMINISTRATOR); $lang->load('com_menus', JPATH_ADMINISTRATOR); $lang->load($comp_file, JPATH_ADMINISTRATOR); $insert = JRequest::getVar('insert'); if ($insert) { insertMenuItem($template); } else {
* @link http://www.nonumber.nl * @copyright Copyright © 2011 NoNumber! All Rights Reserved * @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL */ // No direct access defined('_JEXEC') or die; /** * Module that adds menu items */ $user = JFactory::getUser(); if (!$user->authorize('core.create', 'com_menus')) { return; } // return if NoNumber! Framework plugin is not installed jimport('joomla.filesystem.file'); if (!JFile::exists(JPATH_PLUGINS . '/system/nnframework/nnframework.php')) { return; } jimport('joomla.filesystem.folder'); $option = JRequest::getCmd('option'); $folder = JPATH_ADMINISTRATOR . '/components/' . $option . '/addtomenu'; if (!JFolder::exists($folder)) { $folder = JPATH_ADMINISTRATOR . '/modules/mod_addtomenu/addtomenu/components/' . $option; } if (!JFolder::exists($folder)) { return; } // Include the syndicate functions only once require_once dirname(__FILE__) . '/addtomenu/helper.php'; $helper = new modAddToMenu($params); $helper->render();