public function onContentPrepareForm($form, $data)
 {
     $app = JFactory::getApplication();
     if (!$app->isAdmin()) {
         return;
     }
     $option = JRequest::getWord('option');
     $layout = JRequest::getWord('layout');
     $task = JRequest::getWord('task');
     $module = $this->getModuleType($data);
     if ($option == 'com_modules' && $layout == 'edit' && $module == 'mod_rokminievents') {
         JForm::addFieldPath(JPATH_ROOT . '/modules/mod_rokminievents/fields');
         //Find Sources
         $sources = RokMiniEvents_SourceLoader::getAvailableSources(self::$SOURCE_DIR);
         foreach ($sources as $source_name => $source) {
             if (file_exists($source->paramspath) && is_readable($source->paramspath)) {
                 $form->loadFile($source->paramspath, false);
                 JForm::addFieldPath(dirname($source->paramspath) . "/" . $source->name);
                 //$this->element_dirs[] = dirname($source->paramspath) . "/" . $source->name;
                 $language =& JFactory::getLanguage();
                 $language->load('com_' . $source->name, JPATH_ADMINISTRATOR);
                 $language->load($source->name, dirname($source->paramspath), $language->getTag(), true);
             }
         }
         $subfieldform = RokSubfieldForm::getInstance($form);
         if (!empty($data) && isset($data->params)) {
             $subfieldform->setOriginalParams($data->params);
         }
         if ($task == 'save' || $task == 'apply') {
             $subfieldform->makeSubfieldsVisable();
         }
     }
 }
示例#2
0
 public function onContentPrepareForm($form, $data)
 {
     $app = JFactory::getApplication();
     if (!$app->isAdmin()) {
         return;
     }
     $option = JRequest::getWord('option');
     $layout = JRequest::getWord('layout');
     $task = JRequest::getWord('task');
     $module = $this->getModuleType($data);
     if ($option == 'com_modules' && $layout == 'edit' && $module == 'mod_roknavmenu') {
         require_once JPATH_ROOT . '/modules/mod_roknavmenu/lib/RokNavMenu.php';
         require_once JPATH_ROOT . '/modules/mod_roknavmenu/lib/RokSubfieldForm.php';
         JForm::addFieldPath(JPATH_ROOT . '/modules/mod_roknavmenu/fields');
         RokNavMenu::loadCatalogs();
         foreach (RokNavMenu::$themes as $theme_name => $theme_info) {
             $params_file = $theme_info['path'] . "/parameters.xml";
             if (JFile::exists($params_file)) {
                 $form->loadFile($params_file, false);
             }
             $fields_folder = $theme_info['path'] . "/fields";
             if (JFolder::exists($fields_folder)) {
                 JForm::addFieldPath($fields_folder);
             }
             $language_path = $theme_info['path'] . "/language";
             if (JFolder::exists($language_path)) {
                 $language =& JFactory::getLanguage();
                 $language->load($theme_name, $theme_info['path'], $language->getTag(), true);
             }
         }
         $subfieldform = RokSubfieldForm::getInstance($form);
         if (!empty($data) && isset($data->params)) {
             $subfieldform->setOriginalParams($data->params);
         }
         if ($task == 'save' || $task == 'apply') {
             $subfieldform->makeSubfieldsVisable();
         }
     } else {
         if ($option == 'com_menus' && $layout == 'edit') {
             JForm::addFieldPath(JPATH_ROOT . '/modules/mod_roknavmenu/fields');
             // Load 2x Catalog Themes
             require_once JPATH_ROOT . "/modules/mod_roknavmenu/lib/RokNavMenu.php";
             RokNavMenu::loadCatalogs();
             foreach (RokNavMenu::$themes as $theme_name => $theme_info) {
                 $item_file = $theme_info['path'] . "/item.xml";
                 if (JFile::exists($item_file)) {
                     $form->loadFile($item_file, true);
                 }
                 $fields_folder = $theme_info['path'] . "/fields";
                 if (JFolder::exists($fields_folder)) {
                     JForm::addFieldPath($fields_folder);
                 }
             }
         }
     }
 }
示例#3
0
    /**
     * Method to get the field input markup.
     *
     * @return    string    The field input markup.
     * @since    1.6
     */
    protected function getInput()
    {
        jimport('joomla.filesystem.folder');
        jimport('joomla.filesystem.file');
        // Load 2x Catalog Themes
        require_once JPATH_ROOT . "/modules/mod_roknavmenu/lib/RokNavMenu.php";
        RokNavMenu::loadCatalogs();
        $buffer = '';
        $form = RokSubfieldForm::getInstance($this->form);
        JForm::addFieldPath(dirname(__FILE__) . '/fields');
        $this->load_js_switcher();
        $themesets = $form->getSubFieldsets('roknavmenu-themes');
        foreach ($themesets as $themeset => $themeset_val) {
            $themeset_fields = $form->getSubFieldset('roknavmenu-themes', $themeset, 'params');
            ob_start();
            ?>
            <div class="themeset" id="themeset-<?php 
            echo $themeset;
            ?>
">
                <ul class="themeset">
                <?php 
            foreach ($themeset_fields as $themeset_field) {
                ?>
                    <li>
                        <?php 
                echo $themeset_field->getLabel();
                ?>
                        <?php 
                echo $themeset_field->getInput();
                ?>
                    </li>
                <?php 
            }
            ?>
                </ul>
            </div>
            <?php 
            $buffer .= ob_get_clean();
        }
        return $buffer;
    }
示例#4
0
    /**
     * Method to get the field input markup.
     *
     * @return    string    The field input markup.
     * @since    1.6
     */
    protected function getInput()
    {
        $buffer = '';
        $form = RokSubfieldForm::getInstance($this->form);
        JForm::addFieldPath(dirname(__FILE__) . '/fields');
        $this->load_js_switcher();
        $themesets = $form->getSubFieldsets('roknavmenu-themes');
        foreach ($themesets as $themeset => $themeset_val) {
            $themeset_fields = $form->getSubFieldset('roknavmenu-themes', $themeset, 'params');
            ob_start();
            ?>
            <div class="themeset" id="themeset-<?php 
            echo $themeset;
            ?>
">
                <ul class="themeset">
                <?php 
            foreach ($themeset_fields as $themeset_field) {
                ?>
                    <li>
                        <?php 
                echo $themeset_field->getLabel();
                ?>
                        <?php 
                echo $themeset_field->getInput();
                ?>
                    </li>
                <?php 
            }
            ?>
                </ul>
            </div>
            <?php 
            $buffer .= ob_get_clean();
        }
        return $buffer;
    }