Exemplo n.º 1
0
 public function ajax_delete()
 {
     if (!$this->RequestHandler->isPost() && !$this->RequestHandler->isDelete()) {
         $this->error(ECode::$SYS_REQUESTERROR);
     }
     $this->_attOpInit();
     $this->brief = true;
     $u = User::getInstance();
     if (isset($this->params['url']['name'])) {
         $attName = nforum_iconv('utf-8', $this->encoding, $this->params['url']['name']);
         try {
             if (isset($this->params['id'])) {
                 $id = $this->params['id'];
                 $article = Article::getInstance($id, $this->_board);
                 if (!$article->hasEditPerm($u)) {
                     $this->error(ECode::$ARTICLE_NOEDIT);
                 }
                 $attNum = 0;
                 foreach ($article->getAttList() as $k => $v) {
                     if ($v['name'] == $attName) {
                         $attNum = intval($k + 1);
                         break;
                     }
                 }
                 $article->delAttach($attNum);
                 $this->set("postUrl", "/{$article->ID}");
             } else {
                 Forum::delAttach($attName);
             }
             $this->set('ajax_code', ECode::$ATT_DELOK);
         } catch (ArchiveAttException $e) {
             $this->error($e->getMessage());
         } catch (AttException $e) {
             $this->error($e->getMessage());
         } catch (Exception $e) {
             $this->error(ECode::$ATT_NAMEERROR);
         }
     } else {
         $this->error(ECode::$ATT_NAMEERROR);
     }
 }
Exemplo n.º 2
0
 public function delete()
 {
     if (!$this->RequestHandler->isPost()) {
         $this->error(ECode::$SYS_REQUESTERROR);
     }
     $this->_attOpInit();
     $u = User::getInstance();
     if (!isset($this->params['form']['name'])) {
         $this->error(ECode::$ATT_NAMEERROR);
     }
     $attName = strval($this->params['form']['name']);
     try {
         if (isset($this->params['id'])) {
             $id = $this->params['id'];
             $article = Article::getInstance($id, $this->_board);
             if (!$article->hasEditPerm($u)) {
                 $this->error(ECode::$ARTICLE_NOEDIT);
             }
             $attNum = 0;
             foreach ($article->getAttList() as $k => $v) {
                 if ($v['name'] == $attName) {
                     $attNum = intval($k + 1);
                     break;
                 }
             }
             $article->delAttach($attNum);
             $article = Article::getInstance($id, $this->_board);
         } else {
             Forum::delAttach($attName);
             $article = Forum::listAttach();
         }
         $wrapper = Wrapper::getInstance();
         $this->set('data', $wrapper->attachment($article));
         return;
     } catch (ArchiveAttException $e) {
         $msg = $e->getMessage();
     } catch (AttException $e) {
         $msg = $e->getMessage();
     } catch (Exception $e) {
         $this->error();
     }
 }