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 . ';'); } }