public function onAfterInitController($event)
 {
     //this extension should only run if no explicit model is given via request parameter "m"
     $request = new Zend_Controller_Request_Http();
     if ($request->get("m")) {
         return;
     }
     $config = $this->_privateConfig->toArray();
     $efApp = Erfurt_App::getInstance();
     // disable model box if config value is true and modelmanangement isn't allowed
     if ($config['modelsHide'] && !$efApp->getAc()->isActionAllowed($config['modelsExclusiveRight'])) {
         $registry = OntoWiki_Module_Registry::getInstance();
         $registry->disableModule('modellist', 'main.sidewindow');
     }
     //only do this once (so if the model is changed later, this plugin will not prevent it)
     if ($config['setOnce'] && isset($_SESSION['defaultModelHasBeenSet']) && $_SESSION['defaultModelHasBeenSet']) {
         return;
     }
     $_SESSION['defaultModelHasBeenSet'] = true;
     require_once 'OntoWiki/Module/Registry.php';
     $owApp = OntoWiki::getInstance();
     $efStore = $efApp->getStore();
     $availableModels = $efStore->getAvailableModels();
     if (array_key_exists('modelUri', $config) && array_key_exists($config['modelUri'], $availableModels)) {
         $modelUri = $config['modelUri'];
     } elseif (count($availableModels) === 1) {
         $modelUri = current(array_keys($availableModels));
     } else {
         $modelUri = false;
     }
     // set default model if it could be determined
     if ($modelUri && !$efApp->getAc()->isActionAllowed($config['modelsExclusiveRight'])) {
         if (!($owApp->selectedModel && $modelUri == $owApp->selectedModel->getModelUri())) {
             $owApp->selectedModel = $efStore->getModel($modelUri);
             return;
         }
         if ($config['setSelectedResource']) {
             $owApp->selectedResource = $modelUri;
         }
     }
 }
示例#2
0
 public function testGetIsAlias()
 {
     $this->assertEquals('val1', $this->_request->get('var1'));
 }
示例#3
0
 /**
  * @see AM_Handler_Export_Storage_Interface::sendPackage()
  * @throws AM_Handler_Export_Storage_Exception
  */
 public function sendPackage()
 {
     $sFilePath = $this->_buildPackagePath() . DIRECTORY_SEPARATOR . $this->getPackage()->getPackageName();
     $sFileName = $this->getPackage()->getPackageDownloadName();
     if (!file_exists($sFilePath)) {
         throw new AM_Handler_Export_Storage_Exception(sprintf('File "%s" not found', $sFilePath));
     }
     $oResponse = new Zend_Controller_Response_Http();
     $oResponse->setHttpResponseCode(200);
     $oRequest = new Zend_Controller_Request_Http();
     $iFileSize = filesize($sFilePath);
     $sFileMtime = @gmdate("D, d M Y H:i:s", @filemtime($sFilePath)) . " GMT";
     $rFile = @fopen($sFilePath, 'rb');
     $sRange = $oRequest->get('HTTP_RANGE');
     //Trying to resume download according to the HTTP_RANGE header
     if (preg_match('/bytes=(\\d+)-(\\d*)/i', $sRange, $matches)) {
         $sRange = $matches[1];
     } else {
         $sRange = false;
     }
     if ($sRange) {
         fseek($rFile, $sRange);
         $oResponse->setHttpResponseCode(206);
         $oResponse->setHeader('Content-Range', sprintf('bytes %d-%d/%d', $sRange, $iFileSize - 1, $iFileSize));
     }
     $oResponse->setHeader('Content-Disposition', 'attachment; filename=' . $sFileName)->setHeader('Content-Length', $iFileSize - $sRange)->setHeader('Content-Type', 'application/octet-stream')->setHeader('Accept-Ranges', 'bytes')->setHeader('Last-Modified', $sFileMtime);
     while (!feof($rFile)) {
         $sBuffer = fread($rFile, 2048);
         $oResponse->appendBody($sBuffer);
     }
     fclose($rFile);
     $oResponse->sendResponse();
 }