Example #1
0
 /**
  * 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();
 }