/** * @param WebsiteManager $websiteManager * @param PageListener $pageListener * @param LanguageRepository $languageRepository * @param PageRepository $pageRepository * @param RouteRepository $routeRepository */ public function __construct(WebsiteManager $websiteManager, PageListener $pageListener, LanguageRepository $languageRepository, PageRepository $pageRepository, RouteRepository $routeRepository) { parent::__construct(); $this->websiteManager = $websiteManager; $this->languageRepository = $languageRepository; $this->pageRepository = $pageRepository; $this->routeRepository = $routeRepository; $this->pageListener = $pageListener; $this->absoluteUrls = true; \Nette\Diagnostics\Debugger::$bar = false; }
public static function register(\Nette\Http\IRequest $httpRequest, $storageDir, $expire = 3600) { if (static::$httpRequest) { throw new \Nette\InvalidStateException("Multiple file uploader allready registered"); } elseif (!file_exists($storageDir) || !is_writable($storageDir)) { throw new \Nette\InvalidStateException("Storage dir must be writable"); } static::$httpRequest = $httpRequest; static::$storageDir = $storageDir; static::$expire = $expire; // process uploaded file if ($httpRequest->getHeader('X-Nella-MFU-Token') && $httpRequest->getHeader('X-Uploader')) { $files = $httpRequest->files; if (isset($files['file']) && $files['file']->ok) { $token = $httpRequest->getHeader('X-Nella-MFU-Token'); $path = static::$storageDir . "/"; $path .= $token . "_" . time() . "_" . Strings::random(16); $path .= "." . pathinfo($files['file']->name, PATHINFO_EXTENSION); $path .= ".tmp"; $files['file']->move($path); } echo "{success:true}"; \Nette\Diagnostics\Debugger::$bar = NULL; exit; } // clean expired files $files = Finder::findFiles("*.tmp")->from(static::$storageDir); $expire = time() + static::$expire; foreach ($files as $file) { if ($file->getMTime() > $expire) { @unlink($file->getRealPath()); // prevents error } } }
public function beforeRender() { parent::beforeRender(); \Nette\Diagnostics\Debugger::$bar = FALSE; }