OSDN Git Service

add ACS webapp, sql, htdocs
[acs/acs.git] / webapp / modules / User / actions / DeleteDiaryCommentAction.class.php
diff --git a/webapp/modules/User/actions/DeleteDiaryCommentAction.class.php b/webapp/modules/User/actions/DeleteDiaryCommentAction.class.php
new file mode 100644 (file)
index 0000000..ca698a7
--- /dev/null
@@ -0,0 +1,96 @@
+<?php
+/**
+ * ¥À¥¤¥¢¥ê¡¼ ¥³¥á¥ó¥È ºï½ü½èÍý¡¡¥¢¥¯¥·¥ç¥ó¥¯¥é¥¹
+ * DeleteDiaryCommentAction.class.php
+ *
+ * @author  $Author: w-ota $
+ * @revision ver1.0 2006/03/02
+ */
+// $Id: DeleteDiaryCommentAction.class.php,v 1.5 2006/11/20 08:44:25 w-ota Exp $
+
+class DeleteDiaryCommentAction extends BaseAction
+{
+       // GET
+       function getDefaultView() {
+               $context = $this->getContext();
+               $controller = $context->getController();
+               $request =  $context->getRequest();
+               $user = $context->getUser();
+
+               // get parameter
+               $target_community_id       = $request->getParameter('id');
+               $diary_id                  = $request->getParameter('diary_id');
+               $diary_comment_id          = $request->getParameter('diary_comment_id');
+
+               $comment_back_url = $this->getControllerPath('User','DiaryComment');
+                       $comment_back_url = $comment_back_url . '&id=' . $target_community_id .'&diary_id=' .$diary_id ;
+
+               $delete_diary_comment_url = $this->getControllerPath('User','DeleteDiaryComment');
+                       $delete_diary_comment_url = $delete_diary_comment_url . '&id=' .$target_community_id . '&diary_id=' . $diary_id .'&diary_comment_id=' .$diary_comment_id;
+
+               $request->setAttribute('delete_diary_comment_url', $delete_diary_comment_url);
+               $request->setAttribute('comment_back_url', $comment_back_url);
+               // É½¼¨
+               return View::SUCCESS;
+       }
+
+       // POST
+       function execute() {
+               $context = $this->getContext();
+               $controller = $context->getController();
+               $request =  $context->getRequest();
+               $user = $context->getUser();
+               //ºï½ü½èÍý¤ò¹Ô¤¦
+               $target_community_id    = $request->getParameter('id');
+               $diary_id                       = $request->getParameter('diary_id');
+               $diary_comment_id          = $request->getParameter('diary_comment_id');
+               //ºï½ü¥³¥á¥ó¥È¤Ï¡¢id¤òÇÛÎó¤Ç¼õ¤±ÅϤ¹
+               $diary_comment_id_array = array();
+               array_push($diary_comment_id_array,$diary_comment_id);
+               //¥Õ¥¡¥¤¥ë¾ðÊó¥Æ¡¼¥Ö¥ë¤Î¥Ç¡¼¥¿ºï½ü
+               $ret =ACSDiary::delete_diary_comment($diary_comment_id_array);
+               if (!$ret) {
+                       echo "ERROR: Delete diary comment failed.";
+               }
+
+               //ɽ¼¨
+               $diary_change_url = $this->getControllerPath('User','DiaryComment');
+               $diary_change_url .= '&id=' . $target_community_id .'&diary_id=' .$diary_id ;
+               header("Location: $diary_change_url");
+       }
+
+       function getRequestMethods () {
+               return Request::POST;
+       }
+
+       function isSecure () {
+               return false;
+       }
+
+       function getCredential() {
+               $context = $this->getContext();
+               $controller = $context->getController();
+               $request =  $context->getRequest();
+               $user = $context->getUser();
+               
+               return array('EXECUTE');
+       }
+
+       function get_execute_privilege (&$controller, &$request, &$user) {
+               $acs_user_info_row = $user->getAttribute('acs_user_info_row');
+
+               // ËܿͤÏOK
+               if ($user->hasCredential('USER_PAGE_OWNER')) {
+                       return true;
+               }
+
+               // ½ñ¹þ¤ßËܿͤÏOK
+               $diary_comment_row = ACSDiary::get_diary_comment_row($request->getParameter('diary_comment_id'));
+               if ($acs_user_info_row['user_community_id'] == $diary_comment_row['user_community_id']) {
+                       return true;
+               }
+
+               return false;
+       }
+}
+?>