protected static function rewritePreviousHistoryComment(array $file)
 {
     if (!CModule::IncludeModule('blog')) {
         return;
     }
     $dbComments = CBlogComment::GetList(array('ID' => 'DESC'), array('POST_ID' => static::getPostIdForComment(), 'UF_BLOG_COMMENT_FH' => static::getStringForLike($file[0])), false, false, array('ID', 'POST_ID', 'BLOG_ID', 'UF_BLOG_COMMENT_FH'));
     if ($dbComments && ($lastComment = $dbComments->Fetch())) {
         $entityType = static::getEntityType($file[0]['ib_code']);
         $documentId = static::getEntityIdDocumentData($entityType, array('ELEMENT_ID' => $file[0]['id']));
         $filter = array("DOCUMENT_ID" => $documentId);
         $historyDoc = static::getIdHistoryDocument($filter);
         if (!empty($historyDoc['ID'])) {
             $newFileData = static::getDataFromValue($lastComment['UF_BLOG_COMMENT_FH']);
             $newFileData[0]['v'] = $historyDoc['ID'];
             CBlogComment::Update($lastComment['ID'], array('UF_BLOG_COMMENT_FH' => static::genData($newFileData[0], $newFileData[1]), 'HAS_PROPS' => 'Y'));
         }
     }
 }
Exemplo n.º 2
0
 public static function CallBack_UpdateComment($arFields)
 {
     if (!CModule::IncludeModule('blog')) {
         return false;
     }
     if (!isset($arFields["SOURCE_ID"]) || intval($arFields["SOURCE_ID"]) <= 0) {
         return false;
     }
     $messageId = intval($arFields["SOURCE_ID"]);
     $ufFileID = array();
     $ufDocID = array();
     if ($arBlogComment = CBlogComment::GetByID($messageId)) {
         $arBlogCommentFields = array("POST_TEXT" => $arFields["TEXT_MESSAGE"]);
         $GLOBALS["USER_FIELD_MANAGER"]->EditFormAddFields("SONET_COMMENT", $arTmp);
         if (is_array($arTmp)) {
             if (array_key_exists("UF_SONET_COM_DOC", $arTmp)) {
                 $arBlogCommentFields["UF_BLOG_COMMENT_FILE"] = $arTmp["UF_SONET_COM_DOC"];
             }
         }
         if ($messageId = CBlogComment::Update($messageId, $arBlogCommentFields)) {
             $ufDocID = $GLOBALS["USER_FIELD_MANAGER"]->GetUserFieldValue("BLOG_COMMENT", "UF_BLOG_COMMENT_FILE", $messageId, LANGUAGE_ID);
             $sNote = GetMessage("IDEA_SONET_UPDATE_COMMENT_SOURCE_SUCCESS");
             $cache = new CPHPCache();
             $cache->CleanDir(SITE_ID . "/idea/" . $arBlogComment["BLOG_ID"] . "/comment/" . $arBlogComment["POST_ID"] . "/");
             BXClearCache(True, "/" . SITE_ID . "/idea/" . $arBlogComment["BLOG_ID"] . "/first_page/");
             BXClearCache(True, "/" . SITE_ID . "/idea/" . $arBlogComment["BLOG_ID"] . "/pages/");
             BXClearCache(True, "/" . SITE_ID . "/idea/" . $arBlogComment["BLOG_ID"] . "/comment/" . $arBlogComment["POST_ID"] . "/");
             BXClearCache(True, "/" . SITE_ID . "/idea/" . $arBlogComment["BLOG_ID"] . "/post/" . $arBlogComment["POST_ID"] . "/");
         } else {
             if ($ex = $GLOBALS["APPLICATION"]->GetException()) {
                 $sError = $ex->GetString();
             } else {
                 $sError = GetMessage("IDEA_SONET_UPDATE_COMMENT_SOURCE_ERROR");
             }
         }
     } else {
         $sError = GetMessage("IDEA_SONET_UPDATE_COMMENT_SOURCE_ERROR");
     }
     return array("ERROR" => $sError, "NOTES" => $sNote, "UF" => array("FILE" => $ufFileID, "DOC" => $ufDocID));
 }
Exemplo n.º 3
0
 if ($arResult["Perm"] == BLOG_PERMS_PREMODERATE) {
     $arFields["PUBLISH_STATUS"] = BLOG_PUBLISH_STATUS_READY;
 }
 $commentUrl = CComponentEngine::MakePathFromTemplate(htmlspecialcharsBack($arParams["PATH_TO_POST"]), array("blog" => $arBlog["URL"], "post_id" => CBlogPost::GetPostID($arPost["ID"], $arPost["CODE"], $arParams["ALLOW_POST_CODE"]), "user_id" => $arBlog["OWNER_ID"], "group_id" => $arParams["SOCNET_GROUP_ID"]));
 $arFields["PATH"] = $commentUrl;
 if (strpos($arFields["PATH"], "?") !== false) {
     $arFields["PATH"] .= "&";
 } else {
     $arFields["PATH"] .= "?";
 }
 $arFields["PATH"] .= $arParams["COMMENT_ID_VAR"] . "=" . $commentID . "#" . $commentID;
 $dbComment = CBlogComment::GetList(array(), array("POST_ID" => $arPost["ID"], "BLOG_ID" => $arBlog["ID"], "PARENT_ID" => $commentID));
 if ($arComment = $dbComment->Fetch() && $blogModulePermissions < "W") {
     $arResult["COMMENT_ERROR"] = "<b>" . GetMessage("B_B_PC_COM_ERROR_EDIT") . "</b><br />" . GetMessage("B_B_PC_EDIT_ALREADY_COMMENTED");
 } else {
     if ($commentID = CBlogComment::Update($commentID, $arFields)) {
         //Notifications
         $Notify = CIdeaManagment::getInstance()->Notification(array_merge($arFields, array("TYPE" => 'IDEA_COMMENT', "ACTION" => 'UPDATE', "AUTHOR_ID" => $user_id, "ID" => $commentID, "POST_ID" => $arPost["ID"])));
         //Socialnetwork notification
         $Notify->getSonetNotify()->Send();
         //Email notification
         //$Notify->getEmailNotify()->Send();
         //END -> Notifications
         //start custom, use UF binding ::@Idea
         if ($arResult["IDEA_MODERATOR"] && $_REQUEST["BIND_OFFICIAL_ANSWER"] == "Y") {
             // Bind offical answer
             CIdeaManagment::getInstance()->IdeaComment($commentID)->Bind();
         }
         if ($arResult["IDEA_MODERATOR"] && $_REQUEST["BIND_IDEA_STATUS"] != "") {
             CIdeaManagment::getInstance()->Idea($arPost["ID"])->SetStatus($_REQUEST["BIND_IDEA_STATUS"]);
             BXClearCache(True, '/' . SITE_ID . '/idea/statistic_list/');
Exemplo n.º 4
0
                     $arComment["DATE_CREATE_DATE"] = str_replace(array('-' . $curYear, '/' . $curYear, ' ' . $curYear, '.' . $curYear), '', $arComment["DATE_CREATE_DATE"]);
                 }
                 if ($arParams["MOBILE"] == "Y") {
                     $timestamp = MakeTimeStamp($arComment["DATE_CREATE"]);
                     $arComment["DATE_CREATE_TIME"] = FormatDate(GetMessage("SONET_SBPC_MOBILE_FORMAT_TIME"), $timestamp);
                 } else {
                     $arComment["DATE_CREATE_TIME"] = FormatDateFromDB($arComment["DATE_CREATE"], strpos($arParams["DATE_TIME_FORMAT_S"], 'a') !== false || ($arParams["DATE_TIME_FORMAT_S"] == 'FULL' && IsAmPmMode()) !== false ? strpos(FORMAT_DATETIME, 'TT') !== false ? 'G:MI TT' : 'G:MI T' : 'GG:MI');
                 }
                 $arResult["CommentsResult"][] = $arComment;
                 $arResult["IDS"][] = $arComment["ID"];
                 $arFieldsHave = array();
                 if ($arComment["HAS_PROPS"] == "") {
                     $arFieldsHave["HAS_PROPS"] = $bHasProps ? "Y" : "N";
                 }
                 if (!empty($arFieldsHave)) {
                     CBlogComment::Update($arComment["ID"], $arFieldsHave, false);
                 }
                 $i++;
             } while ($i < count($arCommentsAll) && ($arComment = $arCommentsAll[$i]));
         }
         unset($arResult["MESSAGE"]);
         unset($arResult["ERROR_MESSAGE"]);
         if ($arParams["CACHE_TIME"] > 0) {
             if (defined("BX_COMP_MANAGED_CACHE")) {
                 $GLOBALS["CACHE_MANAGER"]->EndTagCache();
             }
             $cache->EndDataCache(array("templateCachedData" => $this->GetTemplateCachedData(), "arResult" => $arResult));
         }
     }
 }
 $arResult["MESSAGE"] = $tmp["MESSAGE"];
Exemplo n.º 5
0
 if (!empty($arCopyCat)) {
     $arCopyPostUpdate["CATEGORY_ID"] = implode(",", $arCopyCat);
 }
 if ($_POST["move2blogcopy"] == "Y") {
     $arCopyPostUpdate["NUM_COMMENTS"] = 0;
 }
 if (!empty($arCopyPostUpdate)) {
     $copyID = CBlogPost::Update($copyID, $arCopyPostUpdate);
     $arCopyPost = CBlogPost::GetByID($copyID);
 }
 if ($_POST["move2blogcopy"] != "Y") {
     if (CBlogPost::CanUserDeletePost($arParams["ID"], $user_id)) {
         $dbC = CBlogComment::GetList(array("ID" => "ASC"), array("BLOG_ID" => $arBlog["ID"], "POST_ID" => $arParams["ID"]), false, false, array("PATH", "PUBLISH_STATUS", "POST_TEXT", "TITLE", "DATE_CREATE", "AUTHOR_IP1", "AUTHOR_IP", "AUTHOR_EMAIL", "AUTHOR_NAME", "AUTHOR_ID", "PARENT_ID", "POST_ID", "BLOG_ID", "ID"));
         while ($arC = $dbC->Fetch()) {
             $arCTmp = array("BLOG_ID" => $arCopyBlog["ID"], "POST_ID" => $copyID);
             CBlogComment::Update($arC["ID"], $arCTmp);
         }
         $arFilter = array("POST_ID" => $arParams["ID"], "BLOG_ID" => $arBlog["ID"], "IS_COMMENT" => "Y");
         $res = CBlogImage::GetList(array("ID" => "ASC"), $arFilter);
         while ($arImg = $res->GetNext()) {
             $arNewImg = array("BLOG_ID" => $arCopyBlog["ID"], "POST_ID" => $copyID);
             CBlogImage::Update($arImg["ID"], $arNewImg);
         }
         if (!CBlogPost::Delete($arParams["ID"])) {
             $arResult["ERROR_MESSAGE"] = GetMessage("BPE_COPY_DELETE_ERROR");
         } else {
             CBlogPost::DeleteLog($arParams["ID"], $arParams["MICROBLOG"]);
         }
     }
 }
 BXClearCache(True, "/" . SITE_ID . "/blog/" . $arCopyBlog["URL"] . "/first_page/");
Exemplo n.º 6
0
                 } else {
                     $lAdmin->AddGroupError(GetMessage("BLB_DELETE_ERROR"), $ID);
                 }
             }
             break;
         case "hide":
             if (!CBlogComment::Update($ID, array("PUBLISH_STATUS" => BLOG_PUBLISH_STATUS_READY))) {
                 if ($ex = $APPLICATION->GetException()) {
                     $lAdmin->AddGroupError($ex->GetString(), $ID);
                 } else {
                     $lAdmin->AddGroupError(GetMessage("BLB_HIDE_ERROR"), $ID);
                 }
             }
             break;
         case "show":
             if (!CBlogComment::Update($ID, array("PUBLISH_STATUS" => BLOG_PUBLISH_STATUS_PUBLISH))) {
                 if ($ex = $APPLICATION->GetException()) {
                     $lAdmin->AddGroupError($ex->GetString(), $ID);
                 } else {
                     $lAdmin->AddGroupError(GetMessage("BLB_SHOW_ERROR"), $ID);
                 }
             }
             break;
     }
 }
 if (!empty($arCacheInfo)) {
     foreach ($arCacheInfo as $site => $arB) {
         foreach ($arB as $blogUrl => $v) {
             foreach ($v as $postID) {
                 BXClearCache(True, "/" . $site . "/blog/" . $blogUrl . "/first_page/");
                 BXClearCache(True, "/" . $site . "/blog/" . $blogUrl . "/comment/" . $postID . "/");