public static function isAllowed($action, $controller = null, $module = null) { $phpSessionId = $request->getPost('PHPSESSID'); $session = Gio_Core_Session::getSessionById($phpSessionId); $json = new Services_JSON(); $user = null == $session || null == $session['data'] ? null : $json->decode($session['data']); if (null == $user) { return false; } }
public function __construct() { $this->_rules = Modules_Core_Services_Rule::getAclRules(); $request = Gio_Core_Request::getInstance(); $phpSessionId = $request->getPost('PHPSESSID'); $session = Gio_Core_Session::getSessionById($phpSessionId); $json = new Services_JSON(); $user = null == $session || null == $session['data'] ? null : $json->decode($session['data']); $this->_user = $user; }
public function run() { $request = Gio_Core_Request::getInstance(); $configs = Gio_Core_Config_Xml::getConfig('web'); $adminPrefixUrl = $configs->admin->url_prefix; $adminTemplate = $configs->admin->template; $adminSkin = isset($configs->admin->skin) ? $configs->admin->skin : 'default'; $baseUrl = $request->getBaseUrl(); $uri = $request->getRequestUri(); $serverName = $request->getServerName(); $serverPort = $request->getServerPort(); $serverPort = $serverPort == 80 ? '' : ':' . $serverPort; $uri = 'http://' . $serverName . $serverPort . $uri; $currentUrl = str_replace($baseUrl, '', $uri); $currentUrl = '/' . rtrim(ltrim($currentUrl, '/'), '/') . '/'; /** * 7 is length of /admin/ */ $length = strlen($adminPrefixUrl) + 2; if (!$adminPrefixUrl || substr($currentUrl, 0, $length) != "/{$adminPrefixUrl}/") { return; } $controllerFront = Gio_Core_Controller::getIntance(); $controllerFront->setTemplate($adminTemplate); $view = Gio_Core_View::getInstance(); $view->APP_TEMPLATE = $adminTemplate; $view->APP_SKIN = $adminSkin; $view->setAdminSection(true); /** * Check admin login */ $phpSessionId = $request->getPost('PHPSESSID'); $session = Gio_Core_Session::getSessionById($phpSessionId); $json = new Services_JSON(); $user = null == $session || null == $session['data'] ? null : $json->decode($session['data']); $view->userLogin = $user; //return; $route = Gio_Core_Route::getCurrentRoute(true); if ((null == $user || !isset($user->username) || null == $user->username) && (null == $route || $route['name'] != 'core_auth_login')) { $return = $_SERVER['REQUEST_URI']; $return = $return ? rawurlencode(base64_encode($return)) : null; $link = $view->url('core_auth_login'); if (strpos($link, '?') !== false) { $return = $return != null ? '&return=' . $return : null; } else { $return = $return != null ? '?return=' . $return : null; } header('Location: ' . $link . $return); exit; } }
public function uploadAction() { $this->disableLayout(); $this->setNoRender(); $request = $this->getRequest(); if (!$request->isPost()) { exit; } /** * Authentication */ $phpSessionId = $request->getPost('PHPSESSID'); $session = Gio_Core_Session::getSessionById($phpSessionId); $json = new Services_JSON(); $user = null == $session || null == $session['data'] ? null : $json->decode($session['data']); if (null == $user) { return; } /** * Get config */ $configFile = MOD_DIR . DS . 'upload' . DS . 'configs' . DS . 'config.ini'; $iniArray = @parse_ini_file($configFile, true); $tool = isset($iniArray['thumbnail']['tool']) ? $iniArray['thumbnail']['tool'] : 'gd'; $sizes = array(); foreach ($iniArray['size'] as $key => $value) { list($method, $width, $height) = explode('_', $value); $sizes[$key] = array('method' => $method, 'width' => $width, 'height' => $height); } $user = (array) $user; $userName = $user['username']; $module = $request->getPost('mod'); $thumbnailSizes = $request->getPost('thumbnails', null); /** * Prepare folders */ $dir = ROOT_DIR . DS . 'upload'; $path = implode(DS, array($module, $userName, date('Y'), date('m'))); Gio_Core_File::createDirs($dir, $path); /** * Upload file */ $ext = explode('.', $_FILES['Filedata']['name']); $extension = $ext[count($ext) - 1]; unset($ext[count($ext) - 1]); $fileName = date('YmdHis_') . implode('', $ext); $file = $dir . DS . $path . DS . $fileName . '.' . $extension; move_uploaded_file($_FILES['Filedata']['tmp_name'], $file); /** * Water mark * @since 2.0.4 */ $watermark = $request->getParam('watermark'); $overlayText = $color = $overlayImage = $position = $sizesApplied = null; if ((bool) $watermark) { $overlayText = $request->getParam('text'); $color = $request->getParam('color'); $overlayImage = $request->getParam('image'); $position = $request->getParam('position'); $sizesApplied = $request->getParam('sizes'); $sizesApplied = explode(',', $sizesApplied); } /** * Generate thumbnails if requested */ if (!isset($thumbnailSizes) || $thumbnailSizes == null) { $thumbnailSizes = array_keys($sizes); } else { if ($thumbnailSizes != 'none') { $thumbnailSizes = explode(',', $thumbnailSizes); } } $service = null; switch (strtolower($tool)) { case 'imagemagick': $service = new Gio_Image_ImageMagick(); break; case 'gd': $service = new Gio_Image_GD(); break; } $ret = array(); /** * Remove script filename from base URL */ $baseUrl = $request->getBaseUrl(); $prefixUrl = rtrim($baseUrl, '/') . '/upload/' . $module . '/' . $userName . '/' . date('Y') . '/' . date('m'); $ret['original'] = array('url' => $prefixUrl . '/' . $fileName . '.' . $extension, 'size' => null); if ($thumbnailSizes != 'none') { $service->setFile($file); $ret['original']['size'] = $service->getWidth() . ' x ' . $service->getHeight(); foreach ($thumbnailSizes as $s) { $service->setFile($file); $method = $sizes[$s]['method']; $width = $sizes[$s]['width']; $height = $sizes[$s]['height']; $f = $fileName . '_' . $s . '.' . $extension; $newFile = $dir . DS . $path . DS . $f; /** * Create thumbnail */ switch ($method) { case 'resize': $service->resizeLimit($newFile, $width, $height); break; case 'crop': $service->crop($newFile, $width, $height); break; } /** * Create watermark if requested */ if ((bool) $watermark) { $service->setWatermarkFont(ROOT_DIR . DS . 'data' . DS . 'upload' . DS . self::WATERMARK_FONT); $service->setFile($newFile); if ($overlayText && in_array($s, $sizesApplied)) { $service->watermarkText($overlayText, $position, array('color' => $color, 'rotation' => 0, 'opacity' => 50, 'size' => null)); } if ($overlayImage && in_array($s, $sizesApplied)) { $overlay = explode('/', $overlayImage); $n = count($overlay); $overlay = implode(DS, array($dir, 'multimedia', $overlay[$n - 4], $overlay[$n - 3], $overlay[$n - 2], $overlay[$n - 1])); $service->watermarkImage($overlay, $position); } } $ret[$s] = array('url' => $prefixUrl . '/' . $f, 'size' => $width . ' x ' . $height); } } /** * Return the reponse */ $json = new Services_JSON(); $this->getResponse()->setBody($json->encodeUnsafe($ret)); }
private function _getSession() { if (null == $this->_session) { $this->_session = Gio_Core_Session::getSessionById(); } return $this->_session; }