/** * Add the libraries css and javascript * * @return void */ protected function addAssets() { $document = JFactory::getDocument(); /** load Css */ $loadBootstrap = JSNUniformHelper::getDataConfig('load_bootstrap_css'); $loadBootstrap = isset($loadBootstrap->value) ? $loadBootstrap->value : "0"; $stylesheets = array(); $document->addStyleSheet(JURI::root(true) . '/plugins/system/jsnframework/assets/3rd-party/jquery-ui/css/ui-bootstrap/jquery-ui-1.9.0.custom.css'); if (preg_match('/msie/i', $_SERVER['HTTP_USER_AGENT'])) { $document->addStyleSheet(JURI::root(true) . '/plugins/system/jsnframework/assets/3rd-party/jquery-ui/css/ui-bootstrap/jquery.ui.1.9.0.ie.css'); } if ($loadBootstrap == 1) { $document->addStyleSheet(JSN_UNIFORM_ASSETS_URI . '/3rd-party/bootstrap/css/bootstrap.min.css'); } $document->addStyleSheet(JURI::root(true) . '/plugins/system/jsnframework/assets/joomlashine/css/jsn-gui.css'); $document->addStyleSheet(JURI::root(true) . '/administrator/components/com_uniform/assets/js/libs/daterangepicker/daterangepicker-bs2.css'); $document->addStyleSheet(JURI::root(true) . '/plugins/system/jsnframework/assets/3rd-party/jquery-tipsy/tipsy.css'); $document->addStyleSheet(JURI::root(true) . '/plugins/system/jsnframework/assets/3rd-party/jquery-daterangepicker/css/ui.daterangepicker.css'); $document->addStyleSheet(JSN_UNIFORM_ASSETS_URI . '/css/form.css'); /** end */ /** Load Js */ $getHeadData = JFactory::getDocument()->getHeadData(); $checkLoadScript = true; $scripts = array(); foreach ($getHeadData['scripts'] as $script => $option) { $scripts[$script] = $option; if ($script == JSN_UNIFORM_ASSETS_URI . '/js/form.js' || $script == JSN_UNIFORM_ASSETS_URI . '/js/submission.js') { $scripts[JSN_UNIFORM_ASSETS_URI . '/js/libs/daterangepicker.jQuery.compressed.js'] = $option; $scripts[JSN_UNIFORM_ASSETS_URI . '/js/submissions.js'] = $option; $checkLoadScript = false; } } if ($checkLoadScript) { $document->addScript(JURI::root(true) . '/media/jui/js/jquery.min.js'); $document->addScript(JSN_UNIFORM_ASSETS_URI . '/js/libs/jquery-ui-1.10.3.custom.min.js'); $document->addScript(JSN_UNIFORM_ASSETS_URI . '/js/libs/json-2.3.min.js'); $document->addScript(JURI::root(true) . '/plugins/system/jsnframework/assets/3rd-party/jquery-tipsy/jquery.tipsy.js'); $document->addScript(JURI::root(true) . '/administrator/components/com_uniform/assets/js/libs/daterangepicker/daterangepicker.js'); $document->addScript(JURI::root(true) . '/administrator/components/com_uniform/assets/js/libs/daterangepicker/moment.js'); $document->addScript(JSN_UNIFORM_ASSETS_URI . '/js/submissions.js'); } else { if (!empty($scripts)) { $getHeadData['scripts'] = $scripts; JFactory::getDocument()->setHeadData($getHeadData); } } }
/** * Generate Style Pages * * @return string */ public function generateStylePages() { $input = JFactory::getApplication()->input; $formId = $input->getInt('form_id'); if (!empty($formId)) { $db = JFactory::getDBO(); $db->setQuery($db->getQuery(true)->from('#__jsn_uniform_forms')->select('*')->where('form_id=' . (int) $formId)); $items = $db->loadObject(); $customCss = ""; $globalFormStyle = JSNUniformHelper::getDataConfig("form_style"); $formStyleCustom = new stdClass(); if (!empty($items->form_style)) { $formStyleCustom = json_decode($items->form_style); $customCss = !empty($formStyleCustom->custom_css) ? $formStyleCustom->custom_css : ""; if (!empty($globalFormStyle)) { $globalFormStyle = json_decode($globalFormStyle->value); if (!empty($globalFormStyle->themes_style)) { foreach ($globalFormStyle->themes_style as $key => $value) { $formStyleCustom->themes_style->{$key} = $value; } } if (!empty($globalFormStyle->themes)) { foreach ($globalFormStyle->themes as $key => $value) { $formStyleCustom->themes[] = $value; } } } } if (!empty($formStyleCustom->theme) && !empty($formStyleCustom->themes_style) && $formStyleCustom->theme != "jsn-style-light" && $formStyleCustom->theme != "jsn-style-dark") { $theme = str_replace("jsn-style-", "", $formStyleCustom->theme); if (!empty($formStyleCustom->themes_style->{$theme})) { $formStyleCustom = json_decode($formStyleCustom->themes_style->{$theme}); } } header("Content-Type: text/css;X-Content-Type-Options: nosniff;"); echo JSNUniformHelper::generateStylePages($formStyleCustom, "#jsn_form_{$formId}.jsn-master .jsn-bootstrap .jsn-form-content .control-group", "#jsn_form_{$formId}.jsn-master .jsn-bootstrap .jsn-form-content .control-group.ui-state-highlight", "#jsn_form_{$formId}.jsn-master .jsn-bootstrap .jsn-form-content .control-group .control-label", "#jsn_form_{$formId}.jsn-master .jsn-bootstrap .jsn-form-content .control-group.error .help-block,\n" . "#jsn_form_{$formId}.jsn-master .jsn-bootstrap .jsn-form-content .control-group.error .help-inline,\n" . "#jsn_form_{$formId}.jsn-master .jsn-bootstrap .jsn-form-content .control-group.error .help-block span.label", "#jsn_form_{$formId}.jsn-master .jsn-bootstrap .jsn-form-content .control-group .label-important,\n" . "#jsn_form_{$formId}.jsn-master .jsn-bootstrap .jsn-form-content .control-group .label-important .badge-important", "#jsn_form_{$formId}.jsn-master .jsn-bootstrap .jsn-form-content .control-group .controls input,\n" . "#jsn_form_{$formId}.jsn-master .jsn-bootstrap .jsn-form-content .control-group .controls select,\n" . "#jsn_form_{$formId}.jsn-master .jsn-bootstrap .jsn-form-content .control-group .controls textarea"); echo "\n{$customCss}\n"; } exit; }
/** * Execute and display a template script. * * @param string $tpl The name of the template file to parse; automatically searches through the template paths. * * @return mixed A string if successful, otherwise a JError object. * * @see fetch() * @since 11.1 */ public function display($tpl = null) { // Initialize variables $session = JFactory::getSession(); $seesionQueue = $session->get('application.queue'); $input = JFactory::getApplication()->input; $this->urlAction = $input->getString('tmpl', ''); $this->_document = JFactory::getDocument(); $this->_item = $this->get('Item'); $emailModel = JModelForm::getInstance('EmailSettings', 'JSNUniformModel'); $this->checkSubmitModal = false; if ($seesionQueue[0]['type'] != "warning") { unset($_SESSION["__form-design-" . $this->_item->form_id]); unset($_SESSION["__form-design-"]); if ($seesionQueue[0]) { if ($this->urlAction == "component") { $this->checkSubmitModal = true; } } } $this->_listFontType = array(" Verdana, Geneva, sans-serif", "\"Times New Roman\", Times, serif", "\"Courier New\", Courier, monospace", "Tahoma, Geneva, sans-serif", "Arial, Helvetica, sans-serif", "\"Trebuchet MS\", Arial, Helvetica, sans-serif", "\"Arial Black\", Gadget, sans-serif", "\"Lucida Sans Unicode\", \"Lucida Grande\", sans-serif", "\"Palatino Linotype\", \"Book Antiqua\", Palatino, serif", "\"Comic Sans MS\", cursive"); $formContent = $this->_item->form_content; $this->_listPage = JSNUniformHelper::getListPage($formContent, $this->_item->form_id); $this->_form = $this->get('Form'); $this->_fromEmail = array(); if (empty($this->_item->form_id)) { $this->_fromConfig = $this->get('DataConfig'); $this->formAction = 0; $this->formActionData = ''; foreach ($this->_fromConfig as $formConfig) { if (isset($formConfig->name) && $formConfig->name == 'email_notification') { $this->_fromEmail = json_decode($formConfig->value); } if (isset($formConfig->name) && $formConfig->name == 'form_action') { $this->formAction = $formConfig->value; } } foreach ($this->_fromConfig as $formConfig) { if ($this->formAction == 1 && $formConfig->name == 'form_action_url') { $this->formActionData = $formConfig->value; } if ($this->formAction == 2 && $formConfig->name == 'form_action_menu') { $this->formActionData = json_decode($formConfig->value); } if ($this->formAction == 3 && $formConfig->name == 'form_action_article') { $this->formActionData = json_decode($formConfig->value); } if ($this->formAction == 4 && $formConfig->name == 'form_action_message') { $this->formActionData = $formConfig->value; } } } else { $this->_fromEmail = $this->get('FormEmail'); } $this->form_page = isset($formContent[0]->page_content) ? $formContent[0]->page_content : ""; $this->actionForm = array('redirect_to_url' => "", 'menu_item' => "", 'menu_item_title' => "", 'article' => "", 'article_title' => "", 'message' => "", 'action' => "1"); $this->actionForm = JSNUniformHelper::actionFrom($this->_item->form_post_action, $this->_item->form_post_action_data); $this->globalFormStyle = JSNUniformHelper::getDataConfig("form_style"); $this->formStyle = new stdClass(); if (!empty($this->_item->form_style)) { $this->formStyle = json_decode($this->_item->form_style); } else { $this->formStyle->themes_style->light = '{"background_color":"","background_active_color":"#FCF8E3","border_thickness":"0","border_color":"","border_active_color":"#FBEED5","rounded_corner_radius":"0","padding_space":"10","margin_space":"0","text_color":"#333333","font_type":" Verdana, Geneva, sans-serif","font_size":"14","field_background_color":"#ffffff","field_border_color":"","field_shadow_color":"","field_text_color":"#666666","message_error_background_color":"#B94A48","message_error_text_color":"#FFFFFF"}'; $this->formStyle->themes_style->dark = '{"background_color":"","background_active_color":"#444444","border_thickness":"0","border_color":"","border_active_color":"#666666","rounded_corner_radius":"0","padding_space":"10","margin_space":"0","text_color":"#C6C6C6","font_type":" Verdana, Geneva, sans-serif","font_size":"14","field_background_color":"#000000","field_border_color":"#111111","field_shadow_color":"#000000","field_text_color":"#333333","message_error_background_color":"#B94A48","message_error_text_color":"#FFFFFF"}'; $this->formStyle->themes = array('light', 'dark'); } if (!empty($this->globalFormStyle)) { $globalFormStyle = json_decode($this->globalFormStyle->value); if (!empty($globalFormStyle->themes_style)) { foreach ($globalFormStyle->themes_style as $key => $value) { $this->formStyle->themes_style->{$key} = $value; } } if (!empty($globalFormStyle->themes)) { foreach ($globalFormStyle->themes as $key => $value) { $this->formStyle->themes[] = $value; } } } if (!empty($this->formStyle->theme) && !empty($this->formStyle->themes_style) && $this->formStyle->theme != "jsn-style-light" && $this->formStyle->theme != "jsn-style-dark") { $theme = str_replace("jsn-style-", "", $this->formStyle->theme); if (!empty($this->formStyle->themes_style->{$theme})) { $styles = json_decode($this->formStyle->themes_style->{$theme}); } $this->formStyle->background_color = !empty($styles->background_color) ? $styles->background_color : ""; $this->formStyle->background_active_color = !empty($styles->background_active_color) ? $styles->background_active_color : ""; $this->formStyle->border_active_color = !empty($styles->border_active_color) ? $styles->border_active_color : ""; $this->formStyle->border_thickness = !empty($styles->border_thickness) ? $styles->border_thickness : ""; $this->formStyle->border_color = !empty($styles->border_color) ? $styles->border_color : ""; $this->formStyle->rounded_corner_radius = !empty($styles->rounded_corner_radius) ? $styles->rounded_corner_radius : ""; $this->formStyle->padding_space = !empty($styles->padding_space) ? $styles->padding_space : ""; $this->formStyle->margin_space = !empty($styles->margin_space) ? $styles->margin_space : ""; $this->formStyle->text_color = !empty($styles->text_color) ? $styles->text_color : ""; $this->formStyle->font_type = !empty($styles->font_type) ? $styles->font_type : ""; $this->formStyle->font_size = !empty($styles->font_size) ? $styles->font_size : ""; } else { $this->formStyle->background_color = !empty($this->formStyle->background_color) ? $this->formStyle->background_color : ""; $this->formStyle->background_active_color = !empty($this->formStyle->background_active_color) ? $this->formStyle->background_active_color : ""; $this->formStyle->border_active_color = !empty($this->formStyle->border_active_color) ? $this->formStyle->border_active_color : ""; $this->formStyle->border_thickness = !empty($this->formStyle->border_thickness) ? $this->formStyle->border_thickness : ""; $this->formStyle->border_color = !empty($this->formStyle->border_color) ? $this->formStyle->border_color : ""; $this->formStyle->rounded_corner_radius = !empty($this->formStyle->rounded_corner_radius) ? $this->formStyle->rounded_corner_radius : ""; $this->formStyle->padding_space = !empty($this->formStyle->padding_space) ? $this->formStyle->padding_space : ""; $this->formStyle->margin_space = !empty($this->formStyle->margin_space) ? $this->formStyle->margin_space : ""; $this->formStyle->text_color = !empty($this->formStyle->text_color) ? $this->formStyle->text_color : ""; $this->formStyle->font_type = !empty($this->formStyle->font_type) ? $this->formStyle->font_type : ""; $this->formStyle->font_size = !empty($this->formStyle->font_size) ? $this->formStyle->font_size : ""; if (empty($this->formStyle->background_active_color) && empty($this->formStyle->border_active_color) && empty($this->formStyle->border_thickness) && empty($this->formStyle->border_color) && empty($this->formStyle->rounded_corner_radius) && empty($this->formStyle->background_color) && empty($this->formStyle->font_size) && empty($this->formStyle->text_color) && empty($this->formStyle->margin_space) && empty($this->formStyle->padding_space)) { $this->formStyle->theme = ""; $this->formStyle->themes_style->light = '{"background_color":"","background_active_color":"#FCF8E3","border_thickness":"0","border_color":"","border_active_color":"#FBEED5","rounded_corner_radius":"0","padding_space":"10","margin_space":"0","text_color":"#333333","font_type":" Verdana, Geneva, sans-serif","font_size":"14","field_background_color":"#ffffff","field_border_color":"","field_shadow_color":"","field_text_color":"#666666","message_error_background_color":"#B94A48","message_error_text_color":"#FFFFFF"}'; $this->formStyle->themes_style->dark = '{"background_color":"","background_active_color":"#444444","border_thickness":"0","border_color":"","border_active_color":"#666666","rounded_corner_radius":"0","padding_space":"10","margin_space":"0","text_color":"#C6C6C6","font_type":" Verdana, Geneva, sans-serif","font_size":"14","field_background_color":"#000000","field_border_color":"#111111","field_shadow_color":"#000000","field_text_color":"#333333","message_error_background_color":"#B94A48","message_error_text_color":"#FFFFFF"}'; $this->formStyle->themes = array('light', 'dark'); } } // Hide the main menu $input->set('hidemainmenu', true); // Initialize toolbar $this->initToolbar(); // Get config $config = JSNConfigHelper::get(); $msgs = ''; if (!$config->get('disable_all_messages')) { $msgs = JSNUtilsMessage::getList('FORMS'); $msgs = count($msgs) ? JSNUtilsMessage::showMessages($msgs) : ''; } // Assign variables for rendering $this->assignRef('msgs', $msgs); // Display the template parent::display($tpl); // Load assets JSNUniformHelper::addAssets(); $this->addAssets(); }
/** * Add the libraries css and javascript * * @return void * * @since 1.6 */ protected function addAssets() { $uri = JUri::getInstance(); $document = JFactory::getDocument(); /** load Css */ $loadBootstrap = JSNUniformHelper::getDataConfig('load_bootstrap_css'); $loadBootstrap = isset($loadBootstrap->value) ? $loadBootstrap->value : "0"; $stylesheets = array(); $document->addStyleSheet(JURI::root(true) . '/plugins/system/jsnframework/assets/3rd-party/jquery-ui/css/ui-bootstrap/jquery-ui-1.9.0.custom.css'); if (preg_match('/msie/i', $_SERVER['HTTP_USER_AGENT'])) { $document->addStyleSheet(JURI::root(true) . '/plugins/system/jsnframework/assets/3rd-party/jquery-ui/css/ui-bootstrap/jquery.ui.1.9.0.ie.css'); } if ($loadBootstrap == 1) { $document->addStyleSheet(JSN_UNIFORM_ASSETS_URI . '/3rd-party/bootstrap/css/bootstrap.min.css'); } $document->addStyleSheet(JURI::root(true) . '/plugins/system/jsnframework/assets/joomlashine/css/jsn-gui.css'); //$document->addStyleSheet(JURI::root(true) . '/plugins/system/jsnframework/assets/3rd-party/font-awesome/css/font-awesome.css'); $document->addStyleSheet(JURI::root(true) . '/plugins/system/jsnframework/assets/3rd-party/jquery-tipsy/tipsy.css'); $document->addStyleSheet(JSN_UNIFORM_ASSETS_URI . '/css/form.css'); /** end */ /** Load Js */ $document->addScriptDeclaration('var nextAndPreviousForm =' . json_encode($this->nextAndPreviousForm)); $getHeadData = JFactory::getDocument()->getHeadData(); $checkLoadScript = true; $scripts = array(); foreach ($getHeadData['scripts'] as $script => $option) { $scripts[$script] = $option; if ($script == JSN_UNIFORM_ASSETS_URI . '/js/form.js' || $script == JSN_UNIFORM_ASSETS_URI . '/js/submission.js') { if ($uri->getScheme() == 'https') { $scripts['https://maps.google.com/maps/api/js?sensor=false&libraries=places'] = $option; } else { $scripts['http://maps.google.com/maps/api/js?sensor=false&libraries=places'] = $option; } $scripts[JSN_UNIFORM_ASSETS_URI . '/js/libs/googlemaps/jquery.ui.map.js'] = $option; $scripts[JSN_UNIFORM_ASSETS_URI . '/js/libs/googlemaps/jquery.ui.map.services.js'] = $option; $scripts[JSN_UNIFORM_ASSETS_URI . '/js/libs/googlemaps/jquery.ui.map.extensions.js'] = $option; $scripts[JSN_UNIFORM_ASSETS_URI . '/js/submission.js'] = $option; $checkLoadScript = false; } } if ($checkLoadScript) { if ($uri->getScheme() == 'https') { $document->addScript('https://maps.google.com/maps/api/js?sensor=false&libraries=places'); } else { $document->addScript('http://maps.google.com/maps/api/js?sensor=false&libraries=places'); } $document->addScript(JURI::root(true) . '/media/jui/js/jquery.min.js'); $document->addScript(JSN_UNIFORM_ASSETS_URI . '/js/libs/jquery-ui-1.10.3.custom.min.js'); $document->addScript(JSN_UNIFORM_ASSETS_URI . '/js/libs/json-2.3.min.js'); $document->addScript(JSN_UNIFORM_ASSETS_URI . '/js/libs/googlemaps/jquery.ui.map.js'); $document->addScript(JSN_UNIFORM_ASSETS_URI . '/js/libs/googlemaps/jquery.ui.map.services.js'); $document->addScript(JSN_UNIFORM_ASSETS_URI . '/js/libs/googlemaps/jquery.ui.map.extensions.js'); $document->addScript(JURI::root(true) . '/plugins/system/jsnframework/assets/3rd-party/jquery-tipsy/jquery.tipsy.js'); $document->addScript(JSN_UNIFORM_ASSETS_URI . '/js/submission.js'); } else { if (!empty($scripts)) { $getHeadData['scripts'] = $scripts; JFactory::getDocument()->setHeadData($getHeadData); } } }