mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2025-10-27 04:19:04 +08:00
@@ -80,10 +80,14 @@ namespace Orchard.MediaLibrary.Controllers {
|
||||
|
||||
var part = Services.ContentManager.New<MediaPart>("OEmbed");
|
||||
|
||||
|
||||
part.MimeType = "text/html";
|
||||
part.FolderPath = folderPath;
|
||||
if (oembed.Element("title") != null) {
|
||||
part.Title = oembed.Element("title").Value;
|
||||
}
|
||||
else {
|
||||
part.Title = oembed.Element("url").Value;
|
||||
}
|
||||
if (oembed.Element("description") != null) {
|
||||
part.Caption = oembed.Element("description").Value;
|
||||
}
|
||||
@@ -95,7 +99,6 @@ namespace Orchard.MediaLibrary.Controllers {
|
||||
oembedPart[element.Name.LocalName] = element.Value;
|
||||
}
|
||||
|
||||
|
||||
Services.ContentManager.Create(oembedPart);
|
||||
|
||||
var viewModel = new OEmbedViewModel {
|
||||
|
||||
@@ -49,3 +49,17 @@
|
||||
padding-right:5px;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.media-thumbnail-document {
|
||||
background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAA5CAIAAAD/bz8YAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAadEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My41LjEwMPRyoQAAASZJREFUaEPt2c8NgjAUx3F3cgFO3JmDEZiAGZiARdiCMxNwgRD8RaryR2j72lfBvO+NGl4/QiQk3saTJSBdpwcVRXF3qCxLNYjaAuSoeVdVlZpo3wfU932SJGqkc+RLxQVCNNN3UBRFbduqDwza+zIEEy8I2ZrYQcjK5B+Ec+u6juN4OpwyN7GAcG7TNDQTFwiLNBMjCBFMvCBka2IHIStTCBAyNwUCIUNTOBDamrbvBf5BVm03+jEIrW6cHxAiv9yladp1nZriEYRoptVePkHmHewloGf/BRqGIcuyad2l+a/JCTRfd2lv5vVBp7tlHAlI13+B5Dn06jIgeQ69EpCADhKQruuDQnYdEPL154tVeZ6r7Z8tQCiwaaVBa9DPE5AuAR03jg+0DsulZjOdQAAAAABJRU5ErkJggg==');
|
||||
background-repeat: no-repeat;
|
||||
background-position: center;
|
||||
border: 1px solid #e0e0e0;
|
||||
width: 120px;
|
||||
height: 120px;
|
||||
}
|
||||
.media-thumbnail-o-embed {
|
||||
width: 120px;
|
||||
height: 120px;
|
||||
overflow:hidden;
|
||||
}
|
||||
@@ -206,19 +206,19 @@
|
||||
float: left;
|
||||
margin: 0 3px 3px 0;
|
||||
padding: 0;
|
||||
width: 60px;
|
||||
height: 60px;
|
||||
width: 120px;
|
||||
height: 120px;
|
||||
}
|
||||
|
||||
#media-library-main-selection .selection {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
height: 60px;
|
||||
height: 120px;
|
||||
}
|
||||
|
||||
#media-library-main-selection .media-thumbnail > img {
|
||||
width: 60px;
|
||||
height: 60px;
|
||||
width: 120px;
|
||||
height: 120px;
|
||||
}
|
||||
|
||||
#media-library-main-selection-actions:before {
|
||||
@@ -256,11 +256,13 @@
|
||||
#media-library-main-list .media-thumbnail {
|
||||
width: 200px;
|
||||
height: 200px;
|
||||
overflow:hidden;
|
||||
}
|
||||
|
||||
#media-library-main-selection .media-thumbnail {
|
||||
width: 60px;
|
||||
height: 60px;
|
||||
width: 120px;
|
||||
height: 120px;
|
||||
overflow:hidden;
|
||||
}
|
||||
|
||||
.media-thumbnail-o-embed {
|
||||
|
||||
@@ -14,8 +14,7 @@
|
||||
|
||||
@if (mediaParts.Any()) {
|
||||
foreach (var contentItem in mediaParts) {
|
||||
<span>
|
||||
@if (Authorizer.Authorize(Permissions.EditContent, contentItem)) {
|
||||
if (Authorizer.Authorize(Permissions.EditContent, contentItem)) {
|
||||
<a href="@Url.ItemEditUrl(contentItem, new {returnUrl})">
|
||||
@Display(BuildDisplay(contentItem, "Thumbnail"))
|
||||
</a>
|
||||
@@ -23,7 +22,6 @@
|
||||
else {
|
||||
@Display(BuildDisplay(contentItem, "Thumbnail"))
|
||||
}
|
||||
</span>
|
||||
}
|
||||
}
|
||||
else {
|
||||
|
||||
@@ -10,5 +10,5 @@
|
||||
}
|
||||
|
||||
<div class="media-thumbnail media-thumbnail-@contentItem.ContentType.HtmlClassify() mime-type-@media.MimeType.HtmlClassify()">
|
||||
<img src="@Display.ResizeMediaUrl(Width: 200, Height: 200, Mode: "crop", Alignment: "middlecenter", Path: media.MediaUrl)" >
|
||||
<img src="@Display.ResizeMediaUrl(Width: 200, Height: 200, Mode: "crop", Alignment: "middlecenter", Path: media.MediaUrl)" />
|
||||
</div>
|
||||
@@ -1,16 +1,24 @@
|
||||
@using Orchard.ContentManagement
|
||||
@using Orchard.MediaLibrary.Models
|
||||
@using Orchard.Utility.Extensions
|
||||
@using System.Text.RegularExpressions;
|
||||
@model dynamic
|
||||
|
||||
@{
|
||||
ContentItem contentItem = Model.ContentItem;
|
||||
var media = contentItem.As<MediaPart>();
|
||||
var oembed = contentItem.As<OEmbedPart>();
|
||||
string thumbnail = oembed["thumbnail_url"] ?? oembed["thumbnail"];
|
||||
}
|
||||
|
||||
@if (!String.IsNullOrEmpty(oembed["thumbnail_url"])) {
|
||||
@if (!string.IsNullOrEmpty(thumbnail)) {
|
||||
<div class="media-thumbnail media-thumbnail-@contentItem.ContentType.HtmlClassify() mime-type-@media.MimeType.HtmlClassify()">
|
||||
<img src="@Display.ResizeMediaUrl(Width: 200, Height: 200, Mode: "crop", Alignment: "middlecenter", Path: oembed["thumbnail_url"])" >
|
||||
<img src="@thumbnail" style="width:200px"/>
|
||||
@*<img src="@Display.ResizeMediaUrl(Width: 200, Height: 200, Mode: "crop", Alignment: "middlecenter", Path: thumbnail)" />*@
|
||||
</div>
|
||||
}
|
||||
else if(!string.IsNullOrEmpty(oembed["html"])) {
|
||||
<div class="media-thumbnail media-thumbnail-@contentItem.ContentType.HtmlClassify() mime-type-@media.MimeType.HtmlClassify()">
|
||||
@Html.Raw(Regex.Replace(oembed["html"], "<script.*?>.*?</script>", "", RegexOptions.IgnoreCase))
|
||||
</div>
|
||||
}
|
||||
@@ -45,13 +45,32 @@
|
||||
@Html.Raw(oembed.Element("html").Value)
|
||||
break;
|
||||
case "link":
|
||||
<a href="@oembed.Element("url").Value">oembed.Element("title").Value</a>
|
||||
if (oembed.Element("url") != null){
|
||||
<a href="@oembed.Element("url").Value">@oembed.Element("title").Value</a>
|
||||
}
|
||||
else {
|
||||
@oembed.Element("title").Value
|
||||
}
|
||||
break;
|
||||
case "rich":
|
||||
@Html.Raw(oembed.Element("html").Value)
|
||||
break;
|
||||
}
|
||||
|
||||
string thumbnail = string.Empty;
|
||||
if (oembed.Element("thumbnail") != null) {
|
||||
thumbnail = oembed.Element("thumbnail").Value;
|
||||
}
|
||||
else if (oembed.Element("thumbnail_url") != null) {
|
||||
thumbnail = oembed.Element("thumbnail_url").Value;
|
||||
}
|
||||
|
||||
if (oembed.Element("html") == null && !String.IsNullOrEmpty(thumbnail)) {
|
||||
<div class="media-thumbnail">
|
||||
<img src="@thumbnail" />
|
||||
</div>
|
||||
}
|
||||
|
||||
using (Html.BeginFormAntiForgeryPost(Url.Action("MediaPost"))) {
|
||||
@Html.Hidden("url", Model.Url)
|
||||
@Html.Hidden("folderPath", Model.FolderPath)
|
||||
|
||||
@@ -1,4 +1,21 @@
|
||||
@using Orchard.MediaLibrary.Models
|
||||
@using Orchard.ContentManagement
|
||||
@using Orchard.MediaLibrary.Models
|
||||
@using Orchard.Utility.Extensions
|
||||
@{
|
||||
OEmbedPart oEmbedPart = Model.ContentPart;
|
||||
ContentItem contentItem = Model.ContentItem;
|
||||
var media = contentItem.As<MediaPart>();
|
||||
var oembed = contentItem.As<OEmbedPart>();
|
||||
string thumbnail = oembed["thumbnail_url"] ?? oembed["thumbnail"];
|
||||
}
|
||||
|
||||
@if (!String.IsNullOrEmpty(thumbnail)) {
|
||||
<div class="media-thumbnail media-thumbnail-@contentItem.ContentType.HtmlClassify() mime-type-@media.MimeType.HtmlClassify()">
|
||||
<img src="@thumbnail" />
|
||||
@*<img src="@Display.ResizeMediaUrl(Width: 200, Height: 200, Mode: "crop", Alignment: "middlecenter", Path: oembed["thumbnail_url"])" />*@
|
||||
</div>
|
||||
}
|
||||
else {
|
||||
<div class="media-thumbnail media-thumbnail-@contentItem.ContentType.HtmlClassify() mime-type-@media.MimeType.HtmlClassify()">
|
||||
@Html.Raw(oembed["html"])
|
||||
</div>
|
||||
}
|
||||
@@ -3,6 +3,7 @@
|
||||
@{
|
||||
OEmbedPart oembedPart = Model.ContentPart;
|
||||
var mediaPart = ((ContentItem)Model.ContentItem).As<MediaPart>();
|
||||
string thumbnail = oembedPart["thumbnail_url"] ?? oembedPart["thumbnail"];
|
||||
}
|
||||
|
||||
@switch (oembedPart["type"]) {
|
||||
@@ -19,3 +20,9 @@
|
||||
@Html.Raw(oembedPart["html"])
|
||||
break;
|
||||
}
|
||||
|
||||
@if (!String.IsNullOrEmpty(thumbnail)) {
|
||||
<div class="media-thumbnail">
|
||||
<img src="@thumbnail" />
|
||||
</div>
|
||||
}
|
||||
Reference in New Issue
Block a user