示例#1
0
 /**
  * Chargement du fichier de configuration suivant la langue en cours de session.
  * @access private
  * return string
  */
 private function pathConfigLoad($configfile)
 {
     try {
         return $configfile . backend_model_language::current_Language() . '.conf';
     } catch (Exception $e) {
         magixglobal_model_system::magixlog('An error has occured :', $e);
     }
 }
示例#2
0
 /**
  * Construction du menu select
  * @param $create
  * @return string
  */
 private function lang_select($create)
 {
     $create->configLoad('local_' . backend_model_language::current_Language() . '.conf');
     $idlang = '';
     $iso = '';
     foreach (backend_db_block_lang::s_data_lang() as $key) {
         $idlang[] = $key['idlang'];
         $iso[] = $key['iso'];
     }
     $lang_conb = array_combine($idlang, $iso);
     $select = backend_model_forms::select_static_row($lang_conb, array('attr_name' => 'idlang', 'attr_id' => 'idlang', 'default_value' => '', 'empty_value' => $create->getConfigVars('select_language'), 'class' => 'form-control', 'upper_case' => true));
     return $select;
 }
示例#3
0
 /**
  * selection du type
  * @param $create
  * @param null $update
  */
 private function select_metas($create, $update = null)
 {
     $create->configLoad('local_' . backend_model_language::current_Language() . '.conf');
     if ($update != null) {
         if ($update == 1) {
             $default = array($update => 'title');
         } elseif ($update == 2) {
             $default = array($update => 'description');
         }
     }
     $select = backend_model_forms::select_static_row(array('1' => 'Title', '2' => 'Description'), array('attr_name' => 'idmetas', 'attr_id' => 'idmetas', 'default_value' => $default, 'empty_value' => $create->getConfigVars('select_type'), 'class' => 'form-control', 'upper_case' => false));
     $create->assign('select_metas', $select);
 }
示例#4
0
 /**
  * @access private
  * Charge les données de l'image de la news
  * @param $create
  * @param $news_img
  */
 private function ajax_image($create, $news_img)
 {
     if (file_exists($create->basePathConfig('section') . 'local_' . backend_model_language::current_Language() . '.conf')) {
         $create->configLoad($create->basePathConfig('section') . 'local_' . backend_model_language::current_Language() . '.conf', '');
     }
     if ($news_img != null) {
         $img = '<p><img src="/upload/news/s_' . $news_img . '" class="img-thumbnail" alt="" /></p>';
         $img .= '<p><a class="btn btn-danger delete-image"><span class="icon-trash"></span> ' . $create->getConfigVars("remove") . '</a></p>';
     } else {
         $img = '<p><img data-src="holder.js/140x140/text:Thumbnails" class="ajax-image img-thumbnail" /></p>';
     }
     print $img;
 }
示例#5
0
 public function getLanguage()
 {
     return backend_model_language::current_Language();
 }
示例#6
0
 /**
  * @access private
  * Vérification de la session pour accèder à l'administration
  * @param bool $debug
  */
 private function authSession($debug = false)
 {
     //Language model init class
     $language = new backend_model_language();
     $language->run();
     $token = isset($_SESSION['mc_auth_token']) ? $_SESSION['mc_auth_token'] : magixglobal_model_cryptrsa::tokenId();
     $tokentools = $this->hashPassCreate($token);
     backend_controller_template::assign('hashpass', $tokentools);
     if (isset($this->email_admin) and isset($this->passwd_admin) and isset($this->hashtoken)) {
         if (strcasecmp($this->hashtoken, $tokentools) == 0) {
             if ($debug == true) {
                 $firebug = new magixcjquery_debug_magixfire();
                 $firebug->magixFireGroup('tokentest');
                 if ($this->hashtoken) {
                     if (strcasecmp($this->hashtoken, $tokentools) == 0) {
                         $firebug->magixFireLog('session compatible');
                     } else {
                         $firebug->magixFireError('session incompatible');
                     }
                 }
                 $firebug->magixFireLog($_SESSION);
                 $firebug->magixFireGroupEnd();
             }
             $auth_exist = parent::s_auth_exist($this->email_admin, $this->passwd_admin);
             if (count($auth_exist['id_admin']) == true) {
                 $session = new backend_model_sessions();
                 $lang = new backend_model_language();
                 $string = $_SERVER['HTTP_USER_AGENT'];
                 $string .= 'SHIFLETT';
                 /* Add any other data that is consistent */
                 $fingerprint = md5($string);
                 //Fermeture de la première session, ses données sont sauvegardées.
                 session_write_close();
                 $this->start_session();
                 $data = parent::s_data_session($auth_exist['keyuniqid_admin']);
                 if (!isset($_SESSION['email_admin']) and !isset($_SESSION['keyuniqid_admin'])) {
                     $lang = new backend_model_language();
                     $session->openSession($data['id_admin'], session_regenerate_id(true), $data['keyuniqid_admin']);
                     //session_regenerate_id(true);
                     $_SESSION['id_admin'] = $data['id_admin'];
                     $_SESSION['email_admin'] = $data['email_admin'];
                     $_SESSION['keyuniqid_admin'] = $data['keyuniqid_admin'];
                     $_SESSION['adminLanguage'] = $lang->run();
                     if ($debug == true) {
                         $firebug = new magixcjquery_debug_magixfire();
                         $firebug->magixFireGroup('adminsession');
                         $firebug->magixFireDump('User session', $_SESSION);
                         $firebug->magixFireGroupEnd();
                     }
                     magixglobal_model_redirect::backend_redirect_login(false);
                 } else {
                     $session->openSession($data['id_admin'], null, $data['keyuniqid_admin']);
                     $_SESSION['id_admin'] = $data['id_admin'];
                     $_SESSION['email_admin'] = $data['email_admin'];
                     $_SESSION['keyuniqid_admin'] = $data['keyuniqid_admin'];
                     $_SESSION['adminLanguage'] = $lang->run();
                     if ($debug == true) {
                         $firebug = new magixcjquery_debug_magixfire();
                         $firebug->magixFireGroup('adminsession');
                         $firebug->magixFireDump('User session', $_SESSION);
                         $firebug->magixFireGroupEnd();
                     }
                     magixglobal_model_redirect::backend_redirect_login(false);
                 }
             } else {
                 $this->message->getNotify('error_login', array('method' => 'fetch', 'assignFetch' => 'login_message'));
             }
         } else {
             $this->message->getNotify('error_hash', array('method' => 'fetch', 'assignFetch' => 'login_message'));
         }
     }
 }
示例#7
0
 /**
  * @return array|int|string
  */
 private function initlang()
 {
     $lang_array = self::$tabs_iso;
     $langue = explode(",", $_SERVER['HTTP_ACCEPT_LANGUAGE']);
     $langue = strtolower(substr(chop($langue[0]), 0, 2));
     foreach ($lang_array as $key => $value) {
         if (array_key_exists($key, $lang_array)) {
             switch ($langue) {
                 case $key:
                     $langue = $key;
                     break;
                 default:
                     $langue = 'fr';
                     break;
             }
         } else {
             $langue = 'fr';
         }
     }
     if (empty($_SESSION['adminLanguage']) || !empty(self::$adminLanguage)) {
         return $_SESSION['adminLanguage'] = empty(self::$adminLanguage) ? $langue : self::$adminLanguage;
     } else {
         if (isset(self::$adminLanguage)) {
             return self::$adminLanguage = $langue;
         }
     }
 }
示例#8
0
 /**
  * Authentification sur la page de login
  * @param $create
  * @param bool $debug
  */
 private function getAuth($create, $debug = false)
 {
     $token = isset($_SESSION['mc_auth_token']) ? $_SESSION['mc_auth_token'] : filter_rsa::tokenID();
     $tokentools = self::hashPassCreate($token);
     $create->assign('hashpass', $tokentools);
     if (isset($this->email_admin) and isset($this->passwd_admin)) {
         $firebug = new debug_firephp();
         if (strcasecmp($this->hashtoken, $tokentools) == 0) {
             if ($debug == true) {
                 $firebug->group('tokentest');
                 if ($this->hashtoken) {
                     if (strcasecmp($this->hashtoken, $tokentools) == 0) {
                         $firebug->log('session compatible');
                     } else {
                         $firebug->error('session incompatible');
                     }
                 }
                 $firebug->log($_SESSION);
                 $firebug->groupEnd();
             }
             $auth_exist = parent::s_auth_exist($this->email_admin, $this->passwd_admin);
             if (count($auth_exist['idadmin']) == true) {
                 $data = parent::s_data_session($auth_exist['keyuniqid_admin']);
                 $session = new http_session();
                 $language = new backend_model_language();
                 $session->start('mc_adminlang');
                 $sessionUtils = new admin_model_sessionUtils();
                 if (!isset($_SESSION['email_admin']) and !isset($_SESSION['keyuniqid_admin'])) {
                     $sessionUtils->openSession($data['idadmin'], session_regenerate_id(true), $data['keyuniqid_admin']);
                     $array_sess = array('id_admin' => $data['idadmin'], 'email_admin' => $data['email_admin'], 'keyuniqid_admin' => $data['keyuniqid_admin'], 'language_admin' => $language->run());
                     $session->run($array_sess, $language->run());
                     if ($debug == true) {
                         $firebug = new debug_firephp();
                         $firebug->group('adminsession');
                         $firebug->dump('User session', $_SESSION);
                         $firebug->log($session->ip());
                         $firebug->groupEnd();
                     }
                     admin_model_redirect::login(false);
                 } else {
                     $sessionUtils->openSession($data['idadmin'], null, $data['keyuniqid_admin']);
                     $array_sess = array('email_admin' => $data['email_admin'], 'keyuniqid_admin' => $data['keyuniqid_admin']);
                     $language = new admin_model_language();
                     $session->run($array_sess, $language->run());
                     if ($debug == true) {
                         $firebug = new debug_firephp();
                         $firebug->group('adminsession');
                         $firebug->dump('User session', $_SESSION);
                         $firebug->log($session->ip());
                         $firebug->groupEnd();
                     }
                     admin_model_redirect::login(false);
                 }
             }
         }
     }
 }
示例#9
0
 /**
  * Chargement du fichier de configuration suivant la langue en cours de session.
  * @access private
  * return string
  */
 private function pathConfigLoad($configfile, $filextension = false, $plugin = '')
 {
     try {
         $filextends = $filextension ? $filextension : '.conf';
         $lang = backend_model_language::current_Language();
         if (file_exists($this->path_dir_i18n())) {
             $translate = !empty($lang) ? $lang : 'fr';
             return $this->path_dir_i18n() . $configfile . $translate . $filextends;
         } else {
             return null;
         }
     } catch (Exception $e) {
         magixglobal_model_system::magixlog("Error path config", $e);
     }
 }
示例#10
0
 * @license    Dual licensed under the MIT or GPL Version 3 licenses.
 * @version    1.3
 * @author Gérits Aurélien <*****@*****.**>
 * @name dashboard
 *
 */
/**
 * Charge toutes les Classes de l'application
 */
$baseadmin = 'baseadmin.php';
if (file_exists($baseadmin)) {
    require $baseadmin;
    if (!defined('PATHADMIN')) {
        throw new Exception('PATHADMIN is not defined');
    }
}
require '../lib/mcbackend.php';
/**
 * Autoload Frontend
 */
$members = new backend_controller_login();
$members->securePage();
$members->closeSession();
if (magixcjquery_filter_request::isSession('keyuniqid_admin')) {
    //Language model init class
    $language = new backend_model_language();
    $language->run();
    backend_controller_config::load_attribute_config();
    $ini = new backend_controller_dashboard();
    $ini->run();
}
示例#11
0
 /**
  * @access private
  * Retourne l'image du produit
  * @param $create
  * @param $imgcatalog
  */
 private function ajax_product_image($create, $imgcatalog)
 {
     if (file_exists($create->basePathConfig('section') . 'local_' . backend_model_language::current_Language() . '.conf')) {
         $create->configLoad($create->basePathConfig('section') . 'local_' . backend_model_language::current_Language() . '.conf', '');
     }
     $img = '';
     if ($imgcatalog != null) {
         if (file_exists(self::dirImgProduct() . 'medium' . DIRECTORY_SEPARATOR . $imgcatalog)) {
             $small = getimagesize(self::dirImgProduct() . 'mini' . DIRECTORY_SEPARATOR . $imgcatalog);
             $medium = getimagesize(self::dirImgProduct() . 'medium' . DIRECTORY_SEPARATOR . $imgcatalog);
             $product = getimagesize(self::dirImgProduct() . 'product' . DIRECTORY_SEPARATOR . $imgcatalog);
             $img .= '<p>';
             $img .= '<a href="#" data-delete="' . $imgcatalog . '" class="btn btn-danger btn-block delete-image">';
             $img .= '<span class="icon-trash"></span> ' . $create->getConfigVars("remove") . '</a>';
             $img .= '</p>';
             $img .= '<div class="col-lg-2 col-sm-3">';
             $img .= '<div class="thumbnail">';
             $img .= '<img src="/upload/catalogimg/mini/' . $imgcatalog . '" alt="" />';
             $img .= '<div class="caption">';
             $img .= '<ul class="list-unstyled">';
             $img .= '<li>width:' . $small[0] . '</li>';
             $img .= '<li>height:' . $small[1] . '</li>';
             $img .= '</ul>';
             $img .= '</div>';
             $img .= '</div>';
             $img .= '</div>';
             $img .= '<div class="col-lg-3 col-sm-4">';
             $img .= '<div class="thumbnail">';
             $img .= '<img src="/upload/catalogimg/medium/' . $imgcatalog . '" alt="" />';
             $img .= '<div class="caption">';
             $img .= '<ul class="list-unstyled">';
             $img .= '<li>width:' . $medium[0] . '</li>';
             $img .= '<li>height:' . $medium[1] . '</li>';
             $img .= '</ul>';
             $img .= '</div>';
             $img .= '</div>';
             $img .= '</div>';
             $img .= '<div class="col-lg-5 col-sm-5">';
             $img .= '<div class="thumbnail">';
             $img .= '<img src="/upload/catalogimg/product/' . $imgcatalog . '" alt="" />';
             $img .= '<div class="caption">';
             $img .= '<ul class="list-unstyled">';
             $img .= '<li>width:' . $product[0] . '</li>';
             $img .= '<li>height:' . $product[1] . '</li>';
             $img .= '</ul>';
             $img .= '</div>';
             $img .= '</div>';
             $img .= '</div>';
         } else {
             $img = '<p><img data-src="holder.js/140x140/text:Thumbnails" class="ajax-image img-thumbnail" /></p>';
         }
     } else {
         $img .= '<p><img data-src="holder.js/140x140/text:Thumbnails" class="ajax-image img-thumbnail" /></p>';
     }
     print $img;
 }
/**
 * Smarty {autoload_i18n} 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_autoload_i18n($params, $template)
{
    backend_controller_template::configLoad('local_' . backend_model_language::current_Language() . '.conf');
}
示例#13
0
/**
 * Smarty {iso} 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_iso($params, $template)
{
    return backend_model_language::current_Language();
}
示例#14
0
 /**
  * Construction du menu select pour les rôles
  * @param $create
  * @param null $idadmin
  * @return null|string
  */
 private function role_select($create, $idadmin = null)
 {
     $create->configLoad('local_' . backend_model_language::current_Language() . '.conf');
     if ($idadmin != null) {
         $user_role = parent::s_role_data($idadmin);
         foreach ($user_role as $key) {
             $id_user_role[] = $key['id_role'];
             $role_user_name[] = $key['role_name'];
         }
         $user_role_conb = array_combine($id_user_role, $role_user_name);
     } else {
         $user_role_conb = null;
     }
     if (parent::s_all_role() != null) {
         $id_role = '';
         $role_name = '';
         foreach (parent::s_all_role() as $key) {
             $id_role[] = $key['id_role'];
             $role_name[] = $key['role_name'];
         }
         $role_conb = array_combine($id_role, $role_name);
         $select = backend_model_forms::select_static_row($role_conb, array('attr_name' => 'id_role', 'attr_id' => 'id_role', 'default_value' => $user_role_conb, 'empty_value' => $create->getConfigVars('select_role'), 'class' => 'form-control', 'upper_case' => false));
     } else {
         $select = null;
     }
     return $select;
 }
示例#15
0
 /**
  * @access private
  * Scanne le dossier skin (public) et retourne les images ou capture des thèmes
  */
 private function scanTemplateDir($create)
 {
     $create->configLoad('local_' . backend_model_language::current_Language() . '.conf');
     $skin = $this->directory_skin();
     if (!is_readable($skin)) {
         throw new exception('skin is not minimal permission');
     }
     $makefiles = new magixcjquery_files_makefiles();
     $dir = $makefiles->scanRecursiveDir($skin, '.svn');
     $count = count($dir);
     if ($count == 0) {
         throw new exception('skin is not found');
     }
     if (!is_array($dir)) {
         throw new exception('skin is not array');
     }
     $template = null;
     foreach ($dir as $d) {
         if ($d == $this->load_theme()) {
             $btn_class = ' btn-primary';
             $btn_title = $create->getConfigVars('select');
         } else {
             $ctpl = '';
             $btn_class = ' btn-default';
             $btn_title = $create->getConfigVars('choose');
         }
         $themePath = self::directory_skin() . $d;
         if ($makefiles->scanDir($themePath) != null) {
             if (file_exists($themePath . '/screenshot.png')) {
                 $img = 'src="' . magixcjquery_html_helpersHtml::getUrl() . '/skin/' . $d . '/screenshot.png"';
                 $srcData = '';
             } else {
                 $img = 'src="' . magixcjquery_html_helpersHtml::getUrl() . '/skin/default/screenshot.png"';
                 $srcData = ' data-src="holder.js/260x180"';
             }
             $template .= '<li class="col-sm-4">';
             $template .= '<div class="thumbnail">';
             $template .= '<img ' . $img . $srcData . ' alt="' . $btn_title . '">';
             $template .= '<div class="caption">';
             $template .= '<h3>' . $d . '</h3>';
             $template .= '<p><a data-skin="' . $d . '" class="skin-tpl btn btn-large btn-block' . $btn_class . '" href="#">' . $btn_title . '</a></p>';
             $template .= '</div>';
             $template .= '</div>';
             $template .= '</li>';
         }
     }
     return $template;
 }
示例#16
0
 /**
  * Chargement des données du cache
  * @param $create
  * @return string
  */
 private function load_cache_data($create)
 {
     $create->configLoad('local_' . backend_model_language::current_Language() . '.conf');
     $config = parent::s_setting_id('cache');
     $select = backend_model_forms::select_static_row(array('none' => $create->getConfigVars('inactive'), 'files' => $create->getConfigVars('files'), 'apc' => 'APC'), array('attr_name' => 'cache', 'attr_id' => 'cache', 'default_value' => $config['setting_value'], 'empty_value' => $create->getConfigVars('select_cache'), 'class' => 'form-control', 'upper_case' => false));
     return $select;
 }