public function processRequest() { $request = $this->getRequest(); $user = $request->getUser(); $data = file_get_contents('php://input'); $name = $request->getStr('name'); $file = PhabricatorFile::newFromFileData($data, array('name' => $request->getStr('name'), 'authorPHID' => $user->getPHID())); $view = new AphrontAttachedFileView(); $view->setFile($file); return id(new AphrontAjaxResponse())->setContent(array('id' => $file->getID(), 'phid' => $file->getPHID(), 'html' => $view->render(), 'uri' => $file->getBestURI())); }
public function processRequest() { $request = $this->getRequest(); $user = $request->getUser(); // NOTE: Throws if valid CSRF token is not present in the request. $request->validateCSRF(); $data = file_get_contents('php://input'); $name = $request->getStr('name'); $file = PhabricatorFile::newFromXHRUpload($data, array('name' => $request->getStr('name'), 'authorPHID' => $user->getPHID())); $view = new AphrontAttachedFileView(); $view->setFile($file); return id(new AphrontAjaxResponse())->setContent(array('id' => $file->getID(), 'phid' => $file->getPHID(), 'html' => $view->render(), 'uri' => $file->getBestURI())); }
protected function renderInput() { require_celerity_resource('aphront-attached-file-view-css'); $list_id = celerity_generate_unique_node_id(); $files = $this->getValue(); $value = array(); if ($files) { foreach ($files as $file) { $view = new AphrontAttachedFileView(); $view->setFile($file); $value[$file->getPHID()] = array('phid' => $file->getPHID(), 'html' => $view->render()); } } Javelin::initBehavior('aphront-drag-and-drop', array('control' => $this->getControlID(), 'name' => $this->getName(), 'value' => nonempty($value, null), 'list' => $list_id, 'uri' => '/file/dropupload/', 'target' => $this->dragAndDropTarget, 'activatedClass' => $this->activatedClass)); return phutil_render_tag('div', array('id' => $list_id, 'class' => 'aphront-form-drag-and-drop-file-list'), ''); }