Example #1
0
        protected override void LoadComponentDefinition()
        {
            #region Properties
            List<BXParamValue> properties = new List<BXParamValue>(),
                                propertiesForUserReference = new List<BXParamValue>();
            int selectedIblockId = 0;
            if (Parameters.ContainsKey("IBlockId"))
                int.TryParse(Parameters["IBlockId"], out selectedIblockId);

            if (selectedIblockId > 0)
            {
                BXCustomFieldCollection customFields = BXIBlock.GetCustomFields(selectedIblockId);
                foreach (BXCustomField customField in customFields)
                {
                    string title = BXTextEncoder.HtmlTextEncoder.Decode(customField.EditFormLabel);
                    string code = customField.Name.ToUpper();
                    properties.Add(new BXParamValue(title, code));
                    if (string.Equals(customField.CustomTypeId, "Bitrix.System.Int", StringComparison.Ordinal))
                        propertiesForUserReference.Add(new BXParamValue(title, code));
                }
            }
            #endregion

            #region Iblock type
            List<BXParamValue> typeParamValue = new List<BXParamValue>();
            typeParamValue.Add(new BXParamValue(GetMessageRaw("SelectIBlockType"), string.Empty));

            BXIBlockTypeCollection iblockTypes = BXIBlockType.GetList(null, new BXOrderBy(new BXOrderByPair(BXIBlockType.Fields.Name, BXOrderByDirection.Asc)), null, null, BXTextEncoder.EmptyTextEncoder);
            foreach (BXIBlockType iblockType in iblockTypes)
                typeParamValue.Add(new BXParamValue(iblockType.Translations[BXLoc.CurrentLocale].Name, iblockType.Id.ToString()));

            ParamsDefinition["IBlockTypeId"].Values = typeParamValue;
            ParamsDefinition["IBlockTypeId"].RefreshOnDirty = true;
            #endregion

            #region Iblock
            int selectedIBlockType = 0;
            if (Parameters.ContainsKey("IBlockTypeId"))
                int.TryParse(Parameters["IBlockTypeId"], out selectedIBlockType);

            BXFilter filter = new BXFilter();
            if (selectedIBlockType > 0)
                filter.Add(new BXFilterItem(BXIBlock.Fields.Type.ID, BXSqlFilterOperators.Equal, selectedIBlockType));
            if (!string.IsNullOrEmpty(DesignerSite))
                filter.Add(new BXFilterItem(BXIBlock.Fields.Sites.SiteId, BXSqlFilterOperators.Equal, DesignerSite));

            List<BXParamValue> iblockParamValue = new List<BXParamValue>();
            iblockParamValue.Add(new BXParamValue(GetMessageRaw("SelectIBlockID"), string.Empty));
            BXIBlockCollection iblocks = BXIBlock.GetList(filter, new BXOrderBy(new BXOrderByPair(BXIBlock.Fields.Name, BXOrderByDirection.Asc)), null, null, BXTextEncoder.EmptyTextEncoder);
            foreach (BXIBlock iblock in iblocks)
                iblockParamValue.Add(new BXParamValue(iblock.Name, iblock.Id.ToString()));

            ParamsDefinition["IBlockId"].Values = iblockParamValue;
            ParamsDefinition["IBlockId"].RefreshOnDirty = true;
            #endregion

            #region Sorting
            List<BXParamValue> sortingFields = new List<BXParamValue>();
            sortingFields.Add(new BXParamValue(GetMessageRaw("ElementID"), "ID"));
            sortingFields.Add(new BXParamValue(GetMessageRaw("ElementName"), "Name"));
            sortingFields.Add(new BXParamValue(GetMessageRaw("Active"), "Active"));
            sortingFields.Add(new BXParamValue(GetMessageRaw("ActiveFromDate"), "ActiveFromDate"));
            sortingFields.Add(new BXParamValue(GetMessageRaw("ActiveUntilDate"), "ActiveToDate"));
            sortingFields.Add(new BXParamValue(GetMessageRaw("SortIndex"), "Sort"));
            sortingFields.Add(new BXParamValue(GetMessageRaw("DateOfModification"), "UpdateDate"));
            sortingFields.AddRange(properties);

            ParamsDefinition["SortBy"].Values = sortingFields;
            #endregion

            #region Access
            //RolesAuthorizedToManage && RolesAuthorizedToAdminister && RolesAuthorizedToView && RolesAuthorizedToManageOfActivation
            IList<BXParamValue> rolesAuthorizedToManage = ParamsDefinition["RolesAuthorizedToManage"].Values;
            if (rolesAuthorizedToManage.Count > 0)
                rolesAuthorizedToManage.Clear();

            IList<BXParamValue> rolesAuthorizedToAdminister = ParamsDefinition["RolesAuthorizedToAdminister"].Values;
            if (rolesAuthorizedToAdminister.Count > 0)
                rolesAuthorizedToAdminister.Clear();

            IList<BXParamValue> rolesAuthorizedToView = ParamsDefinition["RolesAuthorizedToView"].Values;
            if (rolesAuthorizedToView.Count > 0)
                rolesAuthorizedToView.Clear();

            IList<BXParamValue> authRolesAuthorizedToManageOfActivationValues = ParamsDefinition["RolesAuthorizedToManageOfActivation"].Values;
            if (authRolesAuthorizedToManageOfActivationValues.Count > 0)
                authRolesAuthorizedToManageOfActivationValues.Clear();

            BXRoleCollection roles = BXRoleManager.GetList(new BXFormFilter(new BXFormFilterItem("Active", true, BXSqlFilterOperators.Equal)), new BXOrderBy_old("RoleName", "Asc"));
            for (int i = 0; i < roles.Count; i++)
            {
                BXRole role = roles[i];
                BXParamValue v = new BXParamValue(role.Title, role.RoleName);
                rolesAuthorizedToManage.Add(v);
                rolesAuthorizedToAdminister.Add(v);
                rolesAuthorizedToView.Add(v);
                authRolesAuthorizedToManageOfActivationValues.Add(v);
            }
            //---
            //MannerOfIssueModificationPermission
            IList<BXParamValue> manOfIssueModificationPermissionValues = ParamsDefinition["MannerOfIssueModificationPermission"].Values;
            if (manOfIssueModificationPermissionValues.Count > 0)
                manOfIssueModificationPermissionValues.Clear();

            foreach (string n in Enum.GetNames(typeof(MannerOfIssueModificationPermission)))
                manOfIssueModificationPermissionValues.Add(new BXParamValue(GetMessageRaw(string.Concat("MannerOfIssueModificationPermission", n)), n));
            //---
            //MannerOfUserAssociation
            IList<BXParamValue> mannerOfUserAssociationValues = ParamsDefinition["MannerOfUserAssociation"].Values;
            if (mannerOfUserAssociationValues.Count > 0)
                mannerOfUserAssociationValues.Clear();

            foreach (string n in Enum.GetNames(typeof(MannerOfUserAssociation)))
                mannerOfUserAssociationValues.Add(new BXParamValue(GetMessageRaw(string.Concat("MannerOfUserAssociation", n)), n));
            //---
            //UserAssociatedByCustomIBlockProperty
            IList<BXParamValue> userAssociatedByCustomIBlockPropertyValues = ParamsDefinition["UserAssociatedByCustomIBlockProperty"].Values;
            if (userAssociatedByCustomIBlockPropertyValues.Count > 0)
                userAssociatedByCustomIBlockPropertyValues.Clear();

            userAssociatedByCustomIBlockPropertyValues.Add(new BXParamValue(GetMessageRaw("NotSelected"), string.Empty));
            for (int n = 0; n < propertiesForUserReference.Count; n++)
                userAssociatedByCustomIBlockPropertyValues.Add(propertiesForUserReference[n]);
            //---
            //MannerOfUserIdentification
            IList<BXParamValue> mannerOfUserIdentificationValues = ParamsDefinition["MannerOfUserIdentification"].Values;
            if (mannerOfUserIdentificationValues.Count > 0)
                mannerOfUserIdentificationValues.Clear();

            foreach (string n in Enum.GetNames(typeof(MannerOfUserIdentification)))
                mannerOfUserIdentificationValues.Add(new BXParamValue(GetMessageRaw(string.Concat("MannerOfUserIdentification", n)), n));
            //---
            IList<BXParamValue> elementStatusValues = ParamsDefinition["ElementActiveAfterSave"].Values;
            if (elementStatusValues.Count > 0)
                elementStatusValues.Clear();
            foreach (string n in Enum.GetNames(typeof(ElementStatus)))
                elementStatusValues.Add(new BXParamValue(GetMessageRaw(string.Concat("ElementStatus", n)), n));
            #endregion

            #region WebForm
            List<BXParamValue> fields = new List<BXParamValue>();
            fields.Add(new BXParamValue(GetMessageRaw("ElementFieldCaptionActive"), "Active"));
            fields.Add(new BXParamValue(GetMessageRaw("ElementFieldCaptionName"), "Name"));
            fields.Add(new BXParamValue(GetMessageRaw("ElementFieldCaptionActiveFromDate"), "ActiveFromDate"));
            fields.Add(new BXParamValue(GetMessageRaw("ElementFieldCaptionActiveToDate"), "ActiveToDate"));
            fields.Add(new BXParamValue(GetMessageRaw("ElementFieldCaptionSections"), "Sections"));
            fields.Add(new BXParamValue(GetMessageRaw("ElementFieldCaptionPreviewText"), "PreviewText"));
            fields.Add(new BXParamValue(GetMessageRaw("ElementFieldCaptionPreviewPicture"), "PreviewImage"));
            fields.Add(new BXParamValue(GetMessageRaw("ElementFieldCaptionDetailText"), "DetailText"));
            fields.Add(new BXParamValue(GetMessageRaw("ElementFieldCaptionDetailPicture"), "DetailImage"));

            IList<BXParamValue> requiredFieldsValues = ParamsDefinition["RequiredFields"].Values;
            if (requiredFieldsValues.Count > 0)
                requiredFieldsValues.Clear();

            IList<BXParamValue> editableFieldsValues = ParamsDefinition["EditFields"].Values;
            if (editableFieldsValues.Count > 0)
                editableFieldsValues.Clear();

            int fieldCount = fields.Count;
            for (int n = 0; n < fieldCount; n++)
            {
                requiredFieldsValues.Add(fields[n]);
                editableFieldsValues.Add(fields[n]);
            }


            editableFieldsValues.Add(new BXParamValue(GetMessageRaw("ElementFieldCaptionCaptcha"), "Captcha"));
            if (selectedIblockId > 0)
            {
                BXCustomFieldCollection customFields = BXIBlock.GetCustomFields(selectedIblockId);
                foreach (BXCustomField customField in customFields)
                {
                    string title = BXTextEncoder.HtmlTextEncoder.Decode(customField.EditFormLabel);
                    string code = customField.Name.ToUpper();
                    editableFieldsValues.Add(new BXParamValue(title, string.Concat("PROPERTY_", code)));
                }
            }
            #endregion

        }
Example #2
0
        protected override void LoadComponentDefinition()
        {
            //Iblock type
            List<BXParamValue> typeParamValue = new List<BXParamValue>();
            typeParamValue.Add(new BXParamValue(GetMessageRaw("SelectIBlockType"), ""));

            BXIBlockTypeCollection iblockTypes = BXIBlockType.GetList(null, new BXOrderBy(new BXOrderByPair(BXIBlockType.Fields.Name, BXOrderByDirection.Asc)), null, null, BXTextEncoder.EmptyTextEncoder);
            foreach (BXIBlockType iblockType in iblockTypes)
                typeParamValue.Add(new BXParamValue(iblockType.Translations[BXLoc.CurrentLocale].Name, iblockType.Id.ToString()));

            ParamsDefinition["IBlockTypeId"].Values = typeParamValue;
            ParamsDefinition["IBlockTypeId"].RefreshOnDirty = true;

            //Iblock
            int selectedIBlockType = 0;
            if (Parameters.ContainsKey("IBlockTypeId"))
                int.TryParse(Parameters["IBlockTypeId"], out selectedIBlockType);

            BXFilter filter = new BXFilter();
            if (selectedIBlockType > 0)
                filter.Add(new BXFilterItem(BXIBlock.Fields.Type.ID, BXSqlFilterOperators.Equal, selectedIBlockType));
            if (!String.IsNullOrEmpty(DesignerSite))
                filter.Add(new BXFilterItem(BXIBlock.Fields.Sites.SiteId, BXSqlFilterOperators.Equal, DesignerSite));

            List<BXParamValue> iblockParamValue = new List<BXParamValue>();
            iblockParamValue.Add(new BXParamValue(GetMessageRaw("SelectIBlockID"), "-"));
            BXIBlockCollection iblocks = BXIBlock.GetList(filter, new BXOrderBy(new BXOrderByPair(BXIBlock.Fields.Name, BXOrderByDirection.Asc)), null, null, BXTextEncoder.EmptyTextEncoder);
            foreach (BXIBlock iblock in iblocks)
                iblockParamValue.Add(new BXParamValue(iblock.Name, iblock.Id.ToString()));

            ParamsDefinition["IBlockId"].Values = iblockParamValue;
            ParamsDefinition["IBlockId"].RefreshOnDirty = true;

            //Properties
            int selectedIblockId = 0;
            if (Parameters.ContainsKey("IBlockId"))
                int.TryParse(Parameters["IBlockId"], out selectedIblockId);

            List<BXParamValue> sortProperties = new List<BXParamValue>();
            List<BXParamValue> properties = new List<BXParamValue>();
            properties.Add(new BXParamValue(GetMessageRaw("NotSelected"), "-"));

            if (selectedIblockId > 0)
            {
                BXCustomFieldCollection customFields = BXIBlock.GetCustomFields(selectedIblockId);
                foreach (BXCustomField customField in customFields)
                {
                    string title = BXTextEncoder.HtmlTextEncoder.Decode(customField.EditFormLabel);
                    string code = customField.Name.ToUpper();
                    properties.Add(new BXParamValue(title, code));
                    sortProperties.Add(new BXParamValue(title, "-" + code));
                }
            }

            //List<BXParamValue> properties1 = new List<BXParamValue>(properties);
            //properties1.RemoveAt(0);
            //ParamsDefinition["ListProperties"].Values = properties1;
            ParamsDefinition["ListProperties"].Values = properties;

            ParamsDefinition["DetailProperties"].Values = properties;
            ParamsDefinition["PropertyKeywords"].Values = properties;
            ParamsDefinition["PropertyDescription"].Values = properties;
            ParamsDefinition["TopProperties"].Values = properties;
            ParamsDefinition["IBlockElementPropertyForFilePath"].Values = properties;
            ParamsDefinition["IBlockElementPropertyForPlaylistPreviewImageFilePath"].Values = properties;
            ParamsDefinition["IBlockElementPropertyForPlayerPreviewImageFilePath"].Values = properties;
            ParamsDefinition["IBlockElementPropertyForDownloadingFilePath"].Values = properties;

            //Sorting
            List<BXParamValue> sortingFields = new List<BXParamValue>();
            sortingFields.Add(new BXParamValue(GetMessageRaw("ElementID"), "ID"));
            sortingFields.Add(new BXParamValue(GetMessageRaw("ElementName"), "Name"));
            sortingFields.Add(new BXParamValue(GetMessageRaw("ActiveFromDate"), "ActiveFromDate"));
            sortingFields.Add(new BXParamValue(GetMessageRaw("ActiveUntilDate"), "ActiveToDate"));
            sortingFields.Add(new BXParamValue(GetMessageRaw("SortIndex"), "Sort"));
            sortingFields.Add(new BXParamValue(GetMessageRaw("DateOfModification"), "UpdateDate"));
            sortingFields.AddRange(sortProperties);

            ParamsDefinition["ListSortBy"].Values = sortingFields;
            ParamsDefinition["TopSortBy"].Values = sortingFields;

            #region PlayerStretching
            string[] playerStretchingModeNameArr = Enum.GetNames(typeof(MediaPlayerStretchingMode));
            int playerStretchingModeNameArrCount = playerStretchingModeNameArr != null ? playerStretchingModeNameArr.Length : 0;
            if (playerStretchingModeNameArrCount > 0)
            {
                BXParamValue[] paramValueArr = new BXParamValue[playerStretchingModeNameArrCount];
                for (int i = 0; i < playerStretchingModeNameArrCount; i++)
                {
                    string playerStretchingModeName = playerStretchingModeNameArr[i];
                    paramValueArr[i] = new BXParamValue(GetMessageRaw(string.Concat("MediaPlayerStretchingMode", playerStretchingModeName)), playerStretchingModeName);
                }
                BXParam palyerStretchingModeParam = ParamsDefinition["PlayerStretching"];
                IList<BXParamValue> palyerStretchingModeParamVals = palyerStretchingModeParam.Values;
                if (palyerStretchingModeParamVals != null)
                {
                    if (palyerStretchingModeParamVals.Count > 0)
                        palyerStretchingModeParamVals.Clear();
                    for (int j = 0; j < playerStretchingModeNameArrCount; j++)
                        palyerStretchingModeParamVals.Add(paramValueArr[j]);
                }
                else
                    palyerStretchingModeParam.Values = new List<BXParamValue>(paramValueArr);
            }
            else
            {
                IList<BXParamValue> palyerStretchingModeParamVals = ParamsDefinition["PlayerStretching"].Values;
                if (palyerStretchingModeParamVals != null && palyerStretchingModeParamVals.Count > 0)
                    palyerStretchingModeParamVals.Clear();
            }
            #endregion

            #region PlayerDownloadingLinkTargetWindow
            IList<BXParamValue> playerDownloadingLinkTargetWindowVals = ParamsDefinition["PlayerDownloadingLinkTargetWindow"].Values;
            playerDownloadingLinkTargetWindowVals.Add(new BXParamValue(GetMessageRaw("PlayerDownloadingLinkTargetWindowSelf"), "_self"));
            playerDownloadingLinkTargetWindowVals.Add(new BXParamValue(GetMessageRaw("PlayerDownloadingLinkTargetWindowBlank"), "_blank"));
            #endregion
        }
Example #3
0
	protected override void LoadComponentDefinition()
	{
		ParamsDefinition["RegistrationAllow"].ClientSideAction = new ParamClientSideActionGroupViewSwitch(ClientID, "RegistrationAllow", "RegistrationEnabled", "RegistrationDisabled");
		ParamsDefinition["RegistrationDoAuthentication"].ClientSideAction = new ParamClientSideActionGroupViewMember(ClientID, "RegistrationDoAuthentication", new string[] { "RegistrationEnabled" });
		ParamsDefinition["RegistrationRedirectUrl"].ClientSideAction = new ParamClientSideActionGroupViewMember(ClientID, "RegistrationRedirectUrl", new string[] { "RegistrationEnabled" });

		ParamsDefinition["FirstNameFieldMode"].ClientSideAction = new ParamClientSideActionGroupViewMember(ClientID, "FirstNameFieldMode", new string[] { "RegistrationEnabled" });
		ParamsDefinition["LastNameFieldMode"].ClientSideAction = new ParamClientSideActionGroupViewMember(ClientID, "LastNameFieldMode", new string[] { "RegistrationEnabled" });
		ParamsDefinition["DisplayNameFieldMode"].ClientSideAction = new ParamClientSideActionGroupViewMember(ClientID, "DisplayNameFieldMode", new string[] { "RegistrationEnabled" });

		ParamsDefinition["EnableSEF"].ClientSideAction = new ParamClientSideActionGroupViewSwitch(ClientID, "EnableSEF", "Sef", "NonSef");
		ParamsDefinition["SEFFolder"].ClientSideAction = new ParamClientSideActionGroupViewMember(ClientID, "SEFFolder", new string[] { "Sef" });
		ParamsDefinition["ActionVariable"].ClientSideAction = new ParamClientSideActionGroupViewMember(ClientID, "ActionVariable", new string[] { "NonSef" });
		ParamsDefinition["RegisterTemplate"].ClientSideAction = new ParamClientSideActionGroupViewMember(ClientID, "RegisterTemplate", new string[] { "Sef", "RegistrationEnabled" }, ParamClientSideActionGroupViewMemberDisplayCondition.And);
		ParamsDefinition["PasswordRecoveryTemplate"].ClientSideAction = new ParamClientSideActionGroupViewMember(ClientID, "PasswordRecoveryTemplate", new string[] { "Sef" });
		ParamsDefinition["PasswordResetTemplate"].ClientSideAction = new ParamClientSideActionGroupViewMember(ClientID, "PasswordResetTemplate", new string[] { "Sef" });
		ParamsDefinition["ConfirmationTemplate"].ClientSideAction = new ParamClientSideActionGroupViewMember(ClientID, "ConfirmationTemplate", new string[] { "Sef" });

		ParamsDefinition["FirstNameFieldMode"].Values = new List<BXParamValue>(new BXParamValue[] {
				new BXParamValue(GetMessageRaw("Field.Hide"), "hide"),
				new BXParamValue(GetMessageRaw("Field.Show"), "show"),
				new BXParamValue(GetMessageRaw("Field.Require"), "require")
		});
		ParamsDefinition["LastNameFieldMode"].Values = new List<BXParamValue>(new BXParamValue[] {
				new BXParamValue(GetMessageRaw("Field.Hide"), "hide"),
				new BXParamValue(GetMessageRaw("Field.Show"), "show"),
				new BXParamValue(GetMessageRaw("Field.Require"), "require")
		});
		ParamsDefinition["DisplayNameFieldMode"].Values = new List<BXParamValue>(new BXParamValue[] {
				new BXParamValue(GetMessageRaw("Field.Hide"), "hide"),
				new BXParamValue(GetMessageRaw("Field.Show"), "show"),
				new BXParamValue(GetMessageRaw("Field.Require"), "require")
		});

		BXCustomFieldCollection col = BXCustomEntityManager.GetFields(BXUser.GetCustomFieldsKey());
		List<BXParamValue> fields = new List<BXParamValue>();

		foreach (BXCustomField customField in col)
		{
			string title = BXTextEncoder.HtmlTextEncoder.Decode(customField.EditFormLabel);
			string code = customField.Name.ToUpper();
			fields.Add(new BXParamValue(title, "PROPERTY_" + code));
		}
		ParamsDefinition["EditFields"].Values = fields;

		List<BXParamValue> addToRoles = ParamsDefinition["AddToRoles"].Values;
		if (addToRoles.Count > 0)
			addToRoles.Clear();

		foreach (BXRole r in BXRoleManager.GetList(new BXFormFilter(new BXFormFilterItem("Active", true, BXSqlFilterOperators.Equal)),
			new BXOrderBy_old("RoleName", "Asc")))
		{
			BXParamValue v = new BXParamValue(r.Title, r.RoleName);
			addToRoles.Add(v);
		}
		ParamsDefinition["AddToRoles"].Values = addToRoles;

	}