示例#1
0
 /**
  * Rendu d'un menu donné.
  *
  * @param mixed $mMenu
  * @param string $sUserTpl
  * @return string
  */
 public function render($mMenu, $sUserTpl = null)
 {
     # récupération du menu
     $aMenuParams = array('language' => $this->okt->user->language, 'active' => 1);
     if (util::isInt($mMenu)) {
         $aMenuParams['id'] = $mMenu;
     } else {
         $aMenuParams['title'] = $mMenu;
     }
     $rsMenu = $this->getMenus($aMenuParams);
     if ($rsMenu->isEmpty()) {
         return null;
     }
     # récupération des éléments
     $rsItems = $this->getItems(array('menu_id' => $rsMenu->id, 'language' => $this->okt->user->language, 'active' => 1));
     # affichage du template
     $sTemplate = $this->okt->config->navigation_tpl['default'];
     if (!empty($sUserTpl) && in_array($sUserTpl, $this->okt->config->navigation_tpl['usables'])) {
         $sTemplate = $sUserTpl;
     } elseif (!empty($rsMenu->tpl) && in_array($rsMenu->tpl, $this->okt->config->navigation_tpl['usables'])) {
         $sTemplate = $rsMenu->tpl;
     }
     return $this->okt->tpl->render('navigation/' . $sTemplate . '/template', array('rsMenu' => $rsMenu, 'rsItems' => $rsItems));
 }
示例#2
0
 /**
  * Retourne, sous forme de recordset, un élément donné dans la langue de l'utilisateur
  * et le prépare en vue d'un affichage.
  *
  * @param integer $mItemId 		Identifiant numérique ou slug de l'élément.
  * @param integer $iActive
  * @return object galleriesItemsRecordset
  */
 public function getItem($mItemId, $iActive = 2)
 {
     $aParams = array('language' => $this->okt->user->language, 'active' => $iActive);
     if (util::isInt($mItemId)) {
         $aParams['id'] = $mItemId;
     } else {
         $aParams['slug'] = $mItemId;
     }
     $rs = $this->getItemsRecordset($aParams);
     $this->prepareItem($rs);
     return $rs;
 }
示例#3
0
 /**
  * Retourne les infos d'un groupe donné.
  *
  * @param $group
  * @return recordset
  */
 public function getGroup($group)
 {
     $aParams = array();
     if (util::isInt($group)) {
         $aParams['group_id'] = $group;
     } else {
         $aParams['title'] = $group;
     }
     return $this->getGroups($aParams);
 }
示例#4
0
 /**
  * Retourne un article donné sous forme de recordset.
  *
  * @param integer $mPostId 		Identifiant numérique ou slug de l'article.
  * @param integer $iActive
  * @return object recordset
  */
 public function getPost($mPostId, $iActive = null)
 {
     $aParams = array('language' => $this->okt->user->language);
     if (!is_null($iActive)) {
         $aParams['active'] = $iActive;
     }
     if (util::isInt($mPostId)) {
         $aParams['id'] = $mPostId;
     } else {
         $aParams['slug'] = $mPostId;
     }
     $rs = $this->getPostsRecordset($aParams);
     $this->preparePost($rs);
     return $rs;
 }
示例#5
0
 public static function generateCacheFile($filesource, $filecache)
 {
     if (!file_exists($filesource)) {
         trigger_error('No config file', E_USER_WARNING);
         return false;
     }
     $ini_array = parse_ini_file($filesource);
     $res = '<?php' . "\n\n";
     foreach ($ini_array as $k => $v) {
         if (is_bool($v) || util::isInt($v)) {
             $res .= 'define(\'' . $k . '\', ' . $v . ');' . "\n\n";
         } else {
             $res .= 'define(\'' . $k . '\', \'' . addslashes($v) . '\');' . "\n\n";
         }
     }
     return file_put_contents($filecache, $res);
 }
示例#6
0
 /**
  * Méthode d'authentification de l'utilisateur courant.
  *
  * @param $mUser
  * @param $sPasswordHash
  * @return void
  */
 public function authenticateUser($mUser, $sPasswordHash)
 {
     $sQuery = 'SELECT u.*, g.*, o.logged, o.idle, o.csrf_token, o.prev_url ' . 'FROM ' . $this->t_users . ' AS u ' . 'INNER JOIN ' . $this->t_groups . ' AS g ON g.group_id=u.group_id ' . 'LEFT JOIN ' . $this->t_online . ' AS o ON o.user_id=u.id ' . 'WHERE u.active = 1 AND ';
     if (util::isInt($mUser)) {
         $sQuery .= 'u.id=' . (int) $mUser . ' ';
     } else {
         $sQuery .= 'u.username=\'' . $this->oDb->escapeStr($mUser) . '\' ';
     }
     if (($rs = $this->oDb->select($sQuery)) === false) {
         return false;
     }
     if ($rs->isEmpty() || $sPasswordHash != $rs->f('password')) {
         $this->setDefaultUser();
     } else {
         $this->infos = $rs;
     }
 }