Exemplo n.º 1
0
 function Update($ID, $arFields)
 {
     global $DB;
     $ID = IntVal($ID);
     $arFields1 = array();
     foreach ($arFields as $key => $value) {
         if (substr($key, 0, 1) == "=") {
             $arFields1[substr($key, 1)] = $value;
             unset($arFields[$key]);
         }
     }
     if (!CBlogGroup::CheckFields("UPDATE", $arFields, $ID)) {
         return false;
     }
     $strUpdate = $DB->PrepareUpdate("b_blog_group", $arFields);
     foreach ($arFields1 as $key => $value) {
         if (strlen($strUpdate) > 0) {
             $strUpdate .= ", ";
         }
         $strUpdate .= $key . "=" . $value . " ";
     }
     if (strlen($strUpdate) > 0) {
         $strSql = "UPDATE b_blog_group SET " . "\t" . $strUpdate . " " . "WHERE ID = " . $ID . " ";
         $DB->Query($strSql, False, "File: " . __FILE__ . "<br>Line: " . __LINE__);
         unset($GLOBALS["BLOG_GROUP_CACHE_" . $ID]);
         return $ID;
     }
     return False;
 }
Exemplo n.º 2
0
 function CheckFields($ACTION, &$arFields, $ID = 0)
 {
     if ((is_set($arFields, "NAME") || $ACTION == "ADD") && strlen($arFields["NAME"]) <= 0) {
         $GLOBALS["APPLICATION"]->ThrowException(GetMessage("BLG_GG_EMPTY_NAME"), "EMPTY_NAME");
         return false;
     } elseif (is_set($arFields, "NAME")) {
         $dbResult = CBlogGroup::GetList(array(), array("NAME" => $arFields["NAME"], "!ID" => $ID, "SITE_ID" => $arFields["SITE_ID"]), false, false, array("ID"));
         if ($dbResult->Fetch()) {
             $GLOBALS["APPLICATION"]->ThrowException(GetMessage("BLG_GG_DUBLICATE_NAME"), "DUBLICATE_NAME");
             return false;
         }
     }
     if ((is_set($arFields, "SITE_ID") || $ACTION == "ADD") && strlen($arFields["SITE_ID"]) <= 0) {
         $GLOBALS["APPLICATION"]->ThrowException(GetMessage("BLG_GG_EMPTY_SITE_ID"), "EMPTY_SITE_ID");
         return false;
     } elseif (is_set($arFields, "SITE_ID")) {
         $dbResult = CSite::GetByID($arFields["SITE_ID"]);
         if (!$dbResult->Fetch()) {
             $GLOBALS["APPLICATION"]->ThrowException(str_replace("#ID#", $arFields["SITE_ID"], GetMessage("BLG_GG_ERROR_NO_SITE")), "ERROR_NO_SITE");
             return false;
         }
     }
     return True;
 }
Exemplo n.º 3
0
                CBlogSitePath::Update($res["ID"], array("PATH" => $res_tmp[$res["TYPE"]]));
            }
        } while ($db_res && ($res = $db_res->Fetch()));
    }
} else {
    CBlogSitePath::Add(array("SITE_ID" => WIZARD_SITE_ID, "PATH" => WIZARD_SITE_DIR . "people/user/#user_id#/blog/", "TYPE" => "B"));
    CBlogSitePath::Add(array("SITE_ID" => WIZARD_SITE_ID, "PATH" => WIZARD_SITE_DIR . "people/user/#user_id#/blog/#post_id#/", "TYPE" => "P"));
    CBlogSitePath::Add(array("SITE_ID" => WIZARD_SITE_ID, "PATH" => WIZARD_SITE_DIR . "people/user/#user_id#/", "TYPE" => "U"));
    CBlogSitePath::Add(array("SITE_ID" => WIZARD_SITE_ID, "PATH" => WIZARD_SITE_DIR . "groups/group/#group_id#/blog/", "TYPE" => "G"));
    CBlogSitePath::Add(array("SITE_ID" => WIZARD_SITE_ID, "PATH" => WIZARD_SITE_DIR . "groups/group/#group_id#/blog/#post_id#/", "TYPE" => "H"));
}
/********************************************************************
				Get users list with permission to create blog 
********************************************************************/
if (!$SocNetGroupID) {
    $SocNetGroupID = CBlogGroup::Add(array("SITE_ID" => WIZARD_SITE_ID, "NAME" => "[" . WIZARD_SITE_ID . "] " . GetMessage("BLOG_DEMO_GROUP_SOCNET")));
}
$arFilter = array();
if ($GLOBALS["APPLICATION"]->GetGroupRight("blog", array(2)) < "N") {
    $arFilter["!ID"] = 1;
    $arFilter["GROUPS"] = array();
    $db_res = CGroup::GetList($by = "ID", $order = "DESC", array("ACTIVE" => "Y", "!ID" => 2));
    if ($db_res && ($res = $db_res->Fetch())) {
        do {
            if ($GLOBALS["APPLICATION"]->GetGroupRight("blog", array($res["ID"])) >= "N") {
                $arFilter["GROUPS"][] = $res["ID"];
            }
        } while ($res = $db_res->Fetch());
    }
}
$db_res = CUser::GetList($by = "ID", $order = "DESC", $arFilter, array("NAV_PARAMS" => array("nPageSize" => 3, "iNumPage" => 1, "bDescPageNumbering" => false)));
Exemplo n.º 4
0
                $arResult["urlToFriends"] = CComponentEngine::MakePathFromTemplate($arParams["PATH_TO_USER_FRIENDS"], array("user_id" => $user_id));
                $arResult["urlToOwnNewPost"] = CComponentEngine::MakePathFromTemplate($arParams["PATH_TO_POST_EDIT"], array("blog" => $arOwnBlog["URL"], "post_id" => "new"));
                $arResult["urlToOwnBlogEdit"] = CComponentEngine::MakePathFromTemplate($arParams["PATH_TO_BLOG_EDIT"], array("blog" => $arOwnBlog["URL"]));
            }
        } else {
            unset($arOwnBlog);
        }
    } else {
        unset($arOwnBlog);
    }
}
if (strlen($arParams["BLOG_URL"]) > 0) {
    if ($arOwnBlog["URL"] != $arParams["BLOG_URL"]) {
        $arBlog = CBlog::GetByUrl($arParams["BLOG_URL"], $arParams["GROUP_ID"]);
        if ($arBlog["ACTIVE"] == "Y") {
            $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);
Exemplo n.º 5
0
 if ($arParams["CACHE_TIME"] > 0) {
     $cache->StartDataCache($arParams["CACHE_TIME"], $cache_id, $cache_path);
 }
 $SORT = array($arParams["SORT_BY1"] => $arParams["SORT_ORDER1"], $arParams["SORT_BY2"] => $arParams["SORT_ORDER2"]);
 $arFilter = array("SITE_ID" => SITE_ID);
 if (!empty($arParams["GROUP_ID"])) {
     $arFilter["ID"] = $arParams["GROUP_ID"];
 }
 $arSelectFields = false;
 //	if($arParams["GROUPS_COUNT"]>0)
 //		$COUNT = Array("nTopCount" => $arParams["GROUPS_COUNT"]*2);
 //	else
 $COUNT = false;
 $arResult["GROUPS"] = array();
 $arResult["GROUPS_TABLE"] = array();
 $dbGroups = CBlogGroup::GetList($SORT, $arFilter, false, $COUNT, $arSelectFields);
 $itemCnt = 0;
 while ($arGroups = $dbGroups->Fetch()) {
     $dbBlog = CBlog::GetList(array(), array("GROUP_ID" => $arGroups["ID"]), false, false, array("ID", "GROUP_ID"));
     if ($arBlog = $dbBlog->Fetch()) {
         $url = CComponentEngine::MakePathFromTemplate($arParams["PATH_TO_GROUP"], array("group_id" => $arGroups["ID"]));
         $arResult["GROUPS"][] = array("ID" => $arGroups["ID"], "NAME" => htmlspecialcharsex($arGroups["NAME"]), "URL" => $url);
         $itemCnt++;
         if ($itemCnt >= $arParams["GROUPS_COUNT"] && $arParams["GROUPS_COUNT"] > 0) {
             break;
         }
     }
 }
 $cnt = count($arResult["GROUPS"]);
 $row1 = ceil($cnt / $arParams["COLS_COUNT"]);
 $all = $cnt - $row1;
Exemplo n.º 6
0
     $obCache->StartDataCache();
     $dbBl = CBlog::GetList(array(), $arFilterblg);
     $arBlog = $dbBl->Fetch();
     if (!$arBlog && IsModuleInstalled("intranet")) {
         $arIdeaBlogGroupID = array();
         if (IsModuleInstalled("idea")) {
             $rsSite = CSite::GetList($by = "sort", $order = "desc", array("ACTIVE" => "Y"));
             while ($arSite = $rsSite->Fetch()) {
                 $arIdeaBlogGroupID[] = COption::GetOptionInt("idea", "blog_group_id", false, $arSite["LID"]);
             }
         }
         if (empty($arIdeaBlogGroupID)) {
             $arBlog = CBlog::GetByOwnerID($arParams["USER_ID"]);
         } else {
             $arBlogGroupID = array();
             $rsBlogGroup = CBlogGroup::GetList(array(), array(), false, false, array("ID"));
             while ($arBlogGroup = $rsBlogGroup->Fetch()) {
                 if (!in_array($arBlogGroup["ID"], $arIdeaBlogGroupID)) {
                     $arBlogGroupID[] = $arBlogGroup["ID"];
                 }
             }
             $arBlog = CBlog::GetByOwnerID($arParams["USER_ID"], $arBlogGroupID);
         }
     }
     $obCache->EndDataCache($arBlog);
 }
 $arResult["Blog"] = $arBlog;
 if ($GLOBALS["USER"]->IsAuthorized()) {
     CSocNetTools::InitGlobalExtranetArrays();
     if (isset($GLOBALS["arExtranetGroupID"])) {
         $arResult["arExtranetGroupID"] = $GLOBALS["arExtranetGroupID"];
Exemplo n.º 7
0
	function Update($ID, $arFields, $bSearchIndex = true)
	{
		global $DB;

		$ID = IntVal($ID);
		if(strlen($arFields["PATH"]) > 0)
			$arFields["PATH"] = str_replace("#post_id#", $ID, $arFields["PATH"]);

		$arFields1 = array();
		foreach ($arFields as $key => $value)
		{
			if (substr($key, 0, 1) == "=")
			{
				$arFields1[substr($key, 1)] = $value;
				unset($arFields[$key]);
			}
		}

		if (!CBlogPost::CheckFields("UPDATE", $arFields, $ID))
			return false;
		elseif(!$GLOBALS["USER_FIELD_MANAGER"]->CheckFields("BLOG_POST", $ID, $arFields))
			return false;

		foreach(GetModuleEvents("blog", "OnBeforePostUpdate", true) as $arEvent)
		{
			if (ExecuteModuleEventEx($arEvent, Array($ID, &$arFields))===false)
				return false;
		}

		$arOldPost = CBlogPost::GetByID($ID);

		if(is_array($arFields["ATTACH_IMG"]))
		{
			if (
				!array_key_exists("MODULE_ID", $arFields["ATTACH_IMG"])
				|| strlen($arFields["ATTACH_IMG"]["MODULE_ID"]) <= 0
			)
				$arFields["ATTACH_IMG"]["MODULE_ID"] = "blog";

			$prefix = "blog";
			if(strlen($arFields["URL"]) > 0)
				$prefix .= "/".$arFields["URL"];
			CFile::SaveForDB($arFields, "ATTACH_IMG", $prefix);
		}

		$strUpdate = $DB->PrepareUpdate("b_blog_post", $arFields);

		foreach ($arFields1 as $key => $value)
		{
			if (strlen($strUpdate) > 0)
				$strUpdate .= ", ";
			$strUpdate .= $key."=".$value." ";
		}

		if (strlen($strUpdate) > 0)
		{
			$oldPostPerms = CBlogUserGroup::GetGroupPerms(1, $arOldPost["BLOG_ID"], $ID, BLOG_PERMS_POST);

			$strSql =
				"UPDATE b_blog_post SET ".
				"	".$strUpdate." ".
				"WHERE ID = ".$ID." ";
			$DB->Query($strSql, False, "File: ".__FILE__."<br>Line: ".__LINE__);

			unset($GLOBALS["BLOG_POST"]["BLOG_POST_CACHE_".$ID]);

			foreach(GetModuleEvents("blog", "OnBeforePostUserFieldUpdate", true) as $arEvent)
				ExecuteModuleEventEx($arEvent, Array("BLOG_POST", $ID, $arFields));

			$GLOBALS["USER_FIELD_MANAGER"]->Update("BLOG_POST", $ID, $arFields);
		}
		else
		{
			$ID = False;
		}

		if ($ID)
		{
			$arNewPost = CBlogPost::GetByID($ID);
			if($arNewPost["PUBLISH_STATUS"] != $arOldPost["PUBLISH_STATUS"]  || $arNewPost["BLOG_ID"] != $arOldPost["BLOG_ID"])
				CBlog::SetStat($arNewPost["BLOG_ID"]);

			if ($arNewPost["BLOG_ID"] != $arOldPost["BLOG_ID"])
				CBlog::SetStat($arOldPost["BLOG_ID"]);

			if (is_set($arFields, "PERMS_POST"))
				CBlogPost::SetPostPerms($ID, $arFields["PERMS_POST"], BLOG_PERMS_POST);
			if (is_set($arFields, "PERMS_COMMENT"))
				CBlogPost::SetPostPerms($ID, $arFields["PERMS_COMMENT"], BLOG_PERMS_COMMENT);

			if(array_key_exists("SOCNET_RIGHTS", $arFields))
			{
				$arFields["SC_PERM_OLD"] = CBlogPost::GetSocNetPermsCode($ID);
				$arFields["SC_PERM"] = CBlogPost::UpdateSocNetPerms($ID, $arFields["SOCNET_RIGHTS"], $arNewPost);
			}

			foreach(GetModuleEvents("blog", "OnPostUpdate", true) as $arEvent)
				ExecuteModuleEventEx($arEvent, Array($ID, &$arFields));

			if ($bSearchIndex && CModule::IncludeModule("search"))
			{
				$newPostPerms = CBlogUserGroup::GetGroupPerms(1, $arNewPost["BLOG_ID"], $ID, BLOG_PERMS_POST);
				$arBlog = CBlog::GetByID($arNewPost["BLOG_ID"]);

				if (
					$arOldPost["PUBLISH_STATUS"] == BLOG_PUBLISH_STATUS_PUBLISH &&
					$oldPostPerms >= BLOG_PERMS_READ
					&& (
						$arNewPost["PUBLISH_STATUS"] != BLOG_PUBLISH_STATUS_PUBLISH ||
						$newPostPerms < BLOG_PERMS_READ
						)
					|| $arBlog["SEARCH_INDEX"] != "Y"
					)
				{
					CSearch::Index("blog", "P".$ID,
						array(
							"TITLE" => "",
							"BODY" => ""
						)
					);
					CSearch::DeleteIndex("blog", false, "COMMENT", $arBlog["ID"]."|".$ID);
				}
				elseif (
					$arNewPost["DATE_PUBLISHED"] == "Y"
					&& $arNewPost["PUBLISH_STATUS"] == BLOG_PUBLISH_STATUS_PUBLISH
					&& $newPostPerms >= BLOG_PERMS_READ
					&& $arBlog["SEARCH_INDEX"] == "Y"
					)
				{
					$tag = "";
					$arGroup = CBlogGroup::GetByID($arBlog["GROUP_ID"]);
					if(strlen($arFields["PATH"]) > 0)
					{
						$arPostSite = array($arGroup["SITE_ID"] => $arFields["PATH"]);
					}
					elseif(strlen($arNewPost["PATH"]) > 0)
					{
						$arNewPost["PATH"] = (
							strlen($arNewPost["CODE"]) > 0 
								? str_replace("#post_id#", $arNewPost["CODE"], $arNewPost["PATH"]) 
								: str_replace("#post_id#", $ID, $arNewPost["PATH"])
						);
						$arPostSite = array($arGroup["SITE_ID"] => $arNewPost["PATH"]);
					}
					else
					{
						$arPostSite = array(
							$arGroup["SITE_ID"] => CBlogPost::PreparePath(
									$arBlog["URL"],
									$arNewPost["ID"],
									$arGroup["SITE_ID"],
									false,
									$arBlog["OWNER_ID"],
									$arBlog["SOCNET_GROUP_ID"]
								)
						);
					}

					if (
						$arBlog["USE_SOCNET"] == "Y" 
						&& CModule::IncludeModule("extranet")
					)
					{
						$arPostSiteExt = CExtranet::GetSitesByLogDestinations($arFields["SC_PERM"]);
						foreach($arPostSiteExt as $lid)
						{
							if (!array_key_exists($lid, $arPostSite))
							{
								$arPostSite[$lid] = str_replace(
									array("#user_id#", "#post_id#"), 
									array($arBlog["OWNER_ID"], $arNewPost["ID"]), 
									COption::GetOptionString("socialnetwork", "userblogpost_page", false, $lid)
								);
							}
						}
					}

					if(strlen($arNewPost["CATEGORY_ID"])>0)
					{
						$arC = explode(",", $arNewPost["CATEGORY_ID"]);
						$arTag = Array();
						foreach($arC as $v)
						{
							$arCategory = CBlogCategory::GetByID($v);
							$arTag[] = $arCategory["NAME"];
						}
						$tag =  implode(",", $arTag);
					}

					$searchContent = blogTextParser::killAllTags($arNewPost["DETAIL_TEXT"]);
					$searchContent .= "\r\n" . $GLOBALS["USER_FIELD_MANAGER"]->OnSearchIndex("BLOG_POST", $arNewPost["ID"]);

					$authorName = "";
					if(IntVal($arNewPost["AUTHOR_ID"]) > 0)
					{
						$dbUser = CUser::GetByID($arNewPost["AUTHOR_ID"]);
						if($arUser = $dbUser->Fetch())
						{
							$arTmpUser = array(
									"NAME" => $arUser["NAME"],
									"LAST_NAME" => $arUser["LAST_NAME"],
									"SECOND_NAME" => $arUser["SECOND_NAME"],
									"LOGIN" => $arUser["LOGIN"],
								);
							$authorName = CUser::FormatName(CSite::GetNameFormat(), $arTmpUser, false, false);
							if(strlen($authorName) > 0)
								$searchContent .= "\r\n".$authorName;
						}
					}

					$arSearchIndex = array(
						"SITE_ID" => $arPostSite,
						"LAST_MODIFIED" => $arNewPost["DATE_PUBLISH"],
						"PARAM1" => "POST",
						"PARAM2" => $arNewPost["BLOG_ID"],
						"PARAM3" => $arNewPost["ID"],
						"PERMISSIONS" => array(2),
						"TITLE" => $arNewPost["TITLE"],
						"BODY" => $searchContent,
						"TAGS" => $tag,
						"USER_ID" => $arNewPost["AUTHOR_ID"],
						"ENTITY_TYPE_ID" => "BLOG_POST",
						"ENTITY_ID" => $arNewPost["ID"],
					);

					$bIndexComment = false;
					if($arBlog["USE_SOCNET"] == "Y")
					{
						if(!empty($arFields["SC_PERM"]))
						{
							$arSearchIndex["PERMISSIONS"] = $arFields["SC_PERM"];
							if($arFields["SC_PERM"] != $arFields["SC_PERM_OLD"])
								$bIndexComment = true;
						}
						else
							$arSearchIndex["PERMISSIONS"] = CBlogPost::GetSocnetPermsCode($ID);

						if(!in_array("U".$arNewPost["AUTHOR_ID"], $arSearchIndex["PERMISSIONS"]))
							$arSearchIndex["PERMISSIONS"][] = "U".$arNewPost["AUTHOR_ID"];

						if(is_array($arSearchIndex["PERMISSIONS"]))
						{
							$sgId = array();
							foreach($arSearchIndex["PERMISSIONS"] as $perm)
							{
								if(strpos($perm, "SG") !== false)
								{
									$sgIdTmp = str_replace("SG", "", substr($perm, 0, strpos($perm, "_")));
									if(!in_array($sgIdTmp, $sgId) && IntVal($sgIdTmp) > 0)
										$sgId[] = $sgIdTmp;
								}
							}

							if(!empty($sgId))
							{
								$arSearchIndex["PARAMS"] = array(
									"socnet_group" => $sgId,
									"entity" => "socnet_group",
								);
							}
						}

						// get mentions and grats
						$arMentionedUserID = CBlogPost::GetMentionedUserID($arNewPost);
						if (!empty($arMentionedUserID))
						{
							if (!isset($arSearchIndex["PARAMS"]))
							{
								$arSearchIndex["PARAMS"] = array();
							}
							$arSearchIndex["PARAMS"]["mentioned_user_id"] = $arMentionedUserID;
						}
					}

					CSearch::Index("blog", "P".$ID, $arSearchIndex, True);

					if(($arOldPost["PUBLISH_STATUS"] != BLOG_PUBLISH_STATUS_PUBLISH && $arNewPost["PUBLISH_STATUS"] == BLOG_PUBLISH_STATUS_PUBLISH) || $bIndexComment) //index comments
					{
						$arParamsComment = Array(
							"BLOG_ID" => $arBlog["ID"],
							"POST_ID" => $ID,
							"SITE_ID" => $arGroup["SITE_ID"],
							"PATH" => $arPostSite[$arGroup["SITE_ID"]]."?commentId=#comment_id###comment_id#",
							"BLOG_URL" => $arBlog["URL"],
							"OWNER_ID" => $arBlog["OWNER_ID"],
							"SOCNET_GROUP_ID" => $arBlog["SOCNET_GROUP_ID"],
							"USE_SOCNET" => $arBlog["USE_SOCNET"],
						);

						CBlogComment::_IndexPostComments($arParamsComment);
					}
				}
			}
		}

		BXClearCache(true, '/blog/socnet_post/gen/'.$ID);

		return $ID;
	}
Exemplo n.º 8
0
	public static function Update($ID, $arFields, $bSearchIndex = true)
	{
		global $DB;

		$ID = IntVal($ID);
		
		if(strlen($arFields["PATH"]) > 0)
			$arFields["PATH"] = str_replace("#comment_id#", $ID, $arFields["PATH"]);

		$arFields1 = array();
		foreach ($arFields as $key => $value)
		{
			if (substr($key, 0, 1) == "=")
			{
				$arFields1[substr($key, 1)] = $value;
				unset($arFields[$key]);
			}
		}

		if (!CBlogComment::CheckFields("UPDATE", $arFields, $ID))
			return false;
		elseif(!$GLOBALS["USER_FIELD_MANAGER"]->CheckFields("BLOG_COMMENT", $ID, $arFields))
			return false;

		foreach(GetModuleEvents("blog", "OnBeforeCommentUpdate", true) as $arEvent)
		{
			if (ExecuteModuleEventEx($arEvent, Array($ID, &$arFields))===false)
				return false;
		}

		$strUpdate = $DB->PrepareUpdate("b_blog_comment", $arFields);

		foreach ($arFields1 as $key => $value)
		{
			if (strlen($strUpdate) > 0)
				$strUpdate .= ", ";
			$strUpdate .= $key."=".$value." ";
		}

		if (strlen($strUpdate) > 0)
		{
			if(is_set($arFields["PUBLISH_STATUS"]) && strlen($arFields["PUBLISH_STATUS"]) > 0)
			{
				$arComment = CBlogComment::GetByID($ID);
				if($arComment["PUBLISH_STATUS"] == BLOG_PUBLISH_STATUS_PUBLISH && $arFields["PUBLISH_STATUS"] != BLOG_PUBLISH_STATUS_PUBLISH)
					CBlogPost::Update($arComment["POST_ID"], array("=NUM_COMMENTS" => "NUM_COMMENTS - 1"));
				elseif($arComment["PUBLISH_STATUS"] != BLOG_PUBLISH_STATUS_PUBLISH && $arFields["PUBLISH_STATUS"] == BLOG_PUBLISH_STATUS_PUBLISH)
					CBlogPost::Update($arComment["POST_ID"], array("=NUM_COMMENTS" => "NUM_COMMENTS + 1"));
			}
			
			$strSql =
				"UPDATE b_blog_comment SET ".
				"	".$strUpdate." ".
				"WHERE ID = ".$ID." ";
			$DB->Query($strSql, False, "File: ".__FILE__."<br>Line: ".__LINE__);
			unset($GLOBALS["BLOG_COMMENT"]["BLOG_COMMENT_CACHE_".$ID]);
			
			$GLOBALS["USER_FIELD_MANAGER"]->Update("BLOG_COMMENT", $ID, $arFields);

			$arComment = CBlogComment::GetByID($ID);			
			$arBlog = CBlog::GetByID($arComment["BLOG_ID"]);
			if($arBlog["USE_SOCNET"] == "Y")
				$arFields["SC_PERM"] = CBlogComment::GetSocNetCommentPerms($arComment["POST_ID"]);

			foreach(GetModuleEvents("blog", "OnCommentUpdate", true) as $arEvent)
				ExecuteModuleEventEx($arEvent, Array($ID, &$arFields));
			
			if ($bSearchIndex && CModule::IncludeModule("search"))
			{
				$newPostPerms = CBlogUserGroup::GetGroupPerms(1, $arComment["BLOG_ID"], $arComment["POST_ID"], BLOG_PERMS_POST);
				
				if ($arBlog["SEARCH_INDEX"] != "Y" || $arComment["PUBLISH_STATUS"] != BLOG_PUBLISH_STATUS_PUBLISH)
				{
					CSearch::Index("blog", "C".$ID,
						array(
							"TITLE" => "",
							"BODY" => ""
						)
					);
				}
				else
				{
					$arGroup = CBlogGroup::GetByID($arBlog["GROUP_ID"]);

					if(strlen($arFields["PATH"]) > 0)
					{
						$arFields["PATH"] = str_replace("#comment_id#", $ID, $arFields["PATH"]);
						$arPostSite = array($arGroup["SITE_ID"] => $arFields["PATH"]);
					}
					elseif(strlen($arComment["PATH"]) > 0)
					{
						$arComment["PATH"] = str_replace("#comment_id#", $ID, $arComment["PATH"]);
						$arPostSite = array($arGroup["SITE_ID"] => $arComment["PATH"]);
					}
					else
					{
						$arPostSite = array(
							$arGroup["SITE_ID"] => CBlogPost::PreparePath(
									$arBlog["URL"],
									$arComment["POST_ID"],
									$arGroup["SITE_ID"],
									false,
									$arBlog["OWNER_ID"],
									$arBlog["SOCNET_GROUP_ID"]
								)
						);
					}

					$searchContent = blogTextParser::killAllTags($arComment["POST_TEXT"]);
					$searchContent .= "\r\n" . $GLOBALS["USER_FIELD_MANAGER"]->OnSearchIndex("BLOG_COMMENT", $arComment["ID"]);

					$arSearchIndex = array(
						"SITE_ID" => $arPostSite,
						"LAST_MODIFIED" => $arComment["DATE_CREATE"],
						"PARAM1" => "COMMENT",
						"PARAM2" => $arComment["BLOG_ID"]."|".$arComment["POST_ID"],
						"PERMISSIONS" => array(2),
						"TITLE" => $arComment["TITLE"],
						"BODY" => $searchContent,
						"USER_ID" => (IntVal($arComment["AUTHOR_ID"]) > 0) ? $arComment["AUTHOR_ID"] : false,
						"ENTITY_TYPE_ID" => "BLOG_COMMENT",
						"ENTITY_ID" => $arComment["ID"],
					);

					if($arBlog["USE_SOCNET"] == "Y")
					{
						if(is_array($arFields["SC_PERM"]))
						{
							$arSearchIndex["PERMISSIONS"] = $arFields["SC_PERM"];
							$sgId = array();
							foreach($arFields["SC_PERM"] as $perm)
							{
								if(strpos($perm, "SG") !== false)
								{
									$sgIdTmp = str_replace("SG", "", substr($perm, 0, strpos($perm, "_")));
									if(!in_array($sgIdTmp, $sgId) && IntVal($sgIdTmp) > 0)
										$sgId[] = $sgIdTmp;
								}
							}

							if(!empty($sgId))
							{
								$arSearchIndex["PARAMS"] = array(
									"socnet_group" => $sgId,
									"entity" => "socnet_group",
								);
							}
							if(!in_array("U".$arComment["AUTHOR_ID"], $arSearchIndex["PERMISSIONS"]))
								$arSearchIndex["PERMISSIONS"][] = "U".$arComment["AUTHOR_ID"];
						}
					}

					if(strlen($arComment["TITLE"]) <= 0)
					{
						//$arPost = CBlogPost::GetByID($arComment["POST_ID"]);
						$arSearchIndex["TITLE"] = substr($arSearchIndex["BODY"], 0, 100);
					}

					CSearch::Index("blog", "C".$ID, $arSearchIndex, True);
				}
			}

			return $ID;
		}

		return False;
	}
Exemplo n.º 9
0
    ShowError(GetMessage("BLOG_MODULE_NOT_INSTALL"));
    return;
}
$arParams["BLOG_URL"] = preg_replace("/[^a-zA-Z0-9_-]/is", "", Trim($arParams["BLOG_URL"]));
if (!array_key_exists("PATH_TO_BLOG_CATEGORY", $arParams) || !is_string($arParams["PATH_TO_BLOG_CATEGORY"])) {
    $arParams["PATH_TO_BLOG_CATEGORY"] = "";
}
//0 no limit
$arParams["TAGS_COUNT"] = intval($arParams["TAGS_COUNT"]);
$obCache = new CPHPCache();
$cache_id = md5(serialize(array($arParams["BLOG_URL"], $arParams["TAGS_COUNT"], $arParams["PATH_TO_BLOG_CATEGORY"])));
$cache_path = '/' . SITE_ID . '/idea/tags/';
if (!$obCache->StartDataCache(60 * 60 * 24, $cache_id, $cache_path)) {
    $arResult = $obCache->GetVars();
} else {
    if (($arBlog = CBlog::GetByUrl($arParams["BLOG_URL"])) && $arBlog["ACTIVE"] == "Y" && ($arGroup = CBlogGroup::GetByID($arBlog["GROUP_ID"])) && $arGroup["SITE_ID"] == SITE_ID) {
        $arResult = array("BLOG" => $arBlog, "CATEGORY" => array());
        $toCnt = array();
        $res = CBlogCategory::GetList(array("NAME" => "ASC"), array("BLOG_ID" => $arBlog["ID"]));
        while ($arCategory = $res->GetNext()) {
            $arSumCat["C" . $arCategory["ID"]] = array("ID" => $arCategory["ID"], "NAME" => $arCategory["NAME"]);
            $toCnt[] = $arCategory['ID'];
        }
        $resCnt = CBlogPostCategory::GetList(array(), array("BLOG_ID" => $arBlog["ID"], "CATEGORY_ID" => $toCnt), array("CATEGORY_ID"), $arParams["TAGS_COUNT"] > 0 ? array("nTopCount" => $arParams["TAGS_COUNT"]) : false, array("ID", "BLOG_ID", "CATEGORY_ID", "NAME"));
        if (($arCategoryCount = $resCnt->Fetch()) && $arCategoryCount) {
            $cntMin = $cntMax = $arCategoryCount['CNT'];
            $arRes = array();
            do {
                $arRes["C" . $arCategoryCount["CATEGORY_ID"]] = array("CNT" => $arCategoryCount['CNT'], "URL" => CComponentEngine::MakePathFromTemplate($arParams["PATH_TO_BLOG_CATEGORY"], array("category_id" => $arCategoryCount["CATEGORY_ID"])));
                $cntMin = min($cntMin, $arCategoryCount['CNT']);
                $cntMax = max($cntMax, $arCategoryCount['CNT']);
Exemplo n.º 10
0
								</td>
							</tr>
							<tr valign=top>
								<td nowrap valign="top" align="right" class="blogtablehead">
									<font class="blogheadtext">
									<font color="#FF0000">*</font> <b><?php 
                    echo GetMessage('BLOG_GRP');
                    ?>
</b>
									</font>
								</td>
								<td class="blogtablebody">
									<select name="GROUP_ID" class="inputselect">
										<?php 
                    $val = IntVal($bVarsFromForm ? $_POST['GROUP_ID'] : ($arBlog ? $arBlog["GROUP_ID"] : 0));
                    $dbBlogGroup = CBlogGroup::GetList(array("NAME" => "ASC"), array("SITE_ID" => SITE_ID));
                    while ($arBlogGroup = $dbBlogGroup->Fetch()) {
                        ?>
<option value="<?php 
                        echo $arBlogGroup["ID"];
                        ?>
"<?php 
                        if ($val == IntVal($arBlogGroup["ID"])) {
                            echo " selected";
                        }
                        ?>
><?php 
                        echo htmlspecialchars($arBlogGroup["NAME"]);
                        ?>
</option><?php 
                    }
Exemplo n.º 11
0
<?php

if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) {
    die;
}
if (!CModule::IncludeModule("blog")) {
    return;
}
$dbGroup = CBlogGroup::GetList(array("ID" => "ASC"), array("SITE_ID" => WIZARD_SITE_ID));
if ($arGroup = $dbGroup->Fetch()) {
    if (WIZARD_B24_TO_CP) {
        $groupID = $arGroup["ID"];
        CWizardUtil::ReplaceMacros(WIZARD_SITE_PATH . "/index.php", array("BLOG_GROUP_ID" => $groupID));
        CWizardUtil::ReplaceMacros(WIZARD_SITE_PATH . "/index_b24.php", array("BLOG_GROUP_ID" => $groupID));
        CWizardUtil::ReplaceMacros(WIZARD_SITE_PATH . "/contacts/personal.php", array("BLOG_GROUP_ID" => $groupID));
        CWizardUtil::ReplaceMacros(WIZARD_SITE_PATH . "/workgroups/index.php", array("BLOG_GROUP_ID" => $groupID));
    }
    return;
}
CBlogSitePath::Add(array("SITE_ID" => WIZARD_SITE_ID, "PATH" => WIZARD_SITE_DIR . "contacts/personal/user/#user_id#/blog/", "TYPE" => "B"));
CBlogSitePath::Add(array("SITE_ID" => WIZARD_SITE_ID, "PATH" => WIZARD_SITE_DIR . "contacts/personal/user/#user_id#/blog/#post_id#/", "TYPE" => "P"));
CBlogSitePath::Add(array("SITE_ID" => WIZARD_SITE_ID, "PATH" => WIZARD_SITE_DIR . "contacts/personal/user/#user_id#/", "TYPE" => "U"));
CBlogSitePath::Add(array("SITE_ID" => WIZARD_SITE_ID, "PATH" => WIZARD_SITE_DIR . "workgroups/group/#group_id#/blog/", "TYPE" => "G"));
CBlogSitePath::Add(array("SITE_ID" => WIZARD_SITE_ID, "PATH" => WIZARD_SITE_DIR . "workgroups/group/#group_id#/blog/#post_id#/", "TYPE" => "H"));
$groupID = CBlogGroup::Add(array("SITE_ID" => WIZARD_SITE_ID, "NAME" => GetMessage("BLOG_SOCNET_GROUP_EXTRANET_NAME")));
CWizardUtil::ReplaceMacros(WIZARD_SITE_PATH . "/index.php", array("BLOG_GROUP_ID" => $groupID));
CWizardUtil::ReplaceMacros(WIZARD_SITE_PATH . "/index_b24.php", array("BLOG_GROUP_ID" => $groupID));
CWizardUtil::ReplaceMacros(WIZARD_SITE_PATH . "/contacts/personal.php", array("BLOG_GROUP_ID" => $groupID));
CWizardUtil::ReplaceMacros(WIZARD_SITE_PATH . "/workgroups/index.php", array("BLOG_GROUP_ID" => $groupID));
Exemplo n.º 12
0
         }
         $arSites[] = $ar_sites;
     }
     if (empty($arFields["SITE_ID"])) {
         $arFields["SITE_ID"] = $arSites[0]["LID"];
     }
     $BLOG_GROUP_ID = CBlogGroup::Add($arFields);
     if ($BLOG_GROUP_ID <= 0) {
         $bVarsFromForm = true;
         if ($ex = $APPLICATION->GetException()) {
             $strWarning .= $ex->GetString() . ". <br />";
         } else {
             $strWarning .= "Error creating blog group.  <br />";
         }
     } else {
         $arBlogGroupTmp = CBlogGroup::GetByID($BLOG_GROUP_ID);
         BXClearCache(True, "/" . $arBlogGroupTmp["SITE_ID"] . "/blog/blog_groups/");
         $_REQUEST["create_blog_group"] = "N";
         $_REQUEST["blog_group_id"] = $BLOG_GROUP_ID;
         $_REQUEST["blog_group_name"] = "";
     }
 }
 if (!$bVarsFromForm) {
     $arFields = array("ACTIVE" => "N", "NAME" => $_REQUEST["blog_name"], "DESCRIPTION" => $_REQUEST["blog_description"], "=DATE_UPDATE" => $GLOBALS["DB"]->CurrentTimeFunction(), "=DATE_CREATE" => $GLOBALS["DB"]->CurrentTimeFunction(), "URL" => $_REQUEST["blog_url"], "OWNER_ID" => $GLOBALS["USER"]->GetId(), "GROUP_ID" => $_REQUEST["blog_group_id"], "ENABLE_COMMENTS" => "Y", "ENABLE_IMG_VERIF" => "Y", "EMAIL_NOTIFY" => "N", "ENABLE_RSS" => "N", "ALLOW_HTML" => "N", "PERMS_POST" => array("1" => "I", "2" => "I"), "PERMS_COMMENT" => array("1" => "P", "2" => "P"));
     $ID = CBlog::Add($arFields);
     if (intVal($ID) <= 0) {
         $bVarsFromForm = true;
         if ($ex = $APPLICATION->GetException()) {
             $strWarning .= $ex->GetString() . "<br />";
         } else {
             $strWarning .= "Error creating blog. <br />";
Exemplo n.º 13
0
			else
			{
				if ($arParams['BLOG_FROM_AJAX'] === 'N')
				{
					$fields = array(
						'SITE_ID' => SITE_ID,
						'NAME' => GetMessage('IBLOCK_CSC_BLOG_GROUP_NAME')
					);
					$blogGroupIterator = CBlogGroup::GetList(array(), $fields, false, false, array('ID'));
					if ($blogGroup = $blogGroupIterator->Fetch())
					{
						$blogGroupID = (int)$blogGroup['ID'];
					}
					else
					{
						$blogGroupID = (int)CBlogGroup::Add($fields);
						if ($blogGroupID == 0)
						{
							if ($ex = $APPLICATION->GetException())
								$arResult["ERRORS"][] = $ex->GetString();
							else
								$arResult["ERRORS"][] = GetMessage("IBLOCK_CSC_BLOG_GROUP_CREATE_ERROR");
						}
					}
					unset($fields);
					if ($blogGroupID > 0)
					{
						if (!$blogExist)
						{
							$fields = array(
								"NAME" => GetMessage("IBLOCK_CSC_BLOG_NAME"),
Exemplo n.º 14
0
 function Update($ID, $arFields)
 {
     global $DB;
     $ID = IntVal($ID);
     if (strlen($arFields["PATH"]) > 0) {
         $arFields["PATH"] = str_replace("#post_id#", $ID, $arFields["PATH"]);
     }
     $arFields1 = array();
     foreach ($arFields as $key => $value) {
         if (substr($key, 0, 1) == "=") {
             $arFields1[substr($key, 1)] = $value;
             unset($arFields[$key]);
         }
     }
     if (!CBlogPost::CheckFields("UPDATE", $arFields, $ID)) {
         return false;
     } elseif (!$GLOBALS["USER_FIELD_MANAGER"]->CheckFields("BLOG_POST", $ID, $arFields)) {
         return false;
     }
     $db_events = GetModuleEvents("blog", "OnBeforePostUpdate");
     while ($arEvent = $db_events->Fetch()) {
         if (ExecuteModuleEventEx($arEvent, array($ID, &$arFields)) === false) {
             return false;
         }
     }
     $arOldPost = CBlogPost::GetByID($ID);
     if (is_array($arFields["ATTACH_IMG"])) {
         if (!array_key_exists("MODULE_ID", $arFields["ATTACH_IMG"]) || strlen($arFields["ATTACH_IMG"]["MODULE_ID"]) <= 0) {
             $arFields["ATTACH_IMG"]["MODULE_ID"] = "blog";
         }
         $prefix = "blog";
         if (strlen($arFields["URL"]) > 0) {
             $prefix .= "/" . $arFields["URL"];
         }
         CFile::SaveForDB($arFields, "ATTACH_IMG", $prefix);
     }
     $strUpdate = $DB->PrepareUpdate("b_blog_post", $arFields);
     foreach ($arFields1 as $key => $value) {
         if (strlen($strUpdate) > 0) {
             $strUpdate .= ", ";
         }
         $strUpdate .= $key . "=" . $value . " ";
     }
     if (strlen($strUpdate) > 0) {
         $oldPostPerms = CBlogUserGroup::GetGroupPerms(1, $arOldPost["BLOG_ID"], $ID, BLOG_PERMS_POST);
         $strSql = "UPDATE b_blog_post SET " . "\t" . $strUpdate . " " . "WHERE ID = " . $ID . " ";
         $DB->Query($strSql, False, "File: " . __FILE__ . "<br>Line: " . __LINE__);
         unset($GLOBALS["BLOG_POST"]["BLOG_POST_CACHE_" . $ID]);
         $GLOBALS["USER_FIELD_MANAGER"]->Update("BLOG_POST", $ID, $arFields);
     } else {
         $ID = False;
     }
     if ($ID) {
         $arNewPost = CBlogPost::GetByID($ID);
         if ($arNewPost["PUBLISH_STATUS"] != $arOldPost["PUBLISH_STATUS"] || $arNewPost["BLOG_ID"] != $arOldPost["BLOG_ID"]) {
             CBlog::SetStat($arNewPost["BLOG_ID"]);
         }
         if ($arNewPost["BLOG_ID"] != $arOldPost["BLOG_ID"]) {
             CBlog::SetStat($arOldPost["BLOG_ID"]);
         }
         if (is_set($arFields, "PERMS_POST")) {
             CBlogPost::SetPostPerms($ID, $arFields["PERMS_POST"], BLOG_PERMS_POST);
         }
         if (is_set($arFields, "PERMS_COMMENT")) {
             CBlogPost::SetPostPerms($ID, $arFields["PERMS_COMMENT"], BLOG_PERMS_COMMENT);
         }
         if (array_key_exists("SOCNET_RIGHTS", $arFields)) {
             $arFields["SC_PERM_OLD"] = CBlogPost::GetSocNetPermsCode($ID);
             $arFields["SC_PERM"] = CBlogPost::UpdateSocNetPerms($ID, $arFields["SOCNET_RIGHTS"], $arNewPost);
         }
         $db_events = GetModuleEvents("blog", "OnPostUpdate");
         while ($arEvent = $db_events->Fetch()) {
             ExecuteModuleEventEx($arEvent, array($ID, &$arFields));
         }
         if (CModule::IncludeModule("search")) {
             $newPostPerms = CBlogUserGroup::GetGroupPerms(1, $arNewPost["BLOG_ID"], $ID, BLOG_PERMS_POST);
             $arBlog = CBlog::GetByID($arNewPost["BLOG_ID"]);
             if ($arOldPost["PUBLISH_STATUS"] == BLOG_PUBLISH_STATUS_PUBLISH && $oldPostPerms >= BLOG_PERMS_READ && ($arNewPost["PUBLISH_STATUS"] != BLOG_PUBLISH_STATUS_PUBLISH || $newPostPerms < BLOG_PERMS_READ) || $arBlog["SEARCH_INDEX"] != "Y") {
                 CSearch::Index("blog", "P" . $ID, array("TITLE" => "", "BODY" => ""));
                 CSearch::DeleteIndex("blog", false, "COMMENT", $arBlog["ID"] . "|" . $ID);
             } elseif ($arNewPost["DATE_PUBLISHED"] == "Y" && $arNewPost["PUBLISH_STATUS"] == BLOG_PUBLISH_STATUS_PUBLISH && $newPostPerms >= BLOG_PERMS_READ && $arBlog["SEARCH_INDEX"] == "Y") {
                 $tag = "";
                 $arGroup = CBlogGroup::GetByID($arBlog["GROUP_ID"]);
                 if (strlen($arFields["PATH"]) > 0) {
                     $arPostSite = array($arGroup["SITE_ID"] => $arFields["PATH"]);
                 } elseif (strlen($arNewPost["PATH"]) > 0) {
                     if (strlen($arNewPost["CODE"]) > 0) {
                         $arNewPost["PATH"] = str_replace("#post_id#", $arNewPost["CODE"], $arNewPost["PATH"]);
                     } else {
                         $arNewPost["PATH"] = str_replace("#post_id#", $ID, $arNewPost["PATH"]);
                     }
                     $arPostSite = array($arGroup["SITE_ID"] => $arNewPost["PATH"]);
                 } else {
                     $arPostSite = array($arGroup["SITE_ID"] => CBlogPost::PreparePath($arBlog["URL"], $arNewPost["ID"], $arGroup["SITE_ID"], false, $arBlog["OWNER_ID"], $arBlog["SOCNET_GROUP_ID"]));
                 }
                 if (strlen($arNewPost["CATEGORY_ID"]) > 0) {
                     $arC = explode(",", $arNewPost["CATEGORY_ID"]);
                     $arTag = array();
                     foreach ($arC as $v) {
                         $arCategory = CBlogCategory::GetByID($v);
                         $arTag[] = $arCategory["NAME"];
                     }
                     $tag = implode(",", $arTag);
                 }
                 $arSearchIndex = array("SITE_ID" => $arPostSite, "LAST_MODIFIED" => $arNewPost["DATE_PUBLISH"], "PARAM1" => "POST", "PARAM2" => $arNewPost["BLOG_ID"], "PARAM3" => $arNewPost["ID"], "PERMISSIONS" => array(2), "TITLE" => $arNewPost["TITLE"], "BODY" => blogTextParser::killAllTags($arNewPost["DETAIL_TEXT"]), "TAGS" => $tag, "USER_ID" => $arNewPost["AUTHOR_ID"], "ENTITY_TYPE_ID" => "BLOG_POST", "ENTITY_ID" => $arNewPost["ID"]);
                 $bIndexComment = false;
                 if ($arBlog["USE_SOCNET"] == "Y") {
                     if (!empty($arFields["SC_PERM"])) {
                         $arSearchIndex["PERMISSIONS"] = $arFields["SC_PERM"];
                         if ($arFields["SC_PERM"] != $arFields["SC_PERM_OLD"]) {
                             $bIndexComment = true;
                         }
                     } else {
                         $arSearchIndex["PERMISSIONS"] = CBlogPost::GetSocnetPermsCode($ID);
                     }
                 }
                 CSearch::Index("blog", "P" . $ID, $arSearchIndex, True);
                 if ($arOldPost["PUBLISH_STATUS"] != BLOG_PUBLISH_STATUS_PUBLISH && $arNewPost["PUBLISH_STATUS"] == BLOG_PUBLISH_STATUS_PUBLISH || $bIndexComment) {
                     $arParamsComment = array("BLOG_ID" => $arBlog["ID"], "POST_ID" => $ID, "SITE_ID" => $arGroup["SITE_ID"], "PATH" => $arPostSite[$arGroup["SITE_ID"]] . "?commentId=#comment_id###comment_id#", "BLOG_URL" => $arBlog["URL"], "OWNER_ID" => $arBlog["OWNER_ID"], "SOCNET_GROUP_ID" => $arBlog["SOCNET_GROUP_ID"], "USE_SOCNET" => $arBlog["USE_SOCNET"]);
                     CBlogComment::_IndexPostComments($arParamsComment);
                 }
             }
         }
     }
     return $ID;
 }
Exemplo n.º 15
0
             }
         }
     }
 }
 if ($arParams["SET_TITLE"] == "Y") {
     if (!empty($arBlog)) {
         $APPLICATION->SetTitle(str_replace("#BLOG#", $arBlog["NAME"], GetMessage('BLOG_TOP_TITLE')));
     } else {
         $APPLICATION->SetTitle(GetMessage('BLOG_NEW_BLOG'));
     }
 }
 $arFilterGroup = array("SITE_ID" => SITE_ID);
 if (!empty($arParams["GROUP_ID"])) {
     $arFilterGroup["ID"] = $arParams["GROUP_ID"];
 }
 $dbBlogGroup = CBlogGroup::GetList(array("NAME" => "ASC"), $arFilterGroup);
 $arBlogGroupTmp = array();
 while ($arBlogGroup = $dbBlogGroup->GetNext()) {
     if ($arBlogGroup["ID"] == $arResult["BLOG"]["GROUP_ID"]) {
         $arBlogGroup["SELECTED"] = "Y";
     }
     $arBlogGroupTmp[] = $arBlogGroup;
 }
 $arResult["GROUP"] = $arBlogGroupTmp;
 $arResult["AUTO_GROUPS"] = array();
 if (!empty($arBlog)) {
     $arResult["AUTO_GROUPS"] = unserialize($arBlog["AUTO_GROUPS"]);
 }
 if (!empty($arBlog)) {
     $res = CBlogUserGroup::GetList(array("NAME" => "ASC"), array("BLOG_ID" => $arBlog["ID"]), array("ID", "NAME", "BLOG_ID", "COUNT" => "USER2GROUP_ID"));
     while ($arGroup = $res->Fetch()) {
Exemplo n.º 16
0
);
*/
if (CModule::IncludeModule("blog")) {
    $ID = IntVal($ID);
    $BLOGS_COUNT = intval($BLOGS_COUNT) > 0 ? IntVal($BLOGS_COUNT) : 20;
    $COUNT = array("nPageSize" => intval($BLOGS_COUNT), "bShowAll" => false);
    $SORT_BY1 = isset($SORT_BY1) ? $SORT_BY1 : "LAST_POST_DATE";
    $SORT_ORDER1 = isset($SORT_ORDER1) ? $SORT_ORDER1 : "DESC";
    $SORT_BY2 = isset($SORT_BY2) ? $SORT_BY2 : "NAME";
    $SORT_ORDER2 = isset($SORT_ORDER2) ? $SORT_ORDER2 : "ASC";
    $SORT = array($SORT_BY1 => $SORT_ORDER1, $SORT_BY2 => $SORT_ORDER2);
    $CACHE_TIME = intval($CACHE_TIME);
    $is404 = $is404 == 'N' ? false : true;
    $arFilter = array("SITE_ID" => SITE_ID, "GROUP_ID" => $ID, "ACTIVE" => "Y");
    $arSelectFields = array("ID", "NAME", "DESCRIPTION", "URL", "SITE_ID", "DATE_CREATE", "DATE_UPDATE", "ACTIVE", "OWNER_ID", "OWNER_LOGIN", "OWNER_NAME", "OWNER_LAST_NAME", "LAST_POST_DATE", "LAST_POST_ID", "BLOG_USER_AVATAR", "BLOG_USER_ALIAS");
    if ($arGroup = CBlogGroup::GetByID($ID)) {
        $APPLICATION->SetTitle($arGroup["NAME"]);
        //формируем кэш
        $cache = new CPHPCache();
        $cache_id = "blog_groups_" . serialize($arParams) . "_" . CDBResult::NavStringForCache($BLOGS_COUNT);
        $cache_path = "/" . SITE_ID . "/blog/groups/" . $ID . "/";
        if ($CACHE_TIME > 0 && $cache->InitCache($CACHE_TIME, $cache_id, $cache_path)) {
            $cache->Output();
        } else {
            if ($CACHE_TIME > 0) {
                $cache->StartDataCache($CACHE_TIME, $cache_id, $cache_path);
            }
            $dbBlogs = CBlog::GetList($SORT, $arFilter, false, $COUNT, $arSelectFields);
            if ($arBlogs = $dbBlogs->NavNext(false)) {
                //$dbBlogs->NavPrint(GetMessage("B_B_GR_TITLE"));
                do {
Exemplo n.º 17
0
 function Update($ID, $arFields)
 {
     global $DB;
     $ID = IntVal($ID);
     if ($ID <= 0) {
         return false;
     }
     if (strlen($arFields["PATH"]) > 0) {
         $path = $arFields["PATH"];
         unset($arFields["PATH"]);
     }
     $arFields1 = array();
     foreach ($arFields as $key => $value) {
         if (substr($key, 0, 1) == "=") {
             $arFields1[substr($key, 1)] = $value;
             unset($arFields[$key]);
         }
     }
     if (!CBlog::CheckFields("UPDATE", $arFields, $ID)) {
         return false;
     } elseif (!$GLOBALS["USER_FIELD_MANAGER"]->CheckFields("BLOG_BLOG", $ID, $arFields)) {
         return false;
     }
     $db_events = GetModuleEvents("blog", "OnBeforeBlogUpdate");
     while ($arEvent = $db_events->Fetch()) {
         if (ExecuteModuleEventEx($arEvent, array($ID, &$arFields)) === false) {
             return false;
         }
     }
     $arBlogOld = CBlog::GetByID($ID);
     $strUpdate = $DB->PrepareUpdate("b_blog", $arFields);
     foreach ($arFields1 as $key => $value) {
         if (strlen($strUpdate) > 0) {
             $strUpdate .= ", ";
         }
         $strUpdate .= $key . "=" . $value . " ";
     }
     if (strlen($strUpdate) > 0) {
         $strSql = "UPDATE b_blog SET " . "\t" . $strUpdate . " " . "WHERE ID = " . $ID . " ";
         $DB->Query($strSql, False, "File: " . __FILE__ . "<br>Line: " . __LINE__);
         unset($GLOBALS["BLOG"]["BLOG_CACHE_" . $ID]);
         unset($GLOBALS["BLOG"]["BLOG4OWNER_CACHE_" . $arBlogOld["OWNER_ID"]]);
         unset($GLOBALS["BLOG"]["BLOG4OWNERGROUP_CACHE_" . $arBlogOld["SOCNET_GROUP_ID"]]);
         $events = GetModuleEvents("blog", "OnBlogUpdate");
         while ($arEvent = $events->Fetch()) {
             ExecuteModuleEventEx($arEvent, array($ID, &$arFields));
         }
         if (is_set($arFields, "PERMS_POST")) {
             CBlog::SetBlogPerms($ID, $arFields["PERMS_POST"], BLOG_PERMS_POST);
         }
         if (is_set($arFields, "PERMS_COMMENT")) {
             CBlog::SetBlogPerms($ID, $arFields["PERMS_COMMENT"], BLOG_PERMS_COMMENT);
         }
         $GLOBALS["USER_FIELD_MANAGER"]->Update("BLOG_BLOG", $ID, $arFields);
     } else {
         $ID = False;
     }
     if ($ID && (is_set($arFields, "NAME") || is_set($arFields, "DESCRIPTION"))) {
         if (CModule::IncludeModule("search")) {
             $arBlog = CBlog::GetByID($ID);
             if ($arBlogOld["ACTIVE"] == "Y" && $arBlog["ACTIVE"] != "Y" || $arBlogOld["SEARCH_INDEX"] == "Y" && $arBlog["SEARCH_INDEX"] != "Y") {
                 CSearch::DeleteIndex("blog", false, "COMMENT", $ID . "|%");
                 CSearch::DeleteIndex("blog", false, "POST", $ID);
                 CSearch::DeleteIndex("blog", "B" . $ID);
             } elseif ($arBlog["ACTIVE"] == "Y" && $arBlog["SEARCH_INDEX"] == "Y") {
                 if ($arBlog["USE_SOCNET"] == "Y") {
                     CSearch::DeleteIndex("blog", "B" . $ID);
                 } else {
                     $arGroup = CBlogGroup::GetByID($arBlog["GROUP_ID"]);
                     if (strlen($path) > 0) {
                         $path = str_replace("#blog_url#", $arBlog["URL"], $path);
                         $arPostSite = array($arGroup["SITE_ID"] => $path);
                     } else {
                         $arPostSite = array($arGroup["SITE_ID"] => CBlog::PreparePath($arBlog["URL"], $arGroup["SITE_ID"], false, $arBlog["OWNER_ID"], $arBlog["SOCNET_GROUP_ID"]));
                     }
                     $arSearchIndex = array("SITE_ID" => $arPostSite, "LAST_MODIFIED" => $arBlog["DATE_UPDATE"], "PARAM1" => "BLOG", "PARAM2" => $arBlog["OWNER_ID"], "PERMISSIONS" => array(2), "TITLE" => $arBlog["NAME"], "BODY" => strlen($arBlog["DESCRIPTION"]) > 0 ? $arBlog["DESCRIPTION"] : $arBlog["NAME"]);
                     CSearch::Index("blog", "B" . $ID, $arSearchIndex);
                 }
             }
         }
     }
     return $ID;
 }
Exemplo n.º 18
0
    if (substr($key, 0, 9) == "PROPERTY_" && substr($key, -6, 6) == "_VALUE") {
        $arResult["ELEMENT"]["PROPERTIES"][substr($key, 9, intVal(strLen($key) - 15))] = array("VALUE" => $val);
    }
}
if (isset($arParams["BLOG_URL"]) && trim($arParams["BLOG_URL"]) != "") {
    $arResult["BLOG_URL"] = $arParams["BLOG_URL"];
} else {
    $arResult["BLOG_URL"] = "catalog_comments";
}
$SITE_ID = defined("SITE_ID") && strLen(SITE_ID) > 0 ? SITE_ID : "s1";
$arFields = array("SITE_ID" => $SITE_ID, "NAME" => GetMessage("IBLOCK_CSC_BLOG_GROUP_NAME"));
$dbBlogGroup = CBlogGroup::GetList(array(), $arFields, false, false, array("ID"));
if ($arBlogGroup = $dbBlogGroup->Fetch()) {
    $blogGroupID = $arBlogGroup["ID"];
} else {
    $blogGroupID = CBlogGroup::Add($arFields);
}
$blogGroupID = intval($blogGroupID);
if ($blogGroupID > 0) {
    $dbBlog = CBlog::GetList(array(), array("URL" => $arResult["BLOG_URL"]), false, false, array("ID"));
    if ($arBlog = $dbBlog->Fetch()) {
        $blogId = $arBlog["ID"];
    } else {
        $arFields = array("NAME" => GetMessage("IBLOCK_CSC_BLOG_NAME"), "DESCRIPTION" => GetMessage("IBLOCK_CSC_BLOG_DESCRIPTION"), "GROUP_ID" => $blogGroupID, "ENABLE_COMMENTS" => 'Y', "ENABLE_IMG_VERIF" => 'Y', "EMAIL_NOTIFY" => isset($arParams["EMAIL_NOTIFY"]) && $arParams["EMAIL_NOTIFY"] == 'Y' ? 'Y' : 'N', "URL" => $arResult["BLOG_URL"], "ACTIVE" => "Y", "OWNER_ID" => 1, "AUTO_GROUPS" => "N");
        $blogId = CBlog::Add($arFields);
        if (IntVal($blogId) > 0) {
            CBlog::SetBlogPerms($blogId, array("1" => BLOG_PERMS_WRITE, "2" => BLOG_PERMS_WRITE), BLOG_PERMS_COMMENT);
        } else {
            if ($ex = $APPLICATION->GetException()) {
                $arResult["ERRORS"][] = $ex->GetString();
            } else {
Exemplo n.º 19
0
    $dbResult = CForumNew::GetListEx(array(), array("SITE_ID" => $arSite["SITE_ID"], "XML_ID" => "car_forum_demo"));
    if ($arResult = $dbResult->Fetch()) {
        $forumID = $arResult["ID"];
    } else {
        $arFields = array("NAME" => GetSocNetMessageLocal("SONET_I_FORUM_NAME", $arSite["LANGUAGE_ID"]), "ACTIVE" => "Y", "XML_ID" => "car_forum_demo", "MODERATION" => "N", "SITES" => array($arSite["SITE_ID"] => StrLen($arSite["DIR"]) > 0 ? $arSite["DIR"] : "/"));
        $forumID = CForumNew::Add($arFields);
    }
}
// ------------------ BLOG -------------------------------
$blogGroupID = 0;
if (CModule::IncludeModule("blog")) {
    $dbResult = CBlogGroup::GetList(array("ID" => "ASC"), array("SITE_ID" => $arSite["SITE_ID"]));
    if ($arResult = $dbResult->Fetch()) {
        $blogGroupID = $arResult["ID"];
    } else {
        $blogGroupID = CBlogGroup::Add(array("SITE_ID" => $arSite["SITE_ID"], "NAME" => GetSocNetMessageLocal("SONET_I_BLOG_NAME", $arSite["LANGUAGE_ID"])));
    }
}
// ------------------ PHOTO -------------------------------
$photoIBlockTypeID = "car_gallery_demo";
$photoUserIBlockID = 0;
$photoGroupIBlockID = 0;
if (CModule::IncludeModule("iblock")) {
    $dbIBlockType = CIBlockType::GetList(array(), array("=ID" => $photoIBlockTypeID));
    if ($arIBlockType = $dbIBlockType->Fetch()) {
        $photoIBlockTypeID = $arIBlockType["ID"];
    } else {
        $arFieldsLang = array();
        foreach ($arLanguages as $arLang) {
            $arFieldsLang[$arLang["LID"]] = array("NAME" => GetSocNetMessageLocal("SONET_I_PHOTO_IBLOCK_TYPE_NAME", $arLang["LID"]));
        }
Exemplo n.º 20
0
 public static function GetPing($blogUrl, $postID, $arParams = array())
 {
     global $DB;
     $blogUrl = Trim($blogUrl);
     $postID = IntVal($postID);
     $bSuccess = True;
     $arPost = CBlogPost::GetByID($postID);
     if (!$arPost) {
         CBlogTrackback::SendPingResponce(1, "Invalid target post");
         $bSuccess = False;
     }
     if ($bSuccess) {
         if ($arPost["ENABLE_TRACKBACK"] != "Y" || COption::GetOptionString("blog", "enable_trackback", "Y") != "Y") {
             CBlogTrackback::SendPingResponce(1, "Trackbacks disabled");
             $bSuccess = False;
         }
     }
     if ($bSuccess) {
         $arBlog = CBlog::GetByID($arPost["BLOG_ID"]);
         if (!$arBlog || $arBlog["URL"] != $blogUrl) {
             CBlogTrackback::SendPingResponce(1, "Invalid target blog");
             $bSuccess = False;
         }
     }
     if ($bSuccess) {
         if (!isset($arParams["title"]) || strlen($arParams["title"]) <= 0 || !isset($arParams["url"]) || strlen($arParams["url"]) <= 0) {
             CBlogTrackback::SendPingResponce(1, "Missing required fields");
             $bSuccess = False;
         }
     }
     if ($bSuccess) {
         if (!isset($arParams["excerpt"])) {
             $arParams["excerpt"] = $arParams["title"];
         }
         if (!isset($arParams["blog_name"])) {
             $arParams["blog_name"] = "";
         }
     }
     if ($bSuccess) {
         $serverCharset = "";
         $arGroup = CBlogGroup::GetByID($arBlog["GROUP_ID"]);
         $dbSite = CSite::GetList($b = "sort", $o = "asc", array("LID" => $arGroup["SITE_ID"]));
         if ($arSite = $dbSite->Fetch()) {
             $serverCharset = $arSite["CHARSET"];
         }
         if (strlen($serverCharset) <= 0) {
             if (defined("SITE_CHARSET") && strlen(SITE_CHARSET) > 0) {
                 $serverCharset = SITE_CHARSET;
             } else {
                 $serverCharset = "windows-1251";
             }
         }
         preg_match("/charset=(\")*(.*?)(\")*(;|\$)/", $_SERVER["CONTENT_TYPE"], $charset);
         $charset = preg_replace("#[^[:space:]a-zA-Z0-9\\-]#is", "", $charset[2]);
         if (strlen($charset) <= 0) {
             $charset = "utf-8";
         }
         if ($charset != $serverCharset) {
             $arParams["title"] = $GLOBALS["APPLICATION"]->ConvertCharset($arParams["title"], $charset, $serverCharset);
             $arParams["url"] = $GLOBALS["APPLICATION"]->ConvertCharset($arParams["url"], $charset, $serverCharset);
             $arParams["excerpt"] = $GLOBALS["APPLICATION"]->ConvertCharset($arParams["excerpt"], $charset, $serverCharset);
             $arParams["blog_name"] = $GLOBALS["APPLICATION"]->ConvertCharset($arParams["blog_name"], $charset, $serverCharset);
         }
         $arFields = array("TITLE" => $arParams["title"], "URL" => $arParams["url"], "PREVIEW_TEXT" => $arParams["excerpt"], "BLOG_NAME" => $arParams["blog_name"], "=POST_DATE" => $DB->CurrentTimeFunction(), "BLOG_ID" => $arPost["BLOG_ID"], "POST_ID" => $arPost["ID"]);
         $dbTrackback = CBlogTrackback::GetList(array(), array("BLOG_ID" => $arPost["BLOG_ID"], "POST_ID" => $arPost["ID"], "URL" => $arParams["url"]));
         if ($arTrackback = $dbTrackback->Fetch()) {
             if (!CBlogTrackback::Update($arTrackback["ID"], $arFields)) {
                 if ($ex = $GLOBALS["APPLICATION"]->GetException()) {
                     $errorMessage = $ex->GetString() . ".<br>";
                 } else {
                     $errorMessage = "Unknown error" . ".<br>";
                 }
                 CBlogTrackback::SendPingResponce(1, $errorMessage);
             }
         } else {
             if (!CBlogTrackback::Add($arFields)) {
                 if ($ex = $GLOBALS["APPLICATION"]->GetException()) {
                     $errorMessage = $ex->GetString() . ".<br>";
                 } else {
                     $errorMessage = "Unknown error" . ".<br>";
                 }
                 CBlogTrackback::SendPingResponce(1, $errorMessage);
             }
         }
         CBlogTrackback::SendPingResponce(0, "Ping accepted");
     }
     return $bSuccess;
 }
Exemplo n.º 21
0
	public static function BuildRSS($postID, $blogID, $type = "RSS2.0", $numPosts = 10, $arPathTemplate = Array())
	{
		$blogID = IntVal($blogID);
		$postID = IntVal($postID);
		if($blogID <= 0)
			return false;
		if($postID <= 0)
			return false;
		$numPosts = IntVal($numPosts);
		$type = strtolower(preg_replace("/[^a-zA-Z0-9.]/is", "", $type));
		if ($type != "rss.92" && $type != "atom.03")
			$type = "rss2.0";

		$rssText = False;

		$arBlog = CBlog::GetByID($blogID);
		if ($arBlog && $arBlog["ACTIVE"] == "Y" && $arBlog["ENABLE_RSS"] == "Y")
		{
			$arGroup = CBlogGroup::GetByID($arBlog["GROUP_ID"]);
			if($arGroup["SITE_ID"] == SITE_ID)
			{
				$arPost = CBlogPost::GetByID($postID);
				if(!empty($arPost) && $arPost["BLOG_ID"] == $arBlog["ID"] && $arPost["ENABLE_COMMENTS"] == "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(strlen($arPathTemplate["PATH_TO_BLOG"])>0)
						$blogURL = htmlspecialcharsbx("http://".$serverName.CComponentEngine::MakePathFromTemplate($arPathTemplate["PATH_TO_BLOG"], 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"]));

					if(strlen($arPathTemplate["PATH_TO_POST"])>0)
						$url = htmlspecialcharsbx("http://".$serverName.CComponentEngine::MakePathFromTemplate($arPathTemplate["PATH_TO_POST"], array("blog" => $arBlog["URL"], "post_id" => CBlogPost::GetPostID($arPost["ID"], $arPost["CODE"], $arPathTemplate["ALLOW_POST_CODE"]), "user_id" => $arBlog["OWNER_ID"], "group_id" => $arBlog["SOCNET_GROUP_ID"])));
					else
						$url = htmlspecialcharsbx("http://".$serverName.CBlogPost::PreparePath($arBlog["URL"], $arPost["ID"], $arGroup["SITE_ID"]));

					$dbUser = CUser::GetByID($arPost["AUTHOR_ID"]);
					$arUser = $dbUser->Fetch();

					if($arPathTemplate["USE_SOCNET"] == "Y")
					{
						$blogName = GetMessage("BLG_GCM_RSS_TITLE_SOCNET", Array("#AUTHOR_NAME#" => htmlspecialcharsEx($arUser["NAME"]." ".$arUser["LAST_NAME"]), "#POST_TITLE#" => htmlspecialcharsEx($arPost["TITLE"])));
					}
					else
					{
						$blogName = GetMessage("BLG_GCM_RSS_TITLE", Array("#BLOG_NAME#" => htmlspecialcharsEx($arBlog["NAME"]), "#POST_TITLE#" => htmlspecialcharsEx($arPost["TITLE"])));
					}

					$rssText = "";
					if ($type == "rss.92")
					{
						$rssText .= "<"."?xml version=\"1.0\" encoding=\"".$charset."\"?".">\n\n";
						$rssText .= "<rss version=\".92\">\n";
						$rssText .= " <channel>\n";
						$rssText .= "	<title>".$blogName."</title>\n";
						$rssText .= "	<description>".$blogName."</description>\n";
						$rssText .= "	<link>".$url."</link>\n";
						$rssText .= "	<language>".$language."</language>\n";
						$rssText .= "	<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 .= "	<title>".$blogName."</title>\n";
						$rssText .= "	<description>".$blogName."</description>\n";
						//$rssText .= "	<guid>".$url."</guid>\n";
						$rssText .= "	<link>".$url."</link>\n";
						$rssText .= "	<language>".$language."</language>\n";
						$rssText .= "	<docs>http://backend.userland.com/rss2</docs>\n";
						$rssText .= "	<pubDate>".$now."</pubDate>\n";
						$rssText .= "\n";
					}
					elseif ($type == "atom.03")
					{
						$atomID = "tag:".htmlspecialcharsbx($serverName).",".date("Y-m-d").":".$postID;

						$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>".$url."</tagline>\n";
						$rssText .= "  <id>".$atomID."</id>\n";
						$rssText .= "  <link rel=\"alternate\" type=\"text/html\" href=\"".$url."\" />\n";
						$rssText .= "  <modified>".$nowISO."</modified>\n";

						$BlogUser = CBlogUser::GetByID($arPost["AUTHOR_ID"], BLOG_BY_USER_ID);
						$authorP = htmlspecialcharsex(CBlogUser::GetUserName($BlogUser["ALIAS"], $arUser["NAME"], $arUser["LAST_NAME"], $arUser["LOGIN"], $arUser["SECOND_NAME"]));
						if(strLen($arPathTemplate["PATH_TO_USER"])>0)
							$authorURLP = htmlspecialcharsbx("http://".$serverName.CComponentEngine::MakePathFromTemplate($arPathTemplate["PATH_TO_USER"], array("user_id"=>$arPost["AUTHOR_ID"])));
						else
							$authorURLP = "http://".$serverName.CBlogUser::PreparePath($arPost["AUTHOR_ID"], $arGroup["SITE_ID"]);

						$rssText .= "  <author>\n";
						$rssText .= "  		<name>".$authorP."</name>\n";
						$rssText .= "  		<uri>".$authorURLP."</uri>\n";
						$rssText .= "  </author>\n";

						$rssText .= "\n";
					}

					$user_id = $GLOBALS["USER"]->GetID();
					if($arPathTemplate["USE_SOCNET"] == "Y")
					{
						$postPerm = CBlogPost::GetSocNetPostPerms($postID);
						if($postPerm > BLOG_PERMS_DENY)
							$postPerm = CBlogComment::GetSocNetUserPerms($postID, $arPost["AUTHOR_ID"]);
					}
					else
						$postPerm = CBlogPost::GetBlogUserCommentPerms($postID, IntVal($user_id));

					if($postPerm >= BLOG_PERMS_READ)
					{
						$parser = new blogTextParser();
						$arParserParams = Array(
							"imageWidth" => $arPathTemplate["IMAGE_MAX_WIDTH"],
							"imageHeight" => $arPathTemplate["IMAGE_MAX_HEIGHT"],
						);

						CTimeZone::Disable();
						$dbComments = CBlogComment::GetList(
							array("DATE_CREATE" => "DESC"),
							array(
								//"BLOG_ID" => $blogID,
								"POST_ID" => $postID,
								"PUBLISH_STATUS" => BLOG_PUBLISH_STATUS_PUBLISH,
							),
							false,
							array("nTopCount" => $numPosts),
							array("ID", "TITLE", "DATE_CREATE", "POST_TEXT", "AUTHOR_EMAIL", "AUTHOR_ID", "AUTHOR_NAME", "USER_LOGIN", "USER_LAST_NAME", "USER_SECOND_NAME", "USER_NAME", "BLOG_USER_ALIAS")
						);
						CTimeZone::Enable();
						$arImages = Array();
						$dbImages = CBlogImage::GetList(Array(), Array("BLOG_ID" => $blogID, "POST_ID" => $postID, "IS_COMMENT" => "Y", "!COMMENT_ID" => false));
						while($arI = $dbImages->Fetch())
							$arImages[$arI["ID"]] = $arI["FILE_ID"];

						while ($arComments = $dbComments->Fetch())
						{
							$arDate = ParseDateTime($arComments["DATE_CREATE"], CSite::GetDateFormat("FULL", $arGroup["SITE_ID"]));
							$date = date("r", mktime($arDate["HH"], $arDate["MI"], $arDate["SS"], $arDate["MM"], $arDate["DD"], $arDate["YYYY"]));

							if(strpos($url, "?") !== false)
								$url1 = $url."&amp;";
							else
								$url1 = $url."?";
							$url1 .= "commentId=".$arComments["ID"]."#".$arComments["ID"];

							$authorURL = "";
							if(IntVal($arComments["AUTHOR_ID"]) > 0)
							{
								$author = CBlogUser::GetUserName($arComments["BLOG_USER_ALIAS"], $arComments["USER_NAME"], $arComments["USER_LAST_NAME"], $arComments["USER_LOGIN"], $arComments["USER_SECOND_NAME"]);
								if(strLen($arPathTemplate["PATH_TO_USER"])>0)
									$authorURL = htmlspecialcharsbx("http://".$serverName.CComponentEngine::MakePathFromTemplate($arPathTemplate["PATH_TO_USER"], array("user_id"=>$arComments["AUTHOR_ID"])));
								else
									$authorURL = htmlspecialcharsbx("http://".$serverName.CBlogUser::PreparePath($arComments["AUTHOR_ID"], $arGroup["SITE_ID"]));
							}
							else
								$author = $arComments["AUTHOR_NAME"];
							$arAllow = array("HTML" => "N", "ANCHOR" => "Y", "BIU" => "Y", "IMG" => "Y", "QUOTE" => "Y", "CODE" => "Y", "FONT" => "Y", "LIST" => "Y", "SMILES" => "Y", "NL2BR" => "N", "VIDEO" => "Y", "TABLE" => "Y", "CUT_ANCHOR" => "N");
							if($arPathTemplate["NO_URL_IN_COMMENTS"] == "L" || (IntVal($arComments["AUTHOR_ID"]) <= 0  && $arPathTemplate["NO_URL_IN_COMMENTS"] == "A"))
								$arAllow["CUT_ANCHOR"] = "Y";

							if($arPathTemplate["NO_URL_IN_COMMENTS_AUTHORITY_CHECK"] == "Y" && $arAllow["CUT_ANCHOR"] != "Y" && IntVal($arComments["AUTHOR_ID"]) > 0)
							{
								$authorityRatingId = CRatings::GetAuthorityRating();
								$arRatingResult = CRatings::GetRatingResult($authorityRatingId, $arComments["AUTHOR_ID"]);
								if($arRatingResult["CURRENT_VALUE"] < $arPathTemplate["NO_URL_IN_COMMENTS_AUTHORITY"])
									$arAllow["CUT_ANCHOR"] = "Y";
							}

							$text = $parser->convert_to_rss($arComments["POST_TEXT"], $arImages, $arAllow, false, $arParserParams);

							$title = GetMessage("BLG_GCM_COMMENT_TITLE", Array("#POST_TITLE#" => htmlspecialcharsEx($arPost["TITLE"]), "#COMMENT_AUTHOR#" => htmlspecialcharsEx($author)));
							/*$title = str_replace(
								array("&", "<", ">", "\""),
								array("&amp;", "&lt;", "&gt;", "&quot;"),
								$title);
							*/
							//$text1 = HTMLToTxt($text, "", Array("\&nbsp;"), 60);
							$text = "<![CDATA[".$text."]]>";


							if ($type == "rss.92")
							{
								$rssText .= "    <item>\n";
								$rssText .= "      <title>".$title."</title>\n";
								$rssText .= "      <description>".$text."</description>\n";
								$rssText .= "      <link>".$url1."</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>".$url1."</link>\n";
								$rssText .= "      <guid>".$url1."</guid>\n";
								$rssText .= "      <pubDate>".$date."</pubDate>\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);

								$rssText .= "<entry>\n";
								$rssText .= "  <title type=\"text/html\">".$title."</title>\n";
								$rssText .= "  <link rel=\"alternate\" type=\"text/html\" href=\"".$url1."\"/>\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 .= "  <author>\n";
								$rssText .= "    <name>".htmlspecialcharsex($author)."</name>\n";
								if(strlen($authorURL) > 0)
									$rssText .= "    <uri>".$authorURL."</uri>\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;
	}
Exemplo n.º 22
0
                    if ($db_res && ($res = $db_res->GetNext())) {
                        do {
                            $arForum[intVal($res["ID"])] = $res["NAME"];
                            $fid = intVal($res["ID"]);
                        } while ($res = $db_res->GetNext());
                    }
                }
                $arComponentParameters["PARAMETERS"]["FILES_FORUM_ID"] = array("PARENT" => "WEBDAV_SETTINGS", "NAME" => GetMessage("SONET_FORUM_ID"), "TYPE" => "LIST", "VALUES" => $arForum, "DEFAULT" => $fid);
                $arComponentParameters["PARAMETERS"]["FILES_USE_CAPTCHA"] = array("PARENT" => "WEBDAV_SETTINGS", "NAME" => GetMessage("SONET_USE_CAPTCHA"), "TYPE" => "CHECKBOX", "MULTIPLE" => "N", "DEFAULT" => "Y");
            }
        }
    }
}
if (CModule::IncludeModule("blog")) {
    $arBlogGroup = array();
    $dbBlogGr = CBlogGroup::GetList();
    while ($arBlogGr = $dbBlogGr->Fetch()) {
        $arBlogGroup[$arBlogGr["ID"]] = "(" . $arBlogGr["SITE_ID"] . ") " . $arBlogGr["NAME"];
    }
    $arComponentParameters["GROUPS"]["BLOG_SETTINGS"] = array("NAME" => GetMessage("SONET_BLOG_SETTINGS"));
    if (!empty($arBlogGroup)) {
        $arComponentParameters["PARAMETERS"]["BLOG_GROUP_ID"] = array("PARENT" => "BLOG_SETTINGS", "NAME" => GetMessage("SONET_BLOG_GROUP_ID"), "TYPE" => "LIST", "VALUES" => $arBlogGroup, "REFRESH" => "N", "MULTIPLE" => "N");
    }
    $arComponentParameters["PARAMETERS"]["ALLOW_POST_MOVE"] = array("NAME" => GetMessage("BPE_ALLOW_POST_MOVE"), "TYPE" => "CHECKBOX", "MULTIPLE" => "N", "VALUE" => "Y", "DEFAULT" => "N", "PARENT" => "BLOG_SETTINGS", "REFRESH" => "Y");
    $arComponentParameters["PARAMETERS"]["PATH_TO_USER_BLOG_POST"] = array("NAME" => GetMessage("BPE_PATH_TO_USER_POST"), "TYPE" => "STRING", "DEFAULT" => "", "PARENT" => "BLOG_SETTINGS");
    $arComponentParameters["PARAMETERS"]["PATH_TO_USER_BLOG_POST_EDIT"] = array("NAME" => GetMessage("BPE_PATH_TO_USER_POST_EDIT"), "TYPE" => "STRING", "DEFAULT" => "", "PARENT" => "BLOG_SETTINGS");
    if ($arCurrentValues["ALLOW_POST_MOVE"] == "Y") {
        $arComponentParameters["PARAMETERS"]["PATH_TO_BLOG_POST"] = array("NAME" => GetMessage("BPE_PATH_TO_BLOG_POST"), "TYPE" => "STRING", "DEFAULT" => "", "PARENT" => "BLOG_SETTINGS");
        $arComponentParameters["PARAMETERS"]["PATH_TO_BLOG_POST_EDIT"] = array("NAME" => GetMessage("BPE_PATH_TO_BLOG_POST_EDIT"), "TYPE" => "STRING", "DEFAULT" => "", "PARENT" => "BLOG_SETTINGS");
        $arComponentParameters["PARAMETERS"]["PATH_TO_BLOG_DRAFT"] = array("NAME" => GetMessage("BPE_PATH_TO_BLOG_DRAFT"), "TYPE" => "STRING", "DEFAULT" => "", "PARENT" => "BLOG_SETTINGS");
        $arComponentParameters["PARAMETERS"]["PATH_TO_BLOG_BLOG"] = array("NAME" => GetMessage("BPE_PATH_TO_BLOG_BLOG"), "TYPE" => "STRING", "DEFAULT" => "", "PARENT" => "BLOG_SETTINGS");
Exemplo n.º 23
0
?>
" size="40"></td>
	</tr>
	<tr>
		<td valign="top"><?php 
echo GetMessage("BLB_FILTER_GROUP_ID");
?>
:</td>
		<td>
			<select name="filter_group_id[]" multiple size="5">
				<option value=""><?php 
echo GetMessage("BLB_F_ALL");
?>
</option>
				<?php 
$dbGroup = CBlogGroup::GetList(array("NAME" => "ASC"), array());
while ($arGroup = $dbGroup->GetNext()) {
    ?>
<option value="<?php 
    echo $arGroup["ID"];
    ?>
"<?php 
    if (in_array($arGroup["ID"], $filter_group_id)) {
        echo " selected";
    }
    ?>
>[<?php 
    echo $arGroup["ID"];
    ?>
] <?php 
    echo $arGroup["NAME"];
Exemplo n.º 24
0
 private function InstallBlogGroup()
 {
     if ($this->arResult["INSTALLATION"]["BLOG_GROUP_INSTALL"]) {
         global $APPLICATION;
         $arFields = array("SITE_ID" => $this->SITE_ID, "NAME" => $this->ModuleBlogGroup);
         if (!($BlogGroupId = CBlogGroup::Add($arFields))) {
             if ($ex = $APPLICATION->GetException()) {
                 $this->arResult["ERRORS"][] = $ex->GetString() . ' [' . $this->ModuleBlogGroup . "]";
             } else {
                 $this->arResult["ERRORS"][] = GetMessage("IDEA_INSTALL_ERROR_BLOG_GROUP_NOT_INSTALLED");
             }
         }
         $this->arResult["INSTALLATION"]["BLOG_GROUP_ID"] = $BlogGroupId;
     }
 }
Exemplo n.º 25
0
}
$arParams["PATH_TO_BLOG"] = trim($arParams["PATH_TO_BLOG"]);
if (strlen($arParams["PATH_TO_BLOG"]) <= 0) {
    $arParams["PATH_TO_BLOG"] = htmlspecialcharsbx($APPLICATION->GetCurPage() . "?" . $arParams["PAGE_VAR"] . "=blog&" . $arParams["BLOG_VAR"] . "=#blog#");
}
$arParams["PATH_TO_POST"] = trim($arParams["PATH_TO_POST"]);
if (strlen($arParams["PATH_TO_POST"]) <= 0) {
    $arParams["PATH_TO_POST"] = htmlspecialcharsbx($APPLICATION->GetCurPage() . "?" . $arParams["PAGE_VAR"] . "=post&" . $arParams["BLOG_VAR"] . "=#blog#&" . $arParams["POST_VAR"] . "=#post_id#");
}
$arParams["PATH_TO_USER"] = trim($arParams["PATH_TO_USER"]);
if (strlen($arParams["PATH_TO_USER"]) <= 0) {
    $arParams["PATH_TO_USER"] = htmlspecialcharsbx($APPLICATION->GetCurPage() . "?" . $arParams["PAGE_VAR"] . "=user&" . $arParams["USER_VAR"] . "=#user_id#");
}
$arParams["DATE_TIME_FORMAT"] = trim(empty($arParams["DATE_TIME_FORMAT"]) ? $DB->DateFormatToPHP(CSite::GetDateFormat("FULL")) : $arParams["DATE_TIME_FORMAT"]);
if (empty($arParams["GROUP_ID"]) || !empty($arParams["GROUP_ID"]) && in_array($arParams["ID"], $arParams["GROUP_ID"]) || $bShowAll) {
    $arGroup = CBlogGroup::GetByID($arParams["ID"]);
    if (!empty($arGroup) || $bShowAll) {
        $arGroup = CBlogTools::htmlspecialcharsExArray($arGroup);
        $arResult["GROUP"] = $arGroup;
        if ($arParams["SET_TITLE"] == "Y") {
            if ($bShowAll) {
                $APPLICATION->SetTitle(GetMessage("B_B_GR_TITLE"));
            } else {
                $APPLICATION->SetTitle(GetMessage("B_B_GR_TITLE_NAME", array("#group#" => $arGroup["NAME"])));
            }
        }
        $cache = new CPHPCache();
        $cache_id = "blog_groups_" . serialize($arParams) . "_" . CDBResult::NavStringForCache($arParams["BLOG_COUNT"]);
        if (($tzOffset = CTimeZone::GetOffset()) != 0) {
            $cache_id .= "_" . $tzOffset;
        }
Exemplo n.º 26
0
 function Update($ID, $arFields)
 {
     global $DB;
     $ID = IntVal($ID);
     $arFields1 = array();
     foreach ($arFields as $key => $value) {
         if (substr($key, 0, 1) == "=") {
             $arFields1[substr($key, 1)] = $value;
             unset($arFields[$key]);
         }
     }
     if (!CBlogUser::CheckFields("UPDATE", $arFields, $ID)) {
         return false;
     }
     $strUpdate = $DB->PrepareUpdate("b_blog_user", $arFields, "blog/avatar");
     foreach ($arFields1 as $key => $value) {
         if (strlen($strUpdate) > 0) {
             $strUpdate .= ", ";
         }
         $strUpdate .= $key . "=" . $value . " ";
     }
     if (strlen($strUpdate) > 0) {
         $arUser = CBlogUser::GetByID($ID, BLOG_BY_BLOG_USER_ID);
         $strSql = "UPDATE b_blog_user SET " . "\t" . $strUpdate . " " . "WHERE ID = " . $ID . " ";
         $DB->Query($strSql, False, "File: " . __FILE__ . "<br>Line: " . __LINE__);
         unset($GLOBALS["BLOG_USER_CACHE_" . $ID]);
         unset($GLOBALS["BLOG_USER1_CACHE_" . $arUser["USER_ID"]]);
     } else {
         $ID = false;
     }
     if ($ID && !(count($arFields1) == 1 && strlen($arFields1["LAST_VISIT"]) > 0)) {
         if (CModule::IncludeModule("search")) {
             $arBlogUser = CBlogUser::GetByID($ID);
             $dbUser = CUser::GetByID($arBlogUser["USER_ID"]);
             $arUser = $dbUser->Fetch();
             $arBlog = CBlog::GetByOwnerID($arBlogUser["USER_ID"]);
             if ($arBlog) {
                 $arGroup = CBlogGroup::GetByID($arBlog["GROUP_ID"]);
                 $arPostSite = array($arGroup["SITE_ID"] => CBlogUser::PreparePath($arBlogUser["USER_ID"], $arGroup["SITE_ID"]));
             } else {
                 $arPostSite = array(SITE_ID => CBlogUser::PreparePath($arBlogUser["USER_ID"], SITE_ID));
             }
             if (strlen($arBlogUser["LAST_VISIT"]) <= 0) {
                 $arBlogUser["LAST_VISIT"] = ConvertTimeStamp(false, "FULL", false);
             }
             $arSearchIndex = array("SITE_ID" => $arPostSite, "LAST_MODIFIED" => $arBlogUser["LAST_VISIT"], "PARAM1" => "USER", "PARAM2" => $arBlogUser["USER_ID"], "PERMISSIONS" => array(2), "TITLE" => CBlogUser::GetUserName($arBlogUser["ALIAS"], $arUser["NAME"], $arUser["LAST_NAME"], $arUser["LOGIN"]), "BODY" => blogTextParser::killAllTags($arBlogUser["INTERESTS"] . " " . $arBlogUser["DESCRIPTION"]));
             CSearch::Index("blog", "U" . $ID, $arSearchIndex);
         }
     }
     return $ID;
 }
Exemplo n.º 27
0
<?php

if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) {
    die;
}
if (!CModule::IncludeModule("blog")) {
    return false;
}
$arGroupList = array();
$dbGroup = CBlogGroup::GetList(array("SITE_ID" => "ASC", "NAME" => "ASC"));
while ($arGroup = $dbGroup->Fetch()) {
    $arGroupList[$arGroup["ID"]] = "(" . $arGroup["SITE_ID"] . ") [" . $arGroup["ID"] . "] " . $arGroup["NAME"];
}
$arComponentParameters = array("GROUPS" => array("VARIABLE_ALIASES" => array("NAME" => GetMessage("B_VARIABLE_ALIASES"))), "PARAMETERS" => array("MESSAGE_COUNT" => array("NAME" => GetMessage("BMNP_MESSAGE_COUNT"), "TYPE" => "STRING", "DEFAULT" => 6, "PARENT" => "VISUAL"), "PERIOD_DAYS" => array("NAME" => GetMessage("BMNP_PERIOD_DAYS"), "TYPE" => "STRING", "DEFAULT" => 30, "PARENT" => "VISUAL"), "MESSAGE_LENGTH" => array("NAME" => GetMessage("BMNP_MESSAGE_LENGTH"), "TYPE" => "STRING", "DEFAULT" => 100, "PARENT" => "VISUAL"), "PREVIEW_WIDTH" => array("NAME" => GetMessage("BMNP_PREVIEW_WIDTH"), "TYPE" => "STRING", "DEFAULT" => 100, "PARENT" => "VISUAL"), "PREVIEW_HEIGHT" => array("NAME" => GetMessage("BMNP_PREVIEW_HEIGHT"), "TYPE" => "STRING", "DEFAULT" => 100, "PARENT" => "VISUAL"), "DATE_TIME_FORMAT" => CComponentUtil::GetDateTimeFormatField(GetMessage("BC_DATE_TIME_FORMAT"), "VISUAL"), "PATH_TO_BLOG" => array("NAME" => GetMessage("BMNP_PATH_TO_BLOG"), "TYPE" => "STRING", "MULTIPLE" => "N", "DEFAULT" => "", "COLS" => 25, "PARENT" => "URL_TEMPLATES"), "PATH_TO_POST" => array("NAME" => GetMessage("BMNP_PATH_TO_POST"), "TYPE" => "STRING", "MULTIPLE" => "N", "DEFAULT" => "", "COLS" => 25, "PARENT" => "URL_TEMPLATES"), "PATH_TO_USER" => array("NAME" => GetMessage("BMNP_PATH_TO_USER"), "TYPE" => "STRING", "MULTIPLE" => "N", "DEFAULT" => "", "COLS" => 25, "PARENT" => "URL_TEMPLATES"), "PATH_TO_GROUP_BLOG_POST" => array("NAME" => GetMessage("BMNP_PATH_TO_GROUP_BLOG_POST"), "TYPE" => "STRING", "MULTIPLE" => "N", "DEFAULT" => "", "COLS" => 25, "PARENT" => "URL_TEMPLATES"), "PATH_TO_SMILE" => array("NAME" => GetMessage("BMNP_PATH_TO_SMILE"), "TYPE" => "STRING", "MULTIPLE" => "N", "DEFAULT" => "", "COLS" => 25, "PARENT" => "ADDITIONAL_SETTINGS"), "BLOG_VAR" => array("NAME" => GetMessage("BMNP_BLOG_VAR"), "TYPE" => "STRING", "MULTIPLE" => "N", "DEFAULT" => "", "COLS" => 25, "PARENT" => "VARIABLE_ALIASES"), "POST_VAR" => array("NAME" => GetMessage("BMNP_POST_VAR"), "TYPE" => "STRING", "MULTIPLE" => "N", "DEFAULT" => "", "COLS" => 25, "PARENT" => "VARIABLE_ALIASES"), "USER_VAR" => array("NAME" => GetMessage("BMNP_USER_VAR"), "TYPE" => "STRING", "MULTIPLE" => "N", "DEFAULT" => "", "COLS" => 25, "PARENT" => "VARIABLE_ALIASES"), "PAGE_VAR" => array("NAME" => GetMessage("BMNP_PAGE_VAR"), "TYPE" => "STRING", "MULTIPLE" => "N", "DEFAULT" => "", "COLS" => 25, "PARENT" => "VARIABLE_ALIASES"), "CACHE_TIME" => array("DEFAULT" => "86400"), "GROUP_ID" => array("NAME" => GetMessage("BLG_GROUP_ID"), "TYPE" => "LIST", "VALUES" => $arGroupList, "MULTIPLE" => "N", "DEFAULT" => "", "ADDITIONAL_VALUES" => "Y", "PARENT" => "DATA_SOURCE"), "BLOG_URL" => array("NAME" => GetMessage("BLG_BLOG_URL"), "TYPE" => "STRING", "MULTIPLE" => "N", "DEFAULT" => "", "COLS" => 25, "PARENT" => "DATA_SOURCE")));
Exemplo n.º 28
0
    /* if (WIZARD_INSTALL_DEMO_DATA)
    	 {
    		$db_blog = CBlog::GetList(array(), array("GROUP_ID" => $res_blog_group["ID"]), false, false, array("ID"));
    		if ($res_blog = $db_blog->Fetch())
    		{
    			do 
    			{
    				CBlog::Delete($res_blog["ID"]); 
    			} while ($res_blog = $db_blog->Fetch()); 
    		}
    		BXClearCache(True, "/".WIZARD_SITE_ID."/blog/");
    		BXClearCache(True, "/".WIZARD_SITE_ID."/idea/");
    	 } */
}
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
Exemplo n.º 29
0
 if (StrLen($errorMessage) <= 0) {
     foreach ($arGroupsId as $ind => $val) {
         CSocNetUserToGroup::Add(array("USER_ID" => 1, "GROUP_ID" => $val, "ROLE" => "A", "=DATE_CREATE" => $GLOBALS["DB"]->CurrentTimeFunction(), "=DATE_UPDATE" => $GLOBALS["DB"]->CurrentTimeFunction(), "INITIATED_BY_TYPE" => SONET_INITIATED_BY_USER, "INITIATED_BY_USER_ID" => 1, "MESSAGE" => false));
     }
 }
 if (StrLen($errorMessage) <= 0) {
     // set EUV vor news
     $dbResult = CSocNetEventUserView::GetList(array("ENTITY_ID" => "ASC"), array("ENTITY_TYPE" => "N"));
     $arResult = $dbResult->Fetch();
     if (!$arResult) {
         CSocNetEventUserView::Add(array("ENTITY_TYPE" => "N", "ENTITY_ID" => 0, "EVENT_ID" => "news", "USER_ID" => 0, "USER_ANONYMOUS" => "N"));
         CSocNetEventUserView::Add(array("ENTITY_TYPE" => "N", "ENTITY_ID" => 0, "EVENT_ID" => "news_comment", "USER_ID" => 0, "USER_ANONYMOUS" => "N"));
     }
     $blogGroupID = 0;
     if (CModule::IncludeModule("blog")) {
         $dbRes = CBlogGroup::GetList(array("ID" => "DESC"), array("SITE_ID" => WIZARD_SITE_ID));
         if ($arRes = $dbRes->Fetch()) {
             $blogGroupID = $arRes["ID"];
         }
     }
     $forumID = 0;
     $photoForumID = 0;
     if (CModule::IncludeModule("forum")) {
         $dbRes = CForumNew::GetListEx(array(), array("SITE_ID" => WIZARD_SITE_ID, "XML_ID" => "USERS_AND_GROUPS"));
         if ($arRes = $dbRes->Fetch()) {
             $forumID = $arRes["ID"];
         }
         $dbRes = CForumNew::GetListEx(array(), array("XML_ID" => "PHOTOGALLERY_COMMENTS"));
         if ($arRes = $dbRes->Fetch()) {
             $photoForumID = $arRes["ID"];
         }
Exemplo n.º 30
0
        $arParams = array("USE_COMMENTS" => "Y", "COMMENTS_TYPE" => "forum", "FORUM_ID" => $FID, "BLOG_URL" => "", "PATH_TO_SMILE" => "/bitrix/images/forum/smile/");
    }
} elseif (CModule::IncludeModule("blog")) {
    $iBlogId = "";
    $res = CBlog::GetByUrl("gallery");
    if ($res && !empty($res) && is_array($res)) {
        $iBlogId = intVal($res["ID"]);
    } else {
        $iBlogGroupId = 0;
        $arFields = array("NAME" => GetMessage("P_BLOG_GROUP_NAME"));
        $db_res = CBlogGroup::GetList(array(), $arFields, false, false, array("ID"));
        if ($db_res && ($res = $db_res->Fetch())) {
            $iBlogGroupId = intVal($res["ID"]);
        } else {
            $arFields["SITE_ID"] = $SITE_ID;
            $iBlogGroupId = CBlogGroup::Add($arFields);
        }
        if ($iBlogGroupId > 0) {
            $arFields = array("ACTIVE" => "N", "NAME" => GetMessage("P_BLOG_NAME"), "DESCRIPTION" => GetMessage("P_BLOG_DESCRIPTION"), "=DATE_UPDATE" => $GLOBALS["DB"]->CurrentTimeFunction(), "=DATE_CREATE" => $GLOBALS["DB"]->CurrentTimeFunction(), "URL" => "gallery", "OWNER_ID" => $GLOBALS["USER"]->GetId(), "GROUP_ID" => $iBlogGroupId);
            $iBlogId = CBlog::Add($arFields);
        }
    }
    if (intVal($iBlogId) > 0) {
        $arParams = array("USE_COMMENTS" => "Y", "COMMENTS_TYPE" => "blog", "FORUM_ID" => 0, "BLOG_URL" => "gallery", "PATH_TO_SMILE" => "/bitrix/images/blog/smile/");
    }
}
$arParams["IBLOCK_ID"] = $iBlockId;
// 4. Copy public files with "on the fly" translation
$source = "/public/photogallery/";
$target = "/content/photo/";
$source_base = dirname(__FILE__);