Esempio n. 1
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. 3
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. 4
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. 5
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. 6
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();
     }
 }