Commit d294261b8eff0c53a7a7330d59e4b52c9388e7f8
1 parent
40eda01e
(#2977) corrected session checking and redirect to list page instead of bogus success page
git-svn-id: https://kt-dms.svn.sourceforge.net/svnroot/kt-dms/trunk@2698 c91229c3-7414-0410-bfa2-8a42b809f60b
Showing
1 changed file
with
112 additions
and
117 deletions
presentation/lookAndFeel/knowledgeTree/discussions/addCommentBL.php
| ... | ... | @@ -26,132 +26,127 @@ |
| 26 | 26 | */ |
| 27 | 27 | |
| 28 | 28 | require_once("../../../../config/dmsDefaults.php"); |
| 29 | - | |
| 30 | -if (checkSession()) { | |
| 31 | - | |
| 32 | - require_once("$default->fileSystemRoot/lib/visualpatterns/PatternCreate.inc"); | |
| 33 | - require_once("$default->fileSystemRoot/lib/visualpatterns/PatternMainPage.inc"); | |
| 34 | - require_once("addCommentUI.inc"); //### | |
| 35 | - require_once("$default->fileSystemRoot/presentation/lookAndFeel/knowledgeTree/foldermanagement/folderUI.inc"); | |
| 36 | - require_once("$default->fileSystemRoot/lib/documentmanagement/Document.inc"); | |
| 37 | - require_once("$default->fileSystemRoot/lib/foldermanagement/Folder.inc"); | |
| 38 | - require_once("$default->fileSystemRoot/lib/users/User.inc"); | |
| 39 | - require_once("$default->fileSystemRoot/lib/security/Permission.inc"); | |
| 40 | - require_once("$default->fileSystemRoot/presentation/webpageTemplate.inc"); | |
| 41 | - require_once("$default->fileSystemRoot/lib/visualpatterns/PatternCustom.inc"); | |
| 42 | - require_once("$default->fileSystemRoot/lib/discussions/DiscussionThread.inc"); //### | |
| 43 | - require_once("$default->fileSystemRoot/lib/discussions/DiscussionComment.inc"); //### | |
| 44 | - require_once("$default->fileSystemRoot/presentation/Html.inc"); | |
| 45 | - | |
| 46 | - $oPatternCustom = & new PatternCustom(); | |
| 29 | +require_once("$default->fileSystemRoot/lib/visualpatterns/PatternCreate.inc"); | |
| 30 | +require_once("$default->fileSystemRoot/lib/visualpatterns/PatternMainPage.inc"); | |
| 31 | +require_once("addCommentUI.inc"); //### | |
| 32 | +require_once("$default->fileSystemRoot/presentation/lookAndFeel/knowledgeTree/foldermanagement/folderUI.inc"); | |
| 33 | +require_once("$default->fileSystemRoot/lib/documentmanagement/Document.inc"); | |
| 34 | +require_once("$default->fileSystemRoot/lib/foldermanagement/Folder.inc"); | |
| 35 | +require_once("$default->fileSystemRoot/lib/users/User.inc"); | |
| 36 | +require_once("$default->fileSystemRoot/lib/security/Permission.inc"); | |
| 37 | +require_once("$default->fileSystemRoot/lib/visualpatterns/PatternCustom.inc"); | |
| 38 | +require_once("$default->fileSystemRoot/lib/discussions/DiscussionThread.inc"); //### | |
| 39 | +require_once("$default->fileSystemRoot/lib/discussions/DiscussionComment.inc"); //### | |
| 40 | +require_once("$default->fileSystemRoot/presentation/Html.inc"); | |
| 47 | 41 | |
| 48 | - if(checkSession()) { | |
| 49 | - if (isset($fAddComment)) { // User wishes to add a comment | |
| 50 | - if ($fDocumentID > 0) { // The document ID is positive | |
| 51 | - $main->setFormAction($_SERVER['PHP_SELF'] . "?fAddCommentSubmit=1&iDocumentID=$fDocumentID"); | |
| 52 | - $oPatternCustom->setHtml(getAddComment($fDocumentID,$sSubject,$sBody, $fCommentID, 1)); | |
| 53 | - } | |
| 54 | - else { // And invalid Document ID was sent | |
| 55 | - $main->setErrorMessage("The Document id cannot be lss than 0. ID is invalid."); | |
| 56 | - } | |
| 42 | +if(checkSession()) { | |
| 43 | + $oPatternCustom = & new PatternCustom(); | |
| 44 | + require_once("$default->fileSystemRoot/presentation/webpageTemplate.inc"); | |
| 45 | + if (isset($fAddComment)) { // User wishes to add a comment | |
| 46 | + if ($fDocumentID > 0) { // The document ID is positive | |
| 47 | + $main->setFormAction($_SERVER['PHP_SELF'] . "?fAddCommentSubmit=1&iDocumentID=$fDocumentID"); | |
| 48 | + $oPatternCustom->setHtml(getAddComment($fDocumentID,$sSubject,$sBody, $fCommentID, 1)); | |
| 49 | + } | |
| 50 | + else { // And invalid Document ID was sent | |
| 51 | + $main->setErrorMessage("The Document id cannot be lss than 0. ID is invalid."); | |
| 52 | + } | |
| 53 | + | |
| 54 | + } else if (isset($fViewComment)){ // User wishes to view a comment | |
| 55 | + | |
| 56 | + if (isset($iCommentID)) { | |
| 57 | + $oComment = DiscussionComment::get($iCommentID); | |
| 58 | + $oUser = User::get($oComment->getUserID()); | |
| 59 | + | |
| 60 | + $oPatternCustom->setHtml(getCommentBody($oComment->getBody(), $oComment->getSubject(),$oComment->getDate(),$iDocumentID,$oUser->getUserName())) ; | |
| 61 | + } | |
| 62 | + | |
| 63 | + } else if (isset($fAddCommentSubmit)) { | |
| 64 | + if ($_POST["NewComment"] != "" && $_POST["NewCommentSubject"] != "") { | |
| 57 | 65 | |
| 58 | - } else if (isset($fViewComment)){ // User wishes to view a comment | |
| 59 | - | |
| 60 | - if (isset($iCommentID)) { | |
| 61 | - $oComment = DiscussionComment::get($iCommentID); | |
| 62 | - $oUser = User::get($oComment->getUserID()); | |
| 63 | - | |
| 64 | - $oPatternCustom->setHtml(getCommentBody($oComment->getBody(), $oComment->getSubject(),$oComment->getDate(),$iDocumentID,$oUser->getUserName())) ; | |
| 66 | + if (isset($fNewThread)){ // Create a New Thread for this document as it doesn't exist | |
| 67 | + | |
| 68 | + // Create the thread Object | |
| 69 | + $oThread = & new DiscussionThread(-1,$iDocumentID, $_SESSION["userID"]); | |
| 70 | + $oThread->create(); | |
| 71 | + $iThreadID = $oThread->getID(); | |
| 65 | 72 | } |
| 66 | - | |
| 67 | - } else if (isset($fAddCommentSubmit)) { | |
| 68 | - if ($_POST["NewComment"] != "" && $_POST["NewCommentSubject"] != "") { | |
| 69 | - | |
| 70 | - if (isset($fNewThread)){ // Create a New Thread for this document as it doesn't exist | |
| 71 | - | |
| 72 | - // Create the thread Object | |
| 73 | - $oThread = & new DiscussionThread(-1,$iDocumentID, $_SESSION["userID"]); | |
| 74 | - $oThread->create(); | |
| 75 | - $iThreadID = $oThread->getID(); | |
| 76 | - } | |
| 77 | - else { // Update the existing thread | |
| 78 | - $iThreadID = DiscussionThread::getThreadIDforDoc($iDocumentID); | |
| 79 | - } | |
| 80 | - | |
| 81 | - if ($iThreadID > 0){ | |
| 82 | - // Create the new comment | |
| 83 | - $oComment = & new DiscussionComment(urlencode($_POST["NewComment"]),$_POST["NewCommentSubject"],$_SESSION["userID"],$iDocumentID); | |
| 84 | - $oComment->setThreadID($iThreadID); | |
| 85 | - $oComment->create(); | |
| 73 | + else { // Update the existing thread | |
| 74 | + $iThreadID = DiscussionThread::getThreadIDforDoc($iDocumentID); | |
| 75 | + } | |
| 76 | + | |
| 77 | + if ($iThreadID > 0){ | |
| 78 | + // Create the new comment | |
| 79 | + $oComment = & new DiscussionComment(urlencode($_POST["NewComment"]),$_POST["NewCommentSubject"],$_SESSION["userID"],$iDocumentID); | |
| 80 | + $oComment->setThreadID($iThreadID); | |
| 81 | + $oComment->create(); | |
| 82 | + | |
| 83 | + if($oComment->getID() > 0) { | |
| 86 | 84 | |
| 87 | - if($oComment->getID() > 0) { | |
| 85 | + $oThread = DiscussionThread::get($iThreadID); | |
| 86 | + $oThread->setLastCommentID($oComment->getID()); | |
| 87 | + if ($oThread->getFirstCommentID() == -1){ // if it is a new Thread | |
| 88 | 88 | |
| 89 | - $oThread = DiscussionThread::get($iThreadID); | |
| 90 | - $oThread->setLastCommentID($oComment->getID()); | |
| 91 | - if ($oThread->getFirstCommentID() == -1){ // if it is a new Thread | |
| 92 | - | |
| 93 | - $oThread->setFirstCommentID($oComment->getID()); | |
| 94 | - } | |
| 95 | - if($_SESSION['Discussion' . $iDocumentID][0]->bViews != true ){ // Session variable is set to true if user views the thread | |
| 96 | - | |
| 97 | - $oThread->setNumberOfViews(); | |
| 98 | - $_SESSION['Discussion' . $iDocumentID][0]->bViews = true; | |
| 99 | - } | |
| 100 | - $oThread->setNumberOfReplies(); | |
| 89 | + $oThread->setFirstCommentID($oComment->getID()); | |
| 90 | + } | |
| 91 | + if($_SESSION['Discussion' . $iDocumentID][0]->bViews != true ){ // Session variable is set to true if user views the thread | |
| 101 | 92 | |
| 102 | - if ($oThread->Update()) { // | |
| 103 | - | |
| 104 | - $oPatternCustom->addHtml(getSubmitSuccessPage($iDocumentID)); | |
| 105 | - }else { | |
| 106 | - $main->setErrorMessage("Thread Object failed to update"); | |
| 107 | - } | |
| 93 | + $oThread->setNumberOfViews(); | |
| 94 | + $_SESSION['Discussion' . $iDocumentID][0]->bViews = true; | |
| 95 | + } | |
| 96 | + $oThread->setNumberOfReplies(); | |
| 108 | 97 | |
| 98 | + if ($oThread->Update()) { // | |
| 99 | + controllerRedirect("viewDiscussion", "fForDiscussion=1&fDocumentID=$iDocumentID"); | |
| 100 | + //$oPatternCustom->addHtml(getSubmitSuccessPage($iDocumentID)); | |
| 109 | 101 | }else { |
| 110 | - $main->setErrorMessage("Comment Object failed in creation"); | |
| 102 | + $main->setErrorMessage("Thread Object failed to update"); | |
| 111 | 103 | } |
| 112 | - | |
| 113 | - }else{ // There is no thread id for this document | |
| 114 | - $main->setErrorMessage("No threadID($iThreadID) exists for this document"); | |
| 115 | - }// End Of if for THREAD ID test | |
| 104 | + | |
| 105 | + }else { | |
| 106 | + $main->setErrorMessage("Comment Object failed in creation"); | |
| 107 | + } | |
| 116 | 108 | |
| 117 | - }else { // the user has not entered BOTH a subject and a text body | |
| 118 | - $main->setErrorMessage("The subject line and/or body should not be empty."); | |
| 119 | - $main->setFormAction($_SERVER['PHP_SELF'] . "?fAddCommentSubmit=1&iDocumentID=$fDocumentID"); | |
| 120 | - $oPatternCustom->addHtml(getAddComment($fDocumentID,$_POST["NewCommentSubject"],$_POST["NewComment"], $fCommentID, 1)); | |
| 121 | - } // end of IF for Subject and Body test | |
| 122 | - | |
| 123 | - } else if (isset($fReplyComment)){ // if user is replying to existing comment | |
| 109 | + }else{ // There is no thread id for this document | |
| 110 | + $main->setErrorMessage("No threadID($iThreadID) exists for this document"); | |
| 111 | + }// End Of if for THREAD ID test | |
| 112 | + | |
| 113 | + }else { // the user has not entered BOTH a subject and a text body | |
| 114 | + $main->setErrorMessage("The subject line and/or body should not be empty."); | |
| 124 | 115 | $main->setFormAction($_SERVER['PHP_SELF'] . "?fAddCommentSubmit=1&iDocumentID=$fDocumentID"); |
| 116 | + $oPatternCustom->addHtml(getAddComment($fDocumentID,$_POST["NewCommentSubject"],$_POST["NewComment"], $fCommentID, 1)); | |
| 117 | + } // end of IF for Subject and Body test | |
| 125 | 118 | |
| 126 | - $oComment = DiscussionComment::get($fCommentID); | |
| 127 | - $oUser = User::get($oComment->getUserID()); | |
| 128 | - | |
| 129 | - $sReplyBody = $oComment->getBody(); | |
| 130 | - | |
| 131 | - $sReplyBodyHeader .= "\n\n\n\n\n\n\n>------ Original Message ------"; | |
| 132 | - $sReplyBodyHeader .= "\n>User: " . $oUser->getName(); | |
| 133 | - $sReplyBodyHeader .= "\n>Date: " . $oComment->getDate(); | |
| 134 | - $sReplyBodyHeader .= "\n>Subject: " . $oComment->getSubject(); | |
| 135 | - $sReplyBodyHeader .= "\n>---------------------------------------"; | |
| 136 | - | |
| 137 | - $sReplyBody = $sReplyBodyHeader . "\n>" . str_replace("%0D%0A" ,"%0D%0A>", $sReplyBody); // Put in ">" as indentation for the reply | |
| 138 | - | |
| 139 | - if (strpos($oComment->getSubject(), "Re:") != " "){ | |
| 140 | - $sReply = "Re: "; | |
| 141 | - }else { $sReply = ""; } | |
| 142 | - | |
| 143 | - $oPatternCustom->addHtml(getAddComment($fDocumentID, $sReply . $oComment->getSubject() , urldecode($sReplyBody), $fCommentID, "-1" )); | |
| 144 | - | |
| 145 | - } else if (isset($fNewThread)){ // Start adding a new Thread | |
| 146 | - $main->setFormAction($_SERVER['PHP_SELF'] . "?fAddCommentSubmit=1&iDocumentID=$fDocumentID&fNewThread=1"); | |
| 147 | - $oPatternCustom->addHtml(getAddComment($fDocumentID, $CommentSubject , $Comment, $fCommentID, "1")); | |
| 148 | - | |
| 149 | - } else { // If no discussion exists | |
| 150 | - $main->setErrorMessage("Error: No discussion thread available"); | |
| 151 | - } | |
| 152 | - } // end of if checksession | |
| 153 | - | |
| 154 | - $main->setCentralPayload($oPatternCustom); | |
| 155 | - $main->render(); | |
| 156 | -} | |
| 157 | -?> | |
| 119 | + } else if (isset($fReplyComment)){ // if user is replying to existing comment | |
| 120 | + $main->setFormAction($_SERVER['PHP_SELF'] . "?fAddCommentSubmit=1&iDocumentID=$fDocumentID"); | |
| 121 | + | |
| 122 | + $oComment = DiscussionComment::get($fCommentID); | |
| 123 | + $oUser = User::get($oComment->getUserID()); | |
| 124 | + | |
| 125 | + $sReplyBody = $oComment->getBody(); | |
| 126 | + | |
| 127 | + $sReplyBodyHeader .= "\n\n>------ Original Message ------"; | |
| 128 | + $sReplyBodyHeader .= "\n>User: " . $oUser->getName(); | |
| 129 | + $sReplyBodyHeader .= "\n>Date: " . $oComment->getDate(); | |
| 130 | + $sReplyBodyHeader .= "\n>Subject: " . $oComment->getSubject(); | |
| 131 | + $sReplyBodyHeader .= "\n>---------------------------------------"; | |
| 132 | + | |
| 133 | + $sReplyBody = $sReplyBodyHeader . "\n>" . str_replace("%0D%0A" ,"%0D%0A>", $sReplyBody); // Put in ">" as indentation for the reply | |
| 134 | + | |
| 135 | + if (strpos($oComment->getSubject(), "Re:") != " "){ | |
| 136 | + $sReply = "Re: "; | |
| 137 | + }else { $sReply = ""; } | |
| 138 | + | |
| 139 | + $oPatternCustom->addHtml(getAddComment($fDocumentID, $sReply . $oComment->getSubject() , urldecode($sReplyBody), $fCommentID, "-1" )); | |
| 140 | + | |
| 141 | + } else if (isset($fNewThread)){ // Start adding a new Thread | |
| 142 | + $main->setFormAction($_SERVER['PHP_SELF'] . "?fAddCommentSubmit=1&iDocumentID=$fDocumentID&fNewThread=1"); | |
| 143 | + $oPatternCustom->addHtml(getAddComment($fDocumentID, $CommentSubject , $Comment, $fCommentID, "1")); | |
| 144 | + | |
| 145 | + } else { // If no discussion exists | |
| 146 | + $main->setErrorMessage("Error: No discussion thread available"); | |
| 147 | + } | |
| 148 | + | |
| 149 | + $main->setCentralPayload($oPatternCustom); | |
| 150 | + $main->render(); | |
| 151 | +} // end of if checksession | |
| 152 | +?> | |
| 158 | 153 | \ No newline at end of file | ... | ... |