function __AutoSetPerms($ID)
 {
     $ID = IntVal($ID);
     $arGroupPerms = CBlogUserGroupPerms::GetByID($ID);
     if (IntVal($arGroupPerms["POST_ID"]) == 0) {
         $dbBlogPosts = CBlogPost::GetList(array(), array("BLOG_ID" => $arGroupPerms["BLOG_ID"]), false, false, array("ID"));
         while ($arBlogPosts = $dbBlogPosts->Fetch()) {
             $dbGroupPerms1 = CBlogUserGroupPerms::GetList(array(), array("BLOG_ID" => $arGroupPerms["BLOG_ID"], "USER_GROUP_ID" => $arGroupPerms["USER_GROUP_ID"], "PERMS_TYPE" => $arGroupPerms["PERMS_TYPE"], "POST_ID" => $arBlogPosts["ID"]), false, false, array("ID", "AUTOSET", "PERMS"));
             if ($arGroupPerms1 = $dbGroupPerms1->Fetch()) {
                 if ($arGroupPerms1["AUTOSET"] == "Y" && $arGroupPerms["PERMS"] != $arGroupPerms1["PERMS"]) {
                     CBlogUserGroupPerms::Update($arGroupPerms1["ID"], array("PERMS" => $arGroupPerms["PERMS"]));
                 }
             } else {
                 CBlogUserGroupPerms::Add(array("BLOG_ID" => $arGroupPerms["BLOG_ID"], "USER_GROUP_ID" => $arGroupPerms["USER_GROUP_ID"], "PERMS_TYPE" => $arGroupPerms["PERMS_TYPE"], "POST_ID" => $arBlogPosts["ID"], "PERMS" => $arGroupPerms["PERMS"], "AUTOSET" => "Y"));
             }
         }
     }
 }
Esempio n. 2
0
 function SetBlogPerms($ID, $arPerms = array(), $permsType = BLOG_PERMS_POST)
 {
     global $DB;
     $ID = IntVal($ID);
     $permsType = $permsType == BLOG_PERMS_COMMENT ? BLOG_PERMS_COMMENT : BLOG_PERMS_POST;
     $arBlog = CBlog::GetByID($ID);
     if ($arBlog) {
         $DB->StartTransaction();
         foreach ($arPerms as $key => $value) {
             $dbGroupPerms = CBlogUserGroupPerms::GetList(array(), array("BLOG_ID" => $ID, "USER_GROUP_ID" => $key, "PERMS_TYPE" => $permsType, "POST_ID" => 0), false, false, array("ID"));
             if ($arGroupPerms = $dbGroupPerms->Fetch()) {
                 CBlogUserGroupPerms::Update($arGroupPerms["ID"], array("PERMS" => $value));
             } else {
                 CBlogUserGroupPerms::Add(array("BLOG_ID" => $arBlog["ID"], "USER_GROUP_ID" => $key, "PERMS_TYPE" => $permsType, "POST_ID" => false, "AUTOSET" => "N", "PERMS" => $value));
             }
         }
         $DB->Commit();
     }
 }
Esempio n. 3
0
 function SetPostPerms($ID, $arPerms = array(), $permsType = BLOG_PERMS_POST)
 {
     global $DB;
     $ID = IntVal($ID);
     $permsType = $permsType == BLOG_PERMS_COMMENT ? BLOG_PERMS_COMMENT : BLOG_PERMS_POST;
     $arPost = CBlogPost::GetByID($ID);
     if ($arPost) {
         $DB->StartTransaction();
         $arInsertedGroups = array();
         foreach ($arPerms as $key => $value) {
             $dbGroupPerms = CBlogUserGroupPerms::GetList(array(), array("BLOG_ID" => $arPost["BLOG_ID"], "USER_GROUP_ID" => $key, "PERMS_TYPE" => $permsType, "POST_ID" => $arPost["ID"]), false, false, array("ID"));
             if ($arGroupPerms = $dbGroupPerms->Fetch()) {
                 CBlogUserGroupPerms::Update($arGroupPerms["ID"], array("PERMS" => $value, "AUTOSET" => "N"));
             } else {
                 CBlogUserGroupPerms::Add(array("BLOG_ID" => $arPost["BLOG_ID"], "USER_GROUP_ID" => $key, "PERMS_TYPE" => $permsType, "POST_ID" => $arPost["ID"], "AUTOSET" => "N", "PERMS" => $value));
             }
             $arInsertedGroups[] = $key;
         }
         $dbResult = CBlogUserGroupPerms::GetList(array(), array("BLOG_ID" => $arPost["BLOG_ID"], "PERMS_TYPE" => $permsType, "POST_ID" => 0, "!USER_GROUP_ID" => $arInsertedGroups), false, false, array("ID", "USER_GROUP_ID", "PERMS"));
         while ($arResult = $dbResult->Fetch()) {
             $dbGroupPerms = CBlogUserGroupPerms::GetList(array(), array("BLOG_ID" => $arPost["BLOG_ID"], "USER_GROUP_ID" => $arResult["USER_GROUP_ID"], "PERMS_TYPE" => $permsType, "POST_ID" => $arPost["ID"]), false, false, array("ID"));
             if ($arGroupPerms = $dbGroupPerms->Fetch()) {
                 CBlogUserGroupPerms::Update($arGroupPerms["ID"], array("PERMS" => $arResult["PERMS"], "AUTOSET" => "Y"));
             } else {
                 CBlogUserGroupPerms::Add(array("BLOG_ID" => $arPost["BLOG_ID"], "USER_GROUP_ID" => $arResult["USER_GROUP_ID"], "PERMS_TYPE" => $permsType, "POST_ID" => $arPost["ID"], "AUTOSET" => "Y", "PERMS" => $arResult["PERMS"]));
             }
         }
         $DB->Commit();
     }
 }
Esempio n. 4
0
 $groups .= ",";
 $groups .= CBlogGroup::Add(array("SITE_ID" => $siteID, "NAME" => GetMessage("BLOG_DEMO_GROUP_2")));
 $groups .= ",";
 $groups .= CBlogGroup::Add(array("SITE_ID" => $siteID, "NAME" => GetMessage("BLOG_DEMO_GROUP_3")));
 $groups .= ",";
 $groups .= CBlogGroup::Add(array("SITE_ID" => $siteID, "NAME" => GetMessage("BLOG_DEMO_GROUP_4")));
 $groups .= ",";
 $groups .= CBlogGroup::Add(array("SITE_ID" => $siteID, "NAME" => GetMessage("BLOG_DEMO_GROUP_5")));
 $groups .= ",";
 $groups .= CBlogGroup::Add(array("SITE_ID" => $siteID, "NAME" => GetMessage("BLOG_DEMO_GROUP_6")));
 $groups .= ",";
 $groups .= CBlogGroup::Add(array("SITE_ID" => $siteID, "NAME" => GetMessage("BLOG_DEMO_GROUP_7")));
 $blogID = CBlog::Add(array("NAME" => GetMessage("BLOG_DEMO_BLOG_NAME"), "DESCRIPTION" => GetMessage("BLOG_DEMO_BLOG_NAME"), "GROUP_ID" => $groupID, "ENABLE_IMG_VERIF" => 'Y', "EMAIL_NOTIFY" => 'Y', "ENABLE_RSS" => "Y", "ALLOW_HTML" => "Y", "URL" => "admin-blg", "ACTIVE" => "Y", "=DATE_CREATE" => $DB->GetNowFunction(), "=DATE_UPDATE" => $DB->GetNowFunction(), "OWNER_ID" => 1, "PERMS_POST" => array("1" => BLOG_PERMS_READ, "2" => BLOG_PERMS_READ), "PERMS_COMMENT" => array("1" => BLOG_PERMS_WRITE, "2" => BLOG_PERMS_WRITE)));
 $friends = CBlogUserGroup::Add(array("NAME" => GetMessage("BLOG_DEMO_FRIENDS"), "BLOG_ID" => $blogID));
 CBlogUserGroupPerms::Add(array("BLOG_ID" => $blogID, "USER_GROUP_ID" => $friends, "PERMS_TYPE" => "P", "PERMS" => "I", "AUTOSET" => "N"));
 CBlogUserGroupPerms::Add(array("BLOG_ID" => $blogID, "USER_GROUP_ID" => $friends, "PERMS_TYPE" => "C", "PERMS" => "P", "AUTOSET" => "N"));
 $categoryID[] = CBlogCategory::Add(array("BLOG_ID" => $blogID, "NAME" => GetMessage("BLOG_DEMO_CATEGORY_1")));
 $categoryID[] = CBlogCategory::Add(array("BLOG_ID" => $blogID, "NAME" => GetMessage("BLOG_DEMO_CATEGORY_2")));
 $postID = CBlogPost::Add(array("TITLE" => GetMessage("BLOG_DEMO_MESSAGE_TITLE_1"), "DETAIL_TEXT" => GetMessage("BLOG_DEMO_MESSAGE_BODY_1"), "DETAIL_TEXT_TYPE" => "text", "BLOG_ID" => $blogID, "AUTHOR_ID" => 1, "=DATE_CREATE" => $DB->GetNowFunction(), "=DATE_PUBLISH" => $DB->GetNowFunction(), "PUBLISH_STATUS" => BLOG_PUBLISH_STATUS_PUBLISH, "ENABLE_TRACKBACK" => 'N', "ENABLE_COMMENTS" => 'Y', "CATEGORY_ID" => implode(",", $categoryID), "PERMS_P" => array(1 => BLOG_PERMS_READ, 2 => BLOG_PERMS_READ), "PERMS_C" => array(1 => BLOG_PERMS_WRITE, 2 => BLOG_PERMS_WRITE)));
 foreach ($categoryID as $v) {
     CBlogPostCategory::Add(array("BLOG_ID" => $blogID, "POST_ID" => $postID, "CATEGORY_ID" => $v));
 }
 $arImage = CFile::MakeFileArray(dirname(__FILE__) . '/images/' . GetMessage("BLOG_DEMO_IMG"));
 $arImage["MODULE_ID"] = "blog";
 $arFields = array("BLOG_ID" => $blogID, "POST_ID" => $postID, "USER_ID" => 1, "=TIMESTAMP_X" => $DB->GetNowFunction(), "TITLE" => GetMessage("BLOG_DEMO_IMG_TITLE"), "IMAGE_SIZE" => $arImage["size"], "FILE_ID" => $arImage);
 CBlogImage::Add($arFields);
 CBlogComment::Add(array("TITLE" => GetMessage("BLOG_DEMO_COMMENT_TITLE"), "POST_TEXT" => GetMessage("BLOG_DEMO_COMMENT_BODY"), "BLOG_ID" => $blogID, "POST_ID" => $postID, "PARENT_ID" => 0, "AUTHOR_ID" => 1, "DATE_CREATE" => ConvertTimeStamp(false, "FULL"), "AUTHOR_IP" => "192.168.0.108"));
 CBlogSitePath::Add(array("SITE_ID" => $siteID, "PATH" => "/communication/blog/#blog#/", "TYPE" => "B"));
 CBlogSitePath::Add(array("SITE_ID" => $siteID, "PATH" => "/communication/blog/#blog#/#post_id#.php", "TYPE" => "P"));
 CBlogSitePath::Add(array("SITE_ID" => $siteID, "PATH" => "/communication/blog/user/#user_id#.php", "TYPE" => "U"));
 if (IsModuleInstalled("socialnetwork")) {