예제 #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
파일: Document.cs 프로젝트: skitsanos/WDK9
 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
파일: Value.cs 프로젝트: skitsanos/WDK9
 internal static Value Create(XmlValue v)
 {
     if (v == null)
     {
         return(null);
     }
     return(new Value(v));
 }
예제 #16
0
파일: Value.cs 프로젝트: skitsanos/WDK9
 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
파일: Document.cs 프로젝트: skitsanos/WDK9
        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");
 }