Beispiel #1
0
     $_POST['perms_p'][1] = BLOG_PERMS_READ;
 }
 if ($_POST['perms_c'][1] > BLOG_PERMS_WRITE) {
     $_POST['perms_c'][1] = BLOG_PERMS_WRITE;
 }
 $arFields = array("NAME" => $_POST['NAME'], "DESCRIPTION" => $_POST['DESCRIPTION'], "=DATE_UPDATE" => $DB->CurrentTimeFunction(), "GROUP_ID" => $_POST['GROUP_ID'], "ENABLE_IMG_VERIF" => $_POST['ENABLE_IMG_VERIF'] == "Y" ? "Y" : "N", "EMAIL_NOTIFY" => $_POST['EMAIL_NOTIFY'] == "Y" ? "Y" : "N", "ENABLE_RSS" => "Y", "PERMS_POST" => $_POST['perms_p'], "PERMS_COMMENT" => $_POST['perms_c']);
 if (!$bBlockURL || $USER->IsAdmin() || $BLOG_ID == 0) {
     $arFields["URL"] = $_POST['URL'];
 }
 if ($arBlog) {
     if (is_array($_POST['group'])) {
         $arFields["AUTO_GROUPS"] = serialize(array_keys($_POST['group']));
     } else {
         $arFields["AUTO_GROUPS"] = "";
     }
     $newID = CBlog::Update($arBlog["ID"], $arFields);
 } else {
     $arFields["=DATE_CREATE"] = $DB->CurrentTimeFunction();
     $arFields["ACTIVE"] = "Y";
     $arFields["OWNER_ID"] = $USER->GetID();
     $newID = CBlog::Add($arFields);
     if ($newID) {
         BXClearCache(True, "/" . SITE_ID . "/blog/new_blogs/");
         BXClearCache(True, "/" . SITE_ID . "/blog/groups/" . $arBlog['GROUP_ID'] . "/");
         BXClearCache(True, "/" . SITE_ID . "/blog/" . $arBlog['URL']);
         CBlogUserGroup::Add(array("BLOG_ID" => $newID, "NAME" => GetMessage('BLOG_FRIENDS')));
     }
 }
 if ($newID && !$errorMessage) {
     $arBlog = CBlog::GetByID($newID);
     if ($_POST['apply']) {
$aTabs = array(array("DIV" => "edit1", "TAB" => GetMessage("BLBE_TAB_BLOG"), "ICON" => "blog", "TITLE" => GetMessage("BLBE_TAB_BLOG_DESCR")), array("DIV" => "edit2", "TAB" => GetMessage("BLBE_TAB_BLOG_PERMS"), "ICON" => "blog", "TITLE" => GetMessage("BLBE_TAB_BLOG_PERMS_DESCR")));
$aTabs[] = $USER_FIELD_MANAGER->EditFormTab("BLOG_BLOG");
$tabControl = new CAdminTabControl("tabControl", $aTabs);
$ID = IntVal($ID);
if ($REQUEST_METHOD == "POST" && strlen($Update) > 0 && $blogModulePermissions >= "W" && check_bitrix_sessid()) {
    $arFields = array("NAME" => $NAME, "DESCRIPTION" => $DESCRIPTION, "=DATE_UPDATE" => $DB->CurrentTimeFunction(), "URL" => $_POST["URL"], "OWNER_ID" => $OWNER_ID, "GROUP_ID" => $GROUP_ID, "ACTIVE" => $ACTIVE == "Y" ? "Y" : "N", "ENABLE_COMMENTS" => $ENABLE_COMMENTS == "Y" ? "Y" : "N", "ENABLE_IMG_VERIF" => $ENABLE_IMG_VERIF == "Y" ? "Y" : "N", "EMAIL_NOTIFY" => $EMAIL_NOTIFY == "Y" ? "Y" : "N", "ENABLE_RSS" => $ENABLE_RSS == "Y" ? "Y" : "N", "SEARCH_INDEX" => $SEARCH_INDEX == "Y" ? "Y" : "N", "USE_SOCNET" => $USE_SOCNET == "Y" ? "Y" : "N", "PERMS_POST" => $PERMS_P, "PERMS_COMMENT" => $PERMS_C);
    if (IntVal($OWNER_ID) > 0) {
        $arFields["OWNER_ID"] = IntVal($OWNER_ID);
    } else {
        $arFields["OWNER_ID"] = false;
    }
    $USER_FIELD_MANAGER->EditFormAddFields("BLOG_BLOG", $arFields);
    if ($ID > 0) {
        $dbBlog = CBlog::GetList(array(), array("ID" => $ID), false, false, array("ID", "GROUP_SITE_ID", "GROUP_ID"));
        $arBlogOld = $dbBlog->Fetch();
        $result = CBlog::Update($ID, $arFields);
    } else {
        $arFields["=DATE_CREATE"] = $DB->CurrentTimeFunction();
        $ID = CBlog::Add($arFields);
        $ID = IntVal($ID);
        $result = $ID > 0;
        $dbBlog = CBlog::GetList(array(), array("ID" => $ID), false, false, array("ID", "GROUP_SITE_ID", "GROUP_ID"));
        $arBlogOld = $dbBlog->Fetch();
    }
    if (CModule::IncludeModule("socialnetwork")) {
        if ($arFields["USE_SOCNET"] == "Y") {
            $bRights = false;
            $featureOperationPerms = CSocNetFeaturesPerms::GetOperationPerm(SONET_ENTITY_USER, $arFields["OWNER_ID"], "blog", "view_post");
            if ($featureOperationPerms == SONET_RELATIONS_TYPE_ALL) {
                $bRights = true;
            }
Beispiel #3
0
                         $autoGroup[] = $uGrID;
                     }
                 } else {
                     $arResult["ERROR_MESSAGE"][] = GetMessage("BLOG_GROUP_EXIST", array("#GROUP_NAME#" => htmlspecialcharsbx($v)));
                 }
             }
         }
     }
     if (!empty($autoGroup)) {
         $arFields = array("AUTO_GROUPS" => serialize($autoGroup));
     } else {
         $arFields = array("AUTO_GROUPS" => "");
     }
     $arFields["PERMS_POST"] = $_POST['perms_p'];
     $arFields["PERMS_COMMENT"] = $_POST['perms_c'];
     $newID = CBlog::Update($newID, $arFields);
 }
 if (IntVal($newID) > 0 && empty($arResult["ERROR_MESSAGE"])) {
     $arBlog = CBlog::GetByID($newID);
     $arBlog = CBlogTools::htmlspecialcharsExArray($arBlog);
     $arResult["BLOG"] = $arBlog;
     $arResult["urlToBlog"] = CComponentEngine::MakePathFromTemplate($arParams["PATH_TO_BLOG"], array("blog" => $arBlog["URL"]));
     $arResult["urlToBlogEdit"] = CComponentEngine::MakePathFromTemplate($arParams["PATH_TO_BLOG_EDIT"], array("blog" => $arBlog["URL"]));
     if (intval($arBlog["SOCNET_GROUP_ID"]) > 0 && CModule::IncludeModule("socialnetwork") && method_exists("CSocNetGroup", "GetSite")) {
         $arSites = array();
         $rsGroupSite = CSocNetGroup::GetSite($arBlog["SOCNET_GROUP_ID"]);
         while ($arGroupSite = $rsGroupSite->Fetch()) {
             $arSites[] = $arGroupSite["LID"];
         }
     } else {
         $arSites = array(SITE_ID);
Beispiel #4
0
								if ($ex = $APPLICATION->GetException())
									$arResult["ERRORS"][] = $ex->GetString();
								else
									$arResult["ERRORS"][] = GetMessage("IBLOCK_CSC_BLOG_CREATE_ERROR");
							}
						}
					}
				}
			}
			if ($blogExist)
			{
				if ($arParams['BLOG_FROM_AJAX'] === 'N')
				{
					if ($blog['EMAIL_NOTIFY'] != $arParams['EMAIL_NOTIFY'])
					{
						CBlog::Update($blogID, array('EMAIL_NOTIFY' => $arParams['EMAIL_NOTIFY']));
					}
				}
			}

			if ($blogID > 0)
			{
				$arResult['BLOG_DATA']['BLOG_ID'] = $blogID;
				$rsProps = CIBlockProperty::GetList(
					array(),
					array('IBLOCK_ID' => $arParams['IBLOCK_ID'], 'PROPERTY_TYPE' => 'N', 'MULTIPLE' => 'N')
				);
				while ($propIBlock = $rsProps->Fetch())
				{
					if ($propIBlock['CODE'] == CIBlockPropertyTools::CODE_BLOG_POST)
					{
Beispiel #5
0
 function SetStat($ID)
 {
     global $DB;
     $ID = IntVal($ID);
     CTimeZone::Disable();
     $dbBlogPost = CBlogPost::GetList(array("DATE_PUBLISH" => "DESC"), array("BLOG_ID" => $ID, "<=DATE_PUBLISH" => ConvertTimeStamp(false, "FULL", false), "PUBLISH_STATUS" => BLOG_PUBLISH_STATUS_PUBLISH), false, array("nTopCount" => 1), array("ID", "DATE_PUBLISH"));
     CTimeZone::Enable();
     if ($arBlogPost = $dbBlogPost->Fetch()) {
         $arFields = array("LAST_POST_ID" => $arBlogPost["ID"], "LAST_POST_DATE" => $arBlogPost["DATE_PUBLISH"], "=DATE_UPDATE" => $DB->CurrentTimeFunction());
     } else {
         $arFields = array("LAST_POST_ID" => false, "LAST_POST_DATE" => false, "=DATE_UPDATE" => $DB->CurrentTimeFunction());
     }
     CBlog::Update($ID, $arFields);
 }