コード例 #1
0
ファイル: FileManager.php プロジェクト: ixtrum/file-manager
 /**
  * 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();
 }
コード例 #2
0
 /**
  * @return mixed|string
  */
 protected function readData()
 {
     $data = $this->readInput();
     if (!$data) {
         $data = $this->httpRequest->getPost();
     }
     return $data;
 }
コード例 #3
0
 /**
  * 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())));
 }
コード例 #4
0
ファイル: DropzoneControl.php プロジェクト: ondrs/dropzone
 /**
  *
  */
 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);
 }
コード例 #5
0
 public function handleUploadSuccess()
 {
     foreach ($this->onUploadComplete as $callback) {
         if (is_callable($callback)) {
             call_user_func($callback, $this->request->getPost('files'));
         }
     }
 }
コード例 #6
0
ファイル: Google.php プロジェクト: shailendra9/Google-2
 /**
  * @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;
 }
コード例 #7
0
ファイル: ApiPresenter.php プロジェクト: HKFree/NAS
 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);
 }
コード例 #8
0
ファイル: Grid.php プロジェクト: natrim/gridito
 /**
  * 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);
     }
 }
コード例 #9
0
ファイル: SkautIS.php プロジェクト: petrsladek/skautis
 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);
                 }
             };
         };
     }
 }
コード例 #10
0
ファイル: FileManager.php プロジェクト: bombush/NatsuCon
 /**
  * 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();
 }
コード例 #11
0
ファイル: Manager.php プロジェクト: goodshape/nette-amf
 /**
  * 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()));
 }