/**
 * 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);
}
Esempio n. 3
0
 /**
  * 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;
}
Esempio n. 5
0
 /**
  * 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']);
     }
 }
Esempio n. 6
0
 /**
  * 
  * 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'];
     }
 }