/** * Delete specific comment * * @param void * @return null */ function delete() { $redirect_to = active_project() instanceof Project ? active_project()->getOverviewUrl() : get_url('dashboard'); $comment = Comments::findById(get_id()); if (!$comment instanceof Comment) { flash_error(lang('comment dnx')); $this->redirectToUrl($redirect_to); } // if $object = $comment->getObject(); if (!$object instanceof ProjectDataObject) { flash_error(lang('object dnx')); $this->redirectToUrl($redirect_to); } // if if (trim($object->getObjectUrl())) { $redirect_to = $object->getObjectUrl(); } if (!$comment->canDelete(logged_user())) { flash_error(lang('no access permissions')); $this->redirectToUrl($redirect_to); } // if try { DB::beginWork(); $comment->delete(); ApplicationLogs::createLog($comment, active_project(), ApplicationLogs::ACTION_DELETE); $object->onDeleteComment($comment); DB::commit(); flash_success(lang('success delete comment')); } catch (Exception $e) { DB::rollback(); flash_error(lang('error delete comment')); } // try $this->redirectToUrl($redirect_to); }
function view() { $comment = Comments::findById(get_id()); if (!$comment instanceof Comment) { flash_error(lang('comment dnx')); ajx_current("empty"); return; } if (!$comment->canView(logged_user())) { flash_error(lang('no access permissions')); ajx_current("empty"); return; } $object = $comment->getRelObject(); if (!$object instanceof ContentDataObject) { flash_error(lang('object dnx')); ajx_current("empty"); return; } redirect_to($object->getViewUrl()); }
/** * Delete specific comment * * @param void * @return null */ function delete() { $comment = Comments::findById(get_id()); if (!$comment instanceof Comment) { flash_error(lang('comment dnx')); ajx_current("empty"); return; } // if $object = $comment->getObject(); if (!$object instanceof ProjectDataObject) { flash_error(lang('object dnx')); ajx_current("empty"); return; } // if if (trim($object->getObjectUrl())) { $redirect_to = $object->getObjectUrl(); } if (!$comment->canDelete(logged_user())) { flash_error(lang('no access permissions')); ajx_current("empty"); return; } // if try { DB::beginWork(); $comment->trash(); ApplicationLogs::createLog($comment, $object->getWorkspaces(), ApplicationLogs::ACTION_TRASH); DB::commit(); flash_success(lang('success delete comment')); ajx_current("reload"); } catch (Exception $e) { DB::rollback(); flash_error(lang('error delete comment')); ajx_current("empty"); } // try }