Example #1
0
 function onContentPrepareForm($form, $data)
 {
     if (!$form instanceof JForm) {
         $this->_subject->setError('JERROR_NOT_A_FORM');
         return false;
     }
     if ($this->yjsg->yjtmpl()) {
         //YJSG  mega menu
         if ($form->getName() == 'com_menus.item') {
             JForm::addFormPath(JPATH_PLUGINS . YJDS . 'system' . YJDS . 'yjsg' . YJDS . 'includes' . YJDS . 'yjsgmegamenu');
             $form->loadFile('yjsg_mega_menu_params', false);
         }
         // Yjsg module additional params
         if ($form->getName() == 'com_modules.module') {
             if ($data && $data->client_id != 0) {
                 return;
             }
             JForm::addFormPath(JPATH_PLUGINS . YJDS . 'system' . YJDS . 'yjsg' . YJDS . 'includes' . YJDS . 'yjsgmoduleoptions');
             $form->loadFile('yjsg_module_options', false);
             $this->addShortcodes();
             // Yjsg module additional params from template
             if (JFolder::exists(YJSGCUSTOMFOLDER . "yjsgmoduleoptions")) {
                 JForm::addFormPath(YJSGCUSTOMFOLDER . "yjsgmoduleoptions");
                 $form->loadFile('yjsg_module_options', false, false, true);
             }
         }
         // Module menu params
         if ($form->getName() == 'com_modules.module') {
             if ($data && $data->module != 'mod_menu') {
                 return;
             }
             $form->loadFile('yjsg_menu_module_options', false);
         }
         // Microdata article
         if ($form->getName() == 'com_content.article') {
             JForm::addFormPath(JPATH_PLUGINS . YJDS . 'system' . YJDS . 'yjsg' . YJDS . 'includes' . YJDS . 'yjsgmicrodata');
             $form->loadFile('yjsg_article_microdata', false);
             $this->addShortcodes();
         }
         // Microdata category
         if ($form->getName() == 'com_menus.item' && $data['type'] == 'component' && strstr($data['link'], 'com_content')) {
             if (!strstr($data['link'], 'view=category&layout=blog') && !strstr($data['link'], 'view=featured')) {
                 return;
             }
             JForm::addFormPath(JPATH_PLUGINS . YJDS . 'system' . YJDS . 'yjsg' . YJDS . 'includes' . YJDS . 'yjsgmicrodata');
             $form->loadFile('yjsg_category_microdata', false);
         }
         // Yjsg article
         if ($form->getName() == 'com_content.article') {
             JForm::addFormPath(JPATH_PLUGINS . YJDS . 'system' . YJDS . 'yjsg' . YJDS . 'includes' . YJDS . 'yjsgarticle');
             $form->loadFile('yjsg_article', false);
             // Yjsg article additional params from template
             if (JFolder::exists(YJSGCUSTOMFOLDER . "yjsgarticle")) {
                 JForm::addFormPath(YJSGCUSTOMFOLDER . "yjsgarticle");
                 $form->loadFile('yjsg_article', false, false, true);
             }
         }
     }
     // template form
     if ($this->run_plg == 1 && $this->templateView) {
         // Template defaults
         JForm::addFormPath(JPATH_PLUGINS . YJDS . 'system' . YJDS . 'yjsg' . YJDS . 'includes' . YJDS . 'xml');
         if ($this->yjsg->preplugin($this->edited_template)) {
             $form->loadFile('default-options-legacy', false, false, true);
         } else {
             $form->loadFile('default-options', false, false, true);
         }
         $file = JPATH_SITE . YJDS . "templates" . YJDS . $this->edited_template . YJDS . "template-settings.xml";
         $xml = JFactory::getXML($file, true);
         $form->load($xml, false, false, true);
         // load YjsgDochead class for template admin
         JLoader::register('YjsgDochead', YJSGPATH . 'includes/yjsgcore/classes/yjsg.dochead.class.php', true);
         $yjsgDoc = YjsgDochead::getDocument();
         if ($this->yjsg->hasUpdate() == 1) {
             $yjsgDoc->addJsInhead("var yjsgHasUpdate = 1;");
         } else {
             $yjsgDoc->addJsInhead("var yjsgHasUpdate = 0;");
         }
         //skip "reset to default" action for the following field types , they don't have default values
         $tpl_default = array();
         $skip_types = array('yjsgversion', 'yjsgtextblank', 'yjsgparamtitle', 'yjsgparamtitle2', 'yjhandler', 'yjsgtime', 'yjsgmultitext', 'yjsglogo', 'menuitem', 'yjsgcheck');
         $db_default = Yjsg::getDbParams($this->Int('id'));
         foreach ($form->getGroup('params') as $field) {
             if (!in_array(strtolower($field->type), $skip_types)) {
                 $tpl_default[$field->fieldname] = $field->value;
             }
         }
         $layout_file = YJSGTEMPLATEPATH . "css" . YJDS . "layout.css";
         $fontc = $this->edited_template . '_' . filesize($layout_file) . filemtime($layout_file);
         // from JHtml::_('behavior.keepalive');
         $config = JFactory::getConfig();
         $lifetime = $config->get('lifetime') * 60000;
         $refreshTime = $lifetime <= 60000 ? 30000 : $lifetime - 60000;
         // Refresh time is 1 minute less than the liftime assigned in the configuration.php file.
         // the longest refresh period is one hour to prevent integer overflow.
         if ($refreshTime > 3600000 || $refreshTime <= 0) {
             $refreshTime = 3600000;
         }
         // now we ready. add  yjsg admin head tags
         $yjsgDoc->addMeta('viewport', 'width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no');
         $yjsgDoc->addCss(YJSGSITE_PLG_PATH . 'assets/bootstrap3/css/bootstrap.min.css');
         $yjsgDoc->addCss(YJSGSITE_PLG_PATH . 'admin/css/yjsg.css');
         $yjsgDoc->addJs(YJSGSITE_PLG_PATH . 'assets/src/libraries/jquery.min.js');
         $yjsgDoc->addJs(YJSGSITE_PLG_PATH . 'assets/bootstrap3/js/bootstrap.min.js');
         $yjsgDoc->addJs(YJSGSITE_PLG_PATH . 'assets/src/bootstrap-multiselect.js');
         $yjsgDoc->addJs(YJSGSITE_PLG_PATH . 'admin/src/yjsg.admin.plugins.js');
         $yjsgDoc->addJs(YJSGSITE_PLG_PATH . 'admin/src/yjsg.admin.js');
         $yjsgDoc->addJsInhead('var tplDefaults=' . json_encode($tpl_default) . ';var dbDefaults=' . $db_default . ';var fontc="' . $fontc . '";');
         $yjsgDoc->addJsInhead('var yjsglayout_array=' . YJSGLAYOUT . ';');
         $yjsgDoc->addJsInhead('var refreshTime=' . $refreshTime . ';');
     }
 }