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); } }
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(); } }