function EditPost($params) { global $USER, $DB; $postId = IntVal(CBlogMetaWeblog::DecodeParams($params[0]["#"]["value"][0]["#"])); $user = CBlogMetaWeblog::DecodeParams($params[1]["#"]["value"][0]["#"]); $password = CBlogMetaWeblog::DecodeParams($params[2]["#"]["value"][0]["#"]); $arPostInfo = $params[3]["#"]["value"][0]["#"]["struct"][0]["#"]["member"]; $publish = $params[4]["#"]["value"][0]["#"]["boolean"][0]["#"]; foreach ($arPostInfo as $val) { ${$val["#"]["name"][0]["#"]} = CBlogMetaWeblog::DecodeParams($val["#"]["value"][0]["#"]); } $arCategory = array(); if (is_array($categories["data"][0]["#"]["value"])) { foreach ($categories["data"][0]["#"]["value"] as $val) { $catTmp = CBlogMetaWeblog::DecodeParams($val["#"]); if (strlen($catTmp) > 0) { $arCategory[] = $catTmp; } } } if (CBlogMetaWeblog::Authorize($user, $password)) { $result = ''; $userId = $USER->GetID(); if (IntVal($postId) > 0) { $arSelectedFields = array("ID", "BLOG_ID", "TITLE", "DATE_PUBLISH", "AUTHOR_ID", "DETAIL_TEXT", "DETAIL_TEXT_TYPE"); $dbPost = CBlogPost::GetList(array(), array("AUTHOR_ID" => $userId, "ID" => $postId), false, array("nTopCount" => 1), $arSelectedFields); if ($arPost = $dbPost->Fetch()) { $arBlog = CBlog::GetByID($arPost["BLOG_ID"]); if (intval($arBlog["SOCNET_GROUP_ID"]) > 0 && CModule::IncludeModule("socialnetwork") && method_exists("CSocNetGroup", "GetSite")) { $arSites = array(); $rsGroupSite = CSocNetGroup::GetSite($arBlog["SOCNET_GROUP_ID"]); while ($arGroupSite = $rsGroupSite->Fetch()) { $arSites[] = $arGroupSite["LID"]; } } else { $arSites = array(SITE_ID); } $CATEGORYtmp = array(); $dbCategory = CBlogCategory::GetList(array(), array("BLOG_ID" => $arPost["BLOG_ID"])); while ($arCat = $dbCategory->Fetch()) { $arCatBlog[ToLower($arCat["NAME"])] = $arCat["ID"]; } foreach ($arCategory as $tg) { $tg = trim($tg); if (!in_array($arCatBlog[ToLower($tg)], $CATEGORYtmp)) { if (IntVal($arCatBlog[ToLower($tg)]) > 0) { $CATEGORYtmp[] = $arCatBlog[ToLower($tg)]; } else { $CATEGORYtmp[] = CBlogCategory::Add(array("BLOG_ID" => $arPost["BLOG_ID"], "NAME" => $tg)); foreach ($arSites as $site_id_tmp) { BXClearCache(True, "/" . $site_id_tmp . "/blog/" . $arBlog["URL"] . "/category/"); } } } } $dbSite = CSite::GetByID(SITE_ID); $arSite = $dbSite->Fetch(); $serverName = htmlspecialcharsEx($arSite["SERVER_NAME"]); if (strlen($serverName) <= 0) { if (defined("SITE_SERVER_NAME") && strlen(SITE_SERVER_NAME) > 0) { $serverName = SITE_SERVER_NAME; } else { $serverName = COption::GetOptionString("main", "server_name", "www.bitrixsoft.com"); } } $dbImage = CBlogImage::GetList(array(), array("POST_ID" => false, "BLOG_ID" => $arBlog["ID"], "IS_COMMENT" => "N")); while ($arImage = $dbImage->Fetch()) { $path = ""; $path = CFile::GetPath($arImage["FILE_ID"]); $path = "http://" . $serverName . $path; if (strpos($description, $path) !== false) { $description = str_replace('<img src="' . $path . '" alt=""/>', "[IMG ID=" . $arImage["ID"] . "]", $description); CBlogImage::Update($arImage["ID"], array("POST_ID" => $arPost["ID"])); } } $arFields = array("TITLE" => $title, "DETAIL_TEXT" => $description, "DETAIL_TEXT_TYPE" => "html", "PUBLISH_STATUS" => $publish == 1 ? "P" : "D", "CATEGORY_ID" => implode(",", $CATEGORYtmp)); $postId = CBlogPost::Update($arPost["ID"], $arFields); CBlogPostCategory::DeleteByPostID($arPost["ID"]); foreach ($CATEGORYtmp as $v) { CBlogPostCategory::Add(array("BLOG_ID" => $arPost["BLOG_ID"], "POST_ID" => $arPost["ID"], "CATEGORY_ID" => $v)); } if (IntVal($postId) > 0) { foreach ($arSites as $site_id_tmp) { BXClearCache(True, "/" . $site_id_tmp . "/blog/" . $arBlog["URL"] . "/first_page/"); BXClearCache(True, "/" . $site_id_tmp . "/blog/" . $arBlog["URL"] . "/calendar/"); BXClearCache(True, "/" . $site_id_tmp . "/blog/last_messages/"); BXClearCache(True, "/" . $site_id_tmp . "/blog/commented_posts/"); BXClearCache(True, "/" . $site_id_tmp . "/blog/popular_posts/"); BXClearCache(True, "/" . $site_id_tmp . "/blog/last_comments/"); BXClearCache(True, "/" . $site_id_tmp . "/blog/groups/" . $arBlog["GROUP_ID"] . "/"); BXClearCache(True, "/" . $site_id_tmp . "/blog/" . $arBlog["URL"] . "/trackback/" . $arPost["ID"] . "/"); BXClearCache(True, "/" . $site_id_tmp . "/blog/" . $arBlog["URL"] . "/comment/" . $arPost["ID"] . "/"); BXClearCache(True, "/" . $site_id_tmp . "/blog/" . $arBlog["URL"] . "/rss_out/"); BXClearCache(True, "/" . $site_id_tmp . "/blog/" . $arBlog["URL"] . "/rss_all/"); BXClearCache(True, "/" . $site_id_tmp . "/blog/rss_sonet/"); BXClearCache(True, "/" . $site_id_tmp . "/blog/rss_all/"); BXClearCache(True, "/" . $site_id_tmp . "/blog/" . $arBlog["URL"] . "/favorite/"); BXClearCache(True, "/" . $site_id_tmp . "/blog/" . $arBlog["URL"] . "/post/" . $arPost["ID"] . "/"); } return '<params> <param> <value> <i4>' . $postId . '</i4> </value> </param> </params>'; } else { return '<fault> <value> <struct> <member> <name>faultCode</name> <value><int>3</int></value> </member> <member> <name>faultString</name> <value><string>Error on saving post</string></value> </member> </struct> </value> </fault>'; } } } } else { return '<fault> <value> <struct> <member> <name>faultCode</name> <value><int>3</int></value> </member> <member> <name>faultString</name> <value><string>' . $arAuthResult["MESSAGE"] . '</string></value> </member> </struct> </value> </fault>'; } }
} else { $res = CBlogCategory::GetList(array("NAME" => "ASC"), array("BLOG_ID" => $arBlog["ID"], "NAME" => $arFields["NAME"])); if (!$res->Fetch()) { $newID = CBlogCategory::Update(IntVal($_POST["ID"]), $arFields); } else { $arResult["ERROR_MESSAGE"] = GetMessage("BLOG_CATEGORY_EXIST_1") . " \"" . htmlspecialcharsEx($arFields["NAME"]) . "\" " . GetMessage("BLOG_CATEGORY_EXIST_2"); } } } else { $arResult["ERROR_MESSAGE"] = GetMessage("BLOG_ERR_NO_RIGHTS"); } } else { $arFields["BLOG_ID"] = $arBlog["ID"]; $res = CBlogCategory::GetList(array("NAME" => "ASC"), array("BLOG_ID" => $arFields["BLOG_ID"], "NAME" => $arFields["NAME"])); if (!$res->Fetch()) { $newID = CBlogCategory::Add($arFields); } else { $arResult["ERROR_MESSAGE"] = GetMessage("BLOG_CATEGORY_EXIST_1") . " \"" . htmlspecialcharsEx($arFields["NAME"]) . "\" " . GetMessage("BLOG_CATEGORY_EXIST_2"); } } if (strlen($arResult["ERROR_MESSAGE"]) <= 0) { LocalRedirect($_POST["BACK_URL"]); } } if (strlen($_POST["BACK_URL"]) > 0) { $arResult["BACK_URL"] = $_POST["BACK_URL"]; } else { $arResult["BACK_URL"] = htmlspecialcharsbx($APPLICATION->GetCurPageParam()); } $res = CBlogCategory::GetList(array("NAME" => "ASC"), array("BLOG_ID" => $arBlog["ID"])); while ($arCategory = $res->GetNext()) {
} if ($iCommentID > 0) { $arPost = CBlogPost::GetByID($iCommentID); if (!$arPost) { $iCommentID = 0; } elseif (intVal($arPost["NUM_COMMENTS"]) > 0 && $arPost["NUM_COMMENTS"] != $arResult["ELEMENT"]["PROPERTIES"]["BLOG_COMMENTS_CNT"]["VALUE"]) { CIBlockElement::SetPropertyValues($arParams["ELEMENT_ID"], $arParams["IBLOCK_ID"], intVal($arPost["NUM_COMMENTS"]), "BLOG_COMMENTS_CNT"); } } if (!$iCommentID && isset($_REQUEST["parentId"])) { $arCategory = array(); $arBlog = CBlog::GetByUrl($arParams["BLOG_URL"]); if (!empty($arResult["ELEMENT"]["TAGS"])) { $arCategoryVal = explode(",", $arResult["ELEMENT"]["TAGS"]); foreach ($arCategoryVal as $k => $v) { if ($id = CBlogCategory::Add(array("BLOG_ID" => $arBlog["ID"], "NAME" => $v))) { $arCategory[] = $id; } } } $arResult["ELEMENT"]["DETAIL_PICTURE"] = CFile::GetFileArray($arResult["ELEMENT"]["DETAIL_PICTURE"]); $arResult["ELEMENT"]["REAL_PICTURE"] = CFile::GetFileArray($arResult["ELEMENT"]["PROPERTIES"]["REAL_PICTURE"]["VALUE"]); $arFields = array("TITLE" => $arResult["ELEMENT"]["NAME"], "DETAIL_TEXT" => "[IMG]http://" . $_SERVER['HTTP_HOST'] . $arResult["ELEMENT"]["DETAIL_PICTURE"]["SRC"] . "[/IMG]\n" . "[URL=http://" . $_SERVER['HTTP_HOST'] . $arResult["ELEMENT"]["~DETAIL_PAGE_URL"] . "]" . $arResult["ELEMENT"]["NAME"] . "[/URL]\n" . (!empty($arResult["ELEMENT"]["TAGS"]) ? $arResult["ELEMENT"]["TAGS"] . "\n" : "") . $arResult["ELEMENT"]["~DETAIL_TEXT"] . "\n" . "[URL=http://" . $_SERVER['HTTP_HOST'] . $arResult["ELEMENT"]["REAL_PICTURE"]["SRC"] . "]" . GetMessage("P_ORIGINAL") . "[/URL]", "CATEGORY_ID" => implode(",", $arCategory), "PUBLISH_STATUS" => "P", "PERMS_POST" => array(), "PERMS_COMMENT" => array(), "=DATE_CREATE" => $DB->GetNowFunction(), "=DATE_PUBLISH" => $DB->GetNowFunction(), "AUTHOR_ID" => !empty($arResult["ELEMENT"]["CREATED_BY"]) ? $arResult["ELEMENT"]["CREATED_BY"] : 1, "BLOG_ID" => $arBlog["ID"], "ENABLE_TRACKBACK" => "N"); $newID = CBlogPost::Add($arFields); if ($newID > 0) { foreach ($arCategory as $key) { CBlogPostCategory::Add(array("BLOG_ID" => $arBlog["ID"], "POST_ID" => $newID, "CATEGORY_ID" => $key)); } BXClearCache(True, "/" . SITE_ID . "/blog/" . $arBlog["URL"]); BXClearCache(True, "/" . SITE_ID . "/blog/last_messages/"); BXClearCache(True, "/" . SITE_ID . "/blog/groups/" . $arBlog["GROUP_ID"] . "/");
if (!$SocNetGroupID) { $SocNetGroupID = CBlogGroup::Add(array("SITE_ID" => WIZARD_SITE_ID, "NAME" => $IdeaBlogGroupName)); } //Blog $blogID = CBlog::Add(array("NAME" => GetMessage("IDEA_DEMO_BLOG_NAME"), "DESCRIPTION" => "", "GROUP_ID" => $SocNetGroupID, "ENABLE_IMG_VERIF" => 'Y', "EMAIL_NOTIFY" => 'Y', "ENABLE_RSS" => "Y", "ALLOW_HTML" => "Y", "URL" => $IdeaBlogUrl, "ACTIVE" => "Y", "=DATE_CREATE" => $DB->GetNowFunction(), "=DATE_UPDATE" => $DB->GetNowFunction(), "SOCNET_GROUP_ID" => 1, "PERMS_POST" => array("1" => BLOG_PERMS_READ, "2" => BLOG_PERMS_WRITE), "PERMS_COMMENT" => array("1" => BLOG_PERMS_WRITE, "2" => BLOG_PERMS_WRITE), "PATH" => '/services/idea/')); //UF $arUFIdByName = array(); $arStatusList = CIdeaManagment::getInstance()->GetStatusList(); foreach ($arStatusList as $UF) { $arUFIdByName[$UF["XML_ID"]] = $UF["ID"]; } //Categories $categoryID = array(); $categoryID[0][] = CBlogCategory::Add(array("BLOG_ID" => $blogID, "NAME" => GetMessage("IDEA_BLOG_DEMO_CATEGORY_1"))); $categoryID[0][] = CBlogCategory::Add(array("BLOG_ID" => $blogID, "NAME" => GetMessage("IDEA_BLOG_DEMO_CATEGORY_2"))); $categoryID[1][] = CBlogCategory::Add(array("BLOG_ID" => $blogID, "NAME" => GetMessage("IDEA_BLOG_DEMO_CATEGORY_3"))); //Post messages $arBlogPostFields = array(); $arBlogPostFields[] = array("TITLE" => GetMessage("IDEA_BLOG_DEMO_MESSAGE_TITLE_1"), "DETAIL_TEXT" => GetMessage("IDEA_BLOG_DEMO_MESSAGE_BODY_1"), "DETAIL_TEXT_TYPE" => "text", "BLOG_ID" => $blogID, "AUTHOR_ID" => 1, "=DATE_CREATE" => $DB->GetNowFunction(), "=DATE_PUBLISH" => $DB->GetNowFunction(), "PUBLISH_STATUS" => BLOG_PUBLISH_STATUS_PUBLISH, "ENABLE_TRACKBACK" => 'N', "ENABLE_COMMENTS" => 'Y', "CATEGORY_ID" => implode(",", $categoryID[0]), "UF_CATEGORY_CODE" => ToUpper(GetMessage("IDEA_UF_CATEGORY_CODE_1")), "UF_STATUS" => $arUFIdByName["COMPLETED"], "PERMS_POST" => array(1 => BLOG_PERMS_READ, 2 => BLOG_PERMS_READ), "PERMS_COMMENT" => array(1 => BLOG_PERMS_WRITE, 2 => BLOG_PERMS_WRITE), "PATH" => '/services/idea/#post_id#/', "CODE" => "company_new_year_2012"); $arBlogPostFields[] = array("TITLE" => GetMessage("IDEA_BLOG_DEMO_MESSAGE_TITLE_2"), "DETAIL_TEXT" => GetMessage("IDEA_BLOG_DEMO_MESSAGE_BODY_2"), "DETAIL_TEXT_TYPE" => "text", "BLOG_ID" => $blogID, "AUTHOR_ID" => 1, "=DATE_CREATE" => $DB->GetNowFunction(), "=DATE_PUBLISH" => $DB->GetNowFunction(), "PUBLISH_STATUS" => BLOG_PUBLISH_STATUS_PUBLISH, "ENABLE_TRACKBACK" => 'N', "ENABLE_COMMENTS" => 'Y', "CATEGORY_ID" => implode(",", $categoryID[1]), "UF_CATEGORY_CODE" => ToUpper(GetMessage("IDEA_UF_CATEGORY_CODE_2")), "UF_STATUS" => $arUFIdByName["NEW"], "PERMS_POST" => array(1 => BLOG_PERMS_READ, 2 => BLOG_PERMS_READ), "PERMS_COMMENT" => array(1 => BLOG_PERMS_WRITE, 2 => BLOG_PERMS_WRITE), "PATH" => '/services/idea/#post_id#/', "CODE" => "new_workers"); $arBlogPostId = array(); foreach ($arBlogPostFields as $BlogPostFields) { $arBlogPostId[] = CBlogPost::Add($BlogPostFields); } foreach ($arBlogPostId as $key => $BlogPostId) { if (!is_array($categoryID[$key])) { continue; } foreach ($categoryID[$key] as $v) { CBlogPostCategory::Add(array("BLOG_ID" => $blogID, "POST_ID" => $BlogPostId, "CATEGORY_ID" => $v)); }
} else { if ($ex = $APPLICATION->GetException()) { $strError = $ex->GetString() . "<br>"; } echo ShowError($strError); } } print $image_form; die; } //////////////////////////////// дальше пойдёт работа с постом if (($_POST['apply'] || $_POST['save']) && check_bitrix_sessid()) { $TRACKBACK = trim($_POST['TRACKBACK']); InitBVar($_POST['ENABLE_TRACKBACK']); if ($_POST['CATEGORY_ID'] == 'ADD') { $CATEGORY_ID = CBlogCategory::Add(array("BLOG_ID" => $BLOG_ID, "NAME" => $_POST['NEW_CATEGORY'])); BXClearCache(True, "/" . SITE_ID . "/blog/" . $arBlog['URL'] . "/category/"); } else { $CATEGORY_ID = intval($_POST['CATEGORY_ID']); } if (strlen($_POST['DATE_PUBLISH']) == 0) { $DATE_PUBLISH = ConvertTimeStamp(time(), "FULL"); } else { $DATE_PUBLISH = $_POST['DATE_PUBLISH']; } $arFields = array('TITLE' => $_POST['POST_TITLE'], 'DETAIL_TEXT' => $_POST['POST_MESSAGE'], 'DATE_PUBLISH' => $DATE_PUBLISH, 'PUBLISH_STATUS' => $_POST['PUBLISH_STATUS'], 'ENABLE_TRACKBACK' => $_POST['ENABLE_TRACKBACK'], 'CATEGORY_ID' => $CATEGORY_ID); if ($_POST['blog_perms'] == 1) { if ($_POST['perms_p'][1] > BLOG_PERMS_READ) { $_POST['perms_p'][1] = BLOG_PERMS_READ; } if ($_POST['perms_c'][1] > BLOG_PERMS_READ) {
private function InstallBlogPost() { global $DB, $USER; $arBlogMessages = $this->arResult["INSTALLATION"]["BLOG_POST_ID"] = array(); //1 $CATEGORY_ID = array(); $CATEGORY_ID[] = CBlogCategory::Add(array("BLOG_ID" => $this->arResult["INSTALLATION"]["BLOG_ID"], "NAME" => GetMessage("IDEA_BLOG_TAG_TITLE_1"))); $CATEGORY_ID[] = CBlogCategory::Add(array("BLOG_ID" => $this->arResult["INSTALLATION"]["BLOG_ID"], "NAME" => GetMessage("IDEA_BLOG_TAG_TITLE_2"))); $arBlogMessages["NY"] = array("TITLE" => GetMessage("IDEA_BLOG_MESSAGE_TITLE_1"), "DETAIL_TEXT" => GetMessage("IDEA_BLOG_MESSAGE_DESCRIPTION_1"), "DETAIL_TEXT_TYPE" => "text", "=DATE_CREATE" => $DB->GetNowFunction(), "DATE_PUBLISH" => ConvertTimeStamp(false, "FULL"), "PUBLISH_STATUS" => "P", "ENABLE_TRACKBACK" => "N", "ENABLE_COMMENTS" => "Y", "CATEGORY_ID" => join(',', $CATEGORY_ID), "CODE" => "company_new_year_2012", "UF_CATEGORY_CODE" => "OUR_EVENTS", "UF_STATUS" => $this->arResult["SETTINGS"]["STATUS_ID"]["COMPLETED"], "AUTHOR_ID" => $USER->GetID(), "BLOG_ID" => $this->arResult["INSTALLATION"]["BLOG_ID"], "PREVIEW_TEXT_TYPE" => "text", "PATH" => $this->PublicDir . '#post_id#/', "PERMS_POST" => array("1" => BLOG_PERMS_READ, "2" => BLOG_PERMS_WRITE), "PERMS_COMMENT" => array("1" => BLOG_PERMS_WRITE, "2" => BLOG_PERMS_WRITE)); //2 $CATEGORY_ID = array(); $CATEGORY_ID[] = CBlogCategory::Add(array("BLOG_ID" => $this->arResult["INSTALLATION"]["BLOG_ID"], "NAME" => GetMessage("IDEA_BLOG_TAG_TITLE_3"))); $arBlogMessages["WORKERS"] = array("TITLE" => GetMessage("IDEA_BLOG_MESSAGE_TITLE_2"), "DETAIL_TEXT" => GetMessage("IDEA_BLOG_MESSAGE_DESCRIPTION_2"), "DETAIL_TEXT_TYPE" => "text", "=DATE_CREATE" => $DB->GetNowFunction(), "DATE_PUBLISH" => ConvertTimeStamp(false, "FULL"), "PUBLISH_STATUS" => "P", "ENABLE_TRACKBACK" => "N", "ENABLE_COMMENTS" => "Y", "CATEGORY_ID" => join(',', $CATEGORY_ID), "CODE" => "new_workers", "UF_CATEGORY_CODE" => "OUTSIDE", "UF_STATUS" => $this->arResult["SETTINGS"]["STATUS_ID"]["NEW"], "AUTHOR_ID" => $USER->GetID(), "BLOG_ID" => $this->arResult["INSTALLATION"]["BLOG_ID"], "PREVIEW_TEXT_TYPE" => "text", "PATH" => $this->PublicDir . '#post_id#/', "PERMS_POST" => array("1" => BLOG_PERMS_READ, "2" => BLOG_PERMS_WRITE), "PERMS_COMMENT" => array("1" => BLOG_PERMS_WRITE, "2" => BLOG_PERMS_WRITE)); foreach ($arBlogMessages as $key => $BlogMessage) { if ($this->arResult["INSTALLATION"]["BLOG_POST_ID"][$key] = CBlogPost::Add($BlogMessage)) { $arPostCategory = explode(',', $BlogMessage["CATEGORY_ID"]); foreach ($arPostCategory as $CatId) { CBlogPostCategory::Add(array("POST_ID" => $this->arResult["INSTALLATION"]["BLOG_POST_ID"][$key], "BLOG_ID" => $this->arResult["INSTALLATION"]["BLOG_ID"], "CATEGORY_ID" => $CatId)); } } } }
} $tags = explode(",", $_POST["TAGS"]); foreach ($tags as $tg) { $tg = trim($tg); if (!in_array($arCatBlog[ToLower($tg)], $CATEGORYtmp) && strlen($tg) > 0) { if (IntVal($arCatBlog[ToLower($tg)]) > 0) { $CATEGORYtmp[] = $arCatBlog[ToLower($tg)]; } else { $CATEGORYtmp[] = CBlogCategory::Add(array("BLOG_ID" => $arBlog["ID"], "NAME" => $tg)); } } } } elseif (!empty($_POST["CATEGORY_ID"])) { foreach ($_POST["CATEGORY_ID"] as $v) { if (substr($v, 0, 4) == "new_") { $CATEGORYtmp[] = CBlogCategory::Add(array("BLOG_ID" => $arBlog["ID"], "NAME" => substr($v, 4))); if ($arResult["bGroupMode"] && $arGroupSites) { $arSites = $arGroupSites; } else { $arSites = array(SITE_ID); } } else { $CATEGORYtmp[] = $v; } } } else { $CATEGORY_ID = ""; } $CATEGORY_ID = implode(",", $CATEGORYtmp); $DATE_PUBLISH = ""; if (strlen($_POST["DATE_PUBLISH_DEF"]) > 0) {
function AddComment_Review_CreateRoot_Blog($arElement, $blogID) { if (!CModule::IncludeModule("blog")) { return false; } $arBlog = CBlog::GetByID($blogID); $arElement["DETAIL_PICTURE"] = CFile::GetFileArray($arElement["DETAIL_PICTURE"]); $arElement["REAL_PICTURE"] = CFile::GetFileArray($arElement["PROPERTY_REAL_PICTURE_VALUE"]); if (!empty($arElement["TAGS"])) { $arCategoryVal = explode(",", $arElement["TAGS"]); foreach ($arCategoryVal as $k => $v) { if ($id = CBlogCategory::Add(array("BLOG_ID" => $arBlog["ID"], "NAME" => $v))) { $arCategory[] = $id; } } } $arFields = array("TITLE" => $arElement["NAME"], "DETAIL_TEXT" => "[IMG]http://" . $_SERVER['HTTP_HOST'] . $arElement["DETAIL_PICTURE"]["SRC"] . "[/IMG]\n" . "[URL=http://" . $_SERVER['HTTP_HOST'] . $arElement["~DETAIL_PAGE_URL"] . "]" . $arElement["NAME"] . "[/URL]\n" . (!empty($arElement["TAGS"]) ? $arElement["TAGS"] . "\n" : "") . $arElement["~DETAIL_TEXT"] . "\n" . "[URL=http://" . $_SERVER['HTTP_HOST'] . $arElement["REAL_PICTURE"]["SRC"] . "]" . GetMessage("P_ORIGINAL") . "[/URL]", "CATEGORY_ID" => implode(",", $arCategory), "PUBLISH_STATUS" => "P", "PERMS_POST" => array(), "PERMS_COMMENT" => array(), "=DATE_CREATE" => $GLOBALS["DB"]->GetNowFunction(), "=DATE_PUBLISH" => $GLOBALS["DB"]->GetNowFunction(), "AUTHOR_ID" => !empty($arElement["CREATED_BY"]) ? $arElement["CREATED_BY"] : 1, "BLOG_ID" => $arBlog["ID"], "ENABLE_TRACKBACK" => "N"); $POST_ID = CBlogPost::Add($arFields); return $POST_ID; }
$arRep[] = "[IMG ID=" . $imgID . "]"; } } if (!empty($arRep)) { $arCopyPostUpdate["DETAIL_TEXT"] = str_replace($arPat, $arRep, $arCopyPost["DETAIL_TEXT"]); } //tags $arCopyCat = array(); $dbCategory = CBlogCategory::GetList(array(), array("BLOG_ID" => $arCopyBlog["ID"])); while ($arCategory = $dbCategory->Fetch()) { $arCatBlogCopy[ToLower($arCategory["NAME"])] = $arCategory["ID"]; } $dbCat = CBlogPostCategory::GetList(array("NAME" => "ASC"), array("BLOG_ID" => $arBlog["ID"], "POST_ID" => $arParams["ID"])); while ($arCat = $dbCat->Fetch()) { if (empty($arCatBlogCopy[ToLower($arCat["NAME"])])) { $v = CBlogCategory::Add(array("BLOG_ID" => $arCopyBlog["ID"], "NAME" => $arCat["NAME"])); } else { $v = $arCatBlogCopy[ToLower($arCat["NAME"])]; } CBlogPostCategory::Add(array("BLOG_ID" => $arCopyBlog["ID"], "POST_ID" => $copyID, "CATEGORY_ID" => $v)); $arCopyCat[] = $v; } 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 ($blogID <= 0 || !empty($res)) { continue; } CBlog::AddSocnetRead($blogID); $arUsers[$key]["BLOG_ID"] = $blogID; $categoryID = array(); foreach ($arUser["POSTS"] as $k => $arPost) { $arComments = $arPost["COMMENTS"]; unset($arPost["COMMENTS"]); // CATEGORY $category = explode(", ", $arPost["CATEGORY_ID"]); $category = array_unique($category); $iCategory = array(); foreach ($category as $sCategoryValue) { if (empty($categoryID[$sCategoryValue])) { $categoryID[$sCategoryValue] = CBlogCategory::Add(array("BLOG_ID" => $blogID, "NAME" => $sCategoryValue)); } $iCategory[] = $categoryID[$sCategoryValue]; } // IMAGES $arImagesToUpdate = array(); if (preg_match_all("/\\[IMG\\sID\\=\\#([a-z0-9\\_\\.]+)\\#\\]/is", $arPost["DETAIL_TEXT"], $arMatches)) { $image_replacement = array(); foreach ($arMatches[1] as $key_match => $file) { if (empty($arImages[$file])) { continue; } $arImageFields = array("BLOG_ID" => $blogID, "POST_ID" => 0, "USER_ID" => $arUser["ID"], "=TIMESTAMP_X" => $DB->GetNowFunction(), "TITLE" => $file, "IMAGE_SIZE" => $arImages[$file]["size"], "FILE_ID" => $arImages[$file] + array("MODULE_ID" => "blog", "del" => "Y")); $image_replacement[$key_match] = ""; if ($imgID = CBlogImage::Add($arImageFields)) { $image_replacement[$key_match] = "[IMG ID=" . $imgID . "]";