PageRenderTime 61ms CodeModel.GetById 23ms RepoModel.GetById 2ms app.codeStats 0ms

/BlogEngine/BlogEngine.NET/admin/Extensions/Widgets.cshtml

#
Razor | 116 lines | 109 code | 7 blank | 0 comment | 7 complexity | dcf89faa294c284f793894092cc7e6b6 MD5 | raw file
Possible License(s): LGPL-2.1, Apache-2.0, BSD-3-Clause
  1. @using BlogEngine.Core
  2. @using BlogEngine.Core.Packaging
  3. @{
  4. Page.Title = Resources.labels.themes;
  5. Layout = "~/admin/_Layout.cshtml";
  6. var loaderSrc = Path.Combine(BlogEngine.Core.Utils.ApplicationRelativeWebRoot, "pics/ajax-loader.gif");
  7. var canManagePackages = BlogEngine.Core.Blog.CurrentInstance.IsPrimary;
  8. var installedPackages = PackageRepository.LocalPackages(Constants.Widget);
  9. }
  10. <script type="text/javascript">
  11. $(document).ready(function () {
  12. $('.loader2').hide();
  13. });
  14. </script>
  15. <div class="content-box-outer">
  16. <div class="content-box-full">
  17. <div class="TabRow">
  18. <div class="AlternatePagesDivder"></div>
  19. <div class="AlternatePageDivTab">
  20. <span class="AlternatePageTab" onclick="location.href='default.cshtml'">Extensions</span>
  21. </div>
  22. <div class="AlternatePagesDivder"></div>
  23. <div class="AlternatePageDivTab">
  24. <span class="AlternatePageTab" onclick="location.href='Themes.cshtml'">@Resources.labels.themes</span>
  25. </div>
  26. <div class="AlternatePagesDivder"></div>
  27. <div class="AlternatePageDivTab">
  28. <span class="AlternatePageTab AlternatePageTabSelected">Widgets</span>
  29. </div>
  30. <div class="TabRight">
  31. @Resources.labels.installed
  32. @if (canManagePackages)
  33. {
  34. <span>|</span> <a href="WidgetGallery.cshtml">@Resources.labels.gallery</a>
  35. }
  36. </div>
  37. </div>
  38. <div>
  39. <h2 class="gallery-hdr">Installed Widgets</h2>
  40. <div class="installed-widgets">
  41. <ul class="gallery">
  42. @foreach (var wdg in installedPackages)
  43. {
  44. <li id="@wdg.Id">
  45. <div class="Widget">
  46. <div class="pkg-hdr">
  47. <div class="pkg-img">
  48. <img src="@wdg.IconUrl" class="thumbnail" alt="Widget" />
  49. </div>
  50. <div class="prop-hdr">
  51. @if (!string.IsNullOrWhiteSpace(wdg.LocalVersion) && wdg.Location == "I")
  52. {
  53. <a href="@wdg.PackageUrl" target="_new">
  54. <h2>@wdg.Id</h2>
  55. </a>
  56. <p>Version: @wdg.LocalVersion</p>
  57. }
  58. else
  59. {
  60. <h2>@wdg.Id</h2>
  61. }
  62. @if (!string.IsNullOrWhiteSpace(wdg.Authors))
  63. {
  64. if(wdg.Website != null){
  65. <p class="website">@Resources.labels.author: <a target="_new" href="@wdg.Website">@wdg.Authors</a></p>
  66. }
  67. else{
  68. <p>@Resources.labels.author: @wdg.Authors</p>
  69. }
  70. }
  71. else
  72. {
  73. <p>@Resources.labels.author: unknown</p>
  74. }
  75. @if (Blog.CurrentInstance.IsPrimary && @wdg.Location == "I")
  76. {
  77. if (Gallery.ConvertVersion(wdg.LocalVersion) < Gallery.ConvertVersion(wdg.OnlineVersion))
  78. {
  79. <p id="upd-@wdg.Id" class="package-update local">
  80. <a href="" onclick="UpdatePackage('@wdg.Id'); return false;">@Resources.labels.update</a>
  81. <img class="loader2" src="@loaderSrc" alt="loader" />
  82. </p>
  83. }
  84. <p id="del-@wdg.Id" class="package-delete">
  85. <a href="" class="deleteAction" onclick="UninstallPackage('@wdg.Id'); return false;">@Resources.labels.delete</a>
  86. <img class="loader2" src="@loaderSrc" alt="loader" />
  87. </p>
  88. }
  89. </div>
  90. </div>
  91. <div class="pkg-desc">
  92. @if (!string.IsNullOrWhiteSpace(wdg.Description))
  93. {
  94. <p>@wdg.Description</p>
  95. }
  96. @if (!string.IsNullOrWhiteSpace(wdg.Tags))
  97. {
  98. <p>Tags: @wdg.Tags</p>
  99. }
  100. </div>
  101. </div>
  102. </li>
  103. }
  104. </ul>
  105. </div>
  106. </div>
  107. <div class="clear"></div>
  108. </div>
  109. </div>