Example #1
0
 function SetSonetLogRights($logID, $entity_type, $entity_id, $event_id)
 {
     if (!CModule::IncludeModule("socialnetwork")) {
         return;
     }
     if (in_array($entity_type, array(SONET_SUBSCRIBE_ENTITY_USER, SONET_SUBSCRIBE_ENTITY_GROUP))) {
         if (in_array($event_id, array("blog_post", "forum", "photo", "blog_post_micro", "files", "wiki"))) {
             $arLogEventTmp = CSocNetLogTools::FindLogEventByID($event_id);
             CSocNetLogRights::SetForSonet($logID, $entity_type, $entity_id, CSocNetLogTools::FindFeatureByEventID($event_id), $arLogEventTmp["OPERATION"]);
         } elseif (in_array($event_id, array("data", "system")) && $entity_type == SONET_SUBSCRIBE_ENTITY_GROUP) {
             CSocNetLogRights::Add($logID, array("SA", "S" . SONET_SUBSCRIBE_ENTITY_GROUP . $entity_id, "S" . SONET_SUBSCRIBE_ENTITY_GROUP . $entity_id . "_" . SONET_ROLES_OWNER, "S" . SONET_SUBSCRIBE_ENTITY_GROUP . $entity_id . "_" . SONET_ROLES_MODERATOR, "S" . SONET_SUBSCRIBE_ENTITY_GROUP . $entity_id . "_" . SONET_ROLES_USER));
         } elseif (in_array($event_id, array("data", "system")) && $entity_type == SONET_SUBSCRIBE_ENTITY_USER) {
             $perm = CSocNetUserPerms::GetOperationPerms($entity_id, "viewprofile");
             if (in_array($perm, array(SONET_RELATIONS_TYPE_FRIENDS2, SONET_RELATIONS_TYPE_FRIENDS))) {
                 CSocNetLogRights::Add($logID, array("SA", "U" . $entity_id, "S" . SONET_SUBSCRIBE_ENTITY_USER . $entity_id . "_" . $perm));
             } elseif ($perm == SONET_RELATIONS_TYPE_AUTHORIZED) {
                 CSocNetLogRights::Add($logID, array("SA", "AU"));
             } elseif ($perm == SONET_RELATIONS_TYPE_ALL) {
                 CSocNetLogRights::Add($logID, array("SA", "G2"));
             }
         }
     } elseif ($entity_type == SONET_SUBSCRIBE_ENTITY_PROVIDER) {
         $arRights = array("SA");
         $rsSchemeRights = CXDILFSchemeRights::GetList(array(), array("SCHEME_ID" => $entity_id));
         while ($arSchemeRights = $rsSchemeRights->Fetch()) {
             if (substr($arSchemeRights["GROUP_CODE"], 0, 1) == "U") {
                 if (substr($arSchemeRights["GROUP_CODE"], 1) == "A") {
                     $arRights[] = "AU";
                     break;
                 } elseif (substr($arSchemeRights["GROUP_CODE"], 1) == "N") {
                     $arRights[] = "G2";
                     break;
                 } elseif (intval(substr($arSchemeRights["GROUP_CODE"], 1)) > 0) {
                     $arRights[] = "U" . substr($arSchemeRights["GROUP_CODE"], 1);
                 }
             }
         }
         if (count($arRights) > 0) {
             CSocNetLogRights::Add($logID, $arRights);
         }
     } elseif (defined("SONET_SUBSCRIBE_ENTITY_NEWS") && $entity_type == SONET_SUBSCRIBE_ENTITY_NEWS) {
         CSocNetLogRights::Add($logID, array("SA", "G2"));
     }
 }
Example #2
0
     }
     if ($ID > 0) {
         $res = $ob->Update($ID, $arFields);
     } else {
         $res = $ob->Add($arFields);
     }
     if ($res > 0 && $_POST["ENTITY_TYPE"] == SONET_SUBSCRIBE_ENTITY_PROVIDER) {
         $ob->Update($res, array("ENTITY_ID" => $res));
     }
 } else {
     $e = new CAdminException($arError);
     $GLOBALS["APPLICATION"]->ThrowException($e);
 }
 if ($res > 0) {
     if ($_POST["ENTITY_TYPE"] == SONET_SUBSCRIBE_ENTITY_PROVIDER && $arUserRights) {
         $obSchemeRights = new CXDILFSchemeRights();
         $obSchemeRights->Set($res, $arUserRights, array("ENTITY_TYPE" => SONET_SUBSCRIBE_ENTITY_PROVIDER, "ENTITY_ID" => $res, "EVENT_ID" => $arFields["EVENT_ID"]));
     } elseif (in_array($_POST["ENTITY_TYPE"], array(SONET_SUBSCRIBE_ENTITY_GROUP, SONET_SUBSCRIBE_ENTITY_USER))) {
         CXDILFSchemeRights::DeleteBySchemeID($res);
     }
     if (isset($_REQUEST["apply"])) {
         LocalRedirect("/bitrix/admin/xdi_lf_scheme_edit.php?ID=" . $res . "&lang=" . LANGUAGE_ID);
     } else {
         LocalRedirect("/bitrix/admin/xdi_lf_scheme_list.php?lang=" . LANGUAGE_ID);
     }
 } else {
     $e = $APPLICATION->GetException();
     if (is_object($e)) {
         $message = new CAdminMessage(GetMessage("LFP_SCHEME_EDIT_SAVE_ERROR"), $e);
     }
     $bVarsFromForm = true;
Example #3
0
 function Set($SchemeID, $arRights = array(), $arEUV = array())
 {
     if (intval($SchemeID) <= 0) {
         return false;
     }
     if (!is_array($arRights)) {
         return false;
     }
     if (!is_array($arEUV) || !array_key_exists("ENTITY_TYPE", $arEUV) || !array_key_exists("EVENT_ID", $arEUV)) {
         return false;
     }
     if (!array_key_exists("ENTITY_ID", $arEUV) || intval($arEUV["ENTITY_ID"]) <= 0) {
         $arEUV["ENTITY_ID"] = 0;
     }
     CXDILFSchemeRights::DeleteBySchemeID($SchemeID);
     $obSchemeRights = new CXDILFSchemeRights();
     $obXDIUser = new CXDIUser();
     foreach ($arRights as $prefix => $arRightsTmp) {
         if (in_array($prefix, array("UA", "UN"))) {
             $this->Add(array("SCHEME_ID" => $SchemeID, "GROUP_CODE" => $prefix));
         } else {
             if (!is_array($arRightsTmp)) {
                 continue;
             }
             foreach ($arRightsTmp as $user_id_tmp) {
                 if (intval($user_id_tmp) > 0) {
                     $obXDIUser->Add(array("USER_ID" => $user_id_tmp, "GROUP_CODE" => $prefix . $user_id_tmp));
                     $this->Add(array("SCHEME_ID" => $SchemeID, "GROUP_CODE" => $prefix . $user_id_tmp));
                 }
             }
         }
     }
     return true;
 }
Example #4
0
}
$strWarning = "";
$bVarsFromForm = false;
$ob = new CXDILFScheme();
$rsXDILFScheme = CXDILFScheme::GetList(array(), array("TYPE" => "RSS"));
$arXDILFScheme = $rsXDILFScheme->Fetch();
if (empty($arXDILFScheme)) {
    switch (LANGUAGE_ID) {
        case "ru":
            $host = "www.1c-bitrix.ru";
            $page = "/upload/xdimport/xdimport_rss_ru.xml";
            break;
        case "de":
            $host = "www.bitrix.de";
            $page = "/upload/xdimport/xdimport_rss_de.xml";
            break;
        default:
            $host = "www.bitrixsoft.com";
            $page = "/upload/xdimport/xdimport_rss_en.xml";
            break;
    }
    $arFields = array("ACTIVE" => "Y", "ENABLE_COMMENTS" => "Y", "SORT" => "100", "NAME" => GetMessage("XDI_SCHEME_NAME"), "TYPE" => "RSS", "LID" => WIZARD_SITE_ID, "DAYS_OF_WEEK" => "1,2,3,4,5,6,7", "TIMES_OF_DAY" => "8:00", "ENTITY_TYPE" => "P", "EVENT_ID" => "data", "HOST" => $host, "PAGE" => $page, "LAST_EXECUTED" => ConvertTimeStamp(time() - 86400, "FULL"));
    $res = $ob->Add($arFields);
    if ($res > 0) {
        $res = $ob->Update($res, array("ENTITY_ID" => $res));
    }
    if ($res > 0) {
        $obSchemeRights = new CXDILFSchemeRights();
        $obSchemeRights->Set($res, array("U" => array(1)), array("ENTITY_TYPE" => SONET_SUBSCRIBE_ENTITY_PROVIDER, "ENTITY_ID" => $res, "EVENT_ID" => "data"));
    }
}