/** * 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)); }
/** * 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; }
/** * 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); }
/** * 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; }
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); }
/** * 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; } }