/** * Smarty {content_language} function plugin * * Type: function * Name: * Date: * Update * Purpose: * Examples: * Output: * @link * @author Gerits Aurelien * @version 1.0 * @param array * @param Smarty * @return string */ function smarty_function_content_language($params, $template) { if (frontend_db_lang::s_fetch_lang() != null) { foreach (frontend_db_lang::s_fetch_lang() as $row) { $widget[] = $row['iso']; } return implode(',', $widget); } }
/** * Smarty {widget_lang_data} function plugin * * Type: function * Name: widget_lang_data * Date: 24/03/2015 * Update: * Output: * @author Gerits Aurélien (http://www.magix-cms.com) * @link * @version 1.0 * @param $params * @param $template * @return string */ function smarty_function_widget_lang_data($params, $template) { $ModelConstructor = new magixglobal_model_constructor(); // *** Catch location var $iso_current = magixcjquery_filter_request::isGet('strLangue'); // *** Load SQL DATA $data = frontend_db_lang::s_fetch_lang(); $assign = isset($params['assign']) ? $params['assign'] : 'data'; $template->assign($assign, $data); }
/** * Retourne la langue en cours de session sinon retourne fr par défaut * @return string * @access public * @static */ public static function current_Language() { if (magixcjquery_filter_request::isGet('strLangue')) { $lang = self::getLanguage(); } else { $db = frontend_db_lang::s_default_language(); if ($db != null) { $lang = $db['iso']; } else { if (magixcjquery_filter_request::isSession('strLangue')) { $lang = magixcjquery_filter_join::getCleanAlpha($_SESSION['strLangue'], 3); } } } return $lang; }
/** * Smarty {widget_lang_display} function plugin * * Type: function * Name: widget_lang_display * Date: 03/01/2013 * Date Update : 12/01/2013 * Output: * @author Sire Sam (http://www.sire-sam.be) * @author Gerits Aurélien (http://www.magix-dev.be) * @link * @version 1.0 * @param $params * @param $template * @return string */ function smarty_function_widget_lang_display($params, $template) { $ModelConstructor = new magixglobal_model_constructor(); // *** Catch location var $iso_current = magixcjquery_filter_request::isGet('strLangue'); // *** Load SQL DATA $data = frontend_db_lang::s_fetch_lang(); $output = null; if ($data != null) { // *** set default html structure $strucHtml_default = array('container' => array('before' => '<ul class="nav">', 'after' => '</ul>'), 'item' => array('before' => '<li>', 'after' => '</li>'), 'icon' => array('before' => ' ', 'after' => ' '), 'name' => array('before' => ' ', 'after' => ' '), 'iso' => array('before' => '(', 'after' => ')'), 'current' => array('class' => ' current'), 'last' => array('class' => ' last', 'col' => 1)); // *** Set default elem to display $strucHtml_default['allow'] = array('', 'icon', 'name', 'iso'); $strucHtml_default['display'] = array(1 => array('', 'icon', 'name', 'iso')); // *** Update html struct & item setting with custom var (params['structureHTML']) @TODO vérifier si le paramaètre htmlDispaly tj opérationnel $structHtml_custom = $params['htmlStructure'] ? $params['htmlStructure'] : null; $strucHtml = $ModelConstructor->mergeHtmlPattern($strucHtml_default, $structHtml_custom); // *** Set translation var $t_go_to_version = frontend_model_template::getConfigVars('go_to_version'); // *** format items loop (foreach item) $items = null; $i = 0; foreach ($data as $row) { $i++; // *** set additional var in htmlStruct $strucHtml['is_current'] = $iso_current == $row['iso'] ? 1 : 0; $strucHtml['is_last'] = 0; if ($i == $strucHtml['last']['col']) { $strucHtml['is_last'] = 1; $i = 0; } // *** in case diplay is null, we take default value if ($strucHtml['display'][1] == null) { $strucHtml['display'][1] = $strucHtml_default['display'][1]; } // *** set link class $item_classLink = null; if ($strucHtml['is_last'] == 1 or $strucHtml['is_current'] == 1) { $item_class = ' class="'; $item_class .= $strucHtml['is_last'] == 1 ? $strucHtml['last']['class'] : ''; $item_class .= $strucHtml['is_current'] == 1 ? $strucHtml['current']['class'] : ''; $item_class .= '"'; } // *** format item loop (foreach element) $item = null; foreach ($strucHtml['display'][1] as $elem_type) { $strucHtml_elem = $strucHtml[$elem_type]; if (array_search($elem_type, $strucHtml['display'][1])) { switch ($elem_type) { case 'name': $elem = ucfirst($row['language']); break; case 'icon': $elem = '<img src="/skin/' . frontend_model_template::frontendTheme()->themeSelected() . '/img/lang/' . $row['iso'] . '.png" alt="' . $row['name'] . '"/>'; break; case 'iso': $elem = $row['iso']; break; default: $elem = null; } // *** elem construct if ($elem != null) { $item .= $strucHtml_elem['before']; $item .= $elem; $item .= $strucHtml_elem['after']; } } } // *** item construct $items .= $strucHtml['item']['before']; $items .= '<a href="/' . $row['iso'] . '/" hreflang="' . $row['iso'] . '" title="' . ucfirst($t_go_to_version) . ': ' . $row['language'] . '">'; $items .= $item; $items .= '</a>'; $items .= $strucHtml['item']['after']; } // *** container construct $output .= $strucHtml['container']['before']; $output .= isset($params['htmlPrepend']) ? $params['htmlPrepend'] : null; $output .= $items; $output .= isset($params['htmlAppend']) ? $params['htmlAppend'] : null; $output .= $strucHtml['container']['after']; } return $output; }
/** * Ajoute un élément au panier * @access private * @param $values * @param $session_key */ private function add_item_cart($values, $session_key) { if (is_array($values)) { $attr = null; //récupération des valeurs postes pour insertion et récupération DB $idcatalog = $values['idcatalog']; $quantity = $values['product_quantity']; $current_price = $values['product_price']; $attr = isset($values['attr']) ? $values['attr'] : null; $lang = frontend_db_lang::s_id_current_lang(frontend_model_template::current_Language()); //récupération des donnée panier en fonction le clé de session $data_cart = parent::s_cart_session($session_key); if ($data_cart == null) { parent::i_cart_session($lang['idlang'], $session_key); $data_cart = parent::s_cart_session($session_key); } $id_cart = $data_cart['id_cart']; //Vérifie si l'item est déjà dans le panier $v_item = parent::s_cart_item_catalog($id_cart, $idcatalog); if ($v_item['idcatalog'] == null) { $this->add_new_item($id_cart, $idcatalog, $quantity, $current_price); } else { $exist = true; if (!empty($this->activeMods)) { foreach ($this->activeMods as $name => $mod) { if (method_exists($mod, 'exist_item')) { $exist = $mod->exist_item($v_item['id_item'], $_POST); } } } if ($exist) { parent::u_cart_item_qty($v_item['id_item'], $v_item['quantity_items'] + $quantity); } else { $this->add_new_item($id_cart, $idcatalog, $quantity, $current_price); } } //Mise à jour du calcul d'items dans le panier $count_items = parent::count_cart_items($id_cart); parent::u_cart_items($id_cart, $count_items['total']); } }
/** * * Selection de la langue dans la base de donnée * @param $codelang */ protected function db_select_lang($iso) { foreach (frontend_db_lang::s_id_current_lang($iso) as $lang) { return $lang['iso']; } }