Пример #1
0
 internal MetaData(string uri, string name, XmlValue value)
 {
     this.uri_        = uri;
     this.name_       = name;
     this.value_      = Sleepycat.DbXml.Value.Create(value);
     this.valueOwned_ = true;
 }
Пример #2
0
 public override bool Equals(object o)
 {
     if (o is Value)
     {
         using (XmlValue value2 = this.CreateXmlValue())
         {
             return(value2.equals(Value.ToInternal((Value)o)));
         }
     }
     if (o is NodeImpl)
     {
         using (XmlValue value3 = this.CreateXmlValue())
         {
             return(value3.equals(((NodeImpl)o).Internal));
         }
     }
     if (o is Node)
     {
         using (XmlValue value4 = this.CreateXmlValue())
         {
             using (XmlValue value5 = Node.CreateXmlValue((Node)o))
             {
                 return(value4.equals(value5));
             }
         }
     }
     return(false);
 }
        public static string GetWidget(object Xml, string element, XmlValue xmlValue = XmlValue.InnerText)
        {
            XmlDocument xd = new XmlDocument();

            try
            {
                xd.LoadXml(Xml.ToString());

                switch (xmlValue)
                {

                    case XmlValue.InnerText:
                        return xd.SelectSingleNode("//" + element).InnerText;

                    case XmlValue.OuterXml:
                        return xd.SelectSingleNode("//" + element).OuterXml;

                    case XmlValue.InnerXml:
                        return xd.SelectSingleNode("//" + element).InnerXml;

                    default:
                        return xd.SelectSingleNode("//" + element).InnerText;
                }
            }
            catch
            {
                return "";
            }
        }
Пример #4
0
        public void TestCreateObject()
        {
            var result = XmlValue.CreateObject("myitem")
                         .AddString("mystring", "my value")
                         .AddNumber("mynumber", 10)
                         .AddBool("mybool", true)
                         .AddNullable <int?>("mynullable", 100);

            Assert.AreEqual(XmlValueType.Object, result.ValueType);
            Assert.AreEqual("myitem", result.NodeName);

            Assert.IsFalse(result.HasNils);

            Assert.AreEqual(XmlValueType.String, result.Values["mystring"].ValueType);
            Assert.AreEqual("my value", ((XmlString)result.Values["mystring"]).Value);

            Assert.AreEqual(XmlValueType.Number, result.Values["mynumber"].ValueType);
            Assert.AreEqual(10, ((XmlNumber)result.Values["mynumber"]).Value);

            Assert.AreEqual(XmlValueType.Bool, result.Values["mybool"].ValueType);
            Assert.AreEqual(true, ((XmlBool)result.Values["mybool"]).Value);

            Assert.AreEqual(XmlValueType.Nullable, result.Values["mynullable"].ValueType);
            Assert.AreEqual(100, ((XmlNullable)result.Values["mynullable"]).Value);
        }
Пример #5
0
        public void TestArrayOfObjectsNullablesNull()
        {
            var service = this.GetService();

            var item = new MyItemNullables();

            var item2 = new MyItemNullables();

            var xmlArray = new XmlArray("MyItems")
                           .Add(new XmlObject("MyItem")
                                .AddNullable("MyGuid", item.MyGuid)
                                .AddNullable("MyInt", item.MyInt)
                                .AddNullable("MyDouble", item.MyDouble)
                                .AddString("MyString", item.MyString)
                                .AddNullable("MyEnumValue", item.MyEnumValue)
                                .AddNullable("MyDate", item.MyDate)
                                .AddObject("MyObj", XmlValue.CreateObject("MyObj").SetNil())
                                .AddArray("MyList", XmlValue.CreateArray("MyList").SetNil())
                                .AddArray("MyArray", XmlValue.CreateArray("MyArray").SetNil()))
                           .Add(new XmlObject("MyItem")
                                .AddNullable("MyGuid", item2.MyGuid)
                                .AddNullable("MyInt", item2.MyInt)
                                .AddNullable("MyDouble", item2.MyDouble)
                                .AddString("MyString", item2.MyString)
                                .AddNullable("MyEnumValue", item2.MyEnumValue)
                                .AddNullable("MyDate", item2.MyDate)
                                .AddObject("MyObj", XmlValue.CreateObject("MyObj").SetNil())
                                .AddArray("MyList", XmlValue.CreateArray("MyList").SetNil())
                                .AddArray("MyArray", XmlValue.CreateArray("MyArray").SetNil()));

            var result = service.GetRoot(xmlArray);

            Assert.AreEqual("<MyItems xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"><MyItem><MyGuid xsi:nil=\"true\" /><MyInt xsi:nil=\"true\" /><MyDouble xsi:nil=\"true\" /><MyString xsi:nil=\"true\" /><MyEnumValue xsi:nil=\"true\" /><MyDate xsi:nil=\"true\" /><MyObj xsi:nil=\"true\" /><MyList xsi:nil=\"true\" /><MyArray xsi:nil=\"true\" /></MyItem><MyItem><MyGuid xsi:nil=\"true\" /><MyInt xsi:nil=\"true\" /><MyDouble xsi:nil=\"true\" /><MyString xsi:nil=\"true\" /><MyEnumValue xsi:nil=\"true\" /><MyDate xsi:nil=\"true\" /><MyObj xsi:nil=\"true\" /><MyList xsi:nil=\"true\" /><MyArray xsi:nil=\"true\" /></MyItem></MyItems>", result);
        }
Пример #6
0
        /// <summary>Get the details - taken from decompiled Image (base class).</summary>
        /// <returns>The details.</returns>
        private string GetDetails()
        {
            string    str1      = string.Empty;
            MediaItem mediaItem = GetMediaItem();

            if (mediaItem != null)
            {
                Item          innerItem     = mediaItem.InnerItem;
                StringBuilder stringBuilder = new StringBuilder();
                XmlValue      xmlValue      = XmlValue;
                stringBuilder.Append("<div>");
                string str2 = innerItem["Dimensions"];
                string str3 = WebUtil.HtmlEncode(xmlValue.GetAttribute("width"));
                string str4 = WebUtil.HtmlEncode(xmlValue.GetAttribute("height"));
                if (!string.IsNullOrEmpty(str3) || !string.IsNullOrEmpty(str4))
                {
                    stringBuilder.Append(Translate.Text("Dimensions: {0} x {1} (Original: {2})", str3, str4, str2));
                }
                else
                {
                    stringBuilder.Append(Translate.Text("Dimensions: {0}", str2));
                }

                stringBuilder.Append("</div>");
                stringBuilder.Append("<div style=\"padding:2px 0px 0px 0px\">");
                string str5 = WebUtil.HtmlEncode(innerItem["Alt"]);
                string str6 = WebUtil.HtmlEncode(xmlValue.GetAttribute("alt"));
                if (!string.IsNullOrEmpty(str6) && !string.IsNullOrEmpty(str5))
                {
                    stringBuilder.Append(Translate.Text("Alternate Text: \"{0}\" (Default Alternate Text: \"{1}\")", str6, str5));
                }
                else if (!string.IsNullOrEmpty(str6))
                {
                    stringBuilder.Append(Translate.Text("Alternate Text: \"{0}\"", str6));
                }
                else if (!string.IsNullOrEmpty(str5))
                {
                    stringBuilder.Append(Translate.Text("Default Alternate Text: \"{0}\"", str5));
                }
                else
                {
                    stringBuilder.Append(Translate.Text("Warning: Alternate Text is missing."));
                }

                stringBuilder.Append("</div>");
                stringBuilder.Append("<div style=\"padding:2px 0px 0px 0px\">");
                string str7 = WebUtil.HtmlEncode(xmlValue.GetAttribute(Common.Constants.CoordinatesAttribute));
                stringBuilder.Append(!string.IsNullOrEmpty(str7) ? Translate.Text("Overlay coordinates: {0}", str7) : Translate.Text("Overlay coordinates: No coordinates set, using 100,100."));

                stringBuilder.Append("</div>");
                str1 = stringBuilder.ToString();
            }

            if (str1.Length == 0)
            {
                str1 = Translate.Text("This media item has no details.");
            }

            return(str1);
        }
Пример #7
0
        private bool ResolveDocumentWrapper(IntPtr txn, IntPtr mgr, string uri, IntPtr val)
        {
            bool flag;

            using (Transaction transaction = (txn == IntPtr.Zero) ? null : Transaction.Create(new XmlTransaction(txn, false)))
            {
                using (Manager manager = (mgr == IntPtr.Zero) ? null : new Manager(new XmlManager(mgr, false)))
                {
                    using (Document document = this.ResolveDocument(transaction, manager, uri))
                    {
                        if (document == null)
                        {
                            flag = false;
                        }
                        else
                        {
                            using (Value value2 = new Value(document))
                            {
                                using (XmlValue value3 = (val == IntPtr.Zero) ? null : new XmlValue(val, false))
                                {
                                    XmlValue.setValue(value3, Value.ToInternal(value2));
                                    flag = true;
                                }
                            }
                        }
                    }
                }
            }
            return(flag);
        }
Пример #8
0
        protected void ViewCognitiveImage(ClientPipelineArgs args)
        {
            Assert.ArgumentNotNull(args, "args");
            if (args.IsPostBack)
            {
                return;
            }

            string attribute = XmlValue.GetAttribute("mediaid");

            if (string.IsNullOrEmpty(attribute))
            {
                SheerResponse.Alert("Select an image from the Media Library first.");
                return;
            }

            Language language = Language.Parse(ItemLanguage);
            Item     i        = Client.ContentDatabase.GetItem(attribute, language);

            ModalDialogOptions mdo = new ModalDialogOptions($"/SitecoreCognitiveServices/CognitiveImageSearch/ImageAnalysis?id={attribute}&language={language.Name}&db={Client.ContentDatabase.Name}")
            {
                Header   = "Cognitive Analysis",
                Height   = DataWrapper.GetFieldDimension(i, "height", 500, 60),
                Width    = DataWrapper.GetFieldDimension(i, "width", 810, 41),
                Message  = "View the cognitive analysis of the current item",
                Response = true
            };

            SheerResponse.ShowModalDialog(mdo);
            args.WaitForPostBack();
        }
Пример #9
0
        public void XmlValueSingleLineCanBeParsed()
        {
            const string    xmlData         = "<node><value>v</value></node>";
            const string    input           = "xml = xml \"\"\"" + xmlData + "\"\"\"";
            PropertyElement propertyElement = DocumentParser.PropertySingleLine.Parse(input);

            Assert.Equal(XmlValue.FormatXml(xmlData), propertyElement.ValueElement.Value);
        }
Пример #10
0
 public override int GetHashCode()
 {
     unchecked
     {
         return(((XmlValue != null ? XmlValue.GetHashCode() : 0) * 397) ^
                (ObjValue != null ? ObjValue.GetHashCode() : 0));
     }
 }
Пример #11
0
        public void TestGuidNullable()
        {
            var service = this.GetService();

            var result = service.GetRoot(XmlValue.CreateNullable <Guid?>("Guid", new Guid("344ac1a2-9613-44d7-b64c-8d45b4585176")));

            Assert.AreEqual("<Guid>344ac1a2-9613-44d7-b64c-8d45b4585176</Guid>", result);
        }
Пример #12
0
        public void TestDateTimeNullable()
        {
            var service = this.GetService();

            var result = service.GetRoot(XmlValue.CreateNullable <DateTime?>("DateTime", new DateTime(1990, 12, 12)));

            Assert.AreEqual("<DateTime>12/12/1990 00:00:00</DateTime>", result);
        }
Пример #13
0
        public void TestEnumNullable()
        {
            var service = this.GetService();

            var result = service.GetRoot(XmlValue.CreateNullable <MyEnum?>("MyEnum", MyEnum.Other));

            Assert.AreEqual("<MyEnum>Other</MyEnum>", result);
        }
Пример #14
0
        public void TestEnumNullableNull()
        {
            var service = this.GetService();

            var result = service.GetRoot(XmlValue.CreateNullable <MyEnum?>("MyEnum", null));

            Assert.AreEqual("<MyEnum xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:nil=\"true\" />", result);
        }
Пример #15
0
 internal static Value Create(XmlValue v)
 {
     if (v == null)
     {
         return(null);
     }
     return(new Value(v));
 }
Пример #16
0
 private Value(XmlValue v)
 {
     this.v_ = null;
     if (v == null)
     {
         throw new NullReferenceException();
     }
     this.v_ = v;
 }
Пример #17
0
        private string GetDetails()
        {
            string    empty     = string.Empty;
            MediaItem mediaItem = this.GetMediaItem();

            if (mediaItem != null)
            {
                Item          innerItem     = mediaItem.InnerItem;
                StringBuilder stringBuilder = new StringBuilder();
                XmlValue      xmlValue      = this.XmlValue;
                stringBuilder.Append("<div>");
                string item = innerItem["Dimensions"];
                string str  = HttpUtility.HtmlEncode(xmlValue.GetAttribute("width"));
                string str1 = HttpUtility.HtmlEncode(xmlValue.GetAttribute("height"));
                if (!string.IsNullOrEmpty(str) || !string.IsNullOrEmpty(str1))
                {
                    object[] objArray = new object[] { str, str1, item };
                    stringBuilder.Append(Translate.Text("Dimensions: {0} x {1} (Original: {2})", objArray));
                }
                else
                {
                    object[] objArray1 = new object[] { item };
                    stringBuilder.Append(Translate.Text("Dimensions: {0}", objArray1));
                }
                stringBuilder.Append("</div>");
                stringBuilder.Append("<div style=\"padding:2px 0px 0px 0px\">");
                string str2 = HttpUtility.HtmlEncode(innerItem["Alt"]);
                string str3 = HttpUtility.HtmlEncode(xmlValue.GetAttribute("alt"));
                if (!string.IsNullOrEmpty(str3) && !string.IsNullOrEmpty(str2))
                {
                    object[] objArray2 = new object[] { str3, str2 };
                    stringBuilder.Append(Translate.Text("Alternate Text: \"{0}\" (Default Alternate Text: \"{1}\")", objArray2));
                }
                else if (!string.IsNullOrEmpty(str3))
                {
                    object[] objArray3 = new object[] { str3 };
                    stringBuilder.Append(Translate.Text("Alternate Text: \"{0}\"", objArray3));
                }
                else if (string.IsNullOrEmpty(str2))
                {
                    stringBuilder.Append(Translate.Text("Warning: Alternate Text is missing."));
                }
                else
                {
                    object[] objArray4 = new object[] { str2 };
                    stringBuilder.Append(Translate.Text("Default Alternate Text: \"{0}\"", objArray4));
                }
                stringBuilder.Append("</div>");
                empty = stringBuilder.ToString();
            }
            if (empty.Length == 0)
            {
                empty = Translate.Text("This media item has no details.");
            }
            return(empty);
        }
Пример #18
0
        public void TestCreateBool()
        {
            var key    = "MyBool";
            var value  = true;
            var result = XmlValue.CreateBool(key, value);

            Assert.AreEqual(key, result.NodeName);
            Assert.AreEqual(value, result.Value);
            Assert.AreEqual(XmlValueType.Bool, result.ValueType);
        }
Пример #19
0
        public void TestCreateString_WithNull()
        {
            var    key    = "MyString";
            string value  = null;
            var    result = XmlValue.CreateString(key, value);

            Assert.AreEqual(key, result.NodeName);
            Assert.AreEqual(value, result.Value);
            Assert.AreEqual(XmlValueType.String, result.ValueType);
        }
Пример #20
0
        public void TestCreateNullable_WithNull()
        {
            var key    = "MyNullable";
            var value  = 10;
            var result = XmlValue.CreateNullable <int?>(key, value);

            Assert.AreEqual(key, result.NodeName);
            Assert.AreEqual(value, result.Value);
            Assert.AreEqual(XmlValueType.Nullable, result.ValueType);
        }
Пример #21
0
        public MetaData GetMetaData(string uri, string name)
        {
            XmlValue value2 = this.doc_.getMetaData(uri, name);

            if (value2 == null)
            {
                return(null);
            }
            return(new MetaData(uri, name, value2));
        }
Пример #22
0
        public void TestCreateNumber_WithDouble()
        {
            var key    = "MyNumber";
            var value  = 10.99;
            var result = XmlValue.CreateNumber(key, value);

            Assert.AreEqual(key, result.NodeName);
            Assert.AreEqual(value, result.Value);
            Assert.AreEqual(XmlValueType.Number, result.ValueType);
        }
Пример #23
0
        public void TestArrayOfBoolNullablesWithNulls()
        {
            var service = this.GetService();

            var values = new bool?[] { true, null };

            var result = service.GetRoot(new XmlArray("ArrayOfBoolean").Add(XmlValue.CreateNullable("Boolean", values[0])).Add(XmlValue.CreateNullable("Boolean", values[1])));

            Assert.AreEqual("<ArrayOfBoolean xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"><Boolean>true</Boolean><Boolean xsi:nil=\"true\" /></ArrayOfBoolean>", result);
        }
Пример #24
0
        public void TestBoolNullable()
        {
            var service = this.GetService();

            var resultTrue  = service.GetRoot(XmlValue.CreateNullable <bool?>("Boolean", true));
            var resultFalse = service.GetRoot(XmlValue.CreateNullable <bool?>("Boolean", false));

            Assert.AreEqual("<Boolean>true</Boolean>", resultTrue);
            Assert.AreEqual("<Boolean>false</Boolean>", resultFalse);
        }
Пример #25
0
        public void TestArrayOfBoolNullables()
        {
            var service = this.GetService();

            var values = new bool?[] { true, false };

            var result = service.GetRoot(new XmlArray("ArrayOfBoolean").Add(XmlValue.CreateNullable("Boolean", values[0])).Add(XmlValue.CreateNullable("Boolean", values[1])));

            Assert.AreEqual("<ArrayOfBoolean><Boolean>true</Boolean><Boolean>false</Boolean></ArrayOfBoolean>", result);
        }
        /// <summary>
        /// Sets the value to field.
        /// </summary>
        /// <param name="args"></param>
        /// <param name="selectedImage"></param>
        private void ImportImageFinished(ClientPipelineArgs args, SelectedImageModel selectedImage)
        {
            Assert.ArgumentNotNull((object)args, nameof(args));
            Item itemNotNull = Client.GetItemNotNull(args.Parameters["itemid"], Language.Parse(args.Parameters["language"]));

            itemNotNull.Fields.ReadAll();
            Field field = itemNotNull.Fields[args.Parameters["fieldid"]];

            Assert.IsNotNull((object)field, "field");
            ImageField imageField = new ImageField(field, field.Value);
            string     parameter  = args.Parameters["controlid"];
            string     xml        = args.Parameters[Templates.ImportImageClientPipeline.Parameters.FieldValue];

            var itemIdString = args.Parameters[Templates.ImportImageClientPipeline.Parameters.MediaItemId];

            if (!string.IsNullOrEmpty(itemIdString))
            {
                var itemId = new ID(itemIdString);

                var mediaItem = _imageService.GetImageById(itemId);

                if (mediaItem != null)
                {
                    imageField.SetAttribute("mediaid", mediaItem.ID.ToString());
                    if (xml.Length > 0)
                    {
                        XmlValue xmlValue   = new XmlValue(xml, "image");
                        string   attribute1 = xmlValue.GetAttribute("height");
                        if (!string.IsNullOrEmpty(attribute1))
                        {
                            imageField.Height = attribute1;
                        }
                        string attribute2 = xmlValue.GetAttribute("width");
                        if (!string.IsNullOrEmpty(attribute2))
                        {
                            imageField.Width = attribute2;
                        }
                    }

                    SheerResponse.SetAttribute("scHtmlValue", "value", WebEditImageCommand.RenderImage(args, imageField.Value));
                    SheerResponse.SetAttribute("scPlainValue", "value", imageField.Value);
                    SheerResponse.Eval("scSetHtmlValue('" + parameter + "')");
                }
                else
                {
                    SheerResponse.Alert(_statusMessageService.GetJobStatusValueCouldNotSet());
                    FotoWareFieldsLog.WriteToLog("--- SelectImageImageFieldCommand: Could not set field-value ---");
                }
            }
            else
            {
                SheerResponse.Alert(_statusMessageService.GetJobStatusValueCouldNotSet());
                FotoWareFieldsLog.WriteToLog("--- SelectImageImageFieldCommand: Could not set field-value ---");
            }
        }
Пример #27
0
        /// <summary>
        /// Gets the media item.
        /// </summary>
        /// <returns>
        /// The media item.
        /// </returns>
        private Item GetMediaItem()
        {
            var attribute = XmlValue.GetAttribute("mediaid");

            if (attribute.Length <= 0)
            {
                return(null);
            }
            var language = Language.Parse(ItemLanguage);

            return(Client.ContentDatabase.GetItem(attribute, language));
        }
Пример #28
0
        public void TestCreateObject_WithNullableNull_SetHasNilsTrue()
        {
            var result = XmlValue.CreateObject("MyItem");

            result.AddNullable <int?>("MyNullable1", 10);

            Assert.IsFalse(result.HasNils);

            result.AddNullable <int?>("MyNullable2", null);

            Assert.IsTrue(result.HasNils);
        }
Пример #29
0
        public void TestCreateObject_WithArrayNull_SetHasNilsTrue()
        {
            var result = XmlValue.CreateObject("MyItem");

            result.AddArray("MyArray1", XmlValue.CreateArray("MyArray1"));

            Assert.IsFalse(result.HasNils);

            result.AddArray("MyArray2", XmlValue.CreateArray("MyArray2").SetNil());

            Assert.IsTrue(result.HasNils);
        }
Пример #30
0
        public void TestCreateArray()
        {
            var result = XmlValue.CreateArray("items")
                         .Add(new XmlString("MyString", "my value 1"))
                         .Add(new XmlString("MyString", "my value 2"));

            Assert.AreEqual(XmlValueType.Array, result.ValueType);
            Assert.AreEqual("items", result.NodeName);

            Assert.AreEqual("my value 1", ((XmlString)result.Values[0]).Value);
            Assert.AreEqual("my value 2", ((XmlString)result.Values[1]).Value);
        }
Пример #31
0
        public void TestCreateArray_WithObject()
        {
            var result = XmlValue.CreateArray("Items")
                         .Add(XmlValue.CreateObject("Obj").AddString("MyString", "my value"));

            Assert.AreEqual(XmlValueType.Array, result.ValueType);

            Assert.AreEqual(XmlValueType.Object, result.Values[0].ValueType);

            Assert.AreEqual(XmlValueType.String, ((XmlObject)result.Values[0]).Values["MyString"].ValueType);
            Assert.AreEqual("my value", ((XmlString)((XmlObject)result.Values[0]).Values["MyString"]).Value);
        }
        /// <summary>
        /// Gets the field value.
        /// 
        /// </summary>
        /// <param name="args">The arguments.</param><contract><requires name="args" condition="none"/></contract>
        public new void Process(RenderFieldArgs args)
        {
            if (args.FieldTypeKey != "image with cropping")
                return;
            ImageRenderer renderer = CreateRenderer();
            renderer.Item = args.Item;
            renderer.FieldName = args.FieldName;

            XmlValue xmlValue = new XmlValue(args.FieldValue, "image");
            string width = xmlValue.GetAttribute("width");
            string height = xmlValue.GetAttribute("height");
            if (string.IsNullOrWhiteSpace(width) || string.IsNullOrWhiteSpace(height))
            {
                string cropRegion = xmlValue.GetAttribute("cropregion");
                try
                {
                    var coordinates = CustomMediaManager.ConvertToIntArray(cropRegion);
                    if ((coordinates[2] - coordinates[0] + coordinates[3] + coordinates[1]) > 0)
                    {
                        xmlValue.SetAttribute("width", (coordinates[2] - coordinates[0]).ToString());
                        xmlValue.SetAttribute("height", (coordinates[3] - coordinates[1]).ToString());
                        renderer.FieldValue = xmlValue.ToString();
                    }
                }
                catch (Exception ex)
                {
                    Log.Error(ex.Message, ex, this);
                }
            }
            if (renderer.FieldValue == null)
            {
                renderer.FieldValue = args.FieldValue;
            }
            
            renderer.Parameters = args.Parameters;

            args.WebEditParameters.AddRange(args.Parameters);
            RenderFieldResult renderFieldResult = renderer.Render();
            args.Result.FirstPart = renderFieldResult.FirstPart;
            args.Result.LastPart = renderFieldResult.LastPart;
            args.DisableWebEditContentEditing = true;
            args.DisableWebEditFieldWrapping = true;
            args.WebEditClick = "return Sitecore.WebEdit.editControl($JavascriptParameters, 'webedit:chooseimage')";
        }
 /// <summary>
 /// Shows the properties.
 /// 
 /// </summary>
 /// <param name="args">The args.</param>
 protected new void ShowProperties(ClientPipelineArgs args)
 {
     Assert.ArgumentNotNull(args, "args");
     if (Disabled)
         return;
     var attribute = XmlValue.GetAttribute("mediaid");
     if (string.IsNullOrEmpty(attribute))
         SheerResponse.Alert("Select an image from the Media Library first.");
     else if (args.IsPostBack)
     {
         if (!args.HasResult)
             return;
         XmlValue = new XmlValue(args.Result, "image");
         Value = XmlValue.GetAttribute("mediapath");
         SetModified();
         Update();
     }
     else
     {
         var urlString = new UrlString("/sitecore/shell/~/xaml/Sitecore.Shell.Applications.Media.ExtendedImageProperties.aspx");
         var obj = Client.ContentDatabase.GetItem(attribute, Language.Parse(ItemLanguage));
         if (obj == null)
         {
             SheerResponse.Alert("Select an image from the Media Library first.");
         }
         else
         {
             obj.Uri.AddToUrlString(urlString);
             var urlHandle = new UrlHandle();
             urlHandle["xmlvalue"] = XmlValue.ToString();
             urlHandle.Add(urlString);
             SheerResponse.ShowModalDialog(urlString.ToString(), "700", "700", string.Empty, true);
             args.WaitForPostBack();
         }
     }
 }
 /// <summary>
 /// Clears the image.
 /// 
 /// </summary>
 private void ClearImage()
 {
     if (Disabled)
         return;
     if (Value.Length > 0)
         SetModified();
     XmlValue = new XmlValue(string.Empty, "image");
     Value = string.Empty;
     Update();
 }
Пример #35
0
        /// <summary>
        /// Load Post Data
        /// </summary>
        /// <param name="value">
        /// The value.
        /// </param>
        /// <returns>
        /// True or False
        /// </returns>
        protected override bool LoadPostData(string value)
        {
            Assert.ArgumentNotNull(value, "value");
            var flag = base.LoadPostData(value);
            if (flag)
            {
                if (string.IsNullOrEmpty(this.Value))
                {
                    this.ClearLink();
                    return true;
                }

                var xmlValue = this.XmlValue;
                if (this.Value == xmlValue.GetAttribute("url"))
                {
                    return flag;
                }

                xmlValue.SetAttribute("url", this.Value);
                if (xmlValue.GetAttribute("linktype").Length == 0)
                {
                    xmlValue.SetAttribute("linktype", this.Value.IndexOf("://") >= 0 ? "external" : "internal");
                }

                var str = string.Empty;
                if ((xmlValue.GetAttribute("linktype") == "internal") || (xmlValue.GetAttribute("linktype") == "media"))
                {
                    var attribute = xmlValue.GetAttribute("url");
                    if (!string.IsNullOrEmpty(attribute))
                    {
                        if (!attribute.StartsWith("/sitecore", StringComparison.CurrentCultureIgnoreCase) && !IdHelper.IsGuid(attribute))
                        {
                            attribute = FileUtil.MakePath(xmlValue.GetAttribute("linktype") == "internal" ? "/sitecore/content" : "/sitecore/media library", attribute, '/');
                        }

                        var item = Client.ContentDatabase.GetItem(attribute);
                        if (item != null)
                        {
                            str = item.ID.ToString();
                        }
                    }
                }

                xmlValue.SetAttribute("id", str);
                this.XmlValue = xmlValue;
            }

            return flag;
        }
Пример #36
0
        /// <summary>
        /// Clear Link
        /// </summary>
        private void ClearLink()
        {
            if (this.Value.Length > 0)
            {
                this.SetModified();
            }

            this.XmlValue = new XmlValue(string.Empty, "link");
            this.Value = string.Empty;
            Sitecore.Context.ClientPage.ClientResponse.SetAttribute(this.ID, "value", string.Empty);
        }
Пример #37
0
 /// <summary>
 /// Method Invoked via Reflection on Request -> DO NOT REMOVE
 /// </summary>
 /// <param name="args">
 /// The args.
 /// </param>
 private void InsertLink(ClientPipelineArgs args)
 {
     Assert.ArgumentNotNull(args, "args");
     if (args.IsPostBack)
     {
         if (!string.IsNullOrEmpty(args.Result) && (args.Result != "undefined"))
         {
             this.XmlValue = new XmlValue(args.Result, "link");
             this.Value = this.XmlValue.GetAttribute("url");
             this.SetModified();
             Sitecore.Context.ClientPage.ClientResponse.SetAttribute(this.ID, "value", this.Value);
             SheerResponse.Eval("scContent.startValidators()");
         }
     }
     else
     {
         var str = new UrlString(args.Parameters["url"]);
         str.Append("va", this.XmlValue.ToString());
         str.Append("ro", this.Source);
         Sitecore.Context.ClientPage.ClientResponse.ShowModalDialog(str.ToString(), "1000", "700", "", true);
         args.WaitForPostBack();
     }
 }
Пример #38
0
 /// <summary>
 /// Set Value
 /// </summary>
 /// <param name="value">
 /// The value.
 /// </param>
 public void SetValue(string value)
 {
     Assert.ArgumentNotNull(value, "value");
     this.XmlValue = new XmlValue(value, "link");
     this.Value = this.XmlValue.GetAttribute("url");
 }