예제 #1
0
 public function indexAction()
 {
     $this->view->noRender();
     Assert::found($query = $this->dispatcher->getParam('query'));
     Assert::found($pkg = $this->getPackage($query));
     $dst = DOCROOT . '/../public/media/';
     @Helper::mkdir($dst . dirname($query), 0777);
     Assert::found($f = fopen('zip://' . $pkg . '#' . $query, 'r'));
     Assert::true($d = fopen($dst . $query, 'w'));
     $content = '';
     while (!feof($f)) {
         $content .= $data = fread($f, 8 * 1024);
         fwrite($d, $data);
     }
     fclose($f);
     $mime = null;
     if ($ext = strtolower(pathinfo($query, PATHINFO_EXTENSION))) {
         $mime = empty(FileInfo::$types[$ext]) ? null : FileInfo::$types[$ext];
     }
     if ($mime) {
         $this->response->setHeader('Content-Type', $mime);
     }
     return $this->response->setContent($content);
 }
예제 #2
0
파일: CrudTrait.php 프로젝트: rj28/test
 public function crud_edit(Closure $success = null)
 {
     Assert::found($this->_crud_model);
     $this->view->setVar('userData', $this->_crud_model->toArray());
     return $this->crud_create($this->_crud_model, $success);
 }