Beispiel #1
0
 /**
  * @param string $name
  */
 public function loadLanguage($name)
 {
     $helper = Menus::getInstance();
     $language = XoopsLocale::getLegacyLanguage();
     $path = $helper->path("decorators/{$name}/language");
     if (!($ret = XoopsLoad::loadFile("{$path}/{$language}/decorator.php"))) {
         $ret = XoopsLoad::loadFile("{$path}/english/decorator.php");
     }
     return $ret;
 }
Beispiel #2
0
 /**
  * @param MenusMenu $obj
  */
 public function __construct(MenusMenu $obj)
 {
     global $menu_id;
     $xoops = Xoops::getInstance();
     $helper = Menus::getInstance();
     $this_handler = $helper->getHandlerMenu();
     $decorators = MenusDecorator::getAvailableDecorators();
     $title = $obj->isNew() ? sprintf(_AM_MENUS_ADD_MENUS) : sprintf(_AM_MENUS_EDIT_MENUS);
     parent::__construct($title, 'form', 'admin_menu.php', 'post', true);
     $this->addElement(new Xoops\Form\Text(_AM_MENUS_MENU_TITLE, 'title', 50, 255, $obj->getVar('title'), ''), true);
     $this->addElement(new Xoops\Form\Text(_AM_MENUS_MENU_ALTTITLE, 'alt_title', 50, 255, $obj->getVar('alt_title'), ''));
     $this->addElement(new Xoops\Form\Text(_AM_MENUS_MENU_LINK, 'link', 50, 255, $obj->getVar('link'), ''));
     $this->addElement(new Xoops\Form\Text(_AM_MENUS_MENU_IMAGE, 'image', 50, 255, $obj->getVar('image'), ''));
     $criteria = new CriteriaCompo(new Criteria('mid', $menu_id));
     $criteria->add(new Criteria('id', $obj->getVar('id'), '<>'));
     $criteria->setSort('weight');
     $criteria->setOrder('ASC');
     $results = $this_handler->getAll($criteria, array('title', 'id', 'pid'));
     $parent_tree = new XoopsObjectTree($results, 'id', 'pid');
     $parent_select = $parent_tree->makeSelBox('pid', 'title', '-- ', $obj->getVar('pid'), true);
     $this->addElement(new Xoops\Form\Label(_AM_MENUS_MENU_PARENT, $parent_select));
     $formvis = new Xoops\Form\Select(_AM_MENUS_MENU_VISIBLE, "visible", $obj->getVar('visible'));
     $formvis->addOption("0", XoopsLocale::NO);
     $formvis->addOption("1", XoopsLocale::YES);
     $this->addElement($formvis);
     $formtarget = new Xoops\Form\Select(_AM_MENUS_MENU_TARGET, "target", $obj->getVar('target'));
     $formtarget->addOption("_self", _AM_MENUS_MENU_TARG_SELF);
     $formtarget->addOption("_blank", _AM_MENUS_MENU_TARG_BLANK);
     $formtarget->addOption("_parent", _AM_MENUS_MENU_TARG_PARENT);
     $formtarget->addOption("_top", _AM_MENUS_MENU_TARG_TOP);
     $this->addElement($formtarget);
     $formgroups = new Xoops\Form\SelectGroup(_AM_MENUS_MENU_GROUPS, "groups", true, $obj->getVar('groups'), 5, true);
     $formgroups->setDescription(_AM_MENUS_MENU_GROUPS_HELP);
     $this->addElement($formgroups);
     $formhooks = new Xoops\Form\Select(_AM_MENUS_MENU_ACCESS_FILTER, "hooks", $obj->getVar('hooks'), 5, true);
     $accessFilter = array();
     foreach ($decorators as $decorator) {
         $decorator->accessFilter($accessFilter);
     }
     foreach ($accessFilter as $result) {
         $formhooks->addOption($result['method'], $result['name']);
     }
     $this->addElement($formhooks);
     $formcss = new Xoops\Form\Text(_AM_MENUS_MENU_CSS, 'css', 50, 255, $obj->getVar('css'));
     $this->addElement($formcss);
     $this->addElement(new Xoops\Form\Hidden('id', $obj->getVar('id')));
     $this->addElement(new Xoops\Form\Hidden('mid', $obj->getVar('mid')));
     $this->addElement(new Xoops\Form\Hidden('op', 'save'));
     $this->addElement(new Xoops\Form\Button('', 'submit', XoopsLocale::A_SUBMIT, 'submit'));
 }
Beispiel #3
0
 protected function getModuleMenus($dirname, $pid)
 {
     static $id = -1;
     $xoops = Xoops::getInstance();
     $helper = Menus::getInstance();
     $ret = array();
     /* @var $plugin MenusPluginInterface */
     if ($plugin = \Xoops\Module\Plugin::getPlugin($dirname, 'menus')) {
         if (is_array($subMenus = $plugin->subMenus())) {
             foreach ($subMenus as $menu) {
                 $obj = $helper->getHandlerMenu()->create();
                 $obj->setVar('title', $menu['name']);
                 $obj->setVar('alt_title', $menu['name']);
                 $obj->setVar('link', $xoops->url("modules/{$dirname}/{$menu['url']}"));
                 $obj->setVar('id', $id);
                 $obj->setVar('pid', $pid);
                 $ret[] = $obj->getValues();
                 $id--;
             }
         }
     }
     return $ret;
 }
Beispiel #4
0
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
*/
use Xoops\Core\Request;
/**
 * @copyright       XOOPS Project (http://xoops.org)
 * @license         GNU GPL 2 or later (http://www.gnu.org/licenses/gpl-2.0.html)
 * @package         Menus
 * @since           1.0
 * @author          trabis <*****@*****.**>
 * @version         $Id$
 */
include_once __DIR__ . '/header.php';
$xoops = Xoops::getInstance();
$helper = Menus::getInstance();
// Call Header & ...
$xoops->header('admin:menus/menus_admin_menus.tpl');
$admin_page = new \Xoops\Module\Admin();
$admin_page->renderNavigation('admin_menus.php');
$xoops->theme()->addStylesheet('modules/system/css/admin.css');
// Get $_GET, $_POST, ...
$op = Request::getCmd('op', 'list');
$id = Request::getInt('id', 0);
$limit = Request::getInt('limit', 15);
$start = Request::getInt('start', 0);
switch ($op) {
    case 'add':
        $admin_page->addItemButton(_AM_MENUS_LIST_MENUS, 'admin_menus.php', 'application-view-detail');
        $admin_page->renderButton();
        // Create form
Beispiel #5
0
         }
     } else {
         echo $xoops->confirm(array('ok' => 1, 'id' => $id, 'op' => 'del', 'menu_id' => $menu_id), $helper->url('admin/admin_menu.php'), _AM_MENUS_MSG_SUREDEL . '<br /><strong>' . $obj->getVar('title') . '</strong>');
     }
     break;
 case 'move':
     $this_handler = Menus::getInstance()->getHandlerMenu();
     $obj = $this_handler->get($id);
     $obj->setVar('weight', $weight);
     $this_handler->insert($obj);
     $this_handler->update_weights($obj);
     $xoops->redirect('admin_menu.php?op=list&amp;menu_id=' . $obj->getVar('mid'), 2, _AM_MENUS_SAVE);
     break;
 case 'toggle':
     $visible = $visible == 1 ? 0 : 1;
     $this_handler = Menus::getInstance()->getHandlerMenu();
     $obj = $this_handler->get($id);
     $obj->setVar('visible', $visible);
     $this_handler->insert($obj);
     $xoops->redirect('admin_menu.php?op=list&amp;menu_id=' . $obj->getVar('mid'), 2, _AM_MENUS_SAVE);
     break;
 case 'list':
 default:
     $admin_page->addItemButton(_AM_MENUS_ADD_MENUS, 'admin_menu.php?op=add&amp;menu_id=' . $menu_id, 'add');
     $admin_page->renderButton();
     $this_handler = $helper->getHandlerMenu();
     $criteria = new CriteriaCompo(new Criteria('mid', $menu_id));
     $count = $this_handler->getCount($criteria);
     $xoops->tpl()->assign('count', $count);
     $xoops->tpl()->assign('select', true);
     $criteria->setSort('weight');
Beispiel #6
0
function menus_mainmenu_show()
{
    $block = array();
    $xoops = Xoops::getInstance();
    $helper = Menus::getInstance();
    $module_handler = $xoops->getHandlerModule();
    $criteria = new CriteriaCompo(new Criteria('hasmain', 1));
    $criteria->add(new Criteria('isactive', 1));
    $criteria->add(new Criteria('weight', 0, '>'));
    $modules = $module_handler->getObjectsArray($criteria, true);
    $moduleperm_handler = $xoops->getHandlerGroupperm();
    $groups = $xoops->getUserGroups();
    $read_allowed = $moduleperm_handler->getItemIds('module_read', $groups);
    $menus = array();
    $menu = $helper->getHandlerMenu()->create();
    $menu->setVar('id', 1);
    $menu->setVar('pid', 0);
    $menu->setVar('alt_title', _MB_MENUS_HOME);
    $menu->setVar('title', _MB_MENUS_HOME);
    $menu->setVar('link', \XoopsBaseConfig::get('url'));
    $menu->setVar('image', 'icon-home');
    $menus[] = $menu->getValues();
    foreach (array_keys($modules) as $i) {
        if (in_array($i, $read_allowed)) {
            /* @var $plugin MenusPluginInterface */
            $menu = $helper->getHandlerMenu()->create();
            $menu->setVar('id', $i);
            $menu->setVar('pid', 0);
            $menu->setVar('title', $modules[$i]->getVar('name'));
            $menu->setVar('alt_title', $modules[$i]->getVar('name'));
            $menu->setVar('link', \XoopsBaseConfig::get('url') . '/modules/' . $modules[$i]->getVar('dirname'));
            $menu->setVar('image', 'icon-tags');
            $menus[] = $menu->getValues();
            if ($xoops->isModule() && $xoops->module->getVar('dirname') == $modules[$i]->getVar('dirname') && ($plugin = \Xoops\Module\Plugin::getPlugin($modules[$i]->getVar('dirname'), 'menus'))) {
                $sublinks = $plugin->subMenus();
                $j = -1;
                foreach ($sublinks as $sublink) {
                    $menu = $helper->getHandlerMenu()->create();
                    $menu->setVar('id', $j);
                    $menu->setVar('pid', $i);
                    $menu->setVar('title', $sublink['name']);
                    $menu->setVar('alt_title', $sublink['name']);
                    $menu->setVar('link', \XoopsBaseConfig::get('url') . '/modules/' . $modules[$i]->getVar('dirname') . '/' . $sublink['url']);
                    $menus[] = $menu->getValues();
                    $j--;
                }
            }
        }
    }
    $builder = new MenusBuilder($menus);
    $block = $builder->render();
    $skin_info = $helper->getSkinInfo('mainmenu', false);
    $blockTpl = new XoopsTpl();
    $blockTpl->assign('block', $block);
    $blockTpl->assign('config', $skin_info['config']);
    $blockTpl->assign('skinurl', $skin_info['url']);
    $blockTpl->assign('skinpath', $skin_info['path']);
    $block['content'] = $blockTpl->fetch($skin_info['template']);
    return $block;
}