コード例 #1
0
ファイル: class.php プロジェクト: Satariall/izurit
 public function onPrepareComponentParams($params)
 {
     $this->arIBlock = CIBlock::GetArrayByID($params["IBLOCK_ID"]);
     $this->arResult["IBLOCK"] = htmlspecialcharsex($this->arIBlock);
     $this->arResult["IBLOCK_ID"] = $this->arIBlock["ID"];
     $this->arResult["GRID_ID"] = "lists_list_elements_" . $this->arResult["IBLOCK_ID"];
     $this->arResult["ANY_SECTION"] = isset($_GET["list_section_id"]) && strlen($_GET["list_section_id"]) == 0;
     $this->arResult["SECTIONS"] = array();
     $this->arResult["SECTION_ID"] = false;
     $this->arResult["LIST_SECTIONS"] = array();
     if (isset($_GET["list_section_id"])) {
         $sectionId = intval($_GET["list_section_id"]);
     } else {
         $sectionId = intval($params["SECTION_ID"]);
     }
     $rsSections = CIBlockSection::GetList(array("left_margin" => "asc"), array("IBLOCK_ID" => $this->arIBlock["ID"], "GLOBAL_ACTIVE" => "Y", "CHECK_PERMISSIONS" => "Y"));
     while ($arSection = $rsSections->GetNext()) {
         $this->arResult["SECTIONS"][$arSection["ID"]] = array("ID" => $arSection["ID"], "NAME" => $arSection["NAME"]);
         if ($arSection["ID"] == $sectionId) {
             $this->arResult["SECTION"] = $arSection;
             $this->arResult["SECTION_ID"] = $arSection["ID"];
         }
         $this->arResult["LIST_SECTIONS"][$arSection["ID"]] = str_repeat(" . ", $arSection["DEPTH_LEVEL"]) . $arSection["NAME"];
     }
     $this->arResult["IS_SOCNET_GROUP_CLOSED"] = false;
     if (intval($params["~SOCNET_GROUP_ID"]) > 0 && CModule::IncludeModule("socialnetwork")) {
         $arSonetGroup = CSocNetGroup::GetByID(intval($params["~SOCNET_GROUP_ID"]));
         if (is_array($arSonetGroup) && $arSonetGroup["CLOSED"] == "Y" && !CSocNetUser::IsCurrentUserModuleAdmin() && ($arSonetGroup["OWNER_ID"] != $GLOBALS["USER"]->GetID() || COption::GetOptionString("socialnetwork", "work_with_closed_groups", "N") != "Y")) {
             $this->arResult["IS_SOCNET_GROUP_CLOSED"] = true;
         }
     }
     return $params;
 }
コード例 #2
0
 function __wd_get_root_section($IBLOCK_ID, $object, $object_id)
 {
     $result = CIBlockWebdavSocnet::GetSectionID($IBLOCK_ID, $object, $object_id);
     if (intval($result) > 0) {
         return $result;
     } else {
         __wd_check_uf_use_bp_property($arParams["IBLOCK_ID"]);
         $arFields = array("IBLOCK_ID" => $IBLOCK_ID, "ACTIVE" => "Y", "SOCNET_GROUP_ID" => false, "IBLOCK_SECTION_ID" => 0, "UF_USE_BP" => "N");
         if ($object == "user") {
             $dbUser = CUser::GetByID($object_id);
             $arUser = $dbUser->Fetch();
             $arFields["NAME"] = trim($arUser['LAST_NAME'] . " " . $arUser['FIRST_NAME']);
             $arFields["NAME"] = trim(!empty($arFields["NAME"]) ? $arFields["NAME"] : $arUser['LOGIN']);
             $arFields['CREATED_BY'] = $arUser['ID'];
             $arFields['MODIFIED_BY'] = $arUser['ID'];
             if (CIBlock::GetArrayByID($IBLOCK_ID, "RIGHTS_MODE") === "E") {
                 $arTasks = CWebDavIblock::GetTasks();
                 $arFields['RIGHTS'] = array('n0' => array('GROUP_CODE' => 'U' . $object_id, 'TASK_ID' => $arTasks['X']));
             }
         } else {
             /*		$res = CSocNetGroup::GetByID($arResult["VARIABLES"]["group_id"]);
             				if (!$res)
             				{
             					$arParams["ERROR_MESSAGE"] = GetMessage("SONET_GROUP_NOT_EXISTS");
             					return 0;
             				} */
             $arFields["SOCNET_GROUP_ID"] = $object_id;
             $arGroup = CSocNetGroup::GetByID($object_id);
             $arFields["NAME"] = GetMessage("SONET_GROUP_PREFIX") . $arGroup["NAME"];
             if (CIBlock::GetArrayByID($IBLOCK_ID, "RIGHTS_MODE") === "E") {
                 $arTasks = CWebDavIblock::GetTasks();
                 $arFields['RIGHTS'] = array('n0' => array('GROUP_CODE' => 'SG' . $arFields["SOCNET_GROUP_ID"] . '_A', 'TASK_ID' => $arTasks['X']), 'n1' => array('GROUP_CODE' => 'SG' . $arFields["SOCNET_GROUP_ID"] . '_E', 'TASK_ID' => $arTasks['W']), 'n2' => array('GROUP_CODE' => 'SG' . $arFields["SOCNET_GROUP_ID"] . '_K', 'TASK_ID' => $arTasks['W']));
             }
         }
         $GLOBALS["UF_USE_BP"] = $arFields["UF_USE_BP"];
         $GLOBALS["USER_FIELD_MANAGER"]->EditFormAddFields("IBLOCK_" . $IBLOCK_ID . "_SECTION", $arFields);
         $bs = new CIBlockSection();
         $sectionID = $bs->Add($arFields);
         if (!$sectionID) {
             $arParams["ERROR_MESSAGE"] = $bs->LAST_ERROR;
             return 0;
         }
         WDClearComponentCache(array("webdav.element.edit", "webdav.element.hist", "webdav.element.upload", "webdav.element.view", "webdav.menu", "webdav.section.edit", "webdav.section.list"));
         return true;
         /*
         	if ($ob->workflow == 'bizproc')
         	{
         		__wd_create_default_bp_user_and_groups($arBizProcParameters);
         	}
         */
     }
 }
コード例 #3
0
ファイル: group.php プロジェクト: DarneoStudio/bitrix
 /**
  * Get a social network group by ID
  */
 public function get($id)
 {
     $result = array();
     $id = intval($id);
     if (!$id) {
         $this->errors->add('ILLEGAL_GROUP_ID', 'Illegal group id');
     } else {
         $data = \CSocNetGroup::GetByID($id, $bCheckPermissions = false);
         if (is_array($data) && !empty($data)) {
             $result = $data;
         }
     }
     return $result;
 }
コード例 #4
0
ファイル: listcontrols.php プロジェクト: DarneoStudio/bitrix
 private function getHtml($task, $arPaths, $nameTemplate, $columnsOrder)
 {
     global $APPLICATION;
     $APPLICATION->RestartBuffer();
     if ($task["GROUP_ID"]) {
         $arGroup = \CSocNetGroup::GetByID($task["GROUP_ID"]);
         if ($arGroup) {
             $task["GROUP_NAME"] = $arGroup["NAME"];
         }
     }
     $params = array("PATHS" => $arPaths, "PLAIN" => false, "DEFER" => true, "SITE_ID" => $task["SITE_ID"], "TASK_ADDED" => true, "IFRAME" => "N", "NAME_TEMPLATE" => $nameTemplate, "DATA_COLLECTION" => array(array("CHILDREN_COUNT" => 0, "DEPTH" => 0, "UPDATES_COUNT" => 0, "PROJECT_EXPANDED" => true, "ALLOWED_ACTIONS" => null, "TASK" => $task)));
     if ($columnsOrder !== null) {
         $params["COLUMNS_IDS"] = $columnsOrder;
     }
     ob_start();
     $APPLICATION->IncludeComponent("bitrix:tasks.list.items", ".default", $params, null, array("HIDE_ICONS" => "Y"));
     $html = ob_get_clean();
     return $html;
 }
コード例 #5
0
ファイル: include.php プロジェクト: webgksupport/alpina
 function __GCEGetGroup(&$group_id, &$arGroupProperties = array(), &$arGroupTmp = array(), $tab = false)
 {
     if (!CModule::IncludeModule("socialnetwork")) {
         $group_id = 0;
         return;
     }
     $arGroup = CSocNetGroup::GetByID($group_id);
     if ($arGroup && ($tab == "edit" && ($arGroup["OWNER_ID"] == $GLOBALS["USER"]->GetID() || CSocNetUser::IsCurrentUserModuleAdmin()) || $tab == "invite" && (CSocNetUser::IsCurrentUserModuleAdmin() || CSocNetGroup::CanUserInitiate($GLOBALS["USER"]->GetID(), $group_id)))) {
         $arGroupTmp["NAME"] = $arGroup["NAME"];
         $arGroupTmp["DESCRIPTION"] = $arGroup["DESCRIPTION"];
         $arGroupTmp["IMAGE_ID_DEL"] = "N";
         $arGroupTmp["SUBJECT_ID"] = $arGroup["SUBJECT_ID"];
         $arGroupTmp["VISIBLE"] = $arGroup["VISIBLE"];
         $arGroupTmp["OPENED"] = $arGroup["OPENED"];
         $arGroupTmp["CLOSED"] = $arGroup["CLOSED"];
         $arGroupTmp["KEYWORDS"] = $arGroup["KEYWORDS"];
         $arGroupTmp["OWNER_ID"] = $arGroup["OWNER_ID"];
         $arGroupTmp["INITIATE_PERMS"] = $arGroup["INITIATE_PERMS"];
         $arGroupTmp["SPAM_PERMS"] = $arGroup["SPAM_PERMS"];
         $arGroupTmp["IMAGE_ID"] = $arGroup["IMAGE_ID"];
         $arGroupTmp["IMAGE_ID_FILE"] = CFile::GetFileArray($arGroup["IMAGE_ID"]);
         $arGroupTmp["IMAGE_ID_IMG"] = '<img src="' . ($arGroupTmp["IMAGE_ID_FILE"] != false ? $arGroupTmp["IMAGE_ID_FILE"]["SRC"] : "/bitrix/images/1.gif") . '" height="60" class="sonet-group-create-popup-image" id="sonet_group_create_popup_image" border="0">';
         foreach ($arGroupProperties as $field => $arUserField) {
             if (array_key_exists($field, $arGroup)) {
                 $arGroupProperties[$field]["VALUE"] = $arGroup["~" . $field];
                 $arGroupProperties[$field]["ENTITY_VALUE_ID"] = $arGroup["ID"];
             }
         }
         $arGroupTmp["IS_EXTRANET_GROUP"] = "N";
         if (CModule::IncludeModule("extranet") && CExtranet::IsExtranetSocNetGroup($group_id)) {
             $arGroupTmp["IS_EXTRANET_GROUP"] = "Y";
         }
     } else {
         $arGroupTmp["VISIBLE"] = "Y";
         $arGroupTmp["IS_EXTRANET_GROUP"] = "N";
         $group_id = 0;
     }
 }
コード例 #6
0
ファイル: component.php プロジェクト: Satariall/izurit
    $arTooltipFieldsDefault = serialize(array("EMAIL", "PERSONAL_MOBILE", "WORK_PHONE", "PERSONAL_ICQ", "PERSONAL_PHOTO", "PERSONAL_CITY", "WORK_COMPANY", "WORK_POSITION"));
    $arTooltipPropertiesDefault = serialize(array("UF_DEPARTMENT", "UF_PHONE_INNER"));
} else {
    $arTooltipFieldsDefault = serialize(array("PERSONAL_ICQ", "PERSONAL_BIRTHDAY", "PERSONAL_PHOTO", "PERSONAL_CITY", "WORK_COMPANY", "WORK_POSITION"));
    $arTooltipPropertiesDefault = serialize(array());
}
if (!array_key_exists("SHOW_FIELDS_TOOLTIP", $arParams)) {
    $arParams["SHOW_FIELDS_TOOLTIP"] = unserialize(COption::GetOptionString("socialnetwork", "tooltip_fields", $arTooltipFieldsDefault));
}
if (!array_key_exists("USER_PROPERTY_TOOLTIP", $arParams)) {
    $arParams["USER_PROPERTY_TOOLTIP"] = unserialize(COption::GetOptionString("socialnetwork", "tooltip_properties", $arTooltipPropertiesDefault));
}
if (!$USER->IsAuthorized()) {
    $arResult["NEED_AUTH"] = "Y";
} else {
    $arGroup = CSocNetGroup::GetByID($arParams["GROUP_ID"]);
    if (!$arGroup || !is_array($arGroup) || $arGroup["ACTIVE"] != "Y") {
        $arResult["FatalError"] = GetMessage("SONET_P_USER_NO_GROUP");
    } else {
        $arGroupSites = array();
        $rsGroupSite = CSocNetGroup::GetSite($arGroup["ID"]);
        while ($arGroupSite = $rsGroupSite->Fetch()) {
            $arGroupSites[] = $arGroupSite["LID"];
        }
        if (!in_array(SITE_ID, $arGroupSites)) {
            $arResult["FatalError"] = GetMessage("SONET_P_USER_NO_GROUP");
        } else {
            $arResult["Group"] = $arGroup;
            $arResult["CurrentUserPerms"] = CSocNetUserToGroup::InitUserPerms($USER->GetID(), $arResult["Group"], CSocNetUser::IsCurrentUserModuleAdmin());
            if (!$arResult["CurrentUserPerms"] || !$arResult["CurrentUserPerms"]["UserCanViewGroup"]) {
                $arResult["FatalError"] = GetMessage("SONET_C12_NO_PERMS") . ". ";
コード例 #7
0
 function CheckFields($ACTION, &$arFields, $ID = 0)
 {
     static $arSiteWorkgroupsPage;
     global $DB, $arSocNetAllowedEntityTypes, $arSocNetAllowedSubscribeEntityTypes, $arSocNetFeaturesSettings, $arSocNetLogEvents;
     if (!$arSiteWorkgroupsPage && IsModuleInstalled("extranet") && $arFields["ENTITY_TYPE"] == SONET_ENTITY_GROUP) {
         $rsSite = CSite::GetList($by = "sort", $order = "desc", array("ACTIVE" => "Y"));
         while ($arSite = $rsSite->Fetch()) {
             $arSiteWorkgroupsPage[$arSite["ID"]] = COption::GetOptionString("socialnetwork", "workgroup_page", $arSite["DIR"] . "workgroups/", $arSite["ID"]);
         }
     }
     if ($ACTION != "ADD" && IntVal($ID) <= 0) {
         $GLOBALS["APPLICATION"]->ThrowException("System error 870164", "ERROR");
         return false;
     }
     $newEntityType = "";
     if ((is_set($arFields, "ENTITY_TYPE") || $ACTION == "ADD") && StrLen($arFields["ENTITY_TYPE"]) <= 0) {
         $GLOBALS["APPLICATION"]->ThrowException(GetMessage("SONET_GLC_EMPTY_ENTITY_TYPE"), "EMPTY_ENTITY_TYPE");
         return false;
     } elseif (is_set($arFields, "ENTITY_TYPE")) {
         if (!in_array($arFields["ENTITY_TYPE"], $arSocNetAllowedSubscribeEntityTypes)) {
             $GLOBALS["APPLICATION"]->ThrowException(GetMessage("SONET_GLC_ERROR_NO_ENTITY_TYPE"), "ERROR_NO_ENTITY_TYPE");
             return false;
         }
         $newEntityType = $arFields["ENTITY_TYPE"];
     }
     if ((is_set($arFields, "ENTITY_ID") || $ACTION == "ADD") && IntVal($arFields["ENTITY_ID"]) <= 0) {
         $GLOBALS["APPLICATION"]->ThrowException(GetMessage("SONET_GLC_EMPTY_ENTITY_ID"), "EMPTY_ENTITY_ID");
         return false;
     } elseif (is_set($arFields, "ENTITY_ID")) {
         if (StrLen($newEntityType) <= 0 && $ID > 0) {
             $arRe = CAllSocNetLog::GetByID($ID);
             if ($arRe) {
                 $newEntityType = $arRe["ENTITY_TYPE"];
             }
         }
         if (StrLen($newEntityType) <= 0) {
             $GLOBALS["APPLICATION"]->ThrowException(GetMessage("SONET_GL_ERROR_CALC_ENTITY_TYPE"), "ERROR_CALC_ENTITY_TYPE");
             return false;
         }
         if ($newEntityType == SONET_ENTITY_GROUP) {
             $arResult = CSocNetGroup::GetByID($arFields["ENTITY_ID"]);
             if ($arResult == false) {
                 $GLOBALS["APPLICATION"]->ThrowException(GetMessage("SONET_GLC_ERROR_NO_ENTITY_ID"), "ERROR_NO_ENTITY_ID");
                 return false;
             }
         } elseif ($newEntityType == SONET_ENTITY_USER) {
             $dbResult = CUser::GetByID($arFields["ENTITY_ID"]);
             if (!$dbResult->Fetch()) {
                 $GLOBALS["APPLICATION"]->ThrowException(GetMessage("SONET_GLC_ERROR_NO_ENTITY_ID"), "ERROR_NO_ENTITY_ID");
                 return false;
             }
         }
     }
     if ((is_set($arFields, "LOG_ID") || $ACTION == "ADD") && intval($arFields["LOG_ID"]) <= 0) {
         $GLOBALS["APPLICATION"]->ThrowException(GetMessage("SONET_GLC_EMPTY_LOG_ID"), "EMPTY_LOG_ID");
         return false;
     }
     if ((is_set($arFields, "EVENT_ID") || $ACTION == "ADD") && strlen($arFields["EVENT_ID"]) <= 0) {
         $GLOBALS["APPLICATION"]->ThrowException(GetMessage("SONET_GLC_EMPTY_EVENT_ID"), "EMPTY_EVENT_ID");
         return false;
     } elseif (is_set($arFields, "EVENT_ID")) {
         $arFields["EVENT_ID"] = strtolower($arFields["EVENT_ID"]);
         $arEvent = CSocNetLogTools::FindLogCommentEventByID($arFields["EVENT_ID"]);
         if (!$arEvent) {
             $GLOBALS["APPLICATION"]->ThrowException(GetMessage("SONET_GLC_ERROR_NO_FEATURE_ID"), "ERROR_NO_FEATURE");
             return false;
         }
     }
     if (is_set($arFields, "USER_ID")) {
         $dbResult = CUser::GetByID($arFields["USER_ID"]);
         if (!$dbResult->Fetch()) {
             $GLOBALS["APPLICATION"]->ThrowException(GetMessage("SONET_GLC_ERROR_NO_USER_ID"), "ERROR_NO_USER_ID");
             return false;
         }
     }
     if (is_set($arFields, "LOG_DATE") && !$DB->IsDate($arFields["LOG_DATE"], false, LANG, "FULL")) {
         $GLOBALS["APPLICATION"]->ThrowException(GetMessage("SONET_GLC_EMPTY_DATE_CREATE"), "EMPTY_LOG_DATE");
         return false;
     }
     if (is_set($arFields["URL"]) && is_array($arSiteWorkgroupsPage)) {
         foreach ($arSiteWorkgroupsPage as $groups_page) {
             if (strpos($arFields["URL"], $groups_page) === 0) {
                 $arFields["URL"] = "#GROUPS_PATH#" . substr($arFields["URL"], strlen($groups_page), strlen($arFields["URL"]) - strlen($groups_page));
             }
         }
     }
     return True;
 }
コード例 #8
0
ファイル: component.php プロジェクト: webgksupport/alpina
/** @var string $parentComponentName */
/** @var string $parentComponentPath */
/** @var string $parentComponentTemplate */
$this->setFrameMode(false);
if (!CModule::IncludeModule('lists')) {
    ShowError(GetMessage("CC_BLL_MODULE_NOT_INSTALLED"));
    return;
}
$IBLOCK_ID = intval($arParams["~IBLOCK_ID"]);
if (isset($_GET["list_section_id"])) {
    $section_id = intval($_GET["list_section_id"]);
} else {
    $section_id = intval($arParams["~SECTION_ID"]);
}
if (intval($arParams["~SOCNET_GROUP_ID"]) > 0 && CModule::IncludeModule("socialnetwork")) {
    $arSonetGroup = CSocNetGroup::GetByID(intval($arParams["~SOCNET_GROUP_ID"]));
    if (is_array($arSonetGroup) && $arSonetGroup["CLOSED"] == "Y" && !CSocNetUser::IsCurrentUserModuleAdmin() && ($arSonetGroup["OWNER_ID"] != $GLOBALS["USER"]->GetID() || COption::GetOptionString("socialnetwork", "work_with_closed_groups", "N") != "Y")) {
        $arResult["IS_SOCNET_GROUP_CLOSED"] = true;
    }
}
$lists_perm = CListPermissions::CheckAccess($USER, $arParams["~IBLOCK_TYPE_ID"], $IBLOCK_ID, $arParams["~SOCNET_GROUP_ID"]);
if ($lists_perm < 0) {
    switch ($lists_perm) {
        case CListPermissions::WRONG_IBLOCK_TYPE:
            ShowError(GetMessage("CC_BLL_WRONG_IBLOCK_TYPE"));
            return;
        case CListPermissions::WRONG_IBLOCK:
            ShowError(GetMessage("CC_BLL_WRONG_IBLOCK"));
            return;
        case CListPermissions::LISTS_FOR_SONET_GROUP_DISABLED:
            ShowError(GetMessage("CC_BLL_LISTS_FOR_SONET_GROUP_DISABLED"));
コード例 #9
0
ファイル: blog.php プロジェクト: k-kalashnikov/geekcon_new
$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);
        if (CModule::IncludeModule("socialnetwork")) {
            $arGroupSo = CSocNetGroup::GetByID($f_SOCNET_GROUP_ID);
            if (!empty($arGroupSo)) {
                $row->AddField("SOCNET_GROUP_ID", "[" . $f_SOCNET_GROUP_ID . "] " . $arGroupSo["NAME"]);
            }
        }
    }
    $row->AddField("URL", $f_URL);
    $row->AddField("GROUP_ID", "<a href=\"/bitrix/admin/blog_group_edit.php?ID=" . $f_GROUP_ID . "&lang=" . LANG . "\">[" . $f_GROUP_SITE_ID . "] " . $f_GROUP_NAME . "</a>");
    $row->AddField("USE_SOCNET", $f_USE_SOCNET == "Y" ? GetMessage("BLB_YES") : GetMessage("BLB_NO"));
    $USER_FIELD_MANAGER->AddUserFields("BLOG_BLOG", $arBlog, $row);
    $arActions = array();
    $arActions[] = array("ICON" => "edit", "TEXT" => GetMessage("BLB_UPDATE_ALT"), "ACTION" => $lAdmin->ActionRedirect("blog_blog_edit.php?ID=" . $f_ID . "&lang=" . LANG . "&" . GetFilterParams("filter_") . ""), "DEFAULT" => true);
    if ($blogModulePermissions >= "U") {
        $arActions[] = array("SEPARATOR" => true);
        $arActions[] = array("ICON" => "delete", "TEXT" => GetMessage("BLB_DELETE_ALT"), "ACTION" => "if(confirm('" . GetMessage('BLB_DELETE_CONF') . "')) " . $lAdmin->ActionDoGroup($f_ID, "delete"));
    }
コード例 #10
0
ファイル: iblocksocnet.php プロジェクト: DarneoStudio/bitrix
 static function GetGroups($iblockID)
 {
     $groupTree = array();
     $arFilter = array("IBLOCK_ID" => $iblockID, "SECTION_ID" => 0, "CHECK_PERMISSIONS" => "N");
     $dbSection = CIBlockSection::GetList(array(), $arFilter, false, array('ID', 'SOCNET_GROUP_ID'));
     while ($arGroupSection = $dbSection->Fetch()) {
         $groupID = $arGroupSection['SOCNET_GROUP_ID'];
         $section = $arGroupSection['ID'];
         $group = CSocNetGroup::GetByID($groupID);
         if ($group) {
             $group['SECTION'] = $section;
             $groupTree[$groupID] = $group;
         }
     }
     return $groupTree;
 }
コード例 #11
0
ファイル: .left.menu_ext.php プロジェクト: pitnan/u136056
                if (preg_match("'^" . $pageTemplateReg . "'", $currentPageUrl, $arValues)) {
                    $arMatches = array();
                    if (preg_match_all("'#([^#]+?)#'", $pageTemplate, $arMatches)) {
                        for ($i = 0, $cnt = count($arMatches[1]); $i < $cnt; $i++) {
                            $arVariables[$arMatches[1][$i]] = $arValues[$i + 1];
                        }
                    }
                    return True;
                }
                return False;
            }
        }
        $arGroup = false;
        $arVariables = array();
        $componentPage = __CheckPath4Template($strGroupLinkTemplate, $_SERVER["REQUEST_URI"], $arVariables);
        if ($componentPage && IntVal($arVariables["group_id"]) > 0) {
            $arGroup = CSocNetGroup::GetByID(IntVal($arVariables["group_id"]));
        }
        $dbGroupSubjects = CSocNetGroupSubject::GetList(array("SORT" => "ASC", "NAME" => "ASC"), array("SITE_ID" => SITE_ID), false, false, array("ID", "NAME"));
        $aMenuLinksAdd = array();
        while ($arGroupSubject = $dbGroupSubjects->GetNext()) {
            $arLinks = array();
            if ($arGroup && $arGroup["SUBJECT_ID"] == $arGroupSubject["ID"]) {
                $arLinks = array($_SERVER["REQUEST_URI"]);
            }
            $aMenuLinksAdd[] = array($arGroupSubject["NAME"], str_replace("#subject_id#", $arGroupSubject["ID"], $strGroupSubjectLinkTemplate), $arLinks, array(), "");
        }
        $aMenuLinks = array_merge($aMenuLinks, $aMenuLinksAdd);
        $aMenuLinks[] = array(GetMessage("WORKGROUPS_MENU_ARCHIVE"), str_replace("#subject_id#", -1, $strGroupSubjectLinkTemplate), array(), array(), "");
    }
}
コード例 #12
0
ファイル: component.php プロジェクト: mrdeadmouse/u136006
    $arParams["PAGE_ID"] = "group_search";
} elseif ($arParams["PAGE_ID"] == "user_content_search") {
    $arParams["PAGE_ID"] = "user_search";
}
$arParams["USE_MAIN_MENU"] = isset($arParams["USE_MAIN_MENU"]) ? $arParams["USE_MAIN_MENU"] : false;
if ($arParams["USE_MAIN_MENU"] == "Y" && !array_key_exists("MAIN_MENU_TYPE", $arParams)) {
    $arParams["MAIN_MENU_TYPE"] = "left";
}
$arResult["ID"] = $arParams["ID"];
$errorMessage = false;
if (!$arParams["ENTITY_ID"]) {
    $errorMessage = GetMessage("SONET_SM_ENTITY_ID_EMPTY");
}
if (!$errorMessage) {
    if ($arParams["ENTITY_TYPE"] == SONET_ENTITY_GROUP) {
        $arGroup = CSocNetGroup::GetByID($arParams["ENTITY_ID"]);
        if (!$arGroup) {
            $errorMessage = GetMessage("SONET_SM_ENTITY_ID_INCORRECT");
        }
    } elseif (!array_key_exists("arResult", $arParams) || !array_key_exists("User", $arParams["arResult"]) || !is_array($arParams["arResult"]["User"])) {
        $rsUser = CUser::GetByID($arParams["ENTITY_ID"]);
        $arUser = $rsUser->Fetch();
        if (!$arUser) {
            $errorMessage = GetMessage("SONET_SM_ENTITY_ID_INCORRECT");
        }
    }
}
if (!$errorMessage) {
    if ($USER->IsAuthorized() && ($GLOBALS["USER"]->IsAdmin() || CModule::IncludeModule('socialnetwork') && CSocNetUser::IsCurrentUserModuleAdmin())) {
        $arResult["PERMISSION"] = "X";
    } elseif ($USER->IsAuthorized()) {
コード例 #13
0
 function GetOwnerName($arParams)
 {
     if ($arParams['ownerType'] == 'USER') {
         // Get user name
         $dbUser = CUser::GetByID($arParams['ownerId']);
         if (!($arUser = $dbUser->Fetch())) {
             return;
         }
         $ownerName = $arUser["NAME"] . " " . $arUser["LAST_NAME"];
     } else {
         if ($arParams['ownerType'] == 'GROUP') {
             // Get group name
             if (!($arGroup = CSocNetGroup::GetByID($arParams['ownerId']))) {
                 return;
             }
             $ownerName = $arGroup["NAME"];
         } else {
             // Get iblock name
             $rsIblock = CIBlock::GetList(array(), array("ID" => $arParams['iblockId'], "CHECK_PERMISSIONS" => 'N'));
             if (!($arIblock = $rsIblock->Fetch())) {
                 return;
             }
             $ownerName = $arIblock['NAME'];
         }
     }
     return $ownerName;
 }
コード例 #14
0
             }
         }
         $arFields["EDIT_FORM_LABEL"] = $arFieldName;
         $obUserField = new CUserTypeEntity();
         $obUserField->Add($arFields);
         $APPLICATION->GetException();
         $GLOBALS["USER_FIELD_MANAGER"]->arFieldsCache = array();
     }
 }
 $arFields = array("ACTIVE" => "Y", "IBLOCK_ID" => $arParams["IBLOCK_ID"], "NAME" => "", "CODE" => "", "DESCRIPTION" => "", "UF_DEFAULT" => "Y", "SOCNET_GROUP_ID" => false, "IBLOCK_SECTION_ID" => "0");
 if ($object == "user") {
     $arFields["NAME"] = trim($USER->GetLastName() . " " . $USER->GetFirstName());
     $arFields["NAME"] = trim(!empty($arFields["NAME"]) ? $arFields["NAME"] : $USER->GetLogin());
     $arFields["CODE"] = "user_" . $arResult["VARIABLES"]["user_id"];
 } else {
     $res = CSocNetGroup::GetByID($arResult["VARIABLES"]["group_id"]);
     if (!$res) {
         $arParams["ERROR_MESSAGE"] = GetMessage("SONET_GROUP_NOT_EXISTS");
         return 0;
     }
     $arFields["SOCNET_GROUP_ID"] = $arResult["VARIABLES"]["group_id"];
     $arFields["NAME"] = GetMessage("SONET_GROUP_PREFIX") . $res["NAME"];
     $arFields["CODE"] = "group_" . $arResult["VARIABLES"]["group_id"];
 }
 if (!empty($arFiles)) {
     $arFields["PICTURE"] = $arFiles["PICTURE"];
 }
 $bs = new CIBlockSection();
 if ($bs->CheckFields($arFields)) {
     if (!empty($arFiles)) {
         $arFields["DETAIL_PICTURE"] = $arFiles["DETAIL_PICTURE"];
コード例 #15
0
ファイル: result_modifier.php プロジェクト: Satariall/izurit
<?php

if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) {
    die;
}
if (count($arResult["BLOG"]) > 0) {
    foreach ($arResult["BLOG"] as $i => $arBlog) {
        $imageFile = false;
        if (intval($arBlog["SOCNET_GROUP_ID"]) > 0 && CModule::IncludeModule("socialnetwork")) {
            $arGroup = CSocNetGroup::GetByID($arBlog["SOCNET_GROUP_ID"]);
            if (intval($arGroup["IMAGE_ID"]) > 0) {
                $imageFile = CFile::GetFileArray($arGroup["IMAGE_ID"]);
            }
        } elseif (intval($arBlog["OWNER_ID"]) > 0) {
            $dbUser = CUser::GetByID($arBlog["OWNER_ID"]);
            $arUser = $dbUser->Fetch();
            if (intval($arUser["PERSONAL_PHOTO"]) > 0) {
                $imageFile = CFile::GetFileArray($arUser["PERSONAL_PHOTO"]);
            }
        }
        if ($imageFile) {
            $arFileTmp = CFile::ResizeImageGet($imageFile, array("width" => 75, "height" => 75), BX_RESIZE_IMAGE_PROPORTIONAL, false);
            $arResult["BLOG"][$i]["AVATAR"] = $arFileTmp;
        } else {
            $arResult["BLOG"][$i]["AVATAR"] = false;
        }
    }
}
?>
	
コード例 #16
0
ファイル: component.php プロジェクト: Satariall/izurit
    $arParams["PATH_TO_GROUP_PHOTO_ELEMENT"] = strlen($arParams["PATH_TO_GROUP_PHOTO_ELEMENT"]) > 0 ? $arParams["PATH_TO_GROUP_PHOTO_ELEMENT"] : $folderWorkgroups . "group/#group_id#/photo/#section_id#/#element_id#/";
}
$bCurrentUserIsAdmin = CSocNetUser::IsCurrentUserModuleAdmin();
$arResult["TZ_OFFSET"] = CTimeZone::GetOffset();
CSocNetTools::InitGlobalExtranetArrays();
if ($GLOBALS["USER"]->IsAuthorized() || $arParams["AUTH"] == "Y") {
    $arTmpEventsNew = array();
    $arResult["IS_FILTERED"] = false;
    if ($arParams["SET_TITLE"] == "Y" || $arParams["SET_NAV_CHAIN"] != "N" || $arParams["GROUP_ID"] > 0) {
        if ($arParams["ENTITY_TYPE"] == SONET_ENTITY_USER) {
            $rsUser = CUser::GetByID($arParams["USER_ID"]);
            if ($arResult["User"] = $rsUser->Fetch()) {
                $strTitleFormatted = CUser::FormatName($arParams['NAME_TEMPLATE'], $arResult["User"], $bUseLogin);
            }
        } elseif ($arParams["ENTITY_TYPE"] == SONET_ENTITY_GROUP) {
            $arResult["Group"] = CSocNetGroup::GetByID($arParams["GROUP_ID"]);
        }
    }
    if ($arParams["SET_TITLE"] == "Y") {
        $APPLICATION->SetTitle(GetMessage("SONET_C73_PAGE_TITLE"));
    }
    if ($arParams["SET_NAV_CHAIN"] != "N") {
        $APPLICATION->AddChainItem(GetMessage("SONET_C73_PAGE_TITLE"));
    }
    $arResult["Events"] = false;
    $arFilter = array();
    if ($arParams["LOG_ID"] > 0) {
        $arFilter["ID"] = $arParams["LOG_ID"];
    }
    if (isset($arParams["DISPLAY"])) {
        $arResult["SHOW_UNREAD"] = $arParams["SHOW_UNREAD"] = $arParams["SHOW_REFRESH"] = "N";
コード例 #17
0
ファイル: calendar.php プロジェクト: andy-profi/bxApiDocs
 public static function GetOwnerName($type = '', $ownerId = '')
 {
     $type = strtolower($type);
     $key = $type . '_' . $ownerId;
     if (isset(self::$ownerNames[$key])) {
         return self::$ownerNames[$key];
     }
     $ownerName = '';
     if ($type == 'user') {
         $ownerName = CCalendar::GetUserName($ownerId);
     } elseif ($type == 'group') {
         // Get group name
         if (!CModule::IncludeModule("socialnetwork")) {
             return $ownerName;
         }
         if ($arGroup = CSocNetGroup::GetByID($ownerId)) {
             $ownerName = $arGroup["~NAME"];
         }
     } else {
         // Get type name
         $arTypes = CCalendarType::GetList(array("arFilter" => array("XML_ID" => $type)));
         $ownerName = $arTypes[0]['NAME'];
     }
     self::$ownerNames[$key] = $ownerName;
     $ownerName = trim($ownerName);
     return $ownerName;
 }
コード例 #18
0
ファイル: component.php プロジェクト: mrdeadmouse/u136006
    $APPLICATION->AddHeadScript('/bitrix/js/main/utils.js');
    $APPLICATION->AddHeadScript('/bitrix/js/main/dd.js');
}
if ($arParams['EDIT'] && $arResult['CAN_EDIT'] || isset($arResult["MEETING"]["PLACE_ID"])) {
    $arResult['MEETING_ROOMS_LIST'] = array();
    if ($arParams['RESERVE_MEETING_IBLOCK_ID'] || $arParams['RESERVE_VMEETING_IBLOCK_ID']) {
        $dbMeetingsList = CIBlockSection::GetList(array('IBLOCK_ID' => 'ASC', 'NAME' => 'ASC', 'ID' => 'DESC'), array('IBLOCK_ID' => array(intval($arParams['RESERVE_MEETING_IBLOCK_ID']), intval($arParams['RESERVE_VMEETING_IBLOCK_ID']))), false, array('ID', 'IBLOCK_ID', 'NAME', 'DESCRIPTION'));
        while ($arRoom = $dbMeetingsList->Fetch()) {
            $arRoom["MEETING_ROOM_ID"] = CMeeting::MakePlace($arRoom["IBLOCK_ID"], $arRoom["ID"]);
            $arResult['MEETING_ROOMS_LIST'][] = $arRoom;
            if (isset($arResult["MEETING"]["PLACE_ID"]) && $arResult["MEETING"]["PLACE_ID"] == $arRoom["MEETING_ROOM_ID"]) {
                $arResult["MEETING"]["PLACE"] = htmlspecialcharsbx($arRoom["NAME"]);
            }
        }
    }
}
if ($arParams['EDIT'] && $arResult['CAN_EDIT']) {
    require_once $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/tools/clock.php";
    $this->IncludeComponentTemplate('tpl_edit');
} else {
    if (is_array($arResult['MEETING']['FILES']) && count($arResult['MEETING']['FILES']) > 0) {
        $arResult['MEETING']['FILES'] = CMeeting::GetFilesData($arResult['MEETING']['FILES'], array('MEETING' => $arResult['MEETING']['ID']));
    }
    if ($arResult['MEETING']['GROUP_ID'] > 0 && CModule::IncludeModule('socialnetwork')) {
        if ($arGroup = CSocNetGroup::GetByID($arResult['MEETING']['GROUP_ID'])) {
            $arResult['MEETING']['GROUP_NAME'] = $arGroup['NAME'];
            $arResult['MEETING']['GROUP_URL'] = str_replace("#group_id#", $arGroup['ID'], COption::GetOptionString('socialnetwork', 'group_path_template', '/workgroups/group/#group_id#/', SITE_ID));
        }
    }
    $this->IncludeComponentTemplate('tpl_view');
}
コード例 #19
0
ファイル: ajax.php プロジェクト: mrdeadmouse/u136006
     $arFields["DEADLINE"] = $_POST["deadline"];
 }
 $depth = intval($_POST["depth"]);
 if (intval($_POST["parent"]) > 0) {
     $arFields["PARENT_ID"] = intval($_POST["parent"]);
 }
 $arFields["STATUS"] = $status;
 $task = new CTasks();
 $ID = $task->Add($arFields);
 if ($ID) {
     $rsTask = CTasks::GetByID($ID);
     if ($task = $rsTask->GetNext()) {
         $APPLICATION->RestartBuffer();
         ob_start();
         if ($task["GROUP_ID"]) {
             $arGroup = CSocNetGroup::GetByID($task["GROUP_ID"]);
             if ($arGroup) {
                 $task["GROUP_NAME"] = $arGroup["NAME"];
             }
         }
         $params = array("PATHS" => $arPaths, "PLAIN" => false, "DEFER" => true, "SITE_ID" => $SITE_ID, "TASK_ADDED" => true, 'IFRAME' => 'N', "NAME_TEMPLATE" => $nameTemplate, 'DATA_COLLECTION' => array(array("CHILDREN_COUNT" => 0, "DEPTH" => $depth, "UPDATES_COUNT" => 0, "PROJECT_EXPANDED" => true, 'ALLOWED_ACTIONS' => null, "TASK" => $task)));
         $columnsOrder = null;
         if (isset($_POST['columnsOrder'])) {
             $columnsOrder = array_map('intval', $_POST['columnsOrder']);
         }
         if ($columnsOrder !== null) {
             $params['COLUMNS_IDS'] = $columnsOrder;
         }
         $APPLICATION->IncludeComponent('bitrix:tasks.list.items', '.default', $params, null, array("HIDE_ICONS" => "Y"));
         $html = ob_get_clean();
         if (isset($_POST['type']) && ($_POST['type'] === 'json_with_html' || $_POST['type'] === 'json')) {
コード例 #20
0
 if ($arEvents["EVENT_ID"] != "all" && !array_key_exists($arEvents["EVENT_ID"], $arSocNetLogEvents) && (!array_key_exists($arEvents["EVENT_ID"], $arSocNetFeaturesSettings) || !array_key_exists("subscribe_events", $arSocNetFeaturesSettings[$arEvents["EVENT_ID"]]) || !is_array($arSocNetFeaturesSettings[$arEvents["EVENT_ID"]]["subscribe_events"]) || count($arSocNetFeaturesSettings[$arEvents["EVENT_ID"]]["subscribe_events"]) <= 0)) {
     continue;
 }
 if ($arResult["Events"] == false) {
     $arResult["Events"] = array();
 }
 if ($arResult["EventsNew"] == false) {
     $arResult["EventsNew"] = array();
 }
 $arrayKey = $arEvents["ENTITY_TYPE"] . "_" . $arEvents["ENTITY_ID"];
 $arrayKeyNew = $arEvents["ENTITY_ID"];
 if (in_array($arEvents["ENTITY_TYPE"], array(SONET_ENTITY_GROUP, SONET_ENTITY_USER))) {
     if ($arEvents["EVENT_ID"] != "all" && !array_key_exists($arrayKey, $arResult["Events"])) {
         $arResult["Events"][$arrayKey] = array("ENTITY_TYPE" => $arEvents["ENTITY_TYPE"], "ENTITY_ID" => $arEvents["ENTITY_ID"]);
         if ($arEvents["ENTITY_TYPE"] == SONET_ENTITY_GROUP && intval($arEvents["ENTITY_ID"]) > 0) {
             $arGroup = CSocNetGroup::GetByID($arEvents["ENTITY_ID"]);
             $path2Entity = CComponentEngine::MakePathFromTemplate($arParams["PATH_TO_GROUP"], array("group_id" => $arEvents["ENTITY_ID"]));
             $arResult["Events"][$arrayKey]["Group"] = $arGroup;
             $arResult["Events"][$arrayKey]["GroupUrl"] = $path2Entity;
             $arResult["Events"][$arrayKey]["EditUrl"] = CComponentEngine::MakePathFromTemplate($arParams["PATH_TO_GROUP_SUBSCRIBE"], array("group_id" => $arEvents["ENTITY_ID"]));
         } elseif (intval($arEvents["ENTITY_ID"]) > 0) {
             $dbUser = CUser::GetByID($arEvents["ENTITY_ID"]);
             $arUser = $dbUser->GetNext();
             $path2Entity = CComponentEngine::MakePathFromTemplate($arParams["PATH_TO_USER"], array("user_id" => $arEvents["ENTITY_ID"]));
             $arResult["Events"][$arrayKey]["User"] = $arUser;
             $arResult["Events"][$arrayKey]["User"]["NAME_FORMATTED"] = CUser::FormatName($arParams['NAME_TEMPLATE'], $arUser, $bUseLogin);
             $arResult["Events"][$arrayKey]["UserUrl"] = $path2Entity;
             $arResult["Events"][$arrayKey]["EditUrl"] = CComponentEngine::MakePathFromTemplate($arParams["PATH_TO_USER_SUBSCRIBE"], array("user_id" => $arEvents["ENTITY_ID"]));
         }
         $arResult["Events"][$arrayKey]["EditUrl"] .= (strpos($arResult["Events"][$arrayKey]["EditUrl"], "?") !== false ? "&" : "?") . "backurl=" . $APPLICATION->GetCurPage();
     }
コード例 #21
0
ファイル: user_group.php プロジェクト: DarneoStudio/bitrix
 function SetOwner($userID, $groupID, $arGroup = false)
 {
     global $DB, $APPLICATION, $USER;
     if (!$arGroup) {
         $arGroup = CSocNetGroup::GetByID($groupID);
     }
     if (!$arGroup) {
         return false;
     }
     $DB->StartTransaction();
     // setting relations for the old owner
     $dbRelation = CSocNetUserToGroup::GetList(array(), array("USER_ID" => $arGroup["OWNER_ID"], "GROUP_ID" => $groupID), false, false, array("ID"));
     if ($arRelation = $dbRelation->Fetch()) {
         $arFields = array("ROLE" => SONET_ROLES_USER, "=DATE_UPDATE" => $DB->CurrentTimeFunction(), "INITIATED_BY_TYPE" => SONET_INITIATED_BY_USER, "INITIATED_BY_USER_ID" => $USER->GetID());
         if (!CSocNetUserToGroup::Update($arRelation["ID"], $arFields)) {
             $errorMessage = "";
             if ($e = $APPLICATION->GetException()) {
                 $errorMessage = $e->GetString();
             }
             if (StrLen($errorMessage) <= 0) {
                 $errorMessage = GetMessage("SONET_UG_ERROR_CANNOT_UPDATE_CURRENT_OWNER");
             }
             $APPLICATION->ThrowException($errorMessage, "ERROR_UPDATE_USER2GROUP");
             $DB->Rollback();
             return false;
         }
     } else {
         $errorMessage = "";
         if ($e = $APPLICATION->GetException()) {
             $errorMessage = $e->GetString();
         }
         if (StrLen($errorMessage) <= 0) {
             $errorMessage = GetMessage("SONET_UG_ERROR_CANNOT_GET_CURRENT_OWNER_RELATION");
         }
         $APPLICATION->ThrowException($errorMessage, "ERROR_GET_USER2GROUP");
         $DB->Rollback();
         return false;
     }
     // delete requests to the old owner
     if (strlen($errorMessage) <= 0) {
         CSocNetUserToGroup::__SpeedFileDelete($arGroup["OWNER_ID"]);
     }
     if (strlen($errorMessage) <= 0) {
         // setting relations for the new owner
         $dbRelation = CSocNetUserToGroup::GetList(array(), array("USER_ID" => $userID, "GROUP_ID" => $groupID), false, false, array("ID"));
         if ($arRelation = $dbRelation->Fetch()) {
             $arFields = array("ROLE" => SONET_ROLES_OWNER, "=DATE_UPDATE" => $DB->CurrentTimeFunction(), "INITIATED_BY_TYPE" => SONET_INITIATED_BY_USER, "INITIATED_BY_USER_ID" => $USER->GetID());
             if (!CSocNetUserToGroup::Update($arRelation["ID"], $arFields)) {
                 $errorMessage = "";
                 if ($e = $APPLICATION->GetException()) {
                     $errorMessage = $e->GetString();
                 }
                 if (StrLen($errorMessage) <= 0) {
                     $errorMessage = GetMessage("SONET_UG_ERROR_CANNOT_UPDATE_NEW_OWNER_RELATION");
                 }
                 $APPLICATION->ThrowException($errorMessage, "ERROR_UPDATE_USER2GROUP");
                 $DB->Rollback();
                 return false;
             }
         } else {
             $arFields = array("USER_ID" => $userID, "GROUP_ID" => $groupID, "ROLE" => SONET_ROLES_OWNER, "=DATE_CREATE" => $DB->CurrentTimeFunction(), "=DATE_UPDATE" => $DB->CurrentTimeFunction(), "INITIATED_BY_TYPE" => SONET_INITIATED_BY_USER, "INITIATED_BY_USER_ID" => $USER->GetID(), "MESSAGE" => false);
             if (!CSocNetUserToGroup::Add($arFields)) {
                 $errorMessage = "";
                 if ($e = $APPLICATION->GetException()) {
                     $errorMessage = $e->GetString();
                 }
                 if (StrLen($errorMessage) <= 0) {
                     $errorMessage = GetMessage("SONET_UG_ERROR_CANNOT_ADD_NEW_OWNER_RELATION");
                 }
                 $APPLICATION->ThrowException($errorMessage, "ERROR_ADD_USER2GROUP");
                 $DB->Rollback();
                 return false;
             }
         }
     }
     if (strlen($errorMessage) <= 0) {
         $GROUP_ID = CSocNetGroup::Update($groupID, array("OWNER_ID" => $userID));
         if (!$GROUP_ID || IntVal($GROUP_ID) <= 0) {
             $errorMessage = "";
             if ($e = $APPLICATION->GetException()) {
                 $errorMessage = $e->GetString();
             }
             if (StrLen($errorMessage) <= 0) {
                 $errorMessage = GetMessage("SONET_UG_ERROR_CANNOT_UPDATE_GROUP");
             }
             $APPLICATION->ThrowException($errorMessage, "ERROR_UPDATE_GROUP");
             $DB->Rollback();
             return false;
         }
     }
     if (CModule::IncludeModule("im")) {
         $bIMIncluded = true;
         $groupSiteId = CSocNetGroup::GetDefaultSiteId($groupID, $arGroup["SITE_ID"]);
         $workgroupsPage = COption::GetOptionString("socialnetwork", "workgroups_page", "/workgroups/", $groupSiteId);
         $groupUrlTemplate = COption::GetOptionString("socialnetwork", "group_path_template", "/workgroups/group/#group_id#/", $groupSiteId);
         $groupUrlTemplate = "#GROUPS_PATH#" . substr($groupUrlTemplate, strlen($workgroupsPage), strlen($groupUrlTemplate) - strlen($workgroupsPage));
         $groupUrl = str_replace(array("#group_id#", "#GROUP_ID#"), $groupID, $groupUrlTemplate);
     }
     // send message to the old owner
     if ($bIMIncluded) {
         $arTmp = CSocNetLogTools::ProcessPath(array("GROUP_URL" => $groupUrl), $arGroup["OWNER_ID"], $groupSiteId);
         $groupUrl = $arTmp["URLS"]["GROUP_URL"];
         $serverName = strpos($groupUrl, "http://") === 0 || strpos($groupUrl, "https://") === 0 ? "" : $arTmp["SERVER_NAME"];
         $arMessageFields = array("TO_USER_ID" => $arGroup["OWNER_ID"], "FROM_USER_ID" => $USER->GetID(), "NOTIFY_TYPE" => IM_NOTIFY_FROM, "NOTIFY_MODULE" => "socialnetwork", "NOTIFY_EVENT" => "owner_group", "NOTIFY_TAG" => "SOCNET|OWNER_GROUP|" . $groupID, "NOTIFY_MESSAGE" => str_replace("#NAME#", "<a href=\"" . $groupUrl . "\" class=\"bx-notifier-item-action\">" . $arGroup["NAME"] . "</a>", GetMessage("SONET_UG_OWNER2MEMBER_MESSAGE")), "NOTIFY_MESSAGE_OUT" => str_replace("#NAME#", $arGroup["NAME"], GetMessage("SONET_UG_OWNER2MEMBER_MESSAGE") . " (" . $serverName . $groupUrl . ")"));
         CIMNotify::Add($arMessageFields);
     }
     // send message to the new owner
     if ($bIMIncluded) {
         $arTmp = CSocNetLogTools::ProcessPath(array("GROUP_URL" => $groupUrl), $userID, $groupSiteId);
         $groupUrl = $arTmp["URLS"]["GROUP_URL"];
         if (strpos($groupUrl, "http://") === 0 || strpos($groupUrl, "https://") === 0) {
             $serverName = "";
         } else {
             $serverName = $arTmp["SERVER_NAME"];
         }
         $arMessageFields = array("TO_USER_ID" => $userID, "FROM_USER_ID" => $USER->GetID(), "NOTIFY_TYPE" => IM_NOTIFY_FROM, "NOTIFY_MODULE" => "socialnetwork", "NOTIFY_EVENT" => "owner_group", "NOTIFY_TAG" => "SOCNET|OWNER_GROUP|" . $groupID, "NOTIFY_MESSAGE" => str_replace("#NAME#", "<a href=\"" . $groupUrl . "\" class=\"bx-notifier-item-action\">" . $arGroup["NAME"] . "</a>", GetMessage("SONET_UG_MEMBER2OWNER_MESSAGE")), "NOTIFY_MESSAGE_OUT" => str_replace("#NAME#", $arGroup["NAME"], GetMessage("SONET_UG_MEMBER2OWNER_MESSAGE") . " (" . $serverName . $groupUrl . ")"));
         CIMNotify::Add($arMessageFields);
     }
     $arNotifyParams = array("TYPE" => "owner", "RELATION_ID" => $arRelation["ID"], "USER_ID" => $userID, "GROUP_ID" => $groupID, "GROUP_NAME" => htmlspecialcharsbx($arGroup["NAME"]), "EXCLUDE_USERS" => array($userID, $arGroup["OWNER_ID"], $USER->GetID()));
     CSocNetUserToGroup::NotifyImToModerators($arNotifyParams);
     CSocNetSubscription::Set($userID, "SG" . $groupID, "Y");
     if (strlen($errorMessage) <= 0) {
         $DB->Commit();
         return true;
     } else {
         $DB->Rollback();
         return false;
     }
 }
コード例 #22
0
ファイル: webdav.php プロジェクト: k-kalashnikov/geekcon_new
} elseif ($object == "user" && !CSocNetFeatures::IsActiveFeature(SONET_ENTITY_USER, $arResult["VARIABLES"]["user_id"], "files") || $object == "group" && !CSocNetFeatures::IsActiveFeature(SONET_ENTITY_GROUP, $arResult["VARIABLES"]["group_id"], "files")) {
    $arError[] = array("id" => "fiture_is_not_active", "text" => GetMessage("SONET_FILES_IS_NOT_ACTIVE"));
    /************** Check Iblock ID ************************************/
} elseif ($object == "user" && $arParams["FILES_USER_IBLOCK_ID"] <= 0 || $object == "group" && $arParams["FILES_GROUP_IBLOCK_ID"] <= 0) {
    $arError[] = array("id" => "iblock_id_empty", "text" => GetMessage("SONET_IBLOCK_ID_EMPTY"));
} elseif ($arParams["USE_AUTH"] == "Y" && (CWebDavBase::IsDavHeaders() || $_SERVER['REQUEST_METHOD'] != "GET" && $_SERVER['REQUEST_METHOD'] != "POST") && !$USER->IsAuthorized()) {
    $APPLICATION->RestartBuffer();
    CWebDavBase::SetAuthHeader();
    header('Content-length: 0');
    die;
}
/************** Set Page Title or Add Navigation *******************/
if ($arParams["SET_NAV_CHAIN"] == "Y" || $arParams["SET_TITLE"] == "Y") {
    $strTitle = "";
    if ($object == "group") {
        $arResult["GROUP"] = $arGroup = CSocNetGroup::GetByID($arResult["VARIABLES"]["group_id"]);
        $db_res = CSocNetFeatures::GetList(array(), array("ENTITY_ID" => $arResult["GROUP"]["ID"], "ENTITY_TYPE" => SONET_ENTITY_GROUP, "FEATURE" => "files"));
        if ($db_res && ($arResult["GROUP"]["FEATURE"] = $db_res->GetNext())) {
            $arParams["STR_TITLE"] = $arResult["GROUP"]["FEATURE"]["FEATURE_NAME"] = empty($arResult["GROUP"]["FEATURE"]["FEATURE_NAME"]) ? $arParams["STR_TITLE"] : $arResult["GROUP"]["FEATURE"]["FEATURE_NAME"];
        } else {
            $arResult["GROUP"]["FEATURE"] = array("FEATURE_NAME" => $arParams["STR_TITLE"]);
        }
        $strTitle = $arGroup["~NAME"] . ": " . $arParams["STR_TITLE"];
        if ($arParams["SET_NAV_CHAIN"] == "Y") {
            $APPLICATION->AddChainItem($arGroup["NAME"], CComponentEngine::MakePathFromTemplate($arResult["PATH_TO_GROUP"], array("group_id" => $arGroup["ID"])));
            $APPLICATION->AddChainItem($arParams["STR_TITLE"], CComponentEngine::MakePathFromTemplate($arResult["PATH_TO_GROUP_FILES"], array("group_id" => $arGroup["ID"], "path" => "")));
        }
    } else {
        if (strlen($arParams["NAME_TEMPLATE"]) <= 0) {
            $arParams["NAME_TEMPLATE"] = CSite::GetNameFormat();
        }
コード例 #23
0
ファイル: webservice.php プロジェクト: ASDAFF/bxApiDocs
	public function UpdateListItems($listName, $updates)
	{
		global $USER;

		$arStatusValues = array_flip($this->arStatusValues);
		$arPriorityValues = array_flip($this->arPriorityValues);

		if (!$listName_original = CIntranetUtils::checkGUID($listName))
			return new CSoapFault('Data error', 'Wrong GUID - '.$listName);

		$obResponse = new CXMLCreator('Results');

		$listName = ToUpper(CIntranetUtils::makeGUID($listName_original));
		$arSections = CCalendarSect::GetList(array('arFilter' => array('XML_ID' => $listName_original)));
		if (!$arSections || !is_array($arSections[0]))
			return new CSoapFault(
				'List not found',
				'List with '.$listName.' GUID not found'
			);
		$arSection = $arSections[0];

		$bGroup = $arSection['CAL_TYPE'] == 'group';
		$calType = $arSection['CAL_TYPE'];
		$ownerId = $arSection['OWNER_ID'];

		if ($bGroup)
		{
			CModule::IncludeModule('socialnetwork');
			$arGroupTmp = CSocNetGroup::GetByID($arSection['SOCNET_GROUP_ID']);
			if ($arGroupTmp["CLOSED"] == "Y")
				if (COption::GetOptionString("socialnetwork", "work_with_closed_groups", "N") != "Y")
					return new CSoapFault('Cannot modify archive group calendar', 'Cannot modify archive group calendar');
		}

		$obBatch = $updates->children[0];
		$atrONERROR = $obBatch->getAttribute('OnError');
		$atrDATEINUTC = $obBatch->getAttribute('DateInUtc');
		$atrPROPERTIES = $obBatch->getAttribute('Properties');

		$arChanges = $obBatch->children;

		$arResultIDs = array();
		$dateStart = ConvertTimeStamp(strtotime('-1 hour'), 'FULL');
		$arResponseRows = array();
		$arReplicationIDs = array();
		$userId = (is_object($USER) && $USER->GetID()) ? $USER->GetID() : 1;

		foreach ($arChanges as $obMethod)
		{
			$arData = array('_command' => $obMethod->getAttribute('Cmd'));

			foreach ($obMethod->children as $obField)
			{
				$name = $obField->getAttribute('Name');
				if ($name == 'MetaInfo')
					$name .= '_'.$obField->getAttribute('Property');

				$arData[$name] = $obField->content;
			}

			if ($arData['_command'] == 'Delete')
			{
				$obRes = new CXMLCreator('Result');
				$obRes->setAttribute('ID', $obMethod->getAttribute('ID').','.$arData['_command']);
				$obRes->setAttribute('List', $listName);
				$obRes->addChild($obNode = new CXMLCreator('ErrorCode'));

				$res = CCalendar::DeleteEvent($arData['ID']);
				if ($res === true)
					$obNode->setData('0x00000000');
				else
					$obNode->setData('0x81020014');

				/*
					0x00000000 - ok
					0x81020015 - data conflict
					0x81020014 - generic error such as invalid value for Field
					0x81020016 - item does not exist
				*/

				$obResponse->addChild($obRes);
			}
			elseif ($arData['_command'] == 'New' || $arData['_command'] == 'Update')
			{
				$q = ToLower($arData['Description']);
				if (($pos = strrpos($q, '</body>')) !== false) $arData['Description'] = substr($arData['Description'], 0, $pos);
				if (($pos = strpos($q, '<body>')) !== false) $arData['Description'] = substr($arData['Description'], $pos + 6);

				$arData['Description'] = str_replace('</DIV>', "\r\n</DIV>", $arData['Description']);
				$arData['Description'] = str_replace(array("&#10;", "&#13;"), "", $arData['Description']);
				$arData['Description'] = preg_replace("/<![^>]*>/", '', $arData['Description']);
				//$arData['Description'] = strip_tags($arData['Description']);
				$arData['Description'] = trim($arData['Description']);

				$arData['Location'] = trim($arData['Location']);

				if (isset($arData['EventDate']))
				{
					$arData['EventDate'] = $this->__makeTS($arData['EventDate']);
					$arData['EndDate'] = $this->__makeTS($arData['EndDate']) + ($arData['fAllDayEvent'] ? -86340 : 0);
					$TZBias = intval(date('Z', $arData['EventDate']));
				}

				$arData['EventType'] = intval($arData['EventType']);

				if ($arData['EventType'] == 2)
					$arData['EventType'] = 0;

				if ($arData['EventType'] > 2 /* || ($arData['EventType'] == 1 && !$arData['RecurrenceData'])*/)
					return new CSoapFault(
						'Unsupported event type',
						'Event type unsupported'
					);

				$arData['fRecurrence'] = intval($arData['fRecurrence']);
				$arData['RRULE'] = '';

				$id = $arData['_command'] == 'New' ? 0 : intVal($arData['ID']);
				if ($arData['RecurrenceData'])
				{
					//$xmlstr = $arData['XMLTZone'];
					//$arData['XMLTZone'] = new CDataXML();
					//$arData['XMLTZone']->LoadString($xmlstr);

					$xmlstr = $arData['RecurrenceData'];
					$obRecurData = new CDataXML();
					$obRecurData->LoadString($xmlstr);

/*
<recurrence>
		<rule>
			<firstDayOfWeek>mo</firstDayOfWeek>
			<repeat>
				<weekly mo='TRUE' tu='TRUE' th='TRUE' sa='TRUE' weekFrequency='1' />
			</repeat>
			<repeatForever>FALSE</repeatForever>
		</rule>
</recurrence>
<deleteExceptions>true</deleteExceptions>
*/

					$obRecurRule = $obRecurData->tree->children[0]->children[0];
					$obRecurRepeat = $obRecurRule->children[1];
					$obNode = $obRecurRepeat->children[0];

					$arData['RRULE'] = array();
					switch($obNode->name)
					{
						case 'daily':
							// hack. we have no "work days" daily recurence
							if ($obNode->getAttribute('weekday') == 'TRUE')
							{
								$arData['RRULE']['FREQ'] = 'WEEKLY';
								$arData['RRULE']['BYDAY'] = 'MO,TU,WE,TH,FR';
								$arData['RRULE']['INTERVAL'] = 1;
							}
							else
							{
								$arData['RRULE']['FREQ'] = 'DAILY';
								$arData['RRULE']['INTERVAL'] = $obNode->getAttribute('dayFrequency');
							}

							$time_end = strtotime(
								date(date('Y-m-d', $arData['EventDate']).' H:i:s', $arData['EndDate'])
							);

							$arData['DT_LENGTH'] = $time_end - $arData['EventDate'];
						break;

						case 'weekly':
							$arData['RRULE']['FREQ'] = 'WEEKLY';
							$arData['RRULE']['BYDAY'] = '';

							$arWeekDays = array('mo', 'tu', 'we', 'th', 'fr', 'sa', 'su');
							foreach ($arWeekDays as $day => $value)
							{
								if ($obNode->getAttribute($value))
									$arData['RRULE']['BYDAY'][] = strtoupper($value);
							}

							$arData['RRULE']['BYDAY'] = implode(',', $arData['RRULE']['BYDAY']);
							$arData['RRULE']['INTERVAL'] = $obNode->getAttribute('weekFrequency');

							$time_end = strtotime(date(date('Y-m-d', $arData['EventDate']).' H:i:s', $arData['EndDate']));

							$arData['DT_LENGTH'] = $time_end - $arData['EventDate'];
						break;

						case 'monthly':
							$arData['RRULE']['FREQ'] = 'MONTHLY';
							$arData['RRULE']['INTERVAL'] = $obNode->getAttribute('monthFrequency');
							$time_end = strtotime(date(date('Y-m', $arData['EventDate']).'-d H:i:s', $arData['EndDate']));

							$arData['DT_LENGTH'] = $time_end - $arData['EventDate'];
						break;

						case 'yearly':
							$arData['RRULE']['FREQ'] = 'YEARLY';
							$arData['RRULE']['INTERVAL'] = $obNode->getAttribute('yearFrequency');

							$time_end = strtotime(date(date('Y', $arData['EventDate']).'-m-d H:i:s', $arData['EndDate']));

							$arData['DT_LENGTH'] = $time_end - $arData['EventDate'];
						break;
					}

					if ($arData['DT_LENGTH'] == 0 && isset($arData['RRULE']['FREQ']))
						$arData['DT_LENGTH'] = 86400;

					$obWhile = $obRecurRule->children[2];
					if ($obWhile->name == 'repeatForever')
					{
						$arData['EndDate'] = MakeTimeStamp('');
					}
					elseif ($obWhile->name == 'windowEnd')
					{
						$arData['EndDate'] = $this->__makeTS($obWhile->textContent());
						$arData['RRULE']['UNTIL'] = ConvertTimeStamp($arData['EndDate'], 'FULL');
					}
				}
				elseif($arData['fRecurrence'] == -1 && $id > 0)
				{
					$arData['RRULE'] = -1;
				}

				if (isset($arData['EventDate']))
				{
					$skipTime = $arData['fAllDayEvent'] ? 'Y' : 'N';
					$TZBias = $arData['fAllDayEvent'] ? 0 : $TZBias;
					$arData['EventDate'] += $TZBias;
					$arData['EndDate'] += $TZBias;

//					$arData["DT_FROM"] = ConvertTimeStamp($arData['EventDate'], 'FULL');
//					$arData["DT_TO"] = ConvertTimeStamp($arData['EndDate'], 'FULL');
				}
				else
				{
					$arData["DT_FROM"] = -1;
					$arData["DT_TO"] = -1;
				}

				// fields
				$arFields = array(
					"ID" => $id,
					'CAL_TYPE' => $calType,
					'OWNER_ID' => $ownerId,
					'CREATED_BY' => $userId,
					'DT_FROM_TS' => $arData['EventDate'],
					'DT_TO_TS' => $arData['EndDate'],
					'DT_SKIP_TIME' => $skipTime,
//					"DT_FROM" => $arData["DT_FROM"],
//					"DT_TO" => $arData["DT_TO"],
					'NAME' => $arData['Title'],
					'DESCRIPTION' => CCalendar::ParseHTMLToBB($arData['Description']),
					'SECTIONS' => array($arSection['ID']),
					'ACCESSIBILITY' => $arStatusValues[$arData['MetaInfo_BusyStatus']],
					'IMPORTANCE' => $arPriorityValues[$arData['MetaInfo_Priority']],
					'RRULE' => $arData['RRULE'],
					'LOCATION' => CCalendar::UnParseTextLocation($arData['Location'])
				);

				if (isset($arData['DT_LENGTH']) && $arData['DT_LENGTH'] > 0)
					$arFields['DT_LENGTH'] = $arData['DT_LENGTH'];

				$EventID = CCalendar::SaveEvent(
					array(
						'arFields' => $arFields,
						'fromWebservice' => true
					)
				);

				if ($EventID)
				{
					// dirty hack
					$arReplicationIDs[$EventID] = $arData['MetaInfo_ReplicationID'];

					$arResponseRows[$EventID] = new CXMLCreator('Result');
					$arResponseRows[$EventID]->setAttribute('ID', $obMethod->getAttribute('ID').','.$arData['_command']);
					$arResponseRows[$EventID]->setAttribute('List', $listName);

					$arResponseRows[$EventID]->addChild($obNode = new CXMLCreator('ErrorCode'));
					$obNode->setData('0x00000000');
					//$arResponseRows[$EventID]->setAttribute('Version', 3);
				}
			}
		}

		$userId = (is_object($USER) && $USER->GetID()) ? $USER->GetID() : 1;
		$fetchMeetings = CCalendar::GetMeetingSection($userId) == $arSection['ID'];
		$arEvents = CCalendarEvent::GetList(
			array(
				'arFilter' => array(
					'CAL_TYPE' => $calType,
					'OWNER_ID' => $ownerId,
					'SECTION' => $arSection['ID'],
					//'INCLUDE_INVITINGS' => 'N'
				),
				'getUserfields' => false,
				'parseRecursion' => false,
				'fetchAttendees' => false,
				'fetchMeetings' => $fetchMeetings,
				'userId' => $userId
			)
		);

		foreach ($arEvents as $key => $event)
		{
			if ($arResponseRows[$event['ID']])
			{
				$obRow = $this->__getRow($event, $listName, $last_change = 0);
				$obRow->setAttribute('xmlns:z', "#RowsetSchema");
				if ($arReplicationIDs[$event['ID']])
					$obRow->setAttribute('MetaInfo_ReplicationID', $arReplicationIDs[$event['ID']]);

				$arResponseRows[$event['ID']]->addChild($obRow);
			}
			$obResponse->addChild($arResponseRows[$event['ID']]);
		}
		return array('UpdateListItemsResult' => $obResponse);
	}
コード例 #24
0
ファイル: ajax.php プロジェクト: mrdeadmouse/u136006
 if ($EXTERNAL == "E" && strlen($site) > 0 && !CExtranet::IsIntranetUser()) {
     $arUsersInMyGroupsID = CExtranet::GetMyGroupsUsers($site);
     $arPublicUsersID = CExtranet::GetPublicUsers();
     $arUsersToFilter = array_merge($arUsersInMyGroupsID, $arPublicUsersID);
 } elseif ($EXTERNAL == "EA" && $GLOBALS["APPLICATION"]->GetGroupRight("socialnetwork", false, "Y", "Y", array($site, false)) >= "K") {
     $arExtranetUsersID = CExtranet::GetExtranetGroupUsers();
     $arIntranetUsersID = CExtranet::GetIntranetUsers();
     $arUsersToFilter = array_diff($arExtranetUsersID, $arIntranetUsersID);
 } elseif ($EXTERNAL == "EA") {
     $arUsersInMyGroupsID = CExtranet::GetMyGroupsUsers($site);
     $arIntranetUsersID = CExtranet::GetIntranetUsers();
     $arUsersToFilter = array_diff($arUsersInMyGroupsID, $arIntranetUsersID);
 } elseif ($EXTERNAL == 'I' && CModule::IncludeModule('extranet') && CExtranet::IsIntranetUser($site)) {
     $arUsersToFilter = CExtranet::GetIntranetUsers();
 } elseif (intval($group_id) > 0) {
     $arSonetGroup = CSocNetGroup::GetByID($group_id);
     if (!$arSonetGroup) {
         require_once $_SERVER["DOCUMENT_ROOT"] . BX_ROOT . "/modules/main/include/epilog_after.php";
         die;
     } elseif (IsModuleInstalled("extranet")) {
         // check if current user is a member of extranet workgroup
         if (CModule::IncludeModule("extranet") && CExtranet::IsExtranetSite($arSonetGroup["SITE_ID"]) && !CSocNetUser::IsCurrentUserModuleAdmin($arSonetGroup["SITE_ID"])) {
             $dbRequests = CSocNetUserToGroup::GetList(array(), array("GROUP_ID" => $group_id, "USER_ID" => $GLOBALS["USER"]->GetID(), "<=ROLE" => SONET_ROLES_USER), false, false, array("ID"));
             if ($dbRequests) {
                 if (!($arRequests = $dbRequests->Fetch())) {
                     require_once $_SERVER["DOCUMENT_ROOT"] . BX_ROOT . "/modules/main/include/epilog_after.php";
                     die;
                 }
             }
         }
     }
コード例 #25
0
ファイル: component.php プロジェクト: Satariall/izurit
         $arCatTmp["urlToCategory"] = CComponentEngine::MakePathFromTemplate($arParams["PATH_TO_SEARCH_TAG"], array("tag" => urlencode($arCatTmp["NAME"])));
         $arResult["Category"][] = $arCatTmp;
     }
 }
 $bAll = false;
 $arResult["Post"]["SPERM"] = array();
 if ($arPost["HAS_SOCNET_ALL"] != "Y") {
     $arSPERM = CBlogPost::GetSocnetPermsName($arResult["Post"]["ID"]);
     foreach ($arSPERM as $type => $v) {
         foreach ($v as $vv) {
             $name = "";
             $link = "";
             $id = "";
             $isExtranet = false;
             if ($type == "SG") {
                 if ($arSocNetGroup = CSocNetGroup::GetByID($vv["ENTITY_ID"])) {
                     $name = $arSocNetGroup["NAME"];
                     $link = CComponentEngine::MakePathFromTemplate($arParams["PATH_TO_GROUP"], array("group_id" => $vv["ENTITY_ID"]));
                     $groupSiteID = false;
                     $rsGroupSite = CSocNetGroup::GetSite($vv["ENTITY_ID"]);
                     while ($arGroupSite = $rsGroupSite->Fetch()) {
                         if (!$arResult["bExtranetInstalled"] || $arGroupSite["LID"] != CExtranet::GetExtranetSiteID()) {
                             $groupSiteID = $arGroupSite["LID"];
                             break;
                         }
                     }
                     if ($groupSiteID) {
                         $arTmp = CSocNetLogTools::ProcessPath(array("GROUP_URL" => $link), $user_id, $groupSiteID);
                         // user_id is not important parameter
                         $link = strlen($arTmp["URLS"]["GROUP_URL"]) > 0 ? $arTmp["SERVER_NAME"] . $arTmp["URLS"]["GROUP_URL"] : $link;
                     }
コード例 #26
0
ファイル: template.php プロジェクト: mrdeadmouse/u136006
							<input type="file" name="task-attachments[]" size="1" multiple="multiple" id="task-upload" />
						</div>
					</div>
				</div>

				<?php 
if (sizeof($arResult["GROUPS"]) > 0) {
    ?>
					<?php 
    $name = $APPLICATION->IncludeComponent("bitrix:socialnetwork.group.selector", ".default", array("BIND_ELEMENT" => "task-sonet-group-selector", "ON_SELECT" => "onGroupSelect", "FEATURES_PERMS" => array("tasks", "create_tasks"), "SELECTED" => $arData["GROUP_ID"] ? $arData["GROUP_ID"] : 0), null, array("HIDE_ICONS" => "Y"));
    ?>
					<div class="webform-row task-group-row">
						<a href="" id="task-sonet-group-selector" class="webform-field-action-link"><?php 
    echo GetMessage("TASKS_TASK_GROUP");
    if ($arData["GROUP_ID"]) {
        $arGroup = CSocNetGroup::GetByID($arData["GROUP_ID"]);
        echo ": " . $arGroup["NAME"];
    }
    ?>
</a>
						<?php 
    if ($arData["GROUP_ID"]) {
        ?>
<input type="hidden" name="GROUP_ID" value="<?php 
        echo $arGroup["ID"];
        ?>
" /><span class="task-group-delete" onclick="deleteGroup(<?php 
        echo $arGroup["ID"];
        ?>
)"></span><?php 
    }
コード例 #27
0
ファイル: index.php プロジェクト: Satariall/izurit
<?php

if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) {
    die;
}
if (!CModule::IncludeModule("socialnetwork")) {
    return false;
}
if (intval($arGadgetParams["ID"]) <= 0) {
    return false;
}
if (!array_key_exists("NAME", $arGadgetParams) || !array_key_exists("DESCRIPTION", $arGadgetParams) || !array_key_exists("CLOSED", $arGadgetParams) || !array_key_exists("OPENED", $arGadgetParams) || !array_key_exists("VISIBLE", $arGadgetParams) || !array_key_exists("SUBJECT_NAME", $arGadgetParams) || !array_key_exists("DATE_CREATE", $arGadgetParams) || !array_key_exists("NUMBER_OF_MEMBERS", $arGadgetParams)) {
    $arGadgetParams = CSocNetGroup::GetByID($arGadgetParams["ID"]);
}
$arGadgetParams["NAME"] = isset($arGadgetParams["NAME"]) ? $arGadgetParams["NAME"] : "";
$arGadgetParams["DESCRIPTION"] = isset($arGadgetParams["DESCRIPTION"]) ? $arGadgetParams["DESCRIPTION"] : "";
$arGadgetParams["CLOSED"] = isset($arGadgetParams["CLOSED"]) ? $arGadgetParams["CLOSED"] : "N";
$arGadgetParams["OPENED"] = isset($arGadgetParams["OPENED"]) ? $arGadgetParams["OPENED"] : "Y";
$arGadgetParams["VISIBLE"] = isset($arGadgetParams["VISIBLE"]) ? $arGadgetParams["VISIBLE"] : "Y";
$arGadgetParams["SUBJECT_NAME"] = isset($arGadgetParams["SUBJECT_NAME"]) ? $arGadgetParams["SUBJECT_NAME"] : "";
$arGadgetParams["DATE_CREATE"] = isset($arGadgetParams["DATE_CREATE"]) ? $arGadgetParams["DATE_CREATE"] : "";
$arGadgetParams["NUMBER_OF_MEMBERS"] = isset($arGadgetParams["NUMBER_OF_MEMBERS"]) ? $arGadgetParams["NUMBER_OF_MEMBERS"] : "";
?>
<h4><?php 
echo $arGadgetParams["NAME"];
?>
</h4>
<table width="100%" cellspacing="2" cellpadding="2">
<?php 
if ($arGadgetParams["CLOSED"] == "Y") {
    ?>
コード例 #28
0
ファイル: wiki_utils.php プロジェクト: rasuldev/torino
 /**
  * <p>Метод проверяет доступ пользователя.</p>
  *
  *
  *
  *
  * @param string $access  Тип проверяемого доступа (view, write, delete)
  *
  *
  *
  * @return bool 
  *
  *
  * <h4>See Also</h4> 
  * <ul> <li> <a href="http://dev.1c-bitrix.ru/api_help/wiki/classes/cwikiutils/IsReadable.php">CWikiUtils::isReadable</a>
  * </li> <li> <a
  * href="http://dev.1c-bitrix.ru/api_help/wiki/classes/cwikiutils/IsWriteable.php">CWikiUtils::isWriteable</a> </li> <li>
  * <a href="http://dev.1c-bitrix.ru/api_help/wiki/classes/cwikiutils/IsDeleteable.php">CWikiUtils::IsDeleteable</a> </li>
  * <li> <a href="http://dev.1c-bitrix.ru/api_help/wiki/classes/cwikiutils/IsAllowHTML.php">CWikiUtils::isAllowHTML</a>
  * </li> </ul><br><br>
  *
  *
  * @static
  * @link http://dev.1c-bitrix.ru/api_help/wiki/classes/cwikiutils/CheckAccess.php
  * @author Bitrix
  */
 static function CheckAccess($access = 'view')
 {
     global $APPLICATION, $USER, $arParams;
     if ($USER->IsAdmin()) {
         return true;
     }
     if (CWikiSocnet::IsSocNet()) {
         $arSonetGroup = CSocNetGroup::GetByID($iSocNetId);
         if ($arSonetGroup && CSocNetUser::IsCurrentUserModuleAdmin($arSonetGroup['SITE_ID'])) {
             return true;
         }
         if (!CSocNetFeaturesPerms::CanPerformOperation($USER->GetID(), SONET_ENTITY_GROUP, CWikiSocnet::$iSocNetId, 'wiki', $access)) {
             return false;
         }
         return true;
     } else {
         $letter = 'R';
         $letterI = 'R';
         switch ($access) {
             case 'write':
                 $letter = 'W';
                 $letterI = 'W';
                 break;
             case 'delete':
                 $letter = 'Y';
                 $letterI = 'W';
                 break;
             case 'perm':
                 $letter = 'Z';
                 $letterI = 'X';
                 break;
         }
         $wikiModulePermission = $APPLICATION->GetGroupRight('wiki');
         $iblockPermission = CIBlock::GetPermission($arParams['IBLOCK_ID']);
         return $wikiModulePermission >= $letter && $iblockPermission >= $letterI;
     }
 }
コード例 #29
0
ファイル: log.php プロジェクト: ASDAFF/bxApiDocs
	public static function InitGroupTmp($groupID, $arParams, $bRSS = false)
	{
		$title = "";
		$message = "";

		$arGroup = CSocNetGroup::GetByID($groupID);
		if ($arGroup)
		{
			$pu = CComponentEngine::MakePathFromTemplate($arParams["PATH_TO_GROUP"], array("group_id" => $arGroup["ID"]));

			if (!$bRSS)
				$title .= "<a href=\"".$pu."\">";
			$title .= $arGroup["NAME"];
			if (!$bRSS)
				$title .= "</a>";

			if (intval($arGroup["IMAGE_ID"]) <= 0)
				$arGroup["IMAGE_ID"] = COption::GetOptionInt("socialnetwork", "default_group_picture", false, SITE_ID);

			$arImage = CSocNetTools::InitImage($arGroup["IMAGE_ID"], 100, "/bitrix/images/socialnetwork/nopic_group_100.gif", 100, $pu, true);

			$message = $arImage["IMG"];
		}

		return array($title, $message);
	}
コード例 #30
0
ファイル: group.php プロジェクト: DarneoStudio/bitrix
 function Delete($ID)
 {
     global $DB;
     if (!CSocNetGroup::__ValidateID($ID)) {
         return false;
     }
     $ID = IntVal($ID);
     $bSuccess = True;
     $db_events = GetModuleEvents("socialnetwork", "OnBeforeSocNetGroupDelete");
     while ($arEvent = $db_events->Fetch()) {
         if (ExecuteModuleEventEx($arEvent, array($ID)) === false) {
             return false;
         }
     }
     $arGroup = CSocNetGroup::GetByID($ID);
     if (!$arGroup) {
         $GLOBALS["APPLICATION"]->ThrowException(GetMessage("SONET_NO_GROUP"), "ERROR_NO_GROUP");
         return false;
     }
     $DB->StartTransaction();
     $events = GetModuleEvents("socialnetwork", "OnSocNetGroupDelete");
     while ($arEvent = $events->Fetch()) {
         ExecuteModuleEventEx($arEvent, array($ID));
     }
     if ($bSuccess) {
         $bSuccess = $DB->Query("DELETE FROM b_sonet_user2group WHERE GROUP_ID = " . $ID . "", true);
     }
     if ($bSuccess) {
         $bSuccessTmp = true;
         $dbResult = CSocNetFeatures::GetList(array(), array("ENTITY_ID" => $ID, "ENTITY_TYPE" => SONET_ENTITY_GROUP));
         while ($arResult = $dbResult->Fetch()) {
             $bSuccessTmp = $DB->Query("DELETE FROM b_sonet_features2perms WHERE FEATURE_ID = " . $arResult["ID"] . "", true);
             if (!$bSuccessTmp) {
                 break;
             }
         }
         if (!$bSuccessTmp) {
             $bSuccess = false;
         }
     }
     if ($bSuccess) {
         $bSuccess = $DB->Query("DELETE FROM b_sonet_features WHERE ENTITY_ID = " . $ID . " AND ENTITY_TYPE = '" . $DB->ForSql(SONET_ENTITY_GROUP, 1) . "'", true);
     }
     if ($bSuccess) {
         $dbResult = CSocNetLog::GetList(array(), array("ENTITY_ID" => $ID, "ENTITY_TYPE" => SONET_ENTITY_GROUP), false, false, array("ID"));
         while ($arResult = $dbResult->Fetch()) {
             $bSuccessTmp = $DB->Query("DELETE FROM b_sonet_log_site WHERE LOG_ID = " . $arResult["ID"] . "", true);
             if (!$bSuccessTmp) {
                 break;
             }
             $bSuccessTmp = $DB->Query("DELETE FROM b_sonet_log_right WHERE LOG_ID = " . $arResult["ID"] . "", true);
             if (!$bSuccessTmp) {
                 break;
             }
         }
         if (!$bSuccessTmp) {
             $bSuccess = false;
         }
     }
     if ($bSuccess) {
         $bSuccess = $DB->Query("DELETE FROM b_sonet_log WHERE ENTITY_TYPE = '" . SONET_ENTITY_GROUP . "' AND ENTITY_ID = " . $ID . "", true);
     }
     if ($bSuccess) {
         $bSuccess = CSocNetLog::DeleteSystemEventsByGroupID($ID);
     }
     if ($bSuccess) {
         $bSuccess = $DB->Query("DELETE FROM b_sonet_log_events WHERE ENTITY_TYPE = 'G' AND ENTITY_ID = " . $ID . "", true);
     }
     if ($bSuccess) {
         $bSuccess = $DB->Query("DELETE FROM b_sonet_group_site WHERE GROUP_ID = " . $ID . "", true);
     }
     if ($bSuccess) {
         $bSuccess = $DB->Query("DELETE FROM b_sonet_log_right WHERE GROUP_CODE LIKE 'SG" . $ID . "\\_%' OR GROUP_CODE = 'SG" . $ID . "'", true);
     }
     if ($bSuccess) {
         $bSuccess = CSocNetSubscription::DeleteEx(false, "SG" . $ID);
     }
     if ($bSuccess) {
         CFile::Delete($arGroup["IMAGE_ID"]);
         $bSuccess = $DB->Query("DELETE FROM b_sonet_group WHERE ID = " . $ID . "", true);
     }
     if ($bSuccess) {
         CUserOptions::DeleteOption("socialnetwork", "~menu_" . SONET_ENTITY_GROUP . "_" . $ID, false, 0);
         unset($GLOBALS["SONET_GROUP_CACHE"][$ID]);
     }
     if ($bSuccess) {
         $DB->Commit();
     } else {
         $DB->Rollback();
     }
     if ($bSuccess) {
         unset($GLOBALS["SONET_GROUP_CACHE"][$ID]);
         if (defined("BX_COMP_MANAGED_CACHE")) {
             $GLOBALS["CACHE_MANAGER"]->ClearByTag("sonet_user2group_G" . $ID);
             $GLOBALS["CACHE_MANAGER"]->ClearByTag("sonet_user2group");
             $GLOBALS["CACHE_MANAGER"]->ClearByTag("sonet_group_" . $ID);
             $GLOBALS["CACHE_MANAGER"]->ClearByTag("sonet_group");
         }
     }
     if ($bSuccess && CModule::IncludeModule("search")) {
         CSearch::DeleteIndex("socialnetwork", "G" . $ID);
     }
     if ($bSuccess) {
         $DB->Query("DELETE FROM b_sonet_event_user_view WHERE ENTITY_TYPE = '" . SONET_ENTITY_GROUP . "' AND ENTITY_ID = " . $ID, true);
     }
     if ($bSuccess) {
         $GLOBALS["USER_FIELD_MANAGER"]->Delete("SONET_GROUP", $ID);
     }
     return $bSuccess;
 }