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'), '');
 }