예제 #1
0
             $arResult["urlToModeration"] = CComponentEngine::MakePathFromTemplate($arParams["PATH_TO_MODERATION"], array("blog" => $arBlog["URL"]));
             $dbPost = CBlogPost::GetList(array(), array("BLOG_ID" => $arBlog["ID"], "PUBLISH_STATUS" => BLOG_PUBLISH_STATUS_READY), array("COUNT" => "ID"), false, array("ID", "BLOG_ID"));
             if ($arPost = $dbPost->Fetch()) {
                 $arResult["CntToModerate"] = $arPost["ID"];
             }
         }
         $dbPost = CBlogPost::GetList(array(), array("BLOG_ID" => $arBlog["ID"], "PUBLISH_STATUS" => BLOG_PUBLISH_STATUS_DRAFT, "AUTHOR_ID" => $user_id), array("COUNT" => "ID"), false, array("ID", "BLOG_ID"));
         if ($arPost = $dbPost->Fetch()) {
             $arResult["CntToDraft"] = $arPost["ID"];
         }
         $arResult["SecondLine"] = "Y";
     } elseif ($perm >= BLOG_PERMS_PREMODERATE) {
         $arResult["urlToNewPost"] = CComponentEngine::MakePathFromTemplate($arParams["PATH_TO_POST_EDIT"], array("blog" => $arBlog["URL"], "post_id" => "new"));
         $arResult["SecondLine"] = "Y";
     }
     if (CBlog::CanUserManageBlog($arBlog["ID"], $user_id)) {
         $arResult["urlToUserSettings"] = CComponentEngine::MakePathFromTemplate($arParams["PATH_TO_USER_SETTINGS"], array("blog" => $arBlog["URL"]));
         $arResult["urlToGroupEdit"] = CComponentEngine::MakePathFromTemplate($arParams["PATH_TO_GROUP_EDIT"], array("blog" => $arBlog["URL"]));
         $arResult["urlToCategoryEdit"] = CComponentEngine::MakePathFromTemplate($arParams["PATH_TO_CATEGORY_EDIT"], array("blog" => $arBlog["URL"]));
         $arResult["urlToBlogEdit"] = CComponentEngine::MakePathFromTemplate($arParams["PATH_TO_BLOG_EDIT"], array("blog" => $arBlog["URL"]));
         $arResult["ThirdLine"] = "Y";
     }
 }
 if (empty($arOwnBlog) || $arOwnBlog["URL"] != $arBlog["URL"]) {
     if (IntVal($user_id) > 0) {
         if (!CBlog::IsFriend($arBlog["ID"], $user_id)) {
             $arResult["urlToBecomeFriend"] = $arResult["urlToCurrentBlog"] . (strpos($arResult["urlToCurrentBlog"], "?") === false ? "?" : "&") . "become_friend=Y&" . bitrix_sessid_get();
             $arResult["SecondLine"] = "Y";
         }
         if (!empty($arOwnBlog)) {
             if (!CBlog::IsFriend($arOwnBlog["ID"], $arBlog["OWNER_ID"])) {
예제 #2
0
}
$arParams["BLOG_URL"] = preg_replace("/[^a-zA-Z0-9_-]/is", "", Trim($arParams["BLOG_URL"]));
if ($arParams["SET_TITLE"] == "Y") {
    $APPLICATION->SetTitle(GetMessage("BLOG_CATEGORY_TITLE"));
}
$USER_ID = intval($USER->GetID());
$arResult["CATEGORY"] = array();
if ($arBlog = CBlog::GetByUrl($arParams["BLOG_URL"])) {
    if ($arBlog["ACTIVE"] == "Y") {
        $arGroup = CBlogGroup::GetByID($arBlog["GROUP_ID"]);
        if ($arGroup["SITE_ID"] == SITE_ID) {
            $arResult["BLOG"] = $arBlog;
            if ($arParams["SET_TITLE"] == "Y") {
                $APPLICATION->SetTitle(GetMessage("BLOG_CATEGORY_TITLE") . "\"" . $arBlog["NAME"] . "\"");
            }
            if (CBlog::CanUserManageBlog($arBlog["ID"], $USER_ID)) {
                if ($_POST["save"] && check_bitrix_sessid()) {
                    $arFields = array('NAME' => $_POST["NAME"]);
                    if (IntVal($_POST['ID']) > 0) {
                        $res = CBlogCategory::GetList(array("NAME" => "ASC"), array("BLOG_ID" => $arBlog["ID"], "ID" => IntVal($_POST["ID"])));
                        if ($res->Fetch()) {
                            if ($_POST["category_del"] == "Y") {
                                CBlogCategory::Delete(IntVal($_POST['ID']));
                            } else {
                                $res = CBlogCategory::GetList(array("NAME" => "ASC"), array("BLOG_ID" => $arBlog["ID"], "NAME" => $arFields["NAME"]));
                                if (!$res->Fetch()) {
                                    $newID = CBlogCategory::Update(IntVal($_POST["ID"]), $arFields);
                                } else {
                                    $arResult["ERROR_MESSAGE"] = GetMessage("BLOG_CATEGORY_EXIST_1") . " \"" . htmlspecialcharsEx($arFields["NAME"]) . "\" " . GetMessage("BLOG_CATEGORY_EXIST_2");
                                }
                            }
예제 #3
0
    $arParams["PATH_TO_USER_SETTINGS_EDIT"] = htmlspecialchars($APPLICATION->GetCurPage() . "?" . $arParams["PAGE_VAR"] . "=user_settings_edit&" . $arParams["BLOG_VAR"] . "=#blog#&" . $arParams["USER_VAR"] . "=#user_id#");
}
$arParams["PATH_TO_USER"] = trim($arParams["PATH_TO_USER"]);
if (strlen($arParams["PATH_TO_USER"]) <= 0) {
    $arParams["PATH_TO_USER"] = htmlspecialchars($APPLICATION->GetCurPage() . "?" . $arParams["PAGE_VAR"] . "=user&" . $arParams["USER_VAR"] . "=#user_id#");
}
if (StrLen($arParams["BLOG_URL"]) > 0) {
    if ($arParams["SET_TITLE"] == "Y") {
        $APPLICATION->SetTitle(GetMessage("B_B_US_TITLE"));
    }
    if ($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;
                if (CBlog::CanUserManageBlog($arBlog["ID"], IntVal($USER->GetID()))) {
                    if ($arParams["SET_TITLE"] == "Y") {
                        $APPLICATION->SetTitle(str_replace("#NAME#", $arBlog["NAME"], GetMessage("B_B_US_TITLE_BLOG")));
                    }
                    $errorMessage = "";
                    $okMessage = "";
                    if (IntVal($GLOBALS["del_id"]) > 0) {
                        if (check_bitrix_sessid()) {
                            CBlogUser::AddToUserGroup($GLOBALS["del_id"], $arBlog["ID"], array(), "", BLOG_BY_USER_ID, BLOG_CHANGE);
                            $dbCandidate = CBlogCandidate::GetList(array(), array("BLOG_ID" => $arBlog["ID"], "USER_ID" => IntVal($GLOBALS["del_id"])));
                            if ($arCandidate = $dbCandidate->Fetch()) {
                                CBlogCandidate::Delete($arCandidate["ID"]);
                                $okMessage = GetMessage("B_B_US_DELETE_OK") . ".<br />";
                            }
                        } else {
                            $errorMessage .= GetMessage("BLOG_BLOG_SESSID_WRONG") . "<br />";
예제 #4
0
     $arBlog = $res->Fetch();
     $BLOG_ID = intval($arBlog['ID']);
 } else {
     $arBlog = CBlog::GetByOwnerID($USER_ID);
 }
 if (!$OWNER && $arBlog && !$BLOG_ID) {
     if ($is404) {
         $page = CBlog::PreparePath($arBlog['URL']) . "blog_edit.php";
     } else {
         $arSitePath = CBlogSitePath::GetBySiteID(SITE_ID);
         $page = $arSitePath["PATH"] . "/blog_edit.php?blog=" . htmlspecialchars($arBlog['URL']);
     }
     LocalRedirect($page);
     die;
 } elseif (!$OWNER || $arBlog) {
     if ($BLOG_ID == 0 || CBlog::CanUserManageBlog($BLOG_ID, $GLOBALS["USER"]->IsAuthorized() ? $GLOBALS["USER"]->GetID() : 0)) {
         $bBlockURL = COption::GetOptionString("blog", "block_url_change", "N") == 'Y' ? true : false;
         $arSitePath = CBlogSitePath::GetBySiteID(SITE_ID);
         if ($_POST['reset']) {
             LocalRedirect(CBlog::PreparePath($arBlog['URL'], false, $is404));
         } elseif ($_SERVER["REQUEST_METHOD"] == "POST" && $_POST['do_blog'] == "Y") {
             if ($_POST['perms_p'][1] > BLOG_PERMS_READ) {
                 $_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'];
             }
예제 #5
0
     $arBlog = CBlog::GetByOwnerID($USER_ID, $arParams["GROUP_ID"]);
     if ($arBlog["ACTIVE"] == "Y") {
         $arGroup = CBlogGroup::GetByID($arBlog["GROUP_ID"]);
         if (intval($arBlog["SOCNET_GROUP_ID"]) <= 0 && $arGroup["SITE_ID"] != SITE_ID) {
             unset($arBlog);
         }
     } else {
         unset($arBlog);
     }
 }
 if (!empty($arBlog)) {
     $arBlog = CBlogTools::htmlspecialcharsExArray($arBlog);
     $arResult["urlToBlog"] = CComponentEngine::MakePathFromTemplate($arParams["PATH_TO_BLOG"], array("blog" => $arBlog["URL"]));
     $arResult["BLOG"] = $arBlog;
 }
 if (CBlog::CanUserManageBlog($arBlog["ID"], IntVal($USER->GetID())) || CBlog::CanUserCreateBlog($USER->GetID()) && IntVal($arBlog["ID"]) <= 0) {
     $bBlockURL = COption::GetOptionString("blog", "block_url_change", "N") == 'Y' ? true : false;
     if ($bBlockURL && !$USER->IsAdmin() && !empty($arBlog)) {
         $arResult["BlockURL"] = "Y";
     }
     if ($_POST['reset']) {
         LocalRedirect($arResult["urlToBlog"]);
     } elseif ($_SERVER["REQUEST_METHOD"] == "POST" && $_POST['do_blog'] == "Y" && check_bitrix_sessid()) {
         if ($_POST['perms_p'][1] > BLOG_PERMS_READ) {
             $_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(), "ENABLE_IMG_VERIF" => $_POST['ENABLE_IMG_VERIF'] == "Y" ? "Y" : "N", "EMAIL_NOTIFY" => $_POST['EMAIL_NOTIFY'] == "Y" ? "Y" : "N", "ENABLE_RSS" => "Y");
         if (IntVal($_POST['GROUP_ID']) > 0) {
예제 #6
0
if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) {
    die;
}
IncludeTemplateLangFile(__FILE__);
if (CModule::IncludeModule("blog")) {
    //*******************************************************
    $GLOBALS["APPLICATION"]->SetTemplateCSS("blog/blog.css");
    $BLOG_URL = Trim($BLOG_URL);
    $BLOG_URL = preg_replace("/[^a-zA-Z0-9_-]/is", "", $BLOG_URL);
    $is404 = $is404 == 'N' ? false : true;
    if (StrLen($BLOG_URL) > 0) {
        $dbBlog = CBlog::GetList(array(), array("URL" => $BLOG_URL), false, false, array("ID", "NAME"));
        if ($arBlog = $dbBlog->Fetch()) {
            $arPath = CBlogSitePath::GetBySiteID(SITE_ID);
            $strPath = $arPath["PATH"];
            if (CBlog::CanUserManageBlog($arBlog["ID"], $GLOBALS["USER"]->IsAuthorized() ? $GLOBALS["USER"]->GetID() : 0)) {
                $errorMessage = "";
                $okMessage = "";
                if (isset($ADD_FRIEND) && is_array($ADD_FRIEND)) {
                    foreach ($ADD_FRIEND as $key => $friend) {
                        $friend = preg_replace("/[^a-zA-Z0-9_-]/is", "", $friend);
                        if (StrLen($friend) > 0) {
                            $arUserID = array();
                            $dbSearchUser = CBlog::GetList(array(), array("URL" => $friend), false, false, array("ID", "OWNER_ID"));
                            if ($arSearchUser = $dbSearchUser->Fetch()) {
                                $arUserID[] = $arSearchUser["OWNER_ID"];
                            }
                            if (count($arUserID) <= 0) {
                                $dbSearchUser = CBlog::GetList(array(), array("NAME" => $friend), false, false, array("ID", "OWNER_ID"));
                                if ($arSearchUser = $dbSearchUser->Fetch()) {
                                    $arUserID[] = $arSearchUser["OWNER_ID"];