/** * Initialize file manager * * @param array $config Custom configuration */ public function init(array $config) { // Create system container with services and configuration $this->system = new FileManager\Loader($this->session, $this->cacheStorage, $config); $this->system->freeze(); // Get & validate actual dir $actualDir = $this->system->session->actualdir; $actualPath = $this->getAbsolutePath($actualDir); if (!is_dir($actualPath) || empty($actualDir)) { // Set root directory as default $actualDir = FileSystem::getRootname(); } $this->setActualDir($actualDir); // Get selected files via POST $selectedFiles = $this->httpRequest->getPost("files"); if (is_array($selectedFiles)) { $this->selectedFiles = $selectedFiles; } // Get & validate selected view $view = $this->system->session->view; if (in_array($view, $this->views)) { $this->view = $view; } $this->invalidateControl(); }
/** * @return mixed|string */ protected function readData() { $data = $this->readInput(); if (!$data) { $data = $this->httpRequest->getPost(); } return $data; }
/** * Zpracování uploadu souboru. */ public function handleUpload() { $files = $this->request->getFiles(); $token = $this->request->getPost("token"); /** @var \Nette\Http\FileUpload $file */ $file = $files[$this->uploadControl->getHtmlName()]; $model = $this->uploadControl->getUploadModel(); $cache = $this->uploadControl->getCache(); $filter = $this->getFilter(); try { if (!is_null($filter) && !$filter->checkType($file)) { throw new \Zet\FileUpload\InvalidFileException($this->getFilter()->getAllowedTypes()); } if ($file->isOk()) { $returnData = $model->save($file); $cacheFiles = $cache->load($this->uploadControl->getTokenizedCacheName($token)); if (empty($cacheFiles)) { $cacheFiles = array($this->request->getPost("id") => $returnData); } else { $cacheFiles[$this->request->getPost("id")] = $returnData; } $cache->save($this->uploadControl->getTokenizedCacheName($token), $cacheFiles); } } catch (\Zet\FileUpload\InvalidFileException $e) { $this->presenter->sendResponse(new \Nette\Application\Responses\JsonResponse(array("id" => $this->request->getPost("id"), "error" => 100, "errorMessage" => $e->getMessage()))); } catch (\Exception $e) { $this->presenter->sendResponse(new \Nette\Application\Responses\JsonResponse(array("id" => $this->request->getPost("id"), "error" => 99, "errorMessage" => $e->getMessage()))); } $this->presenter->sendResponse(new \Nette\Application\Responses\JsonResponse(array("id" => $this->request->getPost("id"), "error" => $file->getError()))); }
/** * */ public function handlePutImage() { $post = $this->httpRequest->getPost(); $tmp = $this->repository->getDir() . '/' . 'temp.tmp'; file_put_contents($tmp, file_get_contents($post['url'])); $fileUpload = new FileUpload(array('name' => $post['filename'], 'type' => mime_content_type($tmp), 'size' => filesize($tmp), 'tmp_name' => $tmp, 'error' => 0)); $this->repository->save($fileUpload); }
public function handleUploadSuccess() { foreach ($this->onUploadComplete as $callback) { if (is_callable($callback)) { call_user_func($callback, $this->request->getPost('files')); } } }
/** * @param string $key * @param mixed $default * @return mixed|null */ protected function getRequest($key, $default = NULL) { if ($value = $this->httpRequest->getPost($key)) { return $value; } if ($value = $this->httpRequest->getQuery($key)) { return $value; } return $default; }
public function renderAuthFtp() { if ($this->httpRequest->getMethod() != "POST") { $this->error('Neplatná metoda.', 403); } $this->httpResponse->setContentType('text/plain', 'UTF-8'); $username = $this->httpRequest->getPost('username', ''); $password = $this->httpRequest->getPost('password', ''); $s = $this->share->findOneBy(array('var' => $username, 'var2' => $password)); $out = array(); if (!$s) { $out[] = 'auth_ok:0'; } else { $out[] = 'auth_ok:1'; $out[] = 'uid:' . Model\Share::shareuid; $out[] = 'gid:' . Model\Share::sharegid; $out[] = 'dir:' . Model\Share::dataBaseUrl . $s->folder->name . '/'; } $out[] = 'end'; $this->send($out); }
/** * Handle edit */ public function handleEdit() { if ($this->presenter->isAjax()) { $post = $this->request->getPost(); foreach ($post as $column => $value) { if ($column === $this->getModel()->getPrimaryKey() || $this['columns']->getComponent($column)->isEditable()) { continue; } throw new \Nette\Application\ForbiddenRequestException('Column \'' . $column . '\' is not editable'); } call_user_func($this->editHandler, $post); } }
protected function tryProcessResponse() { // vytahnu data z response $token = $this->httpRequest->getPost('skautIS_Token'); if ($token) { // Pokud prisel v HTTP POSTu token // Nastavim ho $this->client->setLoginData($this->httpRequest->getPost()); // A po nacteni aplikace zajistim presmerovani na signal response! komponenty, ktera login dialog otevřela $this->app->onPresenter[] = function (Application\Application $sender, Application\UI\Presenter $presenter) { $presenter->onShutdown[] = function (Application\UI\Presenter $presenter) { if (!empty($this->session->signal_response_link)) { // Vnutím presenteru přesměrování na jinou URL $refl = new \ReflectionProperty('Nette\\Application\\UI\\Presenter', 'response'); $refl->setAccessible(TRUE); // $response = new Application\Responses\TextResponse("My text response"); $response = new Application\Responses\RedirectResponse($this->session->signal_response_link); $refl->setValue($presenter, $response); } }; }; } }
/** * Constructor * * @param \Nette\Http\Request $request HTTP request * @param \Nette\Http\Session $session Session * @param array $config Custom configuration */ public function __construct(Request $request, Session $session, $config = array()) { parent::__construct(); // Create system container with services and configuration $this->system = new FileManager\Application\Loader($session, $config); $this->system->freeze(); // Get & validate actual dir $actualDir = $this->system->session->get("actualdir"); $actualPath = $this->getAbsolutePath($actualDir); if (!is_dir($actualPath) || empty($actualDir)) { // Set root directory as default $actualDir = FileSystem::getRootname(); } $this->setActualDir($actualDir); // Get selected files via POST $selectedFiles = $request->getPost("files"); if (is_array($selectedFiles)) { $this->selectedFiles = $selectedFiles; } $this->invalidateControl(); }
/** * Creates Nette Application request * @return \Nette\Application\Request */ public function createApplicationRequest() { list($presenter, $action) = $this->getDestination(); $data = $this->getData($presenter . ':' . $action); return new \Nette\Application\Request($this->module . ":" . $presenter, $this->httpRequest->getMethod(), array_merge(['action' => $action], $data), $this->httpRequest->getPost(), $this->httpRequest->getFiles(), array(\Nette\Application\Request::SECURED => $this->httpRequest->isSecured())); }