PageRenderTime 36ms CodeModel.GetById 11ms RepoModel.GetById 0ms app.codeStats 0ms

/BlogEngine/BlogEngine.NET/admin/Pages/EditPage.aspx

#
ASP.NET | 217 lines | 199 code | 18 blank | 0 comment | 6 complexity | 288502f37420f46a347e58b0a5dfb803 MD5 | raw file
Possible License(s): LGPL-2.1, Apache-2.0, BSD-3-Clause
  1. <%@ Page Title="" Language="C#" MasterPageFile="~/admin/admin.master" AutoEventWireup="true"
  2. ValidateRequest="false" CodeFile="EditPage.aspx.cs" Inherits="Admin.Pages.EditPage" %>
  3. <%@ Register Src="~/admin/htmlEditor.ascx" TagPrefix="Blog" TagName="TextEditor" %>
  4. <%@ Register Src="~/admin/FileManager/FileManager.ascx" TagName="FileManager" TagPrefix="con" %>
  5. <asp:Content ID="Content1" ContentPlaceHolderID="cphAdmin" runat="Server">
  6. <script type="text/javascript">
  7. function GetSlug() {
  8. var title = document.getElementById('<%=txtTitle.ClientID %>').value;
  9. WebForm_DoCallback('__Page', title, ApplySlug, 'slug', null, false)
  10. }
  11. function ApplySlug(arg, context) {
  12. var slug = document.getElementById('<%=txtSlug.ClientID %>');
  13. slug.value = arg;
  14. }
  15. function SavePage() {
  16. $('.loader').show();
  17. var content = tinyMCE.activeEditor.getContent();
  18. if (content.length == 0) content = '[No text]';
  19. var title = $("[id$='txtTitle']").val();
  20. var description = $("[id$='txtDescription']").val();
  21. var keywords = $("[id$='txtKeyword']").val();
  22. var slug = $("[id$='txtSlug']").val();
  23. var isFrontPage = $("[id$='cbFrontPage']").is(':checked');
  24. var showInList = $("[id$='cbShowInList']").is(':checked');
  25. var isPublished = $("[id$='cbPublished']").is(':checked');
  26. var parent = $("[id$='ddlParent'] option:selected").val();
  27. var dto = {
  28. "id": Querystring('id'),
  29. "content": content,
  30. "title": title,
  31. "description": description,
  32. "keywords": keywords,
  33. "slug": slug,
  34. "isFrontPage": isFrontPage,
  35. "showInList": showInList,
  36. "isPublished": isPublished,
  37. "parent": parent
  38. };
  39. //alert(JSON.stringify(dto));
  40. $.ajax({
  41. url: SiteVars.ApplicationRelativeWebRoot + "admin/AjaxHelper.aspx/SavePage",
  42. type: "POST",
  43. dataType: "json",
  44. contentType: "application/json; charset=utf-8",
  45. data: JSON.stringify(dto),
  46. beforeSend: onAjaxBeforeSend,
  47. success: function (result) {
  48. var rt = result.d;
  49. if (rt.Success) {
  50. if (rt.Data) {
  51. window.location.href = rt.Data;
  52. } else {
  53. ShowStatus("success", rt.Message);
  54. }
  55. }
  56. else
  57. ShowStatus("warning", rt.Message);
  58. }
  59. });
  60. $('.loader').hide();
  61. return false;
  62. }
  63. </script>
  64. <script type="text/javascript" src="../jquery.colorbox.js"></script>
  65. <script type="text/javascript">
  66. $(document).ready(function () {
  67. $("#uploadImage").colorbox({ width: "550px", inline: true, href: "#uploadImagePanel" });
  68. $("#uploadVideo").colorbox({ width: "550px", inline: true, href: "#uploadVideoPanel" });
  69. $("#uploadFile").colorbox({ width: "550px", inline: true, href: "#uploadFilePanel" });
  70. });
  71. function closeOverlay() {
  72. $.colorbox.close();
  73. }
  74. </script>
  75. <div style="display:none;">
  76. <div id="uploadVideoPanel" class="overlaypanel">
  77. <h2><%=Resources.labels.insertVideo %></h2>
  78. <ul class="fl" style="margin:0;">
  79. <li>
  80. <asp:Label ID="lblVideoUpload" CssClass="lbl" AssociatedControlID="txtUploadVideo" runat="server" Text='<%$ Resources:labels, uploadVideo %>' />
  81. <asp:FileUpload runat="server" ID="txtUploadVideo" Width="400" size="50" ValidationGroup="imageupload" />
  82. <asp:RequiredFieldValidator ID="txtUploadVideoValidator" runat="Server" ControlToValidate="txtUploadVideo" ErrorMessage="<%$ Resources:labels, required %>"
  83. ValidationGroup="videoupload" />
  84. </li>
  85. <li style="margin:0;">
  86. <asp:Button runat="server" ID="btnUploadVideo" Text="<%$Resources:labels,upload %>"
  87. ValidationGroup="videoupload" CssClass="btn primary" OnClientClick="colorboxDialogSubmitClicked('videoupload', 'uploadVideoPanel');" />
  88. <%=Resources.labels.or %> <a href="#" onclick="return closeOverlay();"><%=Resources.labels.cancel %></a>
  89. </li>
  90. </ul>
  91. </div>
  92. <div id="uploadImagePanel" class="overlaypanel">
  93. <h2><%=Resources.labels.insertImage %></h2>
  94. <ul class="fl" style="margin:0;">
  95. <li>
  96. <label class="lbl"><%=Resources.labels.uploadImage %></label>
  97. <asp:FileUpload runat="server" ID="txtUploadImage" size="50" />
  98. <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="Server" ControlToValidate="txtUploadImage" ErrorMessage="<%$ Resources:labels, required %>"
  99. ValidationGroup="imageupload" />
  100. </li>
  101. <li style="margin:0;">
  102. <asp:Button CssClass="btn primary" runat="server" ID="btnUploadImage" Text="<%$Resources:labels,upload %>"
  103. ValidationGroup="imageupload" OnClientClick="colorboxDialogSubmitClicked('imageupload', 'uploadImagePanel');" />
  104. <%=Resources.labels.or %> <a href="#" onclick="closeOverlay();"><%=Resources.labels.cancel %></a>
  105. </li>
  106. </ul>
  107. </div>
  108. <div id="uploadFilePanel" class="overlaypanel">
  109. <h2><%=Resources.labels.attachFile %></h2>
  110. <ul class="fl" style="margin:0;">
  111. <li>
  112. <label class="lbl"><%=Resources.labels.uploadFile %></label>
  113. <asp:FileUpload runat="server" ID="txtUploadFile" size="50" />
  114. <asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server" ControlToValidate="txtUploadFile" ErrorMessage="<%$ Resources:labels, required %>"
  115. ValidationGroup="fileUpload" />
  116. </li>
  117. <li style="margin:0;">
  118. <asp:Button CssClass="btn primary" runat="server" ID="btnUploadFile" Text="<%$Resources:labels,upload %>"
  119. ValidationGroup="fileUpload" OnClientClick="colorboxDialogSubmitClicked('fileUpload', 'uploadFilePanel');" />
  120. <%=Resources.labels.or %> <a href="#" onclick="closeOverlay();"><%=Resources.labels.cancel %></a>
  121. </li>
  122. </ul>
  123. </div>
  124. </div>
  125. <div class="content-box-outer">
  126. <con:FileManager runat="server" ID="FileManager1" />
  127. <div class="content-box-full">
  128. <h1><%=Resources.labels.editPage %></h1>
  129. <table class="tblForm largeForm" style="width:100%; margin:0;">
  130. <tr>
  131. <td style="vertical-align:top; padding:0 40px 0 0;">
  132. <ul class="fl">
  133. <li>
  134. <label class="lbl" for="<%=txtTitle.ClientID %>">
  135. <%=Resources.labels.title %></label>
  136. <asp:TextBox runat="server" ID="txtTitle" Width="600" />
  137. <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="txtTitle" Display="Dynamic"
  138. ErrorMessage="<%$Resources:labels,enterTitle %>" />
  139. </li>
  140. <li>
  141. <div class="editToolbar">
  142. <a href="#" id="uploadImage" class="image"><%=Resources.labels.insertImage %></a>
  143. <a href="#" id="uploadVideo" class="video"><%=Resources.labels.insertVideo %></a>
  144. <a href="#" id="uploadFile" class="file"><%=Resources.labels.attachFile %></a>
  145. <a href="javascript:;" id="fileManager" class="file">File Manager</a>
  146. </div>
  147. <Blog:TextEditor runat="server" id="txtContent" TabIndex="4" />
  148. </li>
  149. <li>
  150. <label class="lbl" for="<%=txtSlug.ClientID %>"><%=Resources.labels.slug %></label>
  151. <asp:TextBox runat="server" ID="txtSlug" TabIndex="9" Width="600" />
  152. <a href="javascript:void(GetSlug());">
  153. <%=Resources.labels.extractFromTitle %></a>
  154. </li>
  155. <li>
  156. <label class="lbl" for="<%=txtDescription.ClientID %>"><%=Resources.labels.excerpt %></label>
  157. <asp:TextBox runat="server" ID="txtDescription" Width="600" TextMode="multiLine"
  158. Columns="50" Rows="4" />
  159. </li>
  160. <li>
  161. <asp:CheckBox runat="Server" ID="cbPublished" Checked="true" Text="<%$ Resources:labels, publish %>" />
  162. </li>
  163. </ul>
  164. </td>
  165. <td class="secondaryForm" style="padding:0; vertical-align:top;">
  166. <ul class="fl">
  167. <li>
  168. <label class="lbl" for="<%=ddlParent.ClientID %>"><%=Resources.labels.selectParent %></label>
  169. <asp:DropDownList runat="server" ID="ddlParent" Width="250" />
  170. </li>
  171. <li>
  172. <label class="lbl" for="<%=txtKeyword.ClientID %>"><%=Resources.labels.keywords %></label>
  173. <asp:TextBox runat="server" ID="txtKeyword" TextMode="MultiLine" Rows="5" />
  174. </li>
  175. <li>
  176. <label class="lbl"><%=Resources.labels.options %></label>
  177. <asp:CheckBox runat="Server" ID="cbFrontPage" Text="<%$ Resources:labels, isFrontPage %>" /><br />
  178. </li>
  179. <li>
  180. <asp:CheckBox runat="Server" ID="cbShowInList" Text="<%$ Resources:labels, showInList %>" Checked="true" />
  181. </li>
  182. </ul>
  183. </td>
  184. </tr>
  185. </table>
  186. <div class="action_buttons">
  187. <input type="button" id="btnSave" value="<%=Resources.labels.savePage %>" class="btn primary" onclick="return SavePage()" /> <%=Resources.labels.or %>
  188. <% if (!string.IsNullOrEmpty(Request.QueryString["id"]))
  189. { %>
  190. <a href="<%=PageUrl %>" title="Go to page"><%=Resources.labels.goToPage %></a>
  191. <%}
  192. else
  193. {%>
  194. <a href="Pages.aspx" title="Cancel"><%=Resources.labels.cancel %></a>
  195. <%} %>
  196. </div>
  197. </div>
  198. </div>
  199. </asp:Content>