Ejemplo n.º 1
0
 function Delete($ID)
 {
     global $DB;
     $ID = IntVal($ID);
     $dbResult = CBlog::GetList(array(), array("GROUP_ID" => $ID), false, false, array("ID"));
     if ($dbResult->Fetch()) {
         $GLOBALS["APPLICATION"]->ThrowException(str_replace("#ID#", $ID, GetMessage("BLG_GG_ERROR_NOT_EMPTY")), "ERROR_NOT_EMPTY");
         return False;
     }
     unset($GLOBALS["BLOG_GROUP"]["BLOG_GROUP_CACHE_" . $ID]);
     return $DB->Query("DELETE FROM b_blog_group WHERE ID = " . $ID . "", true);
 }
Ejemplo n.º 2
0
 function CheckFields($ACTION, &$arFields, $ID = 0)
 {
     global $DB;
     if ((is_set($arFields, "NAME") || $ACTION == "ADD") && strlen($arFields["NAME"]) <= 0) {
         $GLOBALS["APPLICATION"]->ThrowException(GetMessage("BLG_GB_EMPTY_NAME"), "EMPTY_NAME");
         return false;
     }
     /*
     elseif (is_set($arFields, "NAME"))
     {
     	$dbResult = CBlog::GetList(array(), array("NAME" => $arFields["NAME"], "!ID" => $ID), false, false, array("ID"));
     	if ($dbResult->Fetch())
     	{
     		$GLOBALS["APPLICATION"]->ThrowException(GetMessage("BLG_GB_DUBLICATE_NAME"), "DUBLICATE_NAME");
     		return false;
     	}
     }
     */
     if ((is_set($arFields, "URL") || $ACTION == "ADD") && strlen($arFields["URL"]) <= 0) {
         $GLOBALS["APPLICATION"]->ThrowException(GetMessage("BLG_GB_EMPTY_URL"), "EMPTY_URL");
         return false;
     } elseif (is_set($arFields, "URL")) {
         $urlCheck = preg_replace("/[^a-zA-Z0-9_-]/is", "", $arFields["URL"]);
         if ($urlCheck != $arFields["URL"]) {
             $GLOBALS["APPLICATION"]->ThrowException(GetMessage("BLG_GB_BAD_URL"), "BAD_URL");
             return false;
         }
         $dbResult = CBlog::GetList(array(), array("URL" => $arFields["URL"], "!ID" => $ID), false, false, array("ID"));
         if ($dbResult->Fetch()) {
             $GLOBALS["APPLICATION"]->ThrowException(GetMessage("BLG_GB_DUBLICATE_URL"), "DUBLICATE_URL");
             return false;
         }
         if (in_array(strtolower($arFields["URL"]), $GLOBALS["AR_BLOG_RESERVED_NAMES"])) {
             $GLOBALS["APPLICATION"]->ThrowException(str_replace("#NAME#", $arFields["URL"], GetMessage("BLG_GB_RESERVED_NAME")), "RESERVED_NAME");
             return false;
         }
     }
     if (is_set($arFields, "DATE_CREATE") && !$DB->IsDate($arFields["DATE_CREATE"], false, LANG, "FULL")) {
         $GLOBALS["APPLICATION"]->ThrowException(GetMessage("BLG_GB_EMPTY_DATE_CREATE"), "EMPTY_DATE_CREATE");
         return false;
     }
     if (is_set($arFields, "DATE_UPDATE") && !$DB->IsDate($arFields["DATE_UPDATE"], false, LANG, "FULL")) {
         $GLOBALS["APPLICATION"]->ThrowException(GetMessage("BLG_GB_EMPTY_DATE_UPDATE"), "EMPTY_DATE_UPDATE");
         return false;
     }
     if (is_set($arFields, "LAST_POST_DATE") && (!$DB->IsDate($arFields["LAST_POST_DATE"], false, LANG, "FULL") && strlen($arFields["LAST_POST_DATE"]) > 0)) {
         $GLOBALS["APPLICATION"]->ThrowException(GetMessage("BLG_GB_EMPTY_LAST_POST_DATE"), "EMPTY_LAST_POST_DATE");
         return false;
     }
     if ($ACTION == "ADD" && (IntVal($arFields["OWNER_ID"]) <= 0 && IntVal($arFields["SOCNET_GROUP_ID"]) <= 0)) {
         $GLOBALS["APPLICATION"]->ThrowException(GetMessage("BLG_GB_EMPTY_OWNER_ID"), "EMPTY_OWNER_ID");
         return false;
     }
     if (IntVal($arFields["OWNER_ID"]) > 0) {
         $dbResult = CUser::GetByID($arFields["OWNER_ID"]);
         if (!$dbResult->Fetch()) {
             $GLOBALS["APPLICATION"]->ThrowException(GetMessage("BLG_GB_ERROR_NO_OWNER_ID"), "ERROR_NO_OWNER_ID");
             return false;
         }
     }
     if (is_set($arFields, "OWNER_ID") && is_set($arFields, "SOCNET_GROUP_ID") && IntVal($arFields["OWNER_ID"]) <= 0 && IntVal($arFields["SOCNET_GROUP_ID"]) <= 0) {
         $GLOBALS["APPLICATION"]->ThrowException(GetMessage("BLG_GB_EMPTY_OWNER_ID"), "EMPTY_OWNER_ID");
         return false;
     }
     if ((is_set($arFields, "GROUP_ID") || $ACTION == "ADD") && IntVal($arFields["GROUP_ID"]) <= 0) {
         $GLOBALS["APPLICATION"]->ThrowException(GetMessage("BLG_GB_EMPTY_GROUP_ID"), "EMPTY_GROUP_ID");
         return false;
     } elseif (is_set($arFields, "GROUP_ID")) {
         $dbResult = CBlogGroup::GetByID($arFields["GROUP_ID"]);
         if (!$dbResult) {
             $GLOBALS["APPLICATION"]->ThrowException(GetMessage("BLG_GB_ERROR_NO_GROUP_ID"), "ERROR_NO_GROUP_ID");
             return false;
         }
     }
     if ((is_set($arFields, "ACTIVE") || $ACTION == "ADD") && $arFields["ACTIVE"] != "Y" && $arFields["ACTIVE"] != "N") {
         $arFields["ACTIVE"] = "Y";
     }
     if ((is_set($arFields, "ENABLE_COMMENTS") || $ACTION == "ADD") && $arFields["ENABLE_COMMENTS"] != "Y" && $arFields["ENABLE_COMMENTS"] != "N") {
         $arFields["ENABLE_COMMENTS"] = "Y";
     }
     if ((is_set($arFields, "ENABLE_IMG_VERIF") || $ACTION == "ADD") && $arFields["ENABLE_IMG_VERIF"] != "Y" && $arFields["ENABLE_IMG_VERIF"] != "N") {
         $arFields["ENABLE_IMG_VERIF"] = "N";
     }
     if ((is_set($arFields, "ENABLE_RSS") || $ACTION == "ADD") && $arFields["ENABLE_RSS"] != "Y" && $arFields["ENABLE_RSS"] != "N") {
         $arFields["ENABLE_RSS"] = "N";
     }
     if ((is_set($arFields, "ALLOW_HTML") || $ACTION == "ADD") && $arFields["ALLOW_HTML"] != "Y" && $arFields["ALLOW_HTML"] != "N") {
         $arFields["ALLOW_HTML"] = "N";
     }
     if ((is_set($arFields, "USE_SOCNET") || $ACTION == "ADD") && $arFields["USE_SOCNET"] != "Y" && $arFields["USE_SOCNET"] != "N") {
         $arFields["USE_SOCNET"] = "N";
     }
     return True;
 }
Ejemplo n.º 3
0
 $SORT = array($arParams["SORT_BY1"] => $arParams["SORT_ORDER1"], $arParams["SORT_BY2"] => $arParams["SORT_ORDER2"]);
 $arFilter = array("SITE_ID" => SITE_ID);
 if (!empty($arParams["GROUP_ID"])) {
     $arFilter["ID"] = $arParams["GROUP_ID"];
 }
 $arSelectFields = false;
 //	if($arParams["GROUPS_COUNT"]>0)
 //		$COUNT = Array("nTopCount" => $arParams["GROUPS_COUNT"]*2);
 //	else
 $COUNT = false;
 $arResult["GROUPS"] = array();
 $arResult["GROUPS_TABLE"] = array();
 $dbGroups = CBlogGroup::GetList($SORT, $arFilter, false, $COUNT, $arSelectFields);
 $itemCnt = 0;
 while ($arGroups = $dbGroups->Fetch()) {
     $dbBlog = CBlog::GetList(array(), array("GROUP_ID" => $arGroups["ID"]), false, false, array("ID", "GROUP_ID"));
     if ($arBlog = $dbBlog->Fetch()) {
         $url = CComponentEngine::MakePathFromTemplate($arParams["PATH_TO_GROUP"], array("group_id" => $arGroups["ID"]));
         $arResult["GROUPS"][] = array("ID" => $arGroups["ID"], "NAME" => htmlspecialcharsex($arGroups["NAME"]), "URL" => $url);
         $itemCnt++;
         if ($itemCnt >= $arParams["GROUPS_COUNT"] && $arParams["GROUPS_COUNT"] > 0) {
             break;
         }
     }
 }
 $cnt = count($arResult["GROUPS"]);
 $row1 = ceil($cnt / $arParams["COLS_COUNT"]);
 $all = $cnt - $row1;
 for ($i = 1; $i < $arParams["COLS_COUNT"]; $i++) {
     if ($arParams["COLS_COUNT"] - $i > 1) {
         ${"row" . ($i + 1)} = ceil($all / ($arParams["COLS_COUNT"] - $i));
Ejemplo n.º 4
0
}
$user_id = IntVal($USER->GetID());
$arResult["USER_ID"] = $user_id;
$arResult["TZ_OFFSET"] = CTimeZone::GetOffset();
if (!$arResult["bFromList"]) {
    $arParams["USE_CUT"] = "N";
    $arFilterblg = array("ACTIVE" => "Y", "USE_SOCNET" => "Y", "GROUP_ID" => $arParams["GROUP_ID"], "GROUP_SITE_ID" => SITE_ID, "OWNER_ID" => $arParams["USER_ID"]);
    $cacheTtl = 3153600;
    $cacheId = 'blog_post_blog_' . md5(serialize($arFilterblg));
    $cacheDir = '/blog/form/blog/';
    $obCache = new CPHPCache();
    if ($obCache->InitCache($cacheTtl, $cacheId, $cacheDir)) {
        $arBlog = $obCache->GetVars();
    } else {
        $obCache->StartDataCache();
        $dbBl = CBlog::GetList(array(), $arFilterblg);
        $arBlog = $dbBl->Fetch();
        if (!$arBlog && IsModuleInstalled("intranet")) {
            $arIdeaBlogGroupID = array();
            if (IsModuleInstalled("idea")) {
                $rsSite = CSite::GetList($by = "sort", $order = "desc", array("ACTIVE" => "Y"));
                while ($arSite = $rsSite->Fetch()) {
                    $arIdeaBlogGroupID[] = COption::GetOptionInt("idea", "blog_group_id", false, $arSite["LID"]);
                }
            }
            if (empty($arIdeaBlogGroupID)) {
                $arBlog = CBlog::GetByOwnerID($arParams["USER_ID"]);
            } else {
                $arBlogGroupID = array();
                $rsBlogGroup = CBlogGroup::GetList(array(), array(), false, false, array("ID"));
                while ($arBlogGroup = $rsBlogGroup->Fetch()) {
Ejemplo n.º 5
0
                }
                break;
        }
    }
}
$arHeaders = array(array("id" => "ID", "content" => "ID", "sort" => "ID", "default" => true), array("id" => "NAME", "content" => GetMessage("BLB_NAME"), "sort" => "NAME", "default" => true), array("id" => "DATE_CREATE", "content" => GetMessage('BLB_DATE_CREATE'), "sort" => "DATE_CREATE", "default" => true), array("id" => "DATE_UPDATE", "content" => GetMessage('BLB_DATE_UPDATE'), "sort" => "DATE_UPDATE", "default" => true), array("id" => "ACTIVE", "content" => GetMessage('BLB_ACTIVE'), "sort" => "ACTIVE", "default" => true), array("id" => "OWNER_INFO", "content" => GetMessage('BLB_OWNER_ID'), "sort" => "", "default" => true), array("id" => "SOCNET_GROUP_ID", "content" => GetMessage('BLB_SOCNET_GROUP_ID'), "sort" => "SOCNET_GROUP_ID"), array("id" => "URL", "content" => GetMessage('BLB_URL'), "sort" => "URL", "default" => true), array("id" => "GROUP_ID", "content" => GetMessage('BLB_GROUP_ID'), "sort" => "GROUP_ID", "default" => true), array("id" => "USE_SOCNET", "content" => GetMessage('BLB_USE_SOCNET'), "sort" => "USE_SOCNET", "default" => false));
$USER_FIELD_MANAGER->AdminListAddHeaders("BLOG_BLOG", $arHeaders);
$lAdmin->AddHeaders($arHeaders);
$arVisibleColumns = $lAdmin->GetVisibleHeaderColumns();
$arSelectedFields = array("ID", "NAME", "DATE_CREATE", "DATE_UPDATE", "ACTIVE", "OWNER_ID", "URL", "REAL_URL", "GROUP_ID", "OWNER_LOGIN", "OWNER_NAME", "OWNER_LAST_NAME", "OWNER_EMAIL", "GROUP_NAME", "GROUP_SITE_ID", "SOCNET_GROUP_ID", "USE_SOCNET");
foreach ($arVisibleColumns as $val) {
    if (!in_array($val, $arSelectedFields)) {
        $arSelectedFields[] = $val;
    }
}
$dbResultList = CBlog::GetList(array($by => $order), $arFilter, false, array("nPageSize" => CAdminResult::GetNavSize($sTableID)), $arSelectedFields);
$dbResultList = new CAdminResult($dbResultList, $sTableID);
$dbResultList->NavStart();
$lAdmin->NavText($dbResultList->GetNavPrint(GetMessage("BLB_GROUP_NAV")));
while ($arBlog = $dbResultList->NavNext(true, "f_")) {
    $row =& $lAdmin->AddRow($f_ID, $arBlog, "/bitrix/admin/blog_blog_edit.php?ID=" . $f_ID . "&lang=" . LANGUAGE_ID, GetMessage("BLB_UPDATE_ALT"));
    $row->AddField("ID", '<a href="/bitrix/admin/blog_blog_edit.php?ID=' . $f_ID . '&lang=' . LANGUAGE_ID . '" title="' . GetMessage("BLB_UPDATE_ALT") . '">' . $f_ID . '</a>');
    $row->AddField("NAME", "<a href=\"" . CBlog::PreparePath($f_URL, $f_GROUP_SITE_ID, false, $f_OWNER_ID, $f_SOCNET_GROUP_ID) . "\">" . $f_NAME . "</a>");
    $row->AddField("DATE_CREATE", $f_DATE_CREATE);
    $row->AddField("DATE_UPDATE", $f_DATE_UPDATE);
    $row->AddField("ACTIVE", $f_ACTIVE == "Y" ? GetMessage("BLB_YES") : GetMessage("BLB_NO"));
    if (IntVal($f_OWNER_ID) > 0) {
        $row->AddField("OWNER_INFO", "<a href=\"/bitrix/admin/user_edit.php?ID=" . $f_OWNER_ID . "&lang=" . LANG . "\">[" . $f_OWNER_ID . "] " . $f_OWNER_NAME . " " . $f_OWNER_LAST_NAME . " (" . $f_OWNER_LOGIN . ")</a>");
    }
    if (IntVal($f_SOCNET_GROUP_ID) > 0) {
        $row->AddField("SOCNET_GROUP_ID", $f_SOCNET_GROUP_ID);
Ejemplo n.º 6
0
if (CModule::IncludeModule("blog")) {
    $USER_ID = intval($USER->GetID());
    $ID = intval($ID);
    if (!$ID) {
        $ID = intval($_POST['ID']);
    }
    $BLOG_ID = intval($BLOG_ID);
    if (!$BLOG_ID) {
        $BLOG_ID = intval($_POST['BLOG_ID']);
    }
    $arr = CBlogSitePath::GetBySiteID(SITE_ID);
    $sBlogPath = $arr['PATH'];
    if ($BLOG_ID) {
        $arBlog = CBlog::GetByID($BLOG_ID);
    } else {
        $res = CBlog::GetList(array(), array("URL" => $OWNER));
        $arBlog = $res->Fetch();
        $BLOG_ID = intval($arBlog['ID']);
    }
    if ($arBlog) {
        if (IntVal($ID) > 0 && ($arPost = CBlogPost::GetByID($ID))) {
            $APPLICATION->SetTitle(str_replace("#BLOG#", htmlspecialchars($arBlog["NAME"]), "" . GetMessage("BLOG_POST_EDIT") . ""));
            $perms = CBlogPost::GetBlogUserPostPerms($ID, $USER_ID);
        } else {
            $ID = 0;
            $APPLICATION->SetTitle(str_replace("#BLOG#", htmlspecialchars($arBlog["NAME"]), "" . GetMessage("BLOG_NEW_MESSAGE") . ""));
            $perms = CBlog::GetBlogUserPostPerms($BLOG_ID, $USER_ID);
        }
        if ($perms >= BLOG_PERMS_WRITE && (intval($arPost['ID']) == 0 || $arPost['BLOG_ID'] == $BLOG_ID)) {
            ###### Form ####
            $image_form = '
Ejemplo n.º 7
0
 function SetSoNetFeaturePermIndexSearch($ID, $arFields)
 {
     $featurePerm = CSocNetFeaturesPerms::GetByID($ID);
     if ($featurePerm["OPERATION_ID"] == "view_post") {
         if (CModule::IncludeModule("socialnetwork")) {
             $feature = CSocNetFeatures::GetByID($featurePerm["FEATURE_ID"]);
             if ($feature["FEATURE"] == "blog" && IntVal($feature["ENTITY_ID"]) > 0) {
                 if ($feature["ACTIVE"] == "Y" && ($feature["ENTITY_TYPE"] == "U" && $arFields["ROLE"] == "A" || $feature["ENTITY_TYPE"] == "G" && $arFields["ROLE"] == "N")) {
                     $arFilter = array("USE_SOCNET" => "Y");
                     if ($feature["ENTITY_TYPE"] == "U") {
                         $arFilter["OWNER_ID"] = $feature["ENTITY_ID"];
                     } else {
                         $arFilter["SOCNET_GROUP_ID"] = $feature["ENTITY_ID"];
                     }
                     $dbBlog = CBlog::GetList(array(), $arFilter, false, array("nTopCount" => 1), array("ID", "SOCNET_GROUP_ID"));
                     if ($arBlog = $dbBlog->Fetch()) {
                         CBlog::AddSocnetRead($arBlog["ID"]);
                     }
                 } else {
                     $arFilter = array("USE_SOCNET" => "Y");
                     if ($feature["ENTITY_TYPE"] == "U") {
                         $arFilter["OWNER_ID"] = $feature["ENTITY_ID"];
                     } else {
                         $arFilter["SOCNET_GROUP_ID"] = $feature["ENTITY_ID"];
                     }
                     $dbBlog = CBlog::GetList(array(), $arFilter, false, array("nTopCount" => 1), array("ID", "SOCNET_GROUP_ID"));
                     if ($arBlog = $dbBlog->Fetch()) {
                         CBlog::DeleteSocnetRead($arBlog["ID"]);
                     }
                 }
                 if ($arBlog && 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);
                 }
                 foreach ($arSites as $site_id_tmp) {
                     BXClearCache(True, "/" . $site_id_tmp . "/blog/sonet/");
                 }
             }
         }
     }
 }
Ejemplo n.º 8
0
 $cache_pathSoNet = "/" . SITE_ID . "/blog/sonet/";
 if ($arParams["CACHE_TIME"] > 0 && $cacheSoNet->InitCache($arParams["CACHE_TIME"], $cache_idSoNet, $cache_pathSoNet)) {
     $Vars = $cacheSoNet->GetVars();
     $arAvBlog = $Vars["arAvBlog"];
     CBitrixComponentTemplate::ApplyCachedData($Vars["templateCachedData"]);
     $cacheSoNet->Output();
 } else {
     if ($arParams["CACHE_TIME"] > 0) {
         $cacheSoNet->StartDataCache($arParams["CACHE_TIME"], $cache_idSoNet, $cache_pathSoNet);
     }
     $arAvBlog = array();
     $arFilterTmp = array("ACTIVE" => "Y", "GROUP_SITE_ID" => SITE_ID);
     if (IntVal($arParams["GROUP_ID"]) > 0) {
         $arFilterTmp["GROUP_ID"] = $arParams["GROUP_ID"];
     }
     $dbBlog = CBlog::GetList(array(), $arFilterTmp);
     while ($arBlog = $dbBlog->Fetch()) {
         if (IntVal($arBlog["SOCNET_GROUP_ID"]) > 0) {
             $featureOperationPerms = CSocNetFeaturesPerms::GetOperationPerm(SONET_ENTITY_GROUP, $arBlog["SOCNET_GROUP_ID"], "blog", "view_post");
             if ($featureOperationPerms == SONET_ROLES_ALL) {
                 $arAvBlog[] = $arBlog["ID"];
             }
         } else {
             $featureOperationPerms = CSocNetFeaturesPerms::GetOperationPerm(SONET_ENTITY_USER, $arBlog["OWNER_ID"], "blog", "view_post");
             if ($featureOperationPerms == SONET_RELATIONS_TYPE_ALL) {
                 $arAvBlog[] = $arBlog["ID"];
             }
         }
     }
     if ($arParams["CACHE_TIME"] > 0) {
         $cacheSoNet->EndDataCache(array("templateCachedData" => $this->GetTemplateCachedData(), "arAvBlog" => $arAvBlog));
Ejemplo n.º 9
0
     $arSelectedFields[] = "SOCNET_BLOG_READ";
     $arFilter["BLOG_USE_SOCNET"] = "Y";
 } elseif ((IntVal($arParams["SOCNET_GROUP_ID"]) > 0 || IntVal($arParams["USER_ID"]) > 0) && $arParams["USE_SOCNET"] == "Y") {
     $user_id = $USER->GetID();
     $arFilterTmp = array("ACTIVE" => "Y", "GROUP_SITE_ID" => SITE_ID, "USE_SOCNET" => "Y");
     if (IntVal($arParams["SOCNET_GROUP_ID"]) > 0) {
         $arFilterTmp["SOCNET_GROUP_ID"] = $arParams["SOCNET_GROUP_ID"];
     }
     if (IntVal($arParams["USER_ID"]) > 0) {
         $arFilterTmp["OWNER_ID"] = $arParams["USER_ID"];
     }
     if (!empty($arParams["GROUP_ID"])) {
         $arFilterTmp["GROUP_ID"] = $arParams["GROUP_ID"];
     }
     $perms = BLOG_PERMS_DENY;
     $dbBlog = CBlog::GetList(array(), $arFilterTmp, false, array("nTopCount" => 1), array("ID"));
     if ($arBlog = $dbBlog->Fetch()) {
         if (IntVal($arParams["SOCNET_GROUP_ID"]) > 0) {
             $perms = BLOG_PERMS_DENY;
             if (CSocNetFeaturesPerms::CanPerformOperation($user_id, SONET_ENTITY_GROUP, $arParams["SOCNET_GROUP_ID"], "blog", "full_post", CSocNetUser::IsCurrentUserModuleAdmin()) || $APPLICATION->GetGroupRight("blog") >= "W") {
                 $perms = BLOG_PERMS_FULL;
             } elseif (CSocNetFeaturesPerms::CanPerformOperation($user_id, SONET_ENTITY_GROUP, $arParams["SOCNET_GROUP_ID"], "blog", "write_post")) {
                 $perms = BLOG_PERMS_WRITE;
             } elseif (CSocNetFeaturesPerms::CanPerformOperation($user_id, SONET_ENTITY_GROUP, $arParams["SOCNET_GROUP_ID"], "blog", "view_post")) {
                 $perms = BLOG_PERMS_READ;
             }
         } else {
             $perms = BLOG_PERMS_DENY;
             if (CSocNetFeaturesPerms::CanPerformOperation($user_id, SONET_ENTITY_USER, $arParams["USER_ID"], "blog", "full_post", CSocNetUser::IsCurrentUserModuleAdmin()) || $APPLICATION->GetGroupRight("blog") >= "W" || $arParams["USER_ID"] == $user_id) {
                 $perms = BLOG_PERMS_FULL;
             } elseif (CSocNetFeaturesPerms::CanPerformOperation($user_id, SONET_ENTITY_USER, $arParams["USER_ID"], "blog", "write_post")) {
Ejemplo n.º 10
0
         if ($USER->IsAdmin() || $blogModulePermissions >= "W") {
             $arFlt = array("ACTIVE" => "Y", "GROUP_SITE_ID" => SITE_ID, "!ID" => $arBlog["ID"]);
             $dbBlog = CBlog::GetList(array("NAME" => "ASC"), $arFlt, false, false, array("ID", "NAME", "OWNER_ID", "URL", "GROUP_ID", "GROUP_NAME"));
             while ($arBlogS = $dbBlog->GetNext()) {
                 $arBlogS["PERMS"] = BLOG_PERMS_FULL;
                 $arResult["avBlog"][$arBlogS["ID"]] = $arBlogS;
             }
         } else {
             $arFlt = array("USE_SOCNET" => "N", ">=PERMS" => BLOG_PERMS_PREMODERATE, "PERMS_TYPE" => BLOG_PERMS_POST, "PERMS_USER_ID" => $user_id, "PERMS_POST_ID" => false, "ACTIVE" => "Y", "GROUP_SITE_ID" => SITE_ID, "!ID" => $arBlog["ID"]);
             $dbBlog = CBlog::GetList(array("NAME" => "ASC"), $arFlt, false, false, array("ID", "NAME", "OWNER_ID", "URL", "PERMS", "GROUP_ID", "GROUP_NAME"));
             while ($arBlogS = $dbBlog->GetNext()) {
                 $arBlogS["USE_SOCNET"] = "N";
                 $arResult["avBlog"][$arBlogS["ID"]] = $arBlogS;
             }
             $arFlt = array("OWNER_ID" => $user_id, "ACTIVE" => "Y", "GROUP_SITE_ID" => SITE_ID, "!ID" => $arBlog["ID"]);
             $dbBlog = CBlog::GetList(array("NAME" => "ASC"), $arFlt, false, false, array("ID", "NAME", "OWNER_ID", "URL", "GROUP_ID", "GROUP_NAME"));
             while ($arBlogS = $dbBlog->GetNext()) {
                 $arBlogS["PERMS"] = BLOG_PERMS_FULL;
                 $arResult["avBlog"][$arBlogS["ID"]] = $arBlogS;
             }
         }
         foreach ($arResult["avBlog"] as $id => $blog) {
             $arResult["avBlogCategory"]["users_" . $blog["GROUP_ID"]][$id] = $blog;
         }
     }
 } else {
     $arResult["PostToShow"]["TITLE"] = htmlspecialcharsEx($_POST["POST_TITLE"]);
     $arResult["PostToShow"]["CATEGORY_ID"] = $_POST["CATEGORY_ID"];
     $arResult["PostToShow"]["CategoryText"] = htmlspecialcharsEx($_POST["TAGS"]);
     $arResult["PostToShow"]["DETAIL_TEXT_TYPE"] = htmlspecialcharsEx($_POST["POST_MESSAGE_TYPE"]);
     $arResult["PostToShow"]["DETAIL_TEXT"] = $_POST["POST_MESSAGE_TYPE"] == "html" ? $_POST["POST_MESSAGE_HTML"] : htmlspecialcharsEx($_POST["POST_MESSAGE"]);
Ejemplo n.º 11
0
if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) {
    die;
}
/** @var array $arCurrentValues */
if (!CModule::IncludeModule("iblock")) {
    return;
}
if (!CModule::IncludeModule("blog")) {
    return;
}
//Get a list of all groups
$rsGroups = CGroup::GetList($by = "id", $order = "asc", array("ACTIVE" => "Y"));
if (intval($rsGroups->SelectedRowsCount()) > 0) {
    while ($arGroups = $rsGroups->Fetch()) {
        $arUsersGroups[$arGroups["ID"]] = $arGroups["NAME"] . " [" . $arGroups["ID"] . "]";
    }
}
//Get a list of IBlocks
$arIBlock = array();
$rsIBlock = CIBlock::GetList(array("sort" => "asc"), array("ACTIVE" => "Y"));
while ($arEl = $rsIBlock->Fetch()) {
    $arIBlock[$arEl["ID"]] = $arEl["NAME"] . " [" . $arEl["ID"] . "]";
}
//Get a list of groups blogs
$arFilter = array();
$arSelectedFields = array("ID", "NAME");
$dbBlogs = CBlog::GetList(array(), $arFilter, false, false, $arSelectedFields);
while ($arBlog = $dbBlogs->Fetch()) {
    $arBlogs[$arBlog["ID"]] = $arBlog["NAME"] . " [" . $arBlog["ID"] . "]";
}
$arComponentParameters = array("GROUPS" => array(), "PARAMETERS" => array("EXPERTS_GROUP" => array("PARENT" => "BASE", "NAME" => GetMessage("SPIRA_STAT_EXPERTS_GROUP"), "TYPE" => "LIST", "VALUES" => $arUsersGroups), "QUESTIONS_IBLOCK_ID" => array("PARENT" => "BASE", "NAME" => GetMessage("SPIRA_STAT_QUESTIONS_IBLOCK_ID"), "TYPE" => "LIST", "VALUES" => $arIBlock), "CATEGORIES_IBLOCK_ID" => array("PARENT" => "BASE", "NAME" => GetMessage("SPIRA_STAT_CATEGORIES_IBLOCK_ID"), "TYPE" => "LIST", "VALUES" => $arIBlock), "WORK_IBLOCK_ID" => array("PARENT" => "BASE", "NAME" => GetMessage("SPIRA_STAT_WORK_IBLOCK_ID"), "TYPE" => "LIST", "VALUES" => $arIBlock), "BLOG_ID" => array("PARENT" => "BASE", "NAME" => GetMessage("SPIRA_STAT_BLOG_ID"), "TYPE" => "LIST", "VALUES" => $arBlogs), "CACHE_TIME" => array("DEFAULT" => 3600), "CACHE_FILTER" => array("PARENT" => "CACHE_SETTINGS", "NAME" => GetMessage("IBLOCK_CACHE_FILTER"), "TYPE" => "CHECKBOX", "DEFAULT" => "N"), "CACHE_GROUPS" => array("PARENT" => "CACHE_SETTINGS", "NAME" => GetMessage("CP_BNL_CACHE_GROUPS"), "TYPE" => "CHECKBOX", "DEFAULT" => "Y")));
Ejemplo n.º 12
0
 function AddFilterParams(&$arComponentParameters, $arCurrentValues, $name, $parent, $MULTIPLE = "Y")
 {
     $arComponentParameters["PARAMETERS"][$name] = array("PARENT" => $parent, "NAME" => GetMessage("SEARCH_CP_WHERE_FILTER"), "TYPE" => "LIST", "MULTIPLE" => $MULTIPLE, "VALUES" => CSearchParameters::GetFilterDropDown(true), "DEFAULT" => "all", "REFRESH" => "Y");
     if (!is_array($arCurrentValues[$name]) && strlen($arCurrentValues[$name]) > 0) {
         $arCurrentValues[$name] = array($arCurrentValues[$name]);
     }
     if (is_array($arCurrentValues[$name])) {
         foreach ($arCurrentValues[$name] as $strFILTER) {
             if ($strFILTER == "main") {
                 $arComponentParameters["PARAMETERS"][$name . "_" . $strFILTER] = array("PARENT" => $parent, "NAME" => GetMessage("SEARCH_CP_URL"), "TYPE" => "STRING", "MULTIPLE" => $MULTIPLE, "ADDITIONAL_VALUES" => "Y", "DEFAULT" => "");
             } elseif ($strFILTER == "forum") {
                 $arrFILTER = array();
                 if (CModule::IncludeModule("forum")) {
                     $arrFILTER["all"] = GetMessage("SEARCH_CP_ALL");
                     $rsForum = CForumNew::GetList();
                     while ($arForum = $rsForum->Fetch()) {
                         $arrFILTER[$arForum["ID"]] = $arForum["NAME"];
                     }
                 }
                 $arComponentParameters["PARAMETERS"][$name . "_" . $strFILTER] = array("PARENT" => $parent, "NAME" => GetMessage("SEARCH_CP_FORUM"), "TYPE" => "LIST", "MULTIPLE" => $MULTIPLE, "VALUES" => $arrFILTER, "ADDITIONAL_VALUES" => "N", "DEFAULT" => "all");
             } elseif (strpos($strFILTER, "iblock_") === 0) {
                 $arrFILTER = array();
                 if (CModule::IncludeModule("iblock")) {
                     $arrFILTER["all"] = GetMessage("SEARCH_CP_ALL");
                     $rsIBlock = CIBlock::GetList(array("SORT" => "ASC"), array("TYPE" => substr($strFILTER, 7)));
                     while ($arIBlock = $rsIBlock->Fetch()) {
                         $arrFILTER[$arIBlock["ID"]] = $arIBlock["NAME"];
                     }
                 }
                 $arComponentParameters["PARAMETERS"][$name . "_" . $strFILTER] = array("PARENT" => $parent, "NAME" => GetMessage("SEARCH_CP_IBLOCK_TYPE", array("#TYPE_ID#" => $strFILTER)), "TYPE" => "LIST", "MULTIPLE" => $MULTIPLE, "VALUES" => $arrFILTER, "ADDITIONAL_VALUES" => "N", "DEFAULT" => "all");
             } elseif ($strFILTER == "blog") {
                 $arrFILTER = array();
                 if (CModule::IncludeModule("blog")) {
                     $arrFILTER["all"] = GetMessage("SEARCH_CP_ALL");
                     $rsBlog = CBlog::GetList();
                     while ($arBlog = $rsBlog->Fetch()) {
                         $arrFILTER[$arBlog["ID"]] = $arBlog["NAME"];
                     }
                 }
                 $arComponentParameters["PARAMETERS"][$name . "_" . $strFILTER] = array("PARENT" => $parent, "NAME" => GetMessage("SEARCH_CP_BLOG"), "TYPE" => "LIST", "MULTIPLE" => $MULTIPLE, "VALUES" => $arrFILTER, "ADDITIONAL_VALUES" => "N", "DEFAULT" => "all");
             } elseif ($strFILTER == "socialnetwork") {
                 $arrFILTER = array();
                 if (CModule::IncludeModule("socialnetwork")) {
                     $arrFILTER["all"] = GetMessage("SEARCH_CP_ALL");
                     $rsGroup = CSocNetGroup::GetList(array("ID" => "DESC"), array(), false, false, array("ID", "NAME"));
                     while ($arGroup = $rsGroup->Fetch()) {
                         $arrFILTER[$arGroup["ID"]] = $arGroup["NAME"];
                     }
                 }
                 $arComponentParameters["PARAMETERS"][$name . "_" . $strFILTER] = array("PARENT" => $parent, "NAME" => GetMessage("SEARCH_CP_SOCIALNETWORK_GROUPS"), "TYPE" => "LIST", "MULTIPLE" => $MULTIPLE, "VALUES" => $arrFILTER, "ADDITIONAL_VALUES" => "N", "DEFAULT" => "all");
             } elseif ($strFILTER == "socialnetwork_user") {
                 $arComponentParameters["PARAMETERS"][$name . "_" . $strFILTER] = array("PARENT" => "DATA_SOURCE", "NAME" => GetMessage("SEARCH_CP_SOCIALNETWORK_USER"), "TYPE" => "STRING", "DEFAULT" => "");
             }
         }
     }
 }
Ejemplo n.º 13
0
<?php

if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) {
    die;
} elseif (!CModule::IncludeModule("blog")) {
    return;
}
$SocNetGroupID = false;
$db_blog_group = CBlogGroup::GetList(array("ID" => "ASC"), array("SITE_ID" => WIZARD_SITE_ID, "NAME" => "[" . WIZARD_SITE_ID . "] " . GetMessage("BLOG_DEMO_GROUP_SOCNET")));
if ($res_blog_group = $db_blog_group->Fetch()) {
    $SocNetGroupID = $res_blog_group["ID"];
    if (WIZARD_INSTALL_DEMO_DATA) {
        $db_blog = CBlog::GetList(array(), array("GROUP_ID" => $res_blog_group["ID"]), false, false, array("ID"));
        if ($res_blog = $db_blog->Fetch()) {
            do {
                CBlog::Delete($res_blog["ID"]);
            } while ($res_blog = $db_blog->Fetch());
        }
        if (CModule::IncludeModule("socialnetwork")) {
            $db_log = CSocNetLog::GetList(array("ID" => "DESC"), array("SITE_ID" => WIZARD_SITE_ID, "EVENT_ID" => array("blog", "blog_post", "blog_comment")), false, false, array("ID"));
            while ($arLog = $db_log->Fetch()) {
                CSocNetLog::Delete($arLog["ID"]);
            }
        }
        BXClearCache(True, "/" . WIZARD_SITE_ID . "/blog/");
    } else {
        CWizardUtil::ReplaceMacros(WIZARD_SITE_PATH . "/_index.php", array("BLOG_GROUP_ID" => $SocNetGroupID));
        CWizardUtil::ReplaceMacros(WIZARD_SITE_PATH . "/index.php", array("BLOG_GROUP_ID" => $SocNetGroupID));
        CWizardUtil::ReplaceMacros(WIZARD_SITE_PATH . "/people/user.php", array("BLOG_GROUP_ID" => $SocNetGroupID));
        CWizardUtil::ReplaceMacros(WIZARD_SITE_PATH . "/groups/group.php", array("BLOG_GROUP_ID" => $SocNetGroupID));
        CWizardUtil::ReplaceMacros(WIZARD_SITE_PATH . "/blogs/index.php", array("BLOG_GROUP_ID" => $SocNetGroupID));
Ejemplo n.º 14
0
IncludeTemplateLangFile(__FILE__);
/*
$APPLICATION->IncludeFile("blog/blog/bloginfo.php", 
	Array(
		"URL"=>$arFolders[0],
		"CATEGORY" => $category,
		"CACHE_TIME"=>0,
	)
);
*/
if (CModule::IncludeModule("blog")) {
    $is404 = $is404 == 'N' ? false : true;
    $CACHE_TIME = intval($CACHE_TIME);
    $category = IntVal($CATEGORY);
    $arSelectFields = array("ID", "NAME", "URL", "ACTIVE", "OWNER_ID");
    $dbBlog = CBlog::GetList(array(), array("URL" => $URL, "ACTIVE" => "Y"), false, array("nTopCount" => 1), $arSelectedFields);
    if ($arBlog = $dbBlog->Fetch()) {
        echo '<div align="left" style="padding-left:25px;">';
        echo '<p><font class="blogtext"><b><a href="' . CBlog::PreparePath($arBlog["URL"], SITE_ID, $is404) . '">';
        echo htmlspecialcharsex($arBlog["NAME"]);
        echo '</a></b></font><br><br>';
        $arUserBlog = CBlogUser::GetByID($arBlog["OWNER_ID"], BLOG_BY_USER_ID);
        $dbUser = CUser::GetByID($arBlog["OWNER_ID"]);
        $arUser = $dbUser->Fetch();
        $AuthorName = CBlogUser::GetUserName($arUserBlog["ALIAS"], $arUser["NAME"], $arUser["LAST_NAME"], $arUser["LOGIN"]);
        echo '<a href="' . CBlogUser::PreparePath($arBlog["OWNER_ID"], SITE_ID, $is404) . '">';
        echo CFile::ShowImage($arUserBlog["AVATAR"], 100, 100, 'title="' . $AuthorName . '" border="0"');
        echo '</a></p>';
        if ($GLOBALS["USER"]->IsAuthorized()) {
            $arMyBlog = CBlog::GetByOwnerID($GLOBALS["USER"]->GetID());
            if ($arMyBlog && $arMyBlog["ID"] != $arBlog["ID"]) {
Ejemplo n.º 15
0
		"CACHE_TIME"=>0,
	)
); 
*/
if (CModule::IncludeModule("blog")) {
    $CACHE_TIME = intval($CACHE_TIME);
    $ID = IntVal($ID);
    $BLOG_URL = preg_replace("/[^a-zA-Z0-9_-]/is", "", Trim($BLOG_URL));
    $TBLenght = IntVal($TBLenght) > 0 ? IntVal($TBLenght) : false;
    $editPage = strlen($EDIT_PAGE) > 0 ? $EDIT_PAGE : "post_edit.php";
    $is404 = $is404 == 'N' ? false : true;
    $USER_ID = $USER->GetID();
    $PostPerm = CBlogPost::GetBlogUserPostPerms($ID, $USER_ID);
    $arPost = CBlogPost::GetByID($ID);
    $arBlog = CBlog::GetByID($arPost["BLOG_ID"]);
    $dbBlog = CBlog::GetList(array(), array("URL" => $BLOG_URL), false, array("nTopCount" => 1));
    if (($arBlogUrl = $dbBlog->Fetch()) || strlen($BLOG_URL) <= 0) {
        $APPLICATION->SetTitle($arPost["TITLE"]);
        $APPLICATION->AddChainItem($arBlogUrl["NAME"], CBlog::PreparePath($arBlogUrl["URL"]));
        //Заявка на чтение блога
        if ($_GET["become_friend"] == "Y" && $PostPerm < BLOG_PERMS_READ) {
            if ($USER->IsAuthorized()) {
                $dbCandidate = CBlogCandidate::GetList(array(), array("BLOG_ID" => $arBlog["ID"], "USER_ID" => $USER_ID));
                if ($arCandidate = $dbCandidate->Fetch()) {
                    echo '<font class="text">' . GetMessage("B_B_MES_REQUEST_ALREADY") . '</font>';
                } else {
                    if (CBlogCandidate::Add(array("BLOG_ID" => $arBlog["ID"], "USER_ID" => $USER_ID))) {
                        echo '<font class="text">' . GetMessage("B_B_MES_REQUEST_ADDED") . '</font>';
                    } else {
                        echo ShowError(GetMessage("B_B_MES_REQUEST_ERROR"));
                    }
Ejemplo n.º 16
0
    }
    if (strtolower($TYPE) == "atom") {
        $TYPE = "Atom .03";
    }
    $CACHE_TIME = IntVal($CACHE_TIME);
    $cache = new CPHPCache();
    $cache_id = "blog_rss_out_" . $BLOG_URL . "_" . $NUM_POSTS . "_" . $TYPE;
    $cache_path = "/" . SITE_ID . "/blog/" . $BLOG_URL . "/rss_out/" . strtolower($TYPE_CACHE) . "/";
    global $APPLICATION;
    $APPLICATION->RestartBuffer();
    header("Content-Type: text/xml");
    header("Pragma: no-cache");
    if ($CACHE_TIME > 0 && $cache->InitCache($CACHE_TIME, $cache_id, $cache_path)) {
        $cache->Output();
    } else {
        $dbBlog = CBlog::GetList(array(), array("URL" => $BLOG_URL), false, false, array("ID"));
        if ($arBlog = $dbBlog->Fetch()) {
            if ($textRSS = CBlog::BuildRSS($arBlog["ID"], $TYPE, $NUM_POSTS)) {
                if ($CACHE_TIME > 0) {
                    $cache->StartDataCache($CACHE_TIME, $cache_id, $cache_path);
                }
                echo $textRSS;
                if ($CACHE_TIME > 0) {
                    $cache->EndDataCache(array());
                }
            }
        }
    }
    die;
    //*******************************************************
}
Ejemplo n.º 17
0
         }
     } else {
         $errorMessage .= GetMessage("BLOG_BLOG_SESSID_WRONG") . "<br />";
     }
 }
 if (isset($_REQUEST["add_friend"]) && is_array($_REQUEST["add_friend"])) {
     if (check_bitrix_sessid()) {
         foreach ($_REQUEST["add_friend"] as $key => $friend) {
             $arFriendUsers = array();
             if (StrLen($friend) > 0) {
                 $arUserID = array();
                 $dbUsers = CBlogUser::GetList(array(), array("GROUP_BLOG_ID" => $arBlog["ID"]), array("ID", "USER_ID"));
                 while ($arUsers = $dbUsers->Fetch()) {
                     $arFriendUsers[] = $arUsers["USER_ID"];
                 }
                 $dbSearchUser = CBlog::GetList(array(), array("URL" => $friend), false, false, array("ID", "OWNER_ID"));
                 if ($arSearchUser = $dbSearchUser->Fetch()) {
                     $arUserID[] = $arSearchUser["OWNER_ID"];
                 }
                 /*
                 $dbSearchUser = CBlog::GetList(array(), array("NAME" => $friend), false, false, array("ID", "OWNER_ID"));
                 while(($arSearchUser = $dbSearchUser->Fetch()) && !in_array($arSearchUser["OWNER_ID"], $arUserID))
                 	$arUserID[] = $arSearchUser["OWNER_ID"];
                 */
                 $canUseAlias = COption::GetOptionString("blog", "allow_alias", "Y");
                 if ($canUseAlias == "Y") {
                     $dbSearchUser = CBlogUser::GetList(array(), array("ALIAS" => $friend), false, false, array("ID", "USER_ID"));
                     if (($arSearchUser = $dbSearchUser->Fetch()) && !in_array($arSearchUser["USER_ID"], $arUserID)) {
                         $arUserID[] = $arSearchUser["USER_ID"];
                     }
                 }
Ejemplo n.º 18
0
$arCurrentValues = is_array($arCurrentValues) ? $arCurrentValues : array();
//IB Idea category
$arIb = array();
$oRes = CIblock::GetList(array("IBLOCK_ID" => "ASC", "NAME" => "DESC"), array('ACTIVE' => 'Y'));
while ($arRes = $oRes->Fetch()) {
    $arIb[$arRes["ID"]] = '(' . $arRes["IBLOCK_TYPE_ID"] . ') ' . $arRes["NAME"];
}
//Default Idea Status
$arUFStatus = array();
$arStatusList = CIdeaManagment::getInstance()->Idea()->GetStatusList();
foreach ($arStatusList as $Status) {
    $arUFStatus[$Status["ID"]] = $Status["VALUE"];
}
//Blog URL
$arBlog = array();
$dbBlog = CBlog::GetList(array("NAME" => "ASC"), array("ACTIVE" => "Y"), false, false, array("ID", "NAME", "URL"));
while ($Blog = $dbBlog->Fetch()) {
    $arBlog[$Blog["URL"]] = $Blog["NAME"];
}
$arComponentParameters = array("PARAMETERS" => array("BLOG_URL" => array("NAME" => GetMessage("ONE_BLOG_BLOG_URL"), "TYPE" => "LIST", "DEFAULT" => "", "PARENT" => "BASE", "REFRESH" => "Y", "VALUES" => $arBlog, "ADDITIONAL_VALUES" => "Y"), "IBLOCK_CATEGORIES" => array("TYPE" => "LIST", "NAME" => GetMessage("BC_POST_IBLOCK_CATEGORIES"), "VALUES" => $arIb, "MULTIPLE" => "N", "DEFAULT" => "", "PARENT" => "BASE"), "PATH_IDEA_INDEX" => array("NAME" => GetMessage("IDEA_PARAM_PATH_IDEA_INDEX"), "TYPE" => "STRING", "DEFAULT" => '/services/idea/', "PARENT" => "BASE"), "PATH_IDEA_POST" => array("NAME" => GetMessage("IDEA_PARAM_PATH_IDEA_POST"), "TYPE" => "STRING", "DEFAULT" => '/services/idea/#post_id#/', "PARENT" => "BASE"), "BUTTON_COLOR" => array("NAME" => GetMessage("IDEA_PARAM_BUTTON_COLOR"), "TYPE" => "STRING", "DEFAULT" => '#3EA822', "PARENT" => "BASE"), "POST_BIND_STATUS_DEFAULT" => array("TYPE" => "LIST", "NAME" => GetMessage("IDEA_PARAM_POST_BIND_STATUS_DEFAULT"), "VALUES" => $arUFStatus, "MULTIPLE" => "N", "DEFAULT" => "", "PARENT" => "BASE"), "CATEGORIES_CNT" => array("NAME" => GetMessage("CATEGORIES_CNT"), "TYPE" => "STRING", "DEFAULT" => 4, "PARENT" => "VISUAL"), "LIST_MESSAGE_COUNT" => array("NAME" => GetMessage("BC_MESSAGE_COUNT"), "TYPE" => "STRING", "DEFAULT" => 8, "PARENT" => "VISUAL"), "AUTH_TEMPLATE" => array("PARENT" => "BASE", "NAME" => GetMessage("IDEA_PARAM_AUTH_TEMPLATE"), "TYPE" => "STRING", "DEFAULT" => ""), "FORGOT_PASSWORD_URL" => array("NAME" => GetMessage("IDEA_PARAM_FORGOT_PASSWORD_URL"), "TYPE" => "STRING", "DEFAULT" => '', "PARENT" => "BASE"), "REGISTER_URL" => array("NAME" => GetMessage("IDEA_PARAM_REGISTER_URL"), "TYPE" => "STRING", "DEFAULT" => '', "PARENT" => "BASE"), "CACHE_TIME" => array("DEFAULT" => 3600)));
//Rating
$arComponentParameters["PARAMETERS"]["SHOW_RATING"] = array("NAME" => GetMessage("B_SHOW_RATING"), "TYPE" => "CHECKBOX", "DEFAULT" => "N", "REFRESH" => "Y", "PARENT" => "ADDITIONAL_SETTINGS");
if ($arCurrentValues["SHOW_RATING"] == "Y") {
    $arComponentParameters["PARAMETERS"]["RATING_TEMPLATE"] = array("NAME" => GetMessage("IDEA_PARAM_RATING_TEMPLATE_TITLE"), "TYPE" => "LIST", "DEFAULT" => "standart", "REFRESH" => "N", "PARENT" => "ADDITIONAL_SETTINGS", "MULTIPLE" => "N", "VALUES" => array("standart" => GetMessage("IDEA_PARAM_RATING_TEMPLATE_STANDART"), "like" => GetMessage("IDEA_PARAM_RATING_TEMPLATE_LIKE")));
}
if (!array_key_exists("IBLOCK_CATEGORIES", $arCurrentValues) && array_key_exists("IBLOCK_CATOGORIES", $arCurrentValues)) {
    $arCurrentValues["IBLOCK_CATEGORIES"] = $arCurrentValues["IBLOCK_CATOGORIES"];
}
if (!array_key_exists("CATEGORIES_CNT", $arCurrentValues) && array_key_exists("CATOGORIES_CNT", $arCurrentValues)) {
    $arCurrentValues["CATEGORIES_CNT"] = $arCurrentValues["CATOGORIES_CNT"];
}
Ejemplo n.º 19
0
 private function CheckBlog()
 {
     $arFilter = array("URL" => $this->ModuleBlogUrl, "GROUP_ID" => $this->arResult["INSTALLATION"]["BLOG_GROUP_ID"]);
     if ($arBlog = CBlog::GetList(array(), $arFilter)->Fetch()) {
         $this->arResult["INSTALLATION"]["BLOG_INSTALL"] = false;
         $this->arResult["INSTALLATION"]["BLOG_ID"] = $arBlog["ID"];
     }
 }
Ejemplo n.º 20
0
 $SORT_ORDER1 = isset($SORT_ORDER1) ? $SORT_ORDER1 : "DESC";
 $SORT_BY2 = isset($SORT_BY2) ? $SORT_BY2 : "ID";
 $SORT_ORDER2 = isset($SORT_ORDER2) ? $SORT_ORDER2 : "DESC";
 $SORT = array($SORT_BY1 => $SORT_ORDER1, $SORT_BY2 => $SORT_ORDER2);
 $editPage = strlen($EDIT_PAGE) > 0 ? $EDIT_PAGE : "post_edit.php";
 $year = IntVal($YEAR) > 0 ? IntVal($YEAR) : false;
 $month = IntVal($MONTH) > 0 ? IntVal($MONTH) : false;
 $day = IntVal($DAY) > 0 ? IntVal($DAY) : false;
 $category = IntVal($CATEGORY) > 0 ? IntVal($CATEGORY) : false;
 $CACHE_TIME_SHORT = intval($CACHE_TIME_SHORT);
 $CACHE_TIME_LONG = intval($CACHE_TIME_LONG);
 $is404 = $is404 == 'N' ? false : true;
 $arSelectFields = array("ID", "NAME", "DESCRIPTION", "URL", "DATE_CREATE", "DATE_UPDATE", "ACTIVE", "OWNER_ID", "OWNER_NAME", "LAST_POST_DATE", "LAST_POST_ID", "BLOG_USER_AVATAR", "BLOG_USER_ALIAS");
 CpageOption::SetOptionString("main", "nav_page_in_session", "N");
 $APPLICATION->SetTitle(GetMessage("BLOG_BLOG_BLOG_TITLE"));
 $dbBlog = CBlog::GetList(array(), array("URL" => $BLOG_URL), false, array("nTopCount" => 1), $arSelectedFields);
 if ($arBlog = $dbBlog->Fetch()) {
     $user_id = $USER->GetID();
     $APPLICATION->SetTitle($arBlog["NAME"]);
     $title = $arBlog["NAME"] . " - ";
     $APPLICATION->AddChainItem($arBlog["NAME"], CBlog::PreparePath($arBlog["URL"], SITE_ID, $is404));
     $PostPerm = CBlog::GetBlogUserPostPerms($arBlog["ID"], $user_id);
     //Заявка на чтение блога
     if ($_GET["become_friend"] == "Y") {
         if ($USER->IsAuthorized()) {
             $dbCandidate = CBlogCandidate::GetList(array(), array("BLOG_ID" => $arBlog["ID"], "USER_ID" => $user_id));
             if ($arCandidate = $dbCandidate->Fetch()) {
                 echo '<font class="text">' . GetMessage("BLOG_BLOG_BLOG_REQUEST_ALREADY") . '</font>';
             } else {
                 if (CBlogCandidate::Add(array("BLOG_ID" => $arBlog["ID"], "USER_ID" => $user_id))) {
                     echo '<font class="text">' . GetMessage("BLOG_BLOG_BLOG_REQUEST_ADDED") . '</font>';
Ejemplo n.º 21
0
    $is404 = $is404 == 'N' ? false : true;
    $arFilter = array("SITE_ID" => SITE_ID, "GROUP_ID" => $ID, "ACTIVE" => "Y");
    $arSelectFields = array("ID", "NAME", "DESCRIPTION", "URL", "SITE_ID", "DATE_CREATE", "DATE_UPDATE", "ACTIVE", "OWNER_ID", "OWNER_LOGIN", "OWNER_NAME", "OWNER_LAST_NAME", "LAST_POST_DATE", "LAST_POST_ID", "BLOG_USER_AVATAR", "BLOG_USER_ALIAS");
    if ($arGroup = CBlogGroup::GetByID($ID)) {
        $APPLICATION->SetTitle($arGroup["NAME"]);
        //формируем кэш
        $cache = new CPHPCache();
        $cache_id = "blog_groups_" . serialize($arParams) . "_" . CDBResult::NavStringForCache($BLOGS_COUNT);
        $cache_path = "/" . SITE_ID . "/blog/groups/" . $ID . "/";
        if ($CACHE_TIME > 0 && $cache->InitCache($CACHE_TIME, $cache_id, $cache_path)) {
            $cache->Output();
        } else {
            if ($CACHE_TIME > 0) {
                $cache->StartDataCache($CACHE_TIME, $cache_id, $cache_path);
            }
            $dbBlogs = CBlog::GetList($SORT, $arFilter, false, $COUNT, $arSelectFields);
            if ($arBlogs = $dbBlogs->NavNext(false)) {
                //$dbBlogs->NavPrint(GetMessage("B_B_GR_TITLE"));
                do {
                    $urlToBlog = CBlog::PreparePath($arBlogs["URL"], SITE_ID, $is404);
                    $urlToPost = CBlogPost::PreparePath($arBlogs["URL"], $arBlogs["LAST_POST_ID"], SITE_ID, $is404);
                    $urlToAuthor = CBlogUser::PreparePath($arBlogs["OWNER_ID"], SITE_ID, $is404);
                    $AuthorName = CBlogUser::GetUserName($arBlogs["BLOG_USER_ALIAS"], $arBlogs["OWNER_NAME"], $arBlogs["OWNER_LAST_NAME"], $arBlogs["OWNER_LOGIN"]);
                    ?>
<table class="blogtableborder" cellspacing="1" cellpadding="0" width="100%" border="0">
						<tr>
						<td>
							<table border="0" width="100%" cellpadding="3" cellspacing="0" class="blogtablebody">
							<tr>
								<td class="blogtablehead" align="left" nowrap width="70%" style="padding-left:10px;"><font class="blogpostdate"><a href="<?php 
                    echo $urlToBlog;
Ejemplo n.º 22
0
					$blogExist = true;
					$blogGroupExist = true;
				}
				else
				{
					$newBlog = true;
					$arResult['BLOG_DATA']['BLOG_URL'] .= '_'.SITE_ID;
				}
			}
			unset($blogIterator);
			if (!$blogExist)
			{
				$blogIterator = CBlog::GetList(
					array(),
					array('URL' => $arResult['BLOG_DATA']['BLOG_URL']),
					false,
					false,
					array('ID', 'GROUP_ID', 'EMAIL_NOTIFY', 'GROUP_SITE_ID')
				);
				if ($blog = $blogIterator->Fetch())
				{
					if ($blog['GROUP_SITE_ID'] == SITE_ID)
					{
						$blogExist = true;
						$blogGroupExist = true;
					}
					else
					{
						$newBlog = true;
						$arResult['BLOG_DATA']['BLOG_URL'] .= '_'.$this->randString();
					}
Ejemplo n.º 23
0
 public static function PostIntoBuzzAsBlog($userTwit, $arSiteId = array(), $userLogin = '')
 {
     global $DB;
     if (!CModule::IncludeModule("blog")) {
         return;
     }
     $arParams = array();
     if (IsModuleInstalled('bitrix24') && defined('BX24_HOST_NAME') && $userLogin != '') {
         if ($arUserTwit = unserialize(base64_decode($userTwit))) {
             $userTwit = $arUserTwit;
         }
         if ($arSiteIdCheck = unserialize(base64_decode($arSiteId))) {
             $arSiteId = $arSiteIdCheck;
         }
         $dbUser = CUser::GetByLogin($userLogin);
         if ($arUser = $dbUser->Fetch()) {
             $arParams["USER_ID"] = $arUser["ID"];
         }
     } else {
         $arParams["USER_ID"] = $userTwit['kp_user_id'];
     }
     if (isset($arSiteId[$userTwit['kp_user_id']])) {
         $siteId = $arSiteId[$userTwit['kp_user_id']];
     }
     if (strlen($siteId) <= 0) {
         $siteId = SITE_ID;
     }
     if (isset($userTwit['text'])) {
         $arParams["GROUP_ID"] = COption::GetOptionString("socialnetwork", "userbloggroup_id", false, $siteId);
         $arParams["PATH_TO_BLOG"] = COption::GetOptionString("socialnetwork", "userblogpost_page", false, $siteId);
         $arParams["PATH_TO_SMILE"] = COption::GetOptionString("socialnetwork", "smile_page", false, $siteId);
         $arParams["NAME_TEMPLATE"] = COption::GetOptionString("main", "TOOLTIP_NAME_TEMPLATE", false, $siteId);
         $arParams["SHOW_LOGIN"] = '******';
         $arParams["PATH_TO_POST"] = $arParams["PATH_TO_BLOG"];
         $arFilterblg = array("ACTIVE" => "Y", "USE_SOCNET" => "Y", "GROUP_ID" => $arParams["GROUP_ID"], "GROUP_SITE_ID" => $siteId, "OWNER_ID" => $arParams["USER_ID"]);
         $groupId = is_array($arParams["GROUP_ID"]) ? IntVal($arParams["GROUP_ID"][0]) : IntVal($arParams["GROUP_ID"]);
         if (isset($GLOBALS["BLOG_POST"]["BLOG_P_" . $groupId . "_" . $arParams["USER_ID"]]) && !empty($GLOBALS["BLOG_POST"]["BLOG_P_" . $groupId . "_" . $arParams["USER_ID"]])) {
             $arBlog = $GLOBALS["BLOG_POST"]["BLOG_P_" . $groupId . "_" . $arParams["USER_ID"]];
         } else {
             $dbBl = CBlog::GetList(array(), $arFilterblg);
             $arBlog = $dbBl->Fetch();
             if (!$arBlog && IsModuleInstalled("intranet")) {
                 $arBlog = CBlog::GetByOwnerID($arParams["USER_ID"]);
             }
             $GLOBALS["BLOG_POST"]["BLOG_P_" . $groupId . "_" . $arParams["USER_ID"]] = $arBlog;
         }
         $arResult["Blog"] = $arBlog;
         if (empty($arBlog)) {
             if (!empty($arParams["GROUP_ID"])) {
                 $arFields = array("=DATE_UPDATE" => $DB->CurrentTimeFunction(), "GROUP_ID" => is_array($arParams["GROUP_ID"]) ? IntVal($arParams["GROUP_ID"][0]) : IntVal($arParams["GROUP_ID"]), "ACTIVE" => "Y", "ENABLE_COMMENTS" => "Y", "ENABLE_IMG_VERIF" => "Y", "EMAIL_NOTIFY" => "Y", "ENABLE_RSS" => "Y", "ALLOW_HTML" => "N", "ENABLE_TRACKBACK" => "N", "SEARCH_INDEX" => "Y", "USE_SOCNET" => "Y", "=DATE_CREATE" => $DB->CurrentTimeFunction(), "PERMS_POST" => array(1 => "I", 2 => "I"), "PERMS_COMMENT" => array(1 => "P", 2 => "P"));
                 $bRights = false;
                 $rsUser = CUser::GetByID($arParams["USER_ID"]);
                 $arUser = $rsUser->Fetch();
                 if (strlen($arUser["NAME"] . "" . $arUser["LAST_NAME"]) <= 0) {
                     $arFields["NAME"] = GetMessage("BLG_NAME") . " " . $arUser["LOGIN"];
                 } else {
                     $arFields["NAME"] = GetMessage("BLG_NAME") . " " . $arUser["NAME"] . " " . $arUser["LAST_NAME"];
                 }
                 $arFields["URL"] = str_replace(" ", "_", $arUser["LOGIN"]) . "-blog-" . SITE_ID;
                 $arFields["OWNER_ID"] = $arParams["USER_ID"];
                 $urlCheck = preg_replace("/[^a-zA-Z0-9_-]/is", "", $arFields["URL"]);
                 if ($urlCheck != $arFields["URL"]) {
                     $arFields["URL"] = "u" . $arParams["USER_ID"] . "-blog-" . SITE_ID;
                 }
                 if (CBlog::GetByUrl($arFields["URL"])) {
                     $uind = 0;
                     do {
                         $uind++;
                         $arFields["URL"] = $arFields["URL"] . $uind;
                     } while (CBlog::GetByUrl($arFields["URL"]));
                 }
                 $featureOperationPerms = CSocNetFeaturesPerms::GetOperationPerm(SONET_ENTITY_USER, $arFields["OWNER_ID"], "blog", "view_post");
                 if ($featureOperationPerms == SONET_RELATIONS_TYPE_ALL) {
                     $bRights = true;
                 }
                 $arFields["PATH"] = CComponentEngine::MakePathFromTemplate($arParams["PATH_TO_BLOG"], array("blog" => $arFields["URL"], "user_id" => $arFields["OWNER_ID"], "group_id" => $arFields["SOCNET_GROUP_ID"]));
                 $blogID = CBlog::Add($arFields);
                 if ($bRights) {
                     CBlog::AddSocnetRead($blogID);
                 }
                 $arBlog = CBlog::GetByID($blogID, $arParams["GROUP_ID"]);
             }
         }
         //	$DATE_PUBLISH = "";
         //	if(strlen($_POST["DATE_PUBLISH_DEF"]) > 0)
         //		$DATE_PUBLISH = $_POST["DATE_PUBLISH_DEF"];
         //	elseif (strlen($_POST["DATE_PUBLISH"])<=0)
         $DATE_PUBLISH = ConvertTimeStamp(time() + CTimeZone::GetOffset(), "FULL");
         //	else
         //		$DATE_PUBLISH = $_POST["DATE_PUBLISH"];
         $arFields = array("DETAIL_TEXT" => $userTwit['text'], "DETAIL_TEXT_TYPE" => "text", "DATE_PUBLISH" => $DATE_PUBLISH, "PUBLISH_STATUS" => BLOG_PUBLISH_STATUS_PUBLISH, "PATH" => CComponentEngine::MakePathFromTemplate(htmlspecialcharsBack($arParams["PATH_TO_POST"]), array("post_id" => "#post_id#", "user_id" => $arBlog["OWNER_ID"])), "URL" => $arBlog["URL"], "SOURCE_TYPE" => "twitter");
         $arFields["PERMS_POST"] = array();
         $arFields["PERMS_COMMENT"] = array();
         $arFields["MICRO"] = "N";
         if (strlen($arFields["TITLE"]) <= 0) {
             $arFields["MICRO"] = "Y";
             $arFields["TITLE"] = trim(blogTextParser::killAllTags($arFields["DETAIL_TEXT"]));
             if (strlen($arFields["TITLE"]) <= 0) {
                 $arFields["TITLE"] = GetMessage("BLOG_EMPTY_TITLE_PLACEHOLDER");
             }
         }
         $arFields["SOCNET_RIGHTS"] = array();
         if (!empty($userTwit['user_perms'])) {
             $bOne = true;
             foreach ($userTwit['user_perms'] as $v => $k) {
                 if (strlen($v) > 0 && is_array($k) && !empty($k)) {
                     foreach ($k as $vv) {
                         if (strlen($vv) > 0) {
                             $arFields["SOCNET_RIGHTS"][] = $vv;
                             if ($v != "SG") {
                                 $bOne = false;
                             }
                         }
                     }
                 }
             }
             if ($bOne && !empty($userTwit['user_perms']["SG"])) {
                 $bOnesg = false;
                 $bFirst = true;
                 $oGrId = 0;
                 foreach ($userTwit['user_perms']["SG"] as $v) {
                     if (strlen($v) > 0) {
                         if ($bFirst) {
                             $bOnesg = true;
                             $bFirst = false;
                             $v = str_replace("SG", "", $v);
                             $oGrId = IntVal($v);
                         } else {
                             $bOnesg = false;
                         }
                     }
                 }
                 if ($bOnesg) {
                     if (!CSocNetFeaturesPerms::CanPerformOperation($arParams["USER_ID"], SONET_ENTITY_GROUP, $oGrId, "blog", "write_post") && !CSocNetFeaturesPerms::CanPerformOperation($arParams["USER_ID"], SONET_ENTITY_GROUP, $oGrId, "blog", "moderate_post") && !CSocNetFeaturesPerms::CanPerformOperation($arParams["USER_ID"], SONET_ENTITY_GROUP, $oGrId, "blog", "full_post")) {
                         $arFields["PUBLISH_STATUS"] = BLOG_PUBLISH_STATUS_READY;
                     }
                 }
             }
         }
         $bError = false;
         /*	if (CModule::IncludeModule('extranet') && !CExtranet::IsIntranetUser())
         			{
         				if(empty($arFields["SOCNET_RIGHTS"]) || in_array("UA", $arFields["SOCNET_RIGHTS"]))
         				{
         					$bError = true;
         					$arResult["ERROR_MESSAGE"] = GetMessage("BLOG_BPE_EXTRANET_ERROR");
         				}
         			}*/
         if (!$bError) {
             preg_match_all("/\\[user\\s*=\\s*([^\\]]*)\\](.+?)\\[\\/user\\]/ies" . BX_UTF_PCRE_MODIFIER, $userTwit['text'], $arMention);
             $arFields["=DATE_CREATE"] = $DB->GetNowFunction();
             $arFields["AUTHOR_ID"] = $arParams["USER_ID"];
             $arFields["BLOG_ID"] = $arBlog["ID"];
             $newID = CBlogPost::Add($arFields);
             $socnetRightsOld = array("U" => array());
             $bAdd = true;
             $bNeedMail = false;
             if ($newID) {
                 $arFields["ID"] = $newID;
                 $arParamsNotify = array("bSoNet" => true, "UserID" => $arParams["USER_ID"], "allowVideo" => $arResult["allowVideo"], "PATH_TO_SMILE" => $arParams["PATH_TO_SMILE"], "PATH_TO_POST" => $arParams["PATH_TO_POST"], "SOCNET_GROUP_ID" => $arParams["GROUP_ID"], "user_id" => $arParams["USER_ID"], "NAME_TEMPLATE" => $arParams["NAME_TEMPLATE"], "SHOW_LOGIN" => $arParams["SHOW_LOGIN"]);
                 CBlogPost::Notify($arFields, $arBlog, $arParamsNotify);
             }
         }
         if ($newID > 0 && strlen($arResult["ERROR_MESSAGE"]) <= 0 && $arFields["PUBLISH_STATUS"] == BLOG_PUBLISH_STATUS_PUBLISH) {
             BXClearCache(true, "/" . SITE_ID . "/blog/last_messages_list/");
             $arFieldsIM = array("TYPE" => "POST", "TITLE" => $arFields["TITLE"], "URL" => CComponentEngine::MakePathFromTemplate(htmlspecialcharsBack($arParams["PATH_TO_POST"]), array("post_id" => $newID, "user_id" => $arBlog["OWNER_ID"])), "ID" => $newID, "FROM_USER_ID" => $arParams["USER_ID"], "TO_USER_ID" => array(), "TO_SOCNET_RIGHTS" => $arFields["SOCNET_RIGHTS"], "TO_SOCNET_RIGHTS_OLD" => $socnetRightsOld["U"]);
             if (!empty($arMentionOld)) {
                 $arFieldsIM["MENTION_ID_OLD"] = $arMentionOld[1];
             }
             if (!empty($arMention)) {
                 $arFieldsIM["MENTION_ID"] = $arMention[1];
             }
             CBlogPost::NotifyIm($arFieldsIM);
             $arParams["ID"] = $newID;
             if (!empty($_POST["SPERM"]["SG"])) {
                 foreach ($_POST["SPERM"]["SG"] as $v) {
                     $group_id_tmp = substr($v, 2);
                     if (IntVal($group_id_tmp) > 0) {
                         CSocNetGroup::SetLastActivity(IntVal($group_id_tmp));
                     }
                 }
             }
         }
     }
 }
Ejemplo n.º 24
0
        } else {
            LocalRedirect("/bitrix/admin/blog_blog_edit.php?lang=" . LANG . "&ID=" . $ID . "&" . $tabControl->ActiveTabParam());
        }
    } else {
        $bVarsFromForm = true;
    }
}
require_once $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/blog/prolog.php";
if ($ID > 0) {
    $APPLICATION->SetTitle(GetMessage("BLBE_UPDATING"));
} else {
    $APPLICATION->SetTitle(GetMessage("BLBE_ADDING"));
}
require $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_admin_after.php";
ClearVars("str_");
$dbBlog = CBlog::GetList(array(), array("ID" => $ID), false, false, array("ID", "NAME", "DESCRIPTION", "DATE_CREATE", "DATE_UPDATE", "ACTIVE", "OWNER_ID", "URL", "REAL_URL", "GROUP_ID", "ENABLE_COMMENTS", "ENABLE_IMG_VERIF", "ENABLE_RSS", "LAST_POST_ID", "LAST_POST_DATE", "EMAIL_NOTIFY", "SEARCH_INDEX", "USE_SOCNET"));
if (!$dbBlog->ExtractFields("str_")) {
    $ID = 0;
}
if ($bVarsFromForm) {
    $DB->InitTableVarsForEdit("b_blog", "", "str_");
}
?>

<?php 
$aMenu = array(array("TEXT" => GetMessage("BLBE_2FLIST"), "ICON" => "btn_list", "LINK" => "/bitrix/admin/blog_blog.php?lang=" . LANG . "&" . GetFilterParams("filter_", false)));
if ($ID > 0 && $blogModulePermissions >= "W") {
    $aMenu[] = array("SEPARATOR" => "Y");
    $aMenu[] = array("TEXT" => GetMessage("BLBE_NEW_BLOG"), "ICON" => "btn_new", "LINK" => "/bitrix/admin/blog_blog_edit.php?lang=" . LANG . "&" . GetFilterParams("filter_", false));
    $aMenu[] = array("TEXT" => GetMessage("BLBE_DELETE_BLOG"), "ICON" => "btn_delete", "LINK" => "javascript:if(confirm('" . GetMessage("BLBE_DELETE_BLOG_CONFIRM") . "')) window.location='/bitrix/admin/blog_blog.php?ID=" . $ID . "&action=delete&lang=" . LANG . "&" . bitrix_sessid_get() . "#tb';", "WARNING" => "Y");
}
Ejemplo n.º 25
0
		$arComponentParameters["PARAMETERS"]["COMMENTS_TYPE"] = Array(
				"PARENT" => "REVIEW_SETTINGS",
				"NAME" => GetMessage("P_COMMENTS_TYPE"),
				"TYPE" => "LIST",
				"VALUES" => $arr,
				"DEFAULT" => $default,
				"REFRESH" => "Y");

		$arCurrentValues["COMMENTS_TYPE"] = ($arCurrentValues["COMMENTS_TYPE"] == "forum" || $arCurrentValues["COMMENTS_TYPE"] == "blog" ? $arCurrentValues["COMMENTS_TYPE"] : $default);

		if (IsModuleInstalled("blog") && $arCurrentValues["COMMENTS_TYPE"]=="blog")
		{
			$arBlogs = array();
			if(CModule::IncludeModule("blog"))
			{
				$rsBlog = CBlog::GetList();
				while($arBlog=$rsBlog->Fetch())
				{
					$arBlogs[$arBlog["URL"]] = $arBlog["NAME"];
					$url = $arBlog["URL"];
				}
			}
			$arComponentParameters["PARAMETERS"]["BLOG_URL"] = Array(
				"PARENT" => "REVIEW_SETTINGS",
				"NAME" => GetMessage("F_BLOG_URL"),
				"TYPE" => "LIST",
				"VALUES" => $arBlogs,
				"DEFAULT" => $url);
			$arComponentParameters["PARAMETERS"]["COMMENTS_COUNT"] = Array(
				"PARENT" => "REVIEW_SETTINGS",
				"NAME" => GetMessage("F_COMMENTS_COUNT"),
Ejemplo n.º 26
0
if (isset($arParams["BLOG_URL"]) && trim($arParams["BLOG_URL"]) != "") {
    $arResult["BLOG_URL"] = $arParams["BLOG_URL"];
} else {
    $arResult["BLOG_URL"] = "catalog_comments";
}
$SITE_ID = defined("SITE_ID") && strLen(SITE_ID) > 0 ? SITE_ID : "s1";
$arFields = array("SITE_ID" => $SITE_ID, "NAME" => GetMessage("IBLOCK_CSC_BLOG_GROUP_NAME"));
$dbBlogGroup = CBlogGroup::GetList(array(), $arFields, false, false, array("ID"));
if ($arBlogGroup = $dbBlogGroup->Fetch()) {
    $blogGroupID = $arBlogGroup["ID"];
} else {
    $blogGroupID = CBlogGroup::Add($arFields);
}
$blogGroupID = intval($blogGroupID);
if ($blogGroupID > 0) {
    $dbBlog = CBlog::GetList(array(), array("URL" => $arResult["BLOG_URL"]), false, false, array("ID"));
    if ($arBlog = $dbBlog->Fetch()) {
        $blogId = $arBlog["ID"];
    } else {
        $arFields = array("NAME" => GetMessage("IBLOCK_CSC_BLOG_NAME"), "DESCRIPTION" => GetMessage("IBLOCK_CSC_BLOG_DESCRIPTION"), "GROUP_ID" => $blogGroupID, "ENABLE_COMMENTS" => 'Y', "ENABLE_IMG_VERIF" => 'Y', "EMAIL_NOTIFY" => isset($arParams["EMAIL_NOTIFY"]) && $arParams["EMAIL_NOTIFY"] == 'Y' ? 'Y' : 'N', "URL" => $arResult["BLOG_URL"], "ACTIVE" => "Y", "OWNER_ID" => 1, "AUTO_GROUPS" => "N");
        $blogId = CBlog::Add($arFields);
        if (IntVal($blogId) > 0) {
            CBlog::SetBlogPerms($blogId, array("1" => BLOG_PERMS_WRITE, "2" => BLOG_PERMS_WRITE), BLOG_PERMS_COMMENT);
        } else {
            if ($ex = $APPLICATION->GetException()) {
                $arResult["ERRORS"][] = $ex->GetString();
            } else {
                $arResult["ERRORS"][] = GetMessage("IBLOCK_CSC_BLOG_CREATE_ERROR");
            }
        }
    }
Ejemplo n.º 27
0
 $arFilter = array("GROUP_SITE_ID" => SITE_ID, "ACTIVE" => "Y");
 if (!$bShowAll) {
     $arFilter["GROUP_ID"] = $arParams["ID"];
 } elseif (!empty($arParams["GROUP_ID"])) {
     $arFilter["GROUP_ID"] = $arParams["GROUP_ID"];
 }
 $arSelectFields = array("ID", "NAME", "DESCRIPTION", "URL", "SITE_ID", "DATE_CREATE", "DATE_UPDATE", "ACTIVE", "OWNER_ID", "OWNER_LOGIN", "OWNER_NAME", "OWNER_LAST_NAME", "OWNER_SECOND_NAME", "LAST_POST_DATE", "LAST_POST_ID", "BLOG_USER_AVATAR", "BLOG_USER_ALIAS", "SOCNET_GROUP_ID");
 if (CModule::IncludeModule("socialnetwork") && $arParams["USE_SOCNET"] == "Y") {
     unset($arFilter[">PERMS"]);
     $arSelectFields[] = "SOCNET_BLOG_READ";
     $arFilter["USE_SOCNET"] = "Y";
 }
 if ($arParams["SHOW_BLOG_WITHOUT_POSTS"] != "Y") {
     $arFilter[">LAST_POST_ID"] = 0;
 }
 $dbBlog = CBlog::GetList($SORT, $arFilter, false, array("nPageSize" => $arParams["BLOG_COUNT"], "bShowAll" => false), $arSelectFields);
 $arResult["NAV_STRING"] = $dbBlog->GetPageNavString(GetMessage("B_B_GR_TITLE"), $arParams["NAV_TEMPLATE"], false, $component);
 $arResult["BLOG"] = array();
 while ($arBlog = $dbBlog->GetNext()) {
     $arBlog["urlToPost"] = CComponentEngine::MakePathFromTemplate($arParams["PATH_TO_POST"], array("blog" => $arBlog["URL"], "post_id" => $arBlog["LAST_POST_ID"], "user_id" => $arBlog["OWNER_ID"]));
     $arBlog["urlToBlog"] = CComponentEngine::MakePathFromTemplate($arParams["PATH_TO_BLOG"], array("blog" => $arBlog["URL"], "user_id" => $arBlog["OWNER_ID"]));
     $arBlog["urlToAuthor"] = CComponentEngine::MakePathFromTemplate($arParams["PATH_TO_USER"], array("user_id" => $arBlog["OWNER_ID"]));
     $arBlog["AuthorName"] = CBlogUser::GetUserName($arBlog["BLOG_USER_ALIAS"], $arBlog["OWNER_NAME"], $arBlog["OWNER_LAST_NAME"], $arBlog["OWNER_LOGIN"]);
     $arBlog["BLOG_USER_AVATAR_ARRAY"] = CFile::GetFileArray($arBlog["BLOG_USER_AVATAR"]);
     if ($arBlog["BLOG_USER_AVATAR_ARRAY"] !== false) {
         $arBlog["Avatar_resized"] = CFile::ResizeImageGet($arBlog["BLOG_USER_AVATAR_ARRAY"], array("width" => 100, "height" => 100), BX_RESIZE_IMAGE_EXACT, false);
         $arBlog["BLOG_USER_AVATAR_IMG"] = CFile::ShowImage($arBlog["Avatar_resized"]["src"], 100, 100, 'align="right"');
     }
     $arBlog["LAST_POST_DATE_FORMATED"] = FormatDate($arParams["DATE_TIME_FORMAT"], MakeTimeStamp($arBlog["LAST_POST_DATE"], CSite::GetDateFormat("FULL")));
     $arResult["BLOG"][] = $arBlog;
 }
Ejemplo n.º 28
0
 function Delete($ID)
 {
     global $DB;
     $ID = IntVal($ID);
     $bSuccess = True;
     $arUser = CBlogUser::GetByID($ID, BLOG_BY_USER_ID);
     if ($arUser) {
         $dbResult = CBlog::GetList(array(), array("OWNER_ID" => $arUser["USER_ID"]), false, false, array("ID"));
         if ($dbResult->Fetch()) {
             $GLOBALS["APPLICATION"]->ThrowException(GetMessage("BLG_GU_ERROR_OWNER"), "ERROR_OWNER");
             $bSuccess = False;
         }
         if ($bSuccess) {
             $dbResult = CBlogPost::GetList(array(), array("AUTHOR_ID" => $arUser["USER_ID"]), false, false, array("ID"));
             if ($arResult = $dbResult->Fetch()) {
                 if (!CBlogPost::Delete($arResult["ID"])) {
                     $GLOBALS["APPLICATION"]->ThrowException(GetMessage("BLG_GU_ERROR_AUTHOR"), "ERROR_AUTHOR");
                     $bSuccess = False;
                 }
             }
         }
         if ($bSuccess) {
             $dbGloUser = CUser::GetByID($arUser["USER_ID"]);
             $arGloUser = $dbGloUser->Fetch();
             $DB->Query("UPDATE b_blog_comment SET " . "\tAUTHOR_NAME = '" . $DB->ForSql(CBlogUser::GetUserName($arUser["ALIAS"], $arGloUser["NAME"], $arGloUser["LAST_NAME"], $arGloUser["LOGIN"], $arGloUser["SECOND_NAME"])) . "', " . "\tAUTHOR_ID = null " . "WHERE AUTHOR_ID = " . $arUser["USER_ID"] . "", true);
             $DB->Query("DELETE FROM b_blog_user2user_group WHERE USER_ID = " . $arUser["USER_ID"] . "", true);
         }
         if ($bSuccess) {
             $strSql = "SELECT F.ID " . "FROM b_blog_user FU, b_file F " . "WHERE FU.ID = " . $arUser["ID"] . " " . "\tAND FU.AVATAR = F.ID ";
             $z = $DB->Query($strSql, false, "FILE: " . __FILE__ . " LINE:" . __LINE__);
             while ($zr = $z->Fetch()) {
                 CFile::Delete($zr["ID"]);
             }
             if (CModule::IncludeModule("search")) {
                 CSearch::Index("blog", "U" . $arUser["ID"], array("TITLE" => "", "BODY" => ""));
             }
             unset($GLOBALS["BLOG_USER"]["BLOG_USER_CACHE_" . $arUser["ID"]]);
             unset($GLOBALS["BLOG_USER"]["BLOG_USER1_CACHE_" . $arUser["USER_ID"]]);
             unset($GLOBALS["BLOG_USER"]["BLOG_USER2GROUP_CACHE_" . $arUser["ID"]]);
             unset($GLOBALS["BLOG_USER"]["BLOG_USER2GROUP1_CACHE_" . $arUser["USER_ID"]]);
             return $DB->Query("DELETE FROM b_blog_user WHERE ID = " . $arUser["ID"] . "", true);
         }
         if (!$bSuccess) {
             return false;
         }
     }
     return True;
 }
Ejemplo n.º 29
0
    function NewPost($params)
    {
        global $USER, $DB;
        $blogId = IntVal(CBlogMetaWeblog::DecodeParams($params[0]["#"]["value"][0]["#"]));
        $user = CBlogMetaWeblog::DecodeParams($params[1]["#"]["value"][0]["#"]);
        $password = CBlogMetaWeblog::DecodeParams($params[2]["#"]["value"][0]["#"]);
        $arPostInfo = $params[3]["#"]["value"][0]["#"]["struct"][0]["#"]["member"];
        $publish = $params[4]["#"]["value"][0]["#"]["boolean"][0]["#"];
        foreach ($arPostInfo as $val) {
            ${$val["#"]["name"][0]["#"]} = CBlogMetaWeblog::DecodeParams($val["#"]["value"][0]["#"]);
        }
        $arCategory = array();
        if (is_array($categories["data"][0]["#"]["value"])) {
            foreach ($categories["data"][0]["#"]["value"] as $val) {
                $catTmp = CBlogMetaWeblog::DecodeParams($val["#"]);
                if (strlen($catTmp) > 0) {
                    $arCategory[] = $catTmp;
                }
            }
        }
        if (CBlogMetaWeblog::Authorize($user, $password)) {
            $result = '';
            $userId = $USER->GetID();
            if (IntVal($blogId) > 0) {
                $dbBlog = CBlog::GetList(array(), array("GROUP_SITE_ID" => SITE_ID, "ACTIVE" => "Y", "ID" => $blogId), false, false, array("ID", "URL", "NAME", "GROUP_ID", "SOCNET_GROUP_ID"));
                if ($arBlog = $dbBlog->GetNext()) {
                    $CATEGORYtmp = array();
                    $dbCategory = CBlogCategory::GetList(array(), array("BLOG_ID" => $blogId));
                    while ($arCat = $dbCategory->Fetch()) {
                        $arCatBlog[ToLower($arCat["NAME"])] = $arCat["ID"];
                    }
                    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);
                    }
                    foreach ($arCategory as $tg) {
                        $tg = trim($tg);
                        if (!in_array($arCatBlog[ToLower($tg)], $CATEGORYtmp)) {
                            if (IntVal($arCatBlog[ToLower($tg)]) > 0) {
                                $CATEGORYtmp[] = $arCatBlog[ToLower($tg)];
                            } else {
                                $CATEGORYtmp[] = CBlogCategory::Add(array("BLOG_ID" => $blogId, "NAME" => $tg));
                                foreach ($arSites as $site_id_tmp) {
                                    BXClearCache(True, "/" . $site_id_tmp . "/blog/" . $arBlog["URL"] . "/category/");
                                }
                            }
                        }
                    }
                    $dbSite = CSite::GetByID(SITE_ID);
                    $arSite = $dbSite->Fetch();
                    $serverName = htmlspecialcharsEx($arSite["SERVER_NAME"]);
                    if (strlen($serverName) <= 0) {
                        if (defined("SITE_SERVER_NAME") && strlen(SITE_SERVER_NAME) > 0) {
                            $serverName = SITE_SERVER_NAME;
                        } else {
                            $serverName = COption::GetOptionString("main", "server_name", "www.bitrixsoft.com");
                        }
                    }
                    $arImgRepl = array();
                    $dbImage = CBlogImage::GetList(array(), array("POST_ID" => false, "BLOG_ID" => $blogId, "IS_COMMENT" => "N"));
                    while ($arImage = $dbImage->Fetch()) {
                        $path = "";
                        $path = CFile::GetPath($arImage["FILE_ID"]);
                        $path = "http://" . $serverName . $path;
                        if (strpos($description, $path) !== false) {
                            $description = str_replace('<img src="' . $path . '" alt=""/>', "[IMG ID=" . $arImage["ID"] . "]", $description);
                            $arImgRepl[] = $arImage["ID"];
                        }
                    }
                    $arFields = array("BLOG_ID" => $blogId, "AUTHOR_ID" => $userId, "TITLE" => $title, "DETAIL_TEXT" => $description, "DETAIL_TEXT_TYPE" => "html", "=DATE_PUBLISH" => $DB->GetNowFunction(), "=DATE_CREATE" => $DB->GetNowFunction(), "PUBLISH_STATUS" => $publish == 1 ? "P" : "D", "ENABLE_TRACKBACK" => "N", "ENABLE_COMMENTS" => "Y", "CATEGORY_ID" => implode(",", $CATEGORYtmp), "PERMS_POST" => array(), "PERMS_COMMENT" => array());
                    $postId = CBlogPost::Add($arFields);
                    if (IntVal($postId) > 0) {
                        foreach ($CATEGORYtmp as $v) {
                            CBlogPostCategory::Add(array("BLOG_ID" => $arBlog["ID"], "POST_ID" => $postId, "CATEGORY_ID" => $v));
                        }
                        foreach ($arImgRepl as $v) {
                            CBlogImage::Update($v, array("POST_ID" => $postId));
                        }
                        foreach ($arSites as $site_id_tmp) {
                            BXClearCache(True, "/" . $site_id_tmp . "/blog/" . $arBlog["URL"] . "/first_page/");
                            BXClearCache(True, "/" . $site_id_tmp . "/blog/" . $arBlog["URL"] . "/calendar/");
                            BXClearCache(True, "/" . $site_id_tmp . "/blog/last_messages/");
                            BXClearCache(True, "/" . $site_id_tmp . "/blog/commented_posts/");
                            BXClearCache(True, "/" . $site_id_tmp . "/blog/popular_posts/");
                            BXClearCache(True, "/" . $site_id_tmp . "/blog/last_comments/");
                            BXClearCache(True, "/" . $site_id_tmp . "/blog/groups/" . $arBlog["GROUP_ID"] . "/");
                            BXClearCache(True, "/" . $site_id_tmp . "/blog/" . $arBlog["URL"] . "/rss_out/");
                            BXClearCache(True, "/" . $site_id_tmp . "/blog/" . $arBlog["URL"] . "/rss_all/");
                            BXClearCache(True, "/" . $site_id_tmp . "/blog/rss_sonet/");
                            BXClearCache(True, "/" . $site_id_tmp . "/blog/rss_all/");
                            BXClearCache(True, "/" . $site_id_tmp . "/blog/" . $arBlog["URL"] . "/favorite/");
                        }
                        return '<params>
									<param>
										<value>
											<i4>' . $postId . '</i4>
										</value>
									</param>
								</params>';
                    } else {
                        return '<fault>
							<value>
								<struct>
									<member>
										<name>faultCode</name>
										<value><int>3</int></value>
										</member>
									<member>
										<name>faultString</name>
										<value><string>Error on adding post</string></value>
										</member>
									</struct>
								</value>
							</fault>';
                    }
                }
            }
        } else {
            return '<fault>
				<value>
					<struct>
						<member>
							<name>faultCode</name>
							<value><int>3</int></value>
							</member>
						<member>
							<name>faultString</name>
							<value><string>' . $arAuthResult["MESSAGE"] . '</string></value>
							</member>
						</struct>
					</value>
				</fault>';
        }
    }
Ejemplo n.º 30
0
}
?>

<?php 
$APPLICATION->IncludeComponent("bitrix:blog.menu", "", array("BLOG_VAR" => $arResult["ALIASES"]["blog"], "POST_VAR" => $arResult["ALIASES"]["post_id"], "USER_VAR" => $arResult["ALIASES"]["user_id"], "PAGE_VAR" => $arResult["ALIASES"]["page"], "PATH_TO_BLOG" => $arResult["PATH_TO_BLOG"], "PATH_TO_USER" => $arResult["PATH_TO_USER"], "PATH_TO_BLOG_EDIT" => $arResult["PATH_TO_BLOG_EDIT"], "PATH_TO_BLOG_INDEX" => $arResult["PATH_TO_BLOG_INDEX"], "PATH_TO_DRAFT" => $arResult["PATH_TO_DRAFT"], "PATH_TO_POST_EDIT" => $arResult["PATH_TO_POST_EDIT"], "PATH_TO_USER_FRIENDS" => $arResult["PATH_TO_USER_FRIENDS"], "PATH_TO_USER_SETTINGS" => $arResult["PATH_TO_USER_SETTINGS"], "PATH_TO_GROUP_EDIT" => $arResult["PATH_TO_GROUP_EDIT"], "PATH_TO_CATEGORY_EDIT" => $arResult["PATH_TO_CATEGORY_EDIT"], "BLOG_URL" => $arResult["VARIABLES"]["blog"], "SET_NAV_CHAIN" => $arResult["SET_NAV_CHAIN"], "GROUP_ID" => $arParams["GROUP_ID"]), $component);
?>

<?php 
$APPLICATION->IncludeComponent("bitrix:blog.search", "", array("PAGE_RESULT_COUNT" => 0, "SEARCH_PAGE" => $arResult["PATH_TO_SEARCH"], "BLOG_VAR" => $arResult["ALIASES"]["blog"], "POST_VAR" => $arResult["ALIASES"]["post_id"], "USER_VAR" => $arResult["ALIASES"]["user_id"], "PAGE_VAR" => $arResult["ALIASES"]["page"], "PATH_TO_BLOG" => $arResult["PATH_TO_BLOG"], "PATH_TO_POST" => $arResult["PATH_TO_POST"], "PATH_TO_USER" => $arResult["PATH_TO_USER"], "SET_TITLE" => "N"), $component);
?>

	<?php 
if ($USER->IsAuthorized() && CBlog::CanUserCreateBlog($USER->GetID())) {
    $bHaveBlog = false;
    if (IntVal($arParams["GROUP_ID"]) > 0) {
        $dbBl = CBlog::GetList(array(), array("GROUP_ID" => $arParams["GROUP_ID"], "OWNER_ID" => $USER->GetID(), "ACTIVE" => "Y", "GROUP_SITE_ID" => SITE_ID));
        if ($dbBl->Fetch()) {
            $bHaveBlog = true;
        }
    } elseif (CBlog::GetByOwnerID($USER->GetID())) {
        $bHaveBlog = true;
    }
    if (!$bHaveBlog) {
        ?>
			<h4><a href="<?php 
        echo $arResult["PATH_TO_NEW_BLOG"];
        ?>
"><img src="<?php 
        echo $templateFolder;
        ?>
/images/add_blog.gif" width="42" height="42" border="0" title="<?php