Exemple #1
0
    protected void UpdateFieldBTN_Click(object sender, EventArgs e)
    {
        if (!string.IsNullOrEmpty(ExistingName.Text))
        {
            CustomFormSettings cfs = CustomFormSettings.Get(_category, false);

            CustomField cf = null;
            Guid        g  = new Guid(Request.QueryString["id"]);
            foreach (CustomField cfx in cfs.Fields)
            {
                if (cfx.Id == g)
                {
                    cf = cfx;
                    break;
                }
            }

            if (cf == null)
            {
                throw new Exception("Custom Field does not exist to be edited.");
            }

            if (cfs.Fields != null && cfs.Fields.Count > 0)
            {
                foreach (CustomField cfx in cfs.Fields)
                {
                    if (Util.AreEqualIgnoreCase(FieldName.Text.Trim(), cf.Name) && cfx.Id != cf.Id)
                    {
                        Message.Text = "Field Name already exists!";
                        Message.Type = StatusType.Error;
                        return;
                    }
                }
            }


            cf.Name        = ExistingName.Text;
            cf.Description = ExistingDescription.Text;
            if (cf.FieldType == FieldType.CheckBox)
            {
                cf.Checked = ExistingCheckBox.Checked;
            }
            else if (cf.FieldType == FieldType.List)
            {
                string[] lines =
                    ExistingListOptions.Text.Split(new char[] { '\n' }, StringSplitOptions.RemoveEmptyEntries);

                cf.ListOptions = new List <ListItemFormElement>();
                foreach (string line in lines)
                {
                    cf.ListOptions.Add(new ListItemFormElement(line.Trim(), line.Trim()));
                }
            }
            cf.Enabled = true;

            cfs.Save();

            Response.Redirect("~/graffiti-admin/site-options/custom-fields/?upd=" + cf.Id + "&category=" + _category.ToString());
        }
    }
        private void SetUpRssCategories()
        {
            bool customFieldExists = false;
            CustomFormSettings cfs = CustomFormSettings.Get();

            if (cfs.Fields != null && cfs.Fields.Count > 0)
            {
                foreach (CustomField cf in cfs.Fields)
                {
                    if (Util.AreEqualIgnoreCase(categoryFieldName, cf.Name))
                    {
                        customFieldExists = true;
                        break;
                    }
                }
            }

            if (!customFieldExists)
            {
                CustomField nfield = new CustomField();
                nfield.Name        = categoryFieldName;
                nfield.Description = "Custom Categories you want to included in your RSS feed for your blog post.  Enter each on a new line and each item will be entered in a separate <category> element.  If you want to set a domain on the category element, add a dollar sign ($) after the category and then enter the domain value.";
                nfield.Enabled     = true;
                nfield.Id          = Guid.NewGuid();
                nfield.FieldType   = FieldType.TextArea;

                cfs.Name = "-1";
                cfs.Add(nfield);
                cfs.Save();
            }
        }
Exemple #3
0
    protected void NewFieldBTN_Click(object sender, EventArgs e)
    {
        if (!string.IsNullOrEmpty(FieldName.Text))
        {
            CustomFormSettings cfs = CustomFormSettings.Get(_category, false);
            if (cfs.Fields != null && cfs.Fields.Count > 0)
            {
                foreach (CustomField cf in cfs.Fields)
                {
                    if (Util.AreEqualIgnoreCase(FieldName.Text.Trim(), cf.Name))
                    {
                        Message.Text = "Field name already exists!";
                        Message.Type = StatusType.Error;
                        return;
                    }
                }
            }

            CustomField nfield = new CustomField();
            nfield.Name      = FieldName.Text;
            nfield.Enabled   = false;
            nfield.Id        = Guid.NewGuid();
            nfield.FieldType = (FieldType)Enum.Parse(typeof(FieldType), TypesOfField.SelectedValue);

            cfs.Name = _category.ToString();

            cfs.Add(nfield);

            cfs.Save();

            Response.Redirect("?new=true&id=" + nfield.Id + "&category=" + _category.ToString());
        }
    }
Exemple #4
0
        public void SaveFormSettings(CustomFormSettings settings)
        {
            if (settings == null)
            {
                throw new ArgumentNullException("settings");
            }

            settings.Save();
        }
        private void SetupCustomFields()
        {
            bool saveNeeded        = false;
            CustomFormSettings cfs = CustomFormSettings.Get();

            if (!DoesFieldExist(cfs.Fields, "Creator"))
            {
                cfs.Add(CreateCreatorsField("Creator", "Extension Creator"));
                saveNeeded = true;
            }
            if (!DoesFieldExist(cfs.Fields, "Version"))
            {
                cfs.Add(CreateCustomField("Version", "Version", FieldType.TextBox));
                saveNeeded = true;
            }
            if (!DoesFieldExist(cfs.Fields, "FileName"))
            {
                cfs.Add(CreateCustomField("FileName", "Download Url", FieldType.File));
                saveNeeded = true;
            }
            if (!DoesFieldExist(cfs.Fields, "ImageLarge"))
            {
                cfs.Add(CreateCustomField("ImageLarge", "Large Image Url (max 602x200)", FieldType.File));
                saveNeeded = true;
            }
            if (!DoesFieldExist(cfs.Fields, "RequiredMajorVersion"))
            {
                cfs.Add(CreateCustomField("RequiredMajorVersion", "Minimum Required Major Version #", FieldType.TextBox));
                saveNeeded = true;
            }
            if (!DoesFieldExist(cfs.Fields, "RequiredMinorVersion"))
            {
                cfs.Add(CreateCustomField("RequiredMinorVersion", "Minimum Required Minor Version #", FieldType.TextBox));
                saveNeeded = true;
            }
            if (!DoesFieldExist(cfs.Fields, "RequiresManualIntervention"))
            {
                cfs.Add(CreateCustomField("RequiresManualIntervention", "Requires Manual Intervention", FieldType.CheckBox));
                saveNeeded = true;
            }
            if (!DoesFieldExist(cfs.Fields, "Price"))
            {
                cfs.Add(CreateCustomField("Price", "Price", FieldType.TextBox));
                saveNeeded = true;
            }
            if (!DoesFieldExist(cfs.Fields, "BuyUrl"))
            {
                cfs.Add(CreateCustomField("BuyUrl", "BuyUrl", FieldType.TextBox));
                saveNeeded = true;
            }

            if (saveNeeded)
            {
                cfs.Name = "-1";
                cfs.Save();
            }
        }
Exemple #6
0
        public void DeleteField(CustomFormSettings settings, string fieldName)
        {
            CustomField field = settings.Fields.Find(cf => cf.Name.Equals(fieldName, StringComparison.OrdinalIgnoreCase));

            if (field != null)
            {
                settings.Fields.Remove(field);
                settings.Save();
            }
        }
Exemple #7
0
        public void AddField(CustomFormSettings settings, CustomField field)
        {
            if (settings == null)
            {
                throw new ArgumentNullException("settings");
            }

            if (field == null)
            {
                throw new ArgumentNullException("field");
            }

            settings.Add(field);
            settings.Save();
        }
Exemple #8
0
    protected void lbDelete_Command(object sender, CommandEventArgs args)
    {
        string id = args.CommandArgument.ToString();

        CustomFormSettings cfs = CustomFormSettings.Get(_category, false);

        CustomField temp = cfs.Fields.Find(delegate(CustomField cf) { return(cf.Id == new Guid(id)); });

        if (temp != null)
        {
            cfs.Fields.Remove(temp);
        }

        cfs.Save();

        LoadCustomFields();
        Message.Text = "The custom field <b>" + temp.Name + "</b> was deleted.";
        Message.Type = StatusType.Success;
    }
        void ga_AfterNewUser(IGraffitiUser user, EventArgs e)
        {
            // If users are added or updated, refresh the list of available creators in the custom dropdown field

            CustomFormSettings cfs = CustomFormSettings.Get();

            if (cfs.Fields == null || cfs.Fields.Count == 0)
            {
                SetupCustomFields();
            }
            else
            {
                CustomField creatorField = cfs.Fields.Find(field => Util.AreEqualIgnoreCase(field.Name, "Creator"));
                if (creatorField != null)
                {
                    UpdateCreatorsFieldOptions(creatorField);
                    cfs.Name = "-1";
                    cfs.Save();
                }
            }
        }
        private void SetupGeoRSS()
        {
            if (!EnableGeoRSS)
            {
                return;
            }

            bool customFieldExists = false;
            CustomFormSettings cfs = CustomFormSettings.Get();

            if (cfs.Fields != null && cfs.Fields.Count > 0)
            {
                foreach (CustomField cf in cfs.Fields)
                {
                    if (Util.AreEqualIgnoreCase(_geoRSSCustomFieldName, cf.Name))
                    {
                        customFieldExists = true;
                        break;
                    }
                }
            }

            if (!customFieldExists)
            {
                CustomField nfield = new CustomField();
                nfield.Name        = _geoRSSCustomFieldName;
                nfield.Description = "The geographic location of this post in the format lattitude longitude. If no location is entered, the default location set in the Blog Extensions Plugin will be used.";
                nfield.Enabled     = true;
                nfield.Id          = Guid.NewGuid();
                nfield.FieldType   = FieldType.TextBox;

                cfs.Name = "-1";
                cfs.Add(nfield);
                cfs.Save();
            }
        }
        private void AddNewsFields(Category newsCategory)
        {
            bool startDateFieldExists = false;
            bool endDateFieldExists   = false;
            bool priorityFieldExists  = false;

            CustomFormSettings cfs = CustomFormSettings.Get(newsCategory, false);

            if (cfs.Fields != null && cfs.Fields.Count > 0)
            {
                foreach (CustomField cf in cfs.Fields)
                {
                    if (!startDateFieldExists && Util.AreEqualIgnoreCase(startDateFieldName, cf.Name))
                    {
                        startDateFieldExists = true;
                    }
                    if (!endDateFieldExists && Util.AreEqualIgnoreCase(endDateFieldName, cf.Name))
                    {
                        endDateFieldExists = true;
                    }
                    if (!priorityFieldExists && Util.AreEqualIgnoreCase(priorityFieldName, cf.Name))
                    {
                        priorityFieldExists = true;
                    }

                    if (endDateFieldExists && startDateFieldExists && priorityFieldExists)
                    {
                        break;
                    }
                }
            }

            if (!startDateFieldExists)
            {
                CustomField startDateField = new CustomField();
                startDateField.Name        = startDateFieldName;
                startDateField.Description = "The first date to show the news item";
                startDateField.Enabled     = true;
                startDateField.Id          = Guid.NewGuid();
                startDateField.FieldType   = FieldType.Date;

                cfs.Name = newsCategory.Id.ToString();
                cfs.Add(startDateField);
                cfs.Save();
            }

            if (!endDateFieldExists)
            {
                CustomField endDateField = new CustomField();
                endDateField.Name        = endDateFieldName;
                endDateField.Description = "The last date to show the news item";
                endDateField.Enabled     = true;
                endDateField.Id          = Guid.NewGuid();
                endDateField.FieldType   = FieldType.Date;

                cfs.Name = newsCategory.Id.ToString();
                cfs.Add(endDateField);
                cfs.Save();
            }

            if (!priorityFieldExists)
            {
                CustomField priorityField = new CustomField();
                priorityField.Name        = priorityFieldName;
                priorityField.Description = "Priority of the news item. Higher priority displays first";
                priorityField.Enabled     = true;
                priorityField.Id          = Guid.NewGuid();
                priorityField.FieldType   = FieldType.List;
                priorityField.ListOptions = new List <ListItemFormElement>();
                priorityField.ListOptions.Add(new ListItemFormElement("Low", "1"));
                priorityField.ListOptions.Add(new ListItemFormElement("Normal", "2", true));
                priorityField.ListOptions.Add(new ListItemFormElement("High", "3"));

                cfs.Name = newsCategory.Id.ToString();
                cfs.Add(priorityField);
                cfs.Save();
            }
        }
Exemple #12
0
        private void AddEventFields(Category eventCategory)
        {
            bool eventDateFieldExists = false;
            bool startTimeFieldExists = false;
            bool endTimeFieldExists   = false;
            bool startDateFieldExists = false;
            bool endDateFieldExists   = false;

            CustomFormSettings cfs = CustomFormSettings.Get(eventCategory, false);

            if (cfs.Fields != null && cfs.Fields.Count > 0)
            {
                foreach (CustomField cf in cfs.Fields)
                {
                    if (!eventDateFieldExists && Util.AreEqualIgnoreCase(eventDateFieldName, cf.Name))
                    {
                        eventDateFieldExists = true;
                    }
                    if (!startTimeFieldExists && Util.AreEqualIgnoreCase(startTimeFieldName, cf.Name))
                    {
                        startTimeFieldExists = true;
                    }
                    if (!endTimeFieldExists && Util.AreEqualIgnoreCase(endTimeFieldName, cf.Name))
                    {
                        endTimeFieldExists = true;
                    }
                    if (!startDateFieldExists && Util.AreEqualIgnoreCase(startDateFieldName, cf.Name))
                    {
                        startDateFieldExists = true;
                    }
                    if (!endDateFieldExists && Util.AreEqualIgnoreCase(endDateFieldName, cf.Name))
                    {
                        endDateFieldExists = true;
                    }

                    if (eventDateFieldExists && startTimeFieldExists && endTimeFieldExists && endDateFieldExists && startDateFieldExists)
                    {
                        break;
                    }
                }
            }

            if (!eventDateFieldExists)
            {
                CustomField dateField = new CustomField();
                dateField.Name        = eventDateFieldName;
                dateField.Description = "The date that the event takes place on";
                dateField.Enabled     = true;
                dateField.Id          = Guid.NewGuid();
                dateField.FieldType   = FieldType.Date;

                cfs.Name = eventCategory.Id.ToString();
                cfs.Add(dateField);
                cfs.Save();
            }

            if (!startTimeFieldExists)
            {
                CustomField startField = new CustomField();
                startField.Name        = startTimeFieldName;
                startField.Description = "The time that the event starts";
                startField.Enabled     = true;
                startField.Id          = Guid.NewGuid();
                startField.FieldType   = FieldType.TextBox;

                cfs.Name = eventCategory.Id.ToString();
                cfs.Add(startField);
                cfs.Save();
            }

            if (!endTimeFieldExists)
            {
                CustomField endField = new CustomField();
                endField.Name        = endTimeFieldName;
                endField.Description = "The time that the event ends";
                endField.Enabled     = true;
                endField.Id          = Guid.NewGuid();
                endField.FieldType   = FieldType.TextBox;

                cfs.Name = eventCategory.Id.ToString();
                cfs.Add(endField);
                cfs.Save();
            }

            if (!startDateFieldExists)
            {
                CustomField startDateField = new CustomField();
                startDateField.Name        = startDateFieldName;
                startDateField.Description = "The start date for the event";
                startDateField.Enabled     = true;
                startDateField.Id          = Guid.NewGuid();
                startDateField.FieldType   = FieldType.Date;

                cfs.Name = eventCategory.Id.ToString();
                cfs.Add(startDateField);
                cfs.Save();
            }

            if (!endDateFieldExists)
            {
                CustomField endDateField = new CustomField();
                endDateField.Name        = endDateFieldName;
                endDateField.Description = "The end date for the event";
                endDateField.Enabled     = true;
                endDateField.Id          = Guid.NewGuid();
                endDateField.FieldType   = FieldType.Date;

                cfs.Name = eventCategory.Id.ToString();
                cfs.Add(endDateField);
                cfs.Save();
            }
        }