public function delete($name) { if (strncmp('session_', $name, 8) === 0) { parent::delete($this->prefix . '_' . strtolower($name)); } foreach (\Gekosale\Helper::getViewIds() as $viewId) { $cacheid = $viewId . '_' . \Gekosale\Helper::getLanguageId(); parent::delete($this->prefix . '_' . strtolower($name) . '_' . $cacheid); } }
public function __construct($registry) { parent::__construct($registry); $this->queryColumns = array(); $this->queryColumnsOptions = array(); $this->queryTable = ''; $this->queryFrom = ''; $this->queryWhere = ''; $this->queryAdditionalWhere = ''; $this->queryGroupBy = ''; $this->encryptionKey = Session::getActiveEncryptionKeyValue(); $this->languageId = Helper::getLanguageId(); $this->sqlParams = array(); $this->viewId = !is_null(Helper::getViewId()) ? Helper::getViewId() : 0; $this->viewIds = Helper::getViewIds(); }
public function getParentCategories($parentCategory = 0) { $sql = 'SELECT C.idcategory AS id, C.distinction, CT.name AS categoryname FROM category C LEFT JOIN categorytranslation CT ON CT.categoryid = C.idcategory AND CT.languageid = :languageid LEFT JOIN viewcategory VC ON VC.categoryid = C.idcategory WHERE C.categoryid IS NULL '; if (Helper::getViewId() > 0) { $sql .= ' AND VC.viewid IN (' . implode(',', Helper::getViewIds()) . ') '; } $sql .= 'GROUP BY C.idcategory ORDER BY C.distinction ASC'; $Data = array(); $stmt = Db::getInstance()->prepare($sql); $stmt->bindValue('languageid', Helper::getLanguageId()); $stmt->execute(); $Data = array(); while ($rs = $stmt->fetch()) { $Data[$rs['id']] = array('id' => $rs['id'], 'name' => $rs['categoryname'], 'hasChildren' => false, 'parent' => null, 'weight' => $rs['distinction']); } return $Data; }
protected function checkControllerRightMenu($name, $action, $layer) { $globaluser = Session::getActiveUserIsGlobal(); if ($globaluser == 0) { if (Helper::getViewId() > 0) { $sql = 'SELECT permission FROM `right` R LEFT JOIN controller C ON C.idcontroller = R.controllerid LEFT JOIN usergroupview UGV ON UGV.groupid = R.groupid WHERE C.name = :name AND C.enable = 1 AND UGV.userid = :userid AND C.mode = 1 AND UGV.viewid = :viewid'; $stmt = Db::getInstance()->prepare($sql); $stmt->bindValue('name', $name); $stmt->bindValue('userid', Session::getActiveUserid()); $stmt->bindValue('viewid', Helper::getViewId()); } else { $sql = 'SELECT permission FROM `right` R LEFT JOIN controller C ON C.idcontroller = R.controllerid LEFT JOIN usergroupview UGV ON UGV.groupid = R.groupid WHERE C.name = :name AND C.enable = 1 AND UGV.userid = :userid AND C.mode = 1 AND UGV.viewid IN (' . implode(',', Helper::getViewIds()) . ')'; $stmt = Db::getInstance()->prepare($sql); $stmt->bindValue('name', $name); $stmt->bindValue('userid', Session::getActiveUserid()); } } else { $sql = 'SELECT permission FROM `right` R LEFT JOIN controller C ON C.idcontroller = R.controllerid WHERE name = :name AND `enable` = 1 AND groupid = :groupid AND mode = 1'; $stmt = Db::getInstance()->prepare($sql); $stmt->bindValue('name', $name); $stmt->bindValue('groupid', Session::getActiveUserGroupid()); } $stmt->execute(); $rs = $stmt->fetch(); if ($rs) { if (($rs['permission'] & $this->_RIGHTS[$action]) == $this->_RIGHTS[$action]) { $this->_CONTROLLERRIGHTS[$name][(int) $layer] = $rs['permission']; return $rs['permission']; } return false; } return false; }