Beispiel #1
0
    $sBlogPath = $arr['PATH'];
    if ($BLOG_ID) {
        $arBlog = CBlog::GetByID($BLOG_ID);
    } else {
        $res = CBlog::GetList(array(), array("URL" => $OWNER));
        $arBlog = $res->Fetch();
        $BLOG_ID = intval($arBlog['ID']);
    }
    if ($arBlog) {
        if (IntVal($ID) > 0 && ($arPost = CBlogPost::GetByID($ID))) {
            $APPLICATION->SetTitle(str_replace("#BLOG#", htmlspecialchars($arBlog["NAME"]), "" . GetMessage("BLOG_POST_EDIT") . ""));
            $perms = CBlogPost::GetBlogUserPostPerms($ID, $USER_ID);
        } else {
            $ID = 0;
            $APPLICATION->SetTitle(str_replace("#BLOG#", htmlspecialchars($arBlog["NAME"]), "" . GetMessage("BLOG_NEW_MESSAGE") . ""));
            $perms = CBlog::GetBlogUserPostPerms($BLOG_ID, $USER_ID);
        }
        if ($perms >= BLOG_PERMS_WRITE && (intval($arPost['ID']) == 0 || $arPost['BLOG_ID'] == $BLOG_ID)) {
            ###### Form ####
            $image_form = '
				<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
				<html>
				<head>
				<title>' . GetMessage("BLOG_P_IMAGE_UPLOAD") . '</title>
				</head>
				<form action="' . $sBlogPath . '/post_edit.php" method=POST enctype="multipart/form-data">
				' . bitrix_sessid_post() . '
				<input type=hidden name=ID value="' . $ID . '">
				<input type=hidden name=BLOG_ID value="' . $BLOG_ID . '">
				<style type=text/css>
					td.tableborder, table.tableborder {background-color:#8FB0D2;}
Beispiel #2
0
         $arGroup = CBlogGroup::GetByID($arBlog["GROUP_ID"]);
         if ($arGroup["SITE_ID"] == SITE_ID) {
             $arResult["Blog"] = $arBlog;
             $arResult["urlToCurrentBlog"] = CComponentEngine::MakePathFromTemplate($arParams["PATH_TO_BLOG"], array("blog" => $arParams["BLOG_URL"]));
         } else {
             unset($arBlog);
         }
     } else {
         unset($arBlog);
     }
 } elseif (!empty($arOwnBlog)) {
     $arBlog = $arOwnBlog;
 }
 if (!empty($arBlog)) {
     if (IntVal($user_id) > 0) {
         $perm = CBlog::GetBlogUserPostPerms($arBlog["ID"], $user_id);
         if ($perm >= BLOG_PERMS_WRITE) {
             $arResult["urlToDraft"] = CComponentEngine::MakePathFromTemplate($arParams["PATH_TO_DRAFT"], array("blog" => $arBlog["URL"]));
             $arResult["urlToNewPost"] = CComponentEngine::MakePathFromTemplate($arParams["PATH_TO_POST_EDIT"], array("blog" => $arBlog["URL"], "post_id" => "new"));
             if ($perm >= BLOG_PERMS_MODERATE) {
                 $arResult["urlToModeration"] = CComponentEngine::MakePathFromTemplate($arParams["PATH_TO_MODERATION"], array("blog" => $arBlog["URL"]));
                 $dbPost = CBlogPost::GetList(array(), array("BLOG_ID" => $arBlog["ID"], "PUBLISH_STATUS" => BLOG_PUBLISH_STATUS_READY), array("COUNT" => "ID"), false, array("ID", "BLOG_ID"));
                 if ($arPost = $dbPost->Fetch()) {
                     $arResult["CntToModerate"] = $arPost["ID"];
                 }
             }
             $dbPost = CBlogPost::GetList(array(), array("BLOG_ID" => $arBlog["ID"], "PUBLISH_STATUS" => BLOG_PUBLISH_STATUS_DRAFT, "AUTHOR_ID" => $user_id), array("COUNT" => "ID"), false, array("ID", "BLOG_ID"));
             if ($arPost = $dbPost->Fetch()) {
                 $arResult["CntToDraft"] = $arPost["ID"];
             }
             $arResult["SecondLine"] = "Y";
Beispiel #3
0
if (empty($arResult["BLOG"])) {
    ShowError(GetMessage("BLOG_BLOG_BLOG_NO_BLOG"));
    CHTTP::SetStatus("404 Not Found");
    return;
}
$arBlog = $arResult["BLOG"];
$tmpVal = COption::GetOptionInt("idea", "blog_group_id", false, SITE_ID);
if (intval($arBlog["GROUP_ID"]) > 0 && (!$tmpVal || $tmpVal != intval($arBlog["GROUP_ID"]))) {
    COption::SetOptionInt("idea", "blog_group_id", $arBlog["GROUP_ID"], false, SITE_ID);
}
$arFilter = is_string($arParams["FILTER_NAME"]) && preg_match("/^[A-Za-z_][A-Za-z01-9_]*\$/i", $arParams["FILTER_NAME"]) ? $GLOBALS[$arParams["FILTER_NAME"]] : array();
$arFilter = is_array($arFilter) ? $arFilter : array();
$arResult["ERROR_MESSAGE"] = array();
$arResultNFCache = array("OK_MESSAGE" => array(), "ERROR_MESSAGE" => array());
$user_id = intval($USER->GetID());
$arResult["PostPerm"] = CBlog::GetBlogUserPostPerms($arResult["BLOG"]["ID"], $user_id);
$arUserGroups = $GLOBALS["USER"]->IsAuthorized() ? CBlogUser::GetUserGroups($user_id, $arParams["BLOG_URL"], "Y", BLOG_BY_USER_ID, "URL") : array(1);
sort($arUserGroups);
$cache_id = "blog_blog_message_" . serialize(array($arParams["BLOG_URL"], $arParams["RATING_TEMPLATE"], $arParams["SORT_BY1"] => $arParams["SORT_ORDER1"], $arParams["SORT_BY2"] => $arParams["SORT_ORDER2"], $arParams["IBLOCK_CATEGORIES"], $arParams["EXT_FILTER"], $arParams["PATH_TO_BLOG"], $arParams["POST_PROPERTY_LIST"], $arParams["DATE_TIME_FORMAT"], $arParams["NAV_TEMPLATE"], $arParams["GROUP_ID"], $arParams["NAME_TEMPLATE"], $arParams["SHOW_LOGIN"], $arParams["IMAGE_MAX_WIDTH"], $arParams["IMAGE_MAX_HEIGHT"], $arParams["ALLOW_POST_CODE"], $arParams["CATEGORY_ID"], CDBResult::NavStringForCache($arParams["MESSAGE_COUNT"]), $arUserGroups, $arResult["PostPerm"], $arResult["IDEA_MODERATOR"]));
if (!isset($_GET["PAGEN_1"]) || IntVal($_GET["PAGEN_1"]) < 1) {
    $CACHE_TIME = $arParams["CACHE_TIME"];
    $cache_path = "/" . SITE_ID . "/idea/" . $arBlog["ID"] . "/first_page/";
} else {
    $CACHE_TIME = $arParams["CACHE_TIME_LONG"];
    $cache_path = "/" . SITE_ID . "/idea/" . $arBlog["ID"] . "/pages/" . IntVal($_GET["PAGEN_1"]) . "/";
}
/********************************************************************
				/Default params
********************************************************************/
/********************************************************************
				Actions
//chk
$arResult["VARIABLES"]["blog"] = $arParams["BLOG_URL"];
//Page navigation template
$arParams["NAV_TEMPLATE"] = trim($arParams["NAV_TEMPLATE"]);
$arParams["NAV_TEMPLATE"] = empty($arParams["NAV_TEMPLATE"]) ? "arrows" : $arParams["NAV_TEMPLATE"];
//Search
if ($this->__page == 'index') {
    ob_start();
    $APPLICATION->IncludeComponent("bitrix:idea.search", "", array(), $component);
    $arResult["ACTIONS"]["SEARCH"] = array("HTML" => ob_get_contents());
    ob_end_clean();
}
//Can Add Idea
if ($USER->IsAuthorized()) {
    $arBlog = CBlog::GetByUrl($arParams["BLOG_URL"]);
    if (CBlog::GetBlogUserPostPerms($arBlog["ID"], $USER->GetID()) >= BLOG_PERMS_PREMODERATE) {
        $arResult["ACTIONS"]["ADD_IDEA"] = array("ICON" => "btn-new section-add", "TEXT" => GetMessage("IDEA_ADD_IDEA_TITLE"), "LINK" => $arResult["~PATH_TO_POST_ADD"]);
    }
}
//Can Add category
if ($USER->IsAuthorized() && $arParams["IBLOCK_CATEGORIES"] > 0 && CIBlock::GetPermission($arParams["IBLOCK_CATEGORIES"], $USER->GetID()) >= "W") {
    $arButtons = CIBlock::GetPanelButtons($arParams["IBLOCK_CATEGORIES"], 0, 0, array("SESSID" => false));
    $arResult["ACTIONS"]["ADD_IDEA_CATEGORY"] = array("ICON" => "btn-new section-add", "TEXT" => GetMessage("IDEA_ADD_IDEA_CATEGORY_TITLE"), "LINK" => $arButtons["edit"]["add_section"]["ACTION"]);
}
//Menu
if ($USER->IsAuthorized()) {
    $arResult["ACTIONS"]["MENU"] = array("TEXT" => GetMessage("IDEA_MENU_TITLE"), "MENU" => array());
    //Own ideas
    $arResult["ACTIONS"]["MENU"]["MENU"][] = array("TEXT" => GetMessage("IDEA_MY_IDEA_TITLE"), "ONCLICK" => "top.window.location.href='" . $arResult["~PATH_TO_USER_IDEAS"] . "';");
    $arResult["ACTIONS"]["MENU"]["MENU"][] = array("SEPARATOR" => true);
    //Own subscribes
Beispiel #5
0
 if (IntVal($newID) > 0) {
     CBlogPostCategory::DeleteByPostID($newID);
     foreach ($CATEGORYtmp as $v) {
         CBlogPostCategory::Add(array("BLOG_ID" => $arBlog["ID"], "POST_ID" => $newID, "CATEGORY_ID" => $v));
     }
     $DB->Query("UPDATE b_blog_image SET POST_ID=" . $newID . " WHERE BLOG_ID=" . $arBlog["ID"] . " AND POST_ID=0", true);
     if (strlen($TRACKBACK) > 0) {
         $arPingUrls = explode("\n", $TRACKBACK);
         CBlogTrackback::SendPing($newID, $arPingUrls);
     }
 }
 //move/copy post to another blog
 if (IntVal($newID) > 0 && IntVal($_POST["move2blog"]) > 0 && $arParams["ALLOW_POST_MOVE"] == "Y") {
     if ($arCopyBlog = CBlog::GetByID($_POST["move2blog"])) {
         $copyPerms = BLOG_PERMS_DENY;
         $copyPerms = CBlog::GetBlogUserPostPerms($arCopyBlog["ID"], $user_id);
         if ($copyPerms >= BLOG_PERMS_PREMODERATE) {
             $arCopyPost = CBlogPost::GetByID($arParams["ID"]);
             $arCopyPost["BLOG_ID"] = $arCopyBlog["ID"];
             unset($arCopyPost["ID"]);
             unset($arCopyPost["ATTACH_IMG"]);
             unset($arCopyPost["VIEWS"]);
             $pathTemplate = htmlspecialcharsBack($arParams["PATH_TO_POST"]);
             $pathTemplateEdit = htmlspecialcharsBack($arParams["PATH_TO_POST_EDIT"]);
             $pathTemplateDraft = htmlspecialcharsBack($arParams["PATH_TO_DRAFT"]);
             $pathTemplateBlog = htmlspecialcharsBack($arParams["PATH_TO_BLOG"]);
             //take from new params
             $pathTemplate = htmlspecialcharsBack($arParams["PATH_TO_BLOG_POST"]);
             $pathTemplateEdit = htmlspecialcharsBack($arParams["PATH_TO_BLOG_POST_EDIT"]);
             $pathTemplateDraft = htmlspecialcharsBack($arParams["PATH_TO_BLOG_DRAFT"]);
             $pathTemplateBlog = htmlspecialcharsBack($arParams["PATH_TO_BLOG_BLOG"]);
Beispiel #6
0
 function BuildRSS($ID, $type = "RSS .92", $numPosts = 10, $blogTemplate = "", $postTemplate = "", $userTemplate = "", $bSoNet = false, $arParams = array())
 {
     $ID = IntVal($ID);
     if ($ID <= 0 && $arParams["USE_SOCNET"] != "Y") {
         return false;
     }
     $numPosts = IntVal($numPosts);
     $type = strtolower(preg_replace("/[^a-zA-Z0-9.]/is", "", $type));
     if ($type != "rss2.0" && $type != "atom.03") {
         $type = "rss.92";
     }
     $rssText = False;
     $arBlog = CBlog::GetByID($ID);
     if ($arBlog && $arBlog["ACTIVE"] == "Y" && $arBlog["ENABLE_RSS"] == "Y" || $arParams["USE_SOCNET"] == "Y") {
         if (!empty($arBlog)) {
             $arGroup = CBlogGroup::GetByID($arBlog["GROUP_ID"]);
         }
         if ($arGroup["SITE_ID"] == SITE_ID || $arParams["USE_SOCNET"] == "Y") {
             $now = date("r");
             $nowISO = date("Y-m-d\\TH:i:s") . substr(date("O"), 0, 3) . ":" . substr(date("O"), -2, 2);
             $serverName = "";
             $charset = "";
             $language = "";
             $dbSite = CSite::GetList($b = "sort", $o = "asc", array("LID" => SITE_ID));
             if ($arSite = $dbSite->Fetch()) {
                 $serverName = $arSite["SERVER_NAME"];
                 $charset = $arSite["CHARSET"];
                 $language = $arSite["LANGUAGE_ID"];
             }
             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", "");
                 }
             }
             if (strlen($charset) <= 0) {
                 if (defined("SITE_CHARSET") && strlen(SITE_CHARSET) > 0) {
                     $charset = SITE_CHARSET;
                 } else {
                     $charset = "windows-1251";
                 }
             }
             if ($bSoNet) {
                 if (IntVal($arParams["USER_ID"]) > 0) {
                     $dbUser = CUser::GetByID($arParams["USER_ID"]);
                     if ($arUser = $dbUser->Fetch()) {
                         $blogName = htmlspecialcharsbx(GetMessage("BLG_RSS_NAME_SONET", array("#AUTHOR_NAME#" => CUser::FormatName(CSite::GetNameFormat(false), $arUser, true))));
                         $blogURL = htmlspecialcharsbx("http://" . $serverName . CComponentEngine::MakePathFromTemplate($blogTemplate, array("user_id" => $arParams["USER_ID"])));
                     }
                 } else {
                     if ($arGroupSoNet = CSocNetGroup::GetByID($arParams["SOCNET_GROUP_ID"])) {
                         $blogName = htmlspecialcharsbx(GetMessage("BLG_RSS_NAME_SONET_GROUP", array("#GROUP_NAME#" => $arGroupSoNet["NAME"])));
                         $blogURL = htmlspecialcharsbx("http://" . $serverName . CComponentEngine::MakePathFromTemplate($blogTemplate, array("group_id" => $arParams["SOCNET_GROUP_ID"])));
                     }
                 }
                 $blogDescr = "";
             } else {
                 if (strlen($blogTemplate) > 0) {
                     $blogURL = htmlspecialcharsbx("http://" . $serverName . CComponentEngine::MakePathFromTemplate($blogTemplate, array("blog" => $arBlog["URL"], "user_id" => $arBlog["OWNER_ID"], "group_id" => $arBlog["SOCNET_GROUP_ID"])));
                 } else {
                     $blogURL = htmlspecialcharsbx("http://" . $serverName . CBlog::PreparePath($arBlog["URL"], $arGroup["SITE_ID"]));
                 }
                 $blogName = htmlspecialcharsbx($arBlog["NAME"]);
                 $blogDescr = htmlspecialcharsbx($arBlog["DESCRIPTION"]);
             }
             $rssText = "";
             if ($type == "rss.92") {
                 $rssText .= "<" . "?xml version=\"1.0\" encoding=\"" . $charset . "\"?" . ">\n\n";
                 $rssText .= "<rss version=\".92\">\n";
                 $rssText .= " <channel>\n";
                 $rssText .= "\t<title>" . $blogName . "</title>\n";
                 $rssText .= "\t<link>" . $blogURL . "</link>\n";
                 $rssText .= "\t<description>" . $blogDescr . "</description>\n";
                 $rssText .= "\t<language>" . $language . "</language>\n";
                 $rssText .= "\t<docs>http://backend.userland.com/rss092</docs>\n";
                 $rssText .= "\n";
             } elseif ($type == "rss2.0") {
                 $rssText .= "<" . "?xml version=\"1.0\" encoding=\"" . $charset . "\"?" . ">\n\n";
                 $rssText .= "<rss version=\"2.0\">\n";
                 $rssText .= " <channel>\n";
                 $rssText .= "\t<title>" . $blogName . "</title>\n";
                 //$rssText .= "	<guid>".$blogURL."</guid>\n";
                 $rssText .= "\t<link>" . $blogURL . "</link>\n";
                 $rssText .= "\t<description>" . $blogDescr . "</description>\n";
                 $rssText .= "\t<language>" . $language . "</language>\n";
                 $rssText .= "\t<docs>http://backend.userland.com/rss2</docs>\n";
                 $rssText .= "\t<pubDate>" . $now . "</pubDate>\n";
                 $rssText .= "\n";
             } elseif ($type == "atom.03") {
                 $atomID = "tag:" . htmlspecialcharsbx($serverName) . "," . date("Y-m-d") . ":" . $ID;
                 $rssText .= "<" . "?xml version=\"1.0\" encoding=\"" . $charset . "\"?" . ">\n\n";
                 $rssText .= "<feed version=\"0.3\" xmlns=\"http://purl.org/atom/ns#\" xml:lang=\"" . $language . "\">\n";
                 $rssText .= "  <title>" . $blogName . "</title>\n";
                 $rssText .= "  <tagline>" . $blogURL . "</tagline>\n";
                 //$rssText .= "  <link href=\"".$blogURL."\"/>";
                 $rssText .= "  <id>" . $atomID . "</id>\n";
                 $rssText .= "  <link rel=\"alternate\" type=\"text/html\" href=\"" . $blogURL . "\" />\n";
                 $rssText .= "  <copyright>Copyright (c) " . $blogURL . "</copyright>\n";
                 $rssText .= "  <modified>" . $nowISO . "</modified>\n";
                 $rssText .= "\n";
             }
             $user_id = IntVal($GLOBALS["USER"]->GetID());
             if ($bSoNet) {
                 $postPerm = BLOG_PERMS_DENY;
                 if (IntVal($arParams["SOCNET_GROUP_ID"]) > 0) {
                     if (CSocNetFeaturesPerms::CanPerformOperation($user_id, SONET_ENTITY_GROUP, $arParams["SOCNET_GROUP_ID"], "blog", "view_post")) {
                         $postPerm = BLOG_PERMS_READ;
                     }
                     if (CSocNetFeaturesPerms::CanPerformOperation($user_id, SONET_ENTITY_GROUP, $arParams["SOCNET_GROUP_ID"], "blog", "write_post")) {
                         $postPerm = BLOG_PERMS_WRITE;
                     }
                     if (CSocNetFeaturesPerms::CanPerformOperation($user_id, SONET_ENTITY_GROUP, $arParams["SOCNET_GROUP_ID"], "blog", "full_post", CSocNetUser::IsCurrentUserModuleAdmin()) || $GLOBALS["APPLICATION"]->GetGroupRight("blog") >= "W") {
                         $postPerm = BLOG_PERMS_FULL;
                     }
                 } else {
                     if ($user_id == $arParams["USER_ID"]) {
                         $postPerm = BLOG_PERMS_FULL;
                     } elseif (CSocNetFeaturesPerms::CanPerformOperation($user_id, SONET_ENTITY_USER, $arParams["USER_ID"], "blog", "view_post")) {
                         $postPerm = BLOG_PERMS_READ;
                     }
                 }
             } else {
                 $postPerm = CBlog::GetBlogUserPostPerms($ID, IntVal($user_id));
             }
             if ($postPerm >= BLOG_PERMS_READ) {
                 $parser = new blogTextParser();
                 $arParserParams = array("imageWidth" => $arParams["IMAGE_MAX_WIDTH"], "imageHeight" => $arParams["IMAGE_MAX_HEIGHT"]);
                 if ($bSoNet) {
                     $arFilter = array("<=DATE_PUBLISH" => ConvertTimeStamp(false, "FULL", false), "PUBLISH_STATUS" => BLOG_PUBLISH_STATUS_PUBLISH, "BLOG_ACTIVE" => "Y", "BLOG_GROUP_SITE_ID" => SITE_ID);
                     if (IntVal($arParams["SOCNET_GROUP_ID"]) > 0) {
                         $arFilter["SOCNET_GROUP_ID"] = $arParams["SOCNET_GROUP_ID"];
                     } else {
                         $arFilter["FOR_USER"] = $user_id;
                         $arFilter["AUTHOR_ID"] = $arParams["USER_ID"];
                     }
                 } else {
                     $arFilter = array("BLOG_ID" => $ID, "<=DATE_PUBLISH" => ConvertTimeStamp(false, "FULL", false), "PUBLISH_STATUS" => BLOG_PUBLISH_STATUS_PUBLISH, "MICRO" => "N");
                 }
                 CTimeZone::Disable();
                 $dbPosts = CBlogPost::GetList(array("DATE_PUBLISH" => "DESC"), $arFilter, false, array("nTopCount" => $numPosts), array("ID", "TITLE", "DETAIL_TEXT", "DATE_PUBLISH", "AUTHOR_ID", "AUTHOR_NAME", "AUTHOR_LAST_NAME", "BLOG_USER_ALIAS", "DETAIL_TEXT_TYPE", "CODE", "PATH"));
                 CTimeZone::Enable();
                 while ($arPost = $dbPosts->Fetch()) {
                     if (!$bSoNet) {
                         $perms = CBlogPost::GetBlogUserPostPerms($arPost["ID"], $GLOBALS["USER"]->IsAuthorized() ? $GLOBALS["USER"]->GetID() : 0);
                         if ($perms < BLOG_PERMS_READ) {
                             continue;
                         }
                     }
                     //$title = htmlspecialcharsEx($arPost["TITLE"]);
                     $title = str_replace(array("&", "<", ">", "\""), array("&amp;", "&lt;", "&gt;", "&quot;"), $arPost["TITLE"]);
                     $res = CBlogImage::GetList(array("ID" => "ASC"), array("POST_ID" => $arPost['ID'], "BLOG_ID" => $ID, "IS_COMMENT" => "N"));
                     while ($arImage = $res->Fetch()) {
                         $arImages[$arImage['ID']] = $arImage['FILE_ID'];
                     }
                     $arDate = ParseDateTime($arPost["DATE_PUBLISH"], CSite::GetDateFormat("FULL", $arGroup["SITE_ID"]));
                     $date = date("r", mktime($arDate["HH"], $arDate["MI"], $arDate["SS"], $arDate["MM"], $arDate["DD"], $arDate["YYYY"]));
                     if (strlen($arPost["PATH"]) > 0) {
                         $url = htmlspecialcharsbx("http://" . $serverName . str_replace("#post_id#", CBlogPost::GetPostID($arPost["ID"], $arPost["CODE"], $arParams["ALLOW_POST_CODE"]), $arPost["PATH"]));
                     } elseif (strLen($postTemplate) > 0) {
                         $url = htmlspecialcharsbx("http://" . $serverName . CComponentEngine::MakePathFromTemplate($postTemplate, array("blog" => $arBlog["URL"], "post_id" => CBlogPost::GetPostID($arPost["ID"], $arPost["CODE"], $arParams["ALLOW_POST_CODE"]), "user_id" => IntVal($arParams["USER_ID"]) > 0 ? $arParams["USER_ID"] : $arBlog["OWNER_ID"], "group_id" => IntVal($arParams["SOCNET_GROUP_ID"]) > 0 ? $arParams["SOCNET_GROUP_ID"] : $arBlog["SOCNET_GROUP_ID"])));
                     } else {
                         $url = htmlspecialcharsbx("http://" . $serverName . CBlogPost::PreparePath($arBlog["URL"], $arPost["ID"], $arGroup["SITE_ID"]));
                     }
                     $category = htmlspecialcharsbx($arPost["CATEGORY_NAME"]);
                     $BlogUser = CBlogUser::GetByID($arPost["AUTHOR_ID"], BLOG_BY_USER_ID);
                     $dbUser = CUser::GetByID($arPost["AUTHOR_ID"]);
                     $arUser = $dbUser->Fetch();
                     $author = htmlspecialcharsex(CBlogUser::GetUserName($BlogUser["ALIAS"], $arUser["NAME"], $arUser["LAST_NAME"], $arUser["LOGIN"], $arUser["SECOND_NAME"]));
                     if (strLen($userTemplate) > 0) {
                         $authorURL = htmlspecialcharsbx("http://" . $serverName . CComponentEngine::MakePathFromTemplate($userTemplate, array("user_id" => $arPost["AUTHOR_ID"])));
                     } else {
                         $authorURL = htmlspecialcharsbx("http://" . $serverName . CBlogUser::PreparePath($arPost["AUTHOR_ID"], $arGroup["SITE_ID"]));
                     }
                     if ($arPost["DETAIL_TEXT_TYPE"] == "html") {
                         $text = $parser->convert_to_rss($arPost["DETAIL_TEXT"], $arImages, array("HTML" => "Y", "ANCHOR" => "Y", "IMG" => "Y", "SMILES" => "Y", "NL2BR" => "N", "QUOTE" => "Y", "CODE" => "Y"), true, $arParserParams);
                     } else {
                         $text = $parser->convert_to_rss($arPost["DETAIL_TEXT"], $arImages, false, !$bSoNet, $arParserParams);
                     }
                     if (!$bSoNet) {
                         $text .= "<br /><a href=\"" . $url . "\">" . GetMessage("BLG_GB_RSS_DETAIL") . "</a>";
                     }
                     $text = "<![CDATA[" . $text . "]]>";
                     if ($type == "rss.92") {
                         $rssText .= "    <item>\n";
                         $rssText .= "      <title>" . $title . "</title>\n";
                         $rssText .= "      <description>" . $text . "</description>\n";
                         $rssText .= "      <link>" . $url . "</link>\n";
                         $rssText .= "    </item>\n";
                         $rssText .= "\n";
                     } elseif ($type == "rss2.0") {
                         $rssText .= "    <item>\n";
                         $rssText .= "      <title>" . $title . "</title>\n";
                         $rssText .= "      <description>" . $text . "</description>\n";
                         $rssText .= "      <link>" . $url . "</link>\n";
                         $rssText .= "      <guid>" . $url . "</guid>\n";
                         $rssText .= "      <pubDate>" . $date . "</pubDate>\n";
                         if (strlen($category) > 0) {
                             $rssText .= "      <category>" . $category . "</category>\n";
                         }
                         $rssText .= "    </item>\n";
                         $rssText .= "\n";
                     } elseif ($type == "atom.03") {
                         $atomID = "tag:" . htmlspecialcharsbx($serverName) . ":" . $arBlog["URL"] . "/" . $arPost["ID"];
                         $timeISO = mktime($arDate["HH"], $arDate["MI"], $arDate["SS"], $arDate["MM"], $arDate["DD"], $arDate["YYYY"]);
                         $dateISO = date("Y-m-d\\TH:i:s", $timeISO) . substr(date("O", $timeISO), 0, 3) . ":" . substr(date("O", $timeISO), -2, 2);
                         $titleRel = htmlspecialcharsbx($arPost["TITLE"]);
                         $rssText .= "<entry>\n";
                         $rssText .= "  <title type=\"text/html\">" . $title . "</title>\n";
                         $rssText .= "  <link rel=\"alternate\" type=\"text/html\" href=\"" . $url . "\"/>\n";
                         $rssText .= "  <issued>" . $dateISO . "</issued>\n";
                         $rssText .= "  <modified>" . $nowISO . "</modified>\n";
                         $rssText .= "  <id>" . $atomID . "</id>\n";
                         $rssText .= "  <content type=\"text/html\" mode=\"escaped\" xml:lang=\"" . $language . "\" xml:base=\"" . $blogURL . "\">\n";
                         $rssText .= $text . "\n";
                         $rssText .= "  </content>\n";
                         $rssText .= "  <link rel=\"related\" type=\"text/html\" href=\"" . $url . "\" title=\"" . $titleRel . "\"/>\n";
                         $rssText .= "  <author>\n";
                         $rssText .= "    <name>" . $author . "</name>\n";
                         $rssText .= "    <url>" . $authorURL . "</url>\n";
                         $rssText .= "  </author>\n";
                         $rssText .= "</entry>\n";
                         $rssText .= "\n";
                     }
                 }
             }
             if ($type == "rss.92") {
                 $rssText .= "  </channel>\n</rss>";
             } elseif ($type == "rss2.0") {
                 $rssText .= "  </channel>\n</rss>";
             } elseif ($type == "atom.03") {
                 $rssText .= "\n\n</feed>";
             }
         }
     }
     return $rssText;
 }
    $arParams["EDITOR_DEFAULT_HEIGHT"] = 300;
}
$arResult["UserID"] = $USER->GetID();
$arResult["allowHTML"] = COption::GetOptionString("blog", "allow_html", "N");
$arResult["allowVideo"] = COption::GetOptionString("blog", "allow_video", "Y");
$blogModulePermissions = $APPLICATION->GetGroupRight("blog");
$arParams["ALLOW_POST_CODE"] = $arParams["ALLOW_POST_CODE"] !== "N";
$arParams["USE_GOOGLE_CODE"] = $arParams["USE_GOOGLE_CODE"] === "Y";
if ($arParams["DISABLE_SONET_LOG"] != "Y") {
    $arParams["DISABLE_SONET_LOG"] = "N";
}
$arBlog = CBlog::GetByUrl($arParams["BLOG_URL"]);
if (IntVal($arParams["ID"]) > 0) {
    $arResult["perms"] = CBlogPost::GetBlogUserPostPerms($arParams["ID"], $arResult["UserID"]);
} else {
    $arResult["perms"] = CBlog::GetBlogUserPostPerms($arBlog["ID"], $arResult["UserID"]);
}
if (!empty($arBlog) && $arBlog["ACTIVE"] == "Y" || $arResult["bSoNet"] && empty($arBlog)) {
    $arGroup = CBlogGroup::GetByID($arBlog["GROUP_ID"]);
    if ($arGroup["SITE_ID"] == SITE_ID || $arResult["bSoNet"] && empty($arBlog)) {
        if ($arResult["allowHTML"] == "Y" && $arBlog["ALLOW_HTML"] == "Y") {
            $arResult["allow_html"] = "Y";
        }
        $arResult["Blog"] = $arBlog;
        //NavChain, Title & Prepare data
        if (IntVal($arParams["ID"]) > 0 && ($arPost = CBlogPost::GetByID($arParams["ID"]))) {
            $arPost = CBlogTools::htmlspecialcharsExArray($arPost);
            $arResult["Post"] = $arPost;
            if ($arParams["SET_TITLE"] == "Y") {
                $APPLICATION->SetTitle(GetMessage("BLOG_POST_EDIT", array("#IDEA_TITLE#" => $arResult["Post"]["TITLE"])));
            }