コード例 #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);
 }
コード例 #3
0
        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')";
        }
コード例 #33
0
 /// <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();
         }
     }
 }
コード例 #34
0
 /// <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");
 }