Esempio n. 1
0
 function Update($ID, $arFields)
 {
     global $DB;
     $ID = IntVal($ID);
     //if ($ID == 1 || $ID == 2)
     //return False;
     $arFields1 = array();
     foreach ($arFields as $key => $value) {
         if (substr($key, 0, 1) == "=") {
             $arFields1[substr($key, 1)] = $value;
             unset($arFields[$key]);
         }
     }
     if (!CBlogUserGroupPerms::CheckFields("UPDATE", $arFields, $ID)) {
         return false;
     }
     $strUpdate = $DB->PrepareUpdate("b_blog_user_group_perms", $arFields);
     foreach ($arFields1 as $key => $value) {
         if (strlen($strUpdate) > 0) {
             $strUpdate .= ", ";
         }
         $strUpdate .= $key . "=" . $value . " ";
     }
     if (strlen($strUpdate) > 0) {
         $strSql = "UPDATE b_blog_user_group_perms SET " . "\t" . $strUpdate . " " . "WHERE ID = " . $ID . " ";
         $DB->Query($strSql, False, "File: " . __FILE__ . "<br>Line: " . __LINE__);
         unset($GLOBALS["BLOG_USER_GROUP_PERMS_CACHE_" . $ID]);
         CBlogUserGroupPerms::__AutoSetPerms($ID);
         return $ID;
     }
     return False;
 }
Esempio n. 2
0
	public static function Delete($ID)
	{
		global $DB;

		$ID = IntVal($ID);
		if ($ID == 1 || $ID == 2)
			return False;

		$arGroup = CBlogUserGroup::GetByID($ID);
		if ($arGroup)
		{
			$dbResult = CBlogUserGroupPerms::GetList(
				array(),
				array("USER_GROUP_ID" => $ID, "BLOG_ID" => $arGroup["BLOG_ID"]),
				false,
				false,
				array("ID")
			);
			if ($arResult = $dbResult->Fetch())
			{
				if (!CBlogUserGroupPerms::Delete($arResult["ID"]))
					return False;
			}

			$DB->Query("DELETE FROM b_blog_user2user_group WHERE USER_GROUP_ID = ".$ID."", true);

			unset($GLOBALS["BLOG_USER_GROUP"]["BLOG_USER_GROUP_CACHE_".$ID]);

			return $DB->Query("DELETE FROM b_blog_user_group WHERE ID = ".$ID."", true);
		}

		return True;
	}
 function Delete($ID)
 {
     global $DB;
     $ID = IntVal($ID);
     $arGroupPerms = CBlogUserGroupPerms::GetByID($ID);
     if (IntVal($arGroupPerms["POST_ID"]) == 0) {
         $dbResult = CBlogUserGroupPerms::GetList(array(), array("BLOG_ID" => $arGroupPerms["BLOG_ID"], "USER_GROUP_ID" => $arGroupPerms["USER_GROUP_ID"], "PERMS_TYPE" => $arGroupPerms["PERMS_TYPE"], "!POST_ID" => 0, "AUTOSET" => "Y"), false, false, array("ID"));
         while ($arResult = $dbResult->Fetch()) {
             CBlogUserGroupPerms::Delete($arResult["ID"]);
         }
     }
     unset($GLOBALS["BLOG_USER_GROUP_PERMS"]["BLOG_USER_GROUP_PERMS_CACHE_" . $ID]);
     return $DB->Query("DELETE FROM b_blog_user_group_perms WHERE ID = " . $ID . "", true);
 }
Esempio n. 4
0
 function Delete($ID)
 {
     global $DB;
     $ID = IntVal($ID);
     $arPost = CBlogPost::GetByID($ID);
     if ($arPost) {
         $db_events = GetModuleEvents("blog", "OnBeforePostDelete");
         while ($arEvent = $db_events->Fetch()) {
             if (ExecuteModuleEventEx($arEvent, array($ID)) === false) {
                 return false;
             }
         }
         $dbResult = CBlogComment::GetList(array(), array("POST_ID" => $ID), false, false, array("ID"));
         while ($arResult = $dbResult->Fetch()) {
             if (!CBlogComment::Delete($arResult["ID"])) {
                 return False;
             }
         }
         $dbResult = CBlogUserGroupPerms::GetList(array(), array("POST_ID" => $ID, "BLOG_ID" => $arPost["BLOG_ID"]), false, false, array("ID"));
         while ($arResult = $dbResult->Fetch()) {
             if (!CBlogUserGroupPerms::Delete($arResult["ID"])) {
                 return False;
             }
         }
         $dbResult = CBlogTrackback::GetList(array(), array("POST_ID" => $ID, "BLOG_ID" => $arPost["BLOG_ID"]), false, false, array("ID"));
         while ($arResult = $dbResult->Fetch()) {
             if (!CBlogTrackback::Delete($arResult["ID"])) {
                 return False;
             }
         }
         $dbResult = CBlogPostCategory::GetList(array(), array("POST_ID" => $ID, "BLOG_ID" => $arPost["BLOG_ID"]), false, false, array("ID"));
         while ($arResult = $dbResult->Fetch()) {
             if (!CBlogPostCategory::Delete($arResult["ID"])) {
                 return False;
             }
         }
         $strSql = "SELECT F.ID " . "FROM b_blog_post P, b_file F " . "WHERE P.ID = " . $ID . " " . "\tAND P.ATTACH_IMG = F.ID ";
         $z = $DB->Query($strSql, false, "FILE: " . __FILE__ . " LINE:" . __LINE__);
         while ($zr = $z->Fetch()) {
             CFile::Delete($zr["ID"]);
         }
         unset($GLOBALS["BLOG_POST"]["BLOG_POST_CACHE_" . $ID]);
         $arBlog = CBlog::GetByID($arPost["BLOG_ID"]);
         $result = $DB->Query("DELETE FROM b_blog_post WHERE ID = " . $ID . "", true);
         if (IntVal($arBlog["LAST_POST_ID"]) == $ID) {
             CBlog::SetStat($arPost["BLOG_ID"]);
         }
         if ($result) {
             $res = CBlogImage::GetList(array(), array("POST_ID" => $ID, "IS_COMMENT" => "N"));
             while ($aImg = $res->Fetch()) {
                 CBlogImage::Delete($aImg['ID']);
             }
         }
         if ($result) {
             $GLOBALS["USER_FIELD_MANAGER"]->Delete("BLOG_POST", $ID);
         }
         $db_events = GetModuleEvents("blog", "OnPostDelete");
         while ($arEvent = $db_events->Fetch()) {
             ExecuteModuleEventEx($arEvent, array($ID, &$result));
         }
         if (CModule::IncludeModule("search")) {
             CSearch::Index("blog", "P" . $ID, array("TITLE" => "", "BODY" => ""));
             //CSearch::DeleteIndex("blog", false, "COMMENT", $arPost["BLOG_ID"]."|".$ID);
         }
         return $result;
     } else {
         return false;
     }
     return True;
 }
Esempio n. 5
0
         } elseif ($arPerms['PERMS_TYPE'] == 'C') {
             $arUGperms_c[$arPerms['USER_GROUP_ID']] = $arPerms['PERMS'];
         }
     }
 } else {
     $POST_TITLE = $_POST['POST_TITLE'];
     $POST_MESSAGE = $_POST['POST_MESSAGE'];
     $PUBLISH_STATUS = $_POST['PUBLISH_STATUS'];
     $ENABLE_TRACKBACK = $_POST['ENABLE_TRACKBACK'];
     $DATE_PUBLISH = $_POST['DATE_PUBLISH'] ? $_POST['DATE_PUBLISH'] : ConvertTimeStamp(time(), "FULL");
     if ($_POST['apply'] || $_POST['save']) {
         $arUGperms_p = $_POST['perms_p'];
         $arUGperms_c = $_POST['perms_c'];
         $bExtendedPerms = $_POST['blog_perms'] == 1 ? true : false;
     } else {
         $res = CBlogUserGroupPerms::GetList(array("ID" => "DESC"), array("BLOG_ID" => $BLOG_ID, "POST_ID" => 0));
         while ($arPerms = $res->Fetch()) {
             if ($arPerms['PERMS_TYPE'] == 'P') {
                 $arUGperms_p[$arPerms['USER_GROUP_ID']] = $arPerms['PERMS'];
             } elseif ($arPerms['PERMS_TYPE'] == 'C') {
                 $arUGperms_c[$arPerms['USER_GROUP_ID']] = $arPerms['PERMS'];
             }
         }
     }
 }
 ##############################################################
 # Начало вывода формы
 ##############################################################
 if (strlen($strError) > 0) {
     echo ShowError($strError);
 }
Esempio n. 6
0
			<?php 
    }
}
?>

	<tr class="heading">
		<td colspan="2"><?php 
echo GetMessage("BLBE_P_COMMENT");
?>
:</td>
	</tr>

	<?php 
if ($ID > 0) {
    $arGroupPerms = array();
    $dbGroupPerms = CBlogUserGroupPerms::GetList(array(), array("BLOG_ID" => $ID, "PERMS_TYPE" => BLOG_PERMS_COMMENT, "POST_ID" => 0));
    while ($arGroupPerm = $dbGroupPerms->Fetch()) {
        $arGroupPerms[IntVal($arGroupPerm["USER_GROUP_ID"])] = $arGroupPerm["PERMS"];
    }
}
?>
	<tr>
		<td><?php 
echo GetMessage("BLBE_P_ALL");
?>
:</td>
		<td>
			<select name="PERMS_C[1]">
			<?php 
reset($GLOBALS["AR_BLOG_PERMS"]);
while (list($key, $val) = each($GLOBALS["AR_BLOG_PERMS"])) {
Esempio n. 7
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. 8
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")) {