示例#1
0
 /**
  * @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;
 }
示例#2
0
	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
			}
		}
	}
示例#3
0
 public function beforeRender()
 {
     parent::beforeRender();
     \Nette\Diagnostics\Debugger::$bar = FALSE;
 }