public function remote() { $url = $this->getRequestParam('url', ''); $filename = $this->getRequestParam('filename', ''); $folder = $this->getRequestParam('folder', NULL); $response = new AjaxResponse(); if (!DOWNLOAD_VIA_SERVER) { $response->success = false; $response->message = System::getLanguage()->_('ErrorFeatureDisabled'); echo $response; exit; } try { if (!empty($url) && !empty($filename)) { $folder = Folder::find('_id', $folder); if ($folder == NULL) { throw new FolderNotFoundException(); } $file = new File(); $file->filename = $filename; $file->folder = $folder; $file->remote($url); $file->save(); $response->success = true; $response->data = $file->toJSON(); } else { throw new Exception(); } } catch (UploadException $e) { $response->success = false; $response->message = $e->getMessage(); } catch (QuotaExceededException $e) { $response->success = false; $response->message = System::getLanguage()->_('ErrorQuotaExceeded'); } catch (Exception $e) { $response->success = false; $response->message = System::getLanguage()->_('ErrorInvalidParameter'); } $response->send(); }