PageRenderTime 49ms CodeModel.GetById 22ms RepoModel.GetById 1ms app.codeStats 0ms

/BlogEngine/BlogEngine.NET/admin/Settings/Main.aspx

#
ASP.NET | 198 lines | 181 code | 17 blank | 0 comment | 4 complexity | de9149340aad50701e906cf766dc875e 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" CodeFile="Main.aspx.cs" Inherits="admin.Settings.Main" %>
  2. <%@ Register src="Menu.ascx" tagname="TabMenu" tagprefix="menu" %>
  3. <asp:Content ID="Content1" ContentPlaceHolderID="cphAdmin" Runat="Server">
  4. <script type="text/javascript">
  5. var oShowDescChkBox;
  6. var oShowDescTagCatChkBox;
  7. var oDescCharContainer;
  8. var oDescCharTagCatContainer;
  9. function syncCharCountBox(oChkBox,oCharContainer) {
  10. var isChecked = oChkBox.is(":checked");
  11. if (isChecked) {
  12. oCharContainer.show();
  13. } else {
  14. oCharContainer.hide();
  15. }
  16. }
  17. $(document).ready(function () {
  18. var frm = document.forms.aspnetForm;
  19. $(frm).validate({
  20. onsubmit: false
  21. });
  22. oShowDescChkBox = $("#<%=cbShowDescriptionInPostList.ClientID %>");
  23. oShowDescTagCatChkBox = $("#<%=cbShowDescriptionInPostListForPostsByTagOrCategory.ClientID %>");
  24. oDescCharContainer = $("#DescriptionCharacters");
  25. oDescCharTagCatContainer = $("#DescriptionCharactersForPostsByTagOrCategory");
  26. $("#btnSave").click(function (evt) {
  27. if ($(frm).valid())
  28. SaveSettings();
  29. evt.preventDefault();
  30. });
  31. oShowDescTagCatChkBox.change(function () {
  32. syncCharCountBox(oShowDescTagCatChkBox, oDescCharTagCatContainer);
  33. });
  34. oShowDescChkBox.change(function () {
  35. syncCharCountBox(oShowDescChkBox, oDescCharContainer);
  36. });
  37. syncCharCountBox(oShowDescChkBox, oDescCharContainer);
  38. syncCharCountBox(oShowDescTagCatChkBox, oDescCharTagCatContainer);
  39. });
  40. function SaveSettings() {
  41. $('.loader').show();
  42. var dto = {
  43. "name": $("[id$='_txtName']").val(),
  44. "desc": $("[id$='_txtDescription']").val(),
  45. "postsPerPage": $("[id$='_txtPostsPerPage']").val(),
  46. "themeCookieName": $("[id$='_txtThemeCookieName']").val(),
  47. "useBlogNameInPageTitles": $("[id$='_cbUseBlogNameInPageTitles']").attr('checked'),
  48. "enableRelatedPosts": $("[id$='_cbShowRelatedPosts']").attr('checked'),
  49. "enableRating": $("[id$='_cbEnableRating']").attr('checked'),
  50. "showDescriptionInPostList": oShowDescChkBox.attr('checked'),
  51. "descriptionCharacters": $("input", oDescCharContainer).val(),
  52. "showDescriptionInPostListForPostsByTagOrCategory": oShowDescTagCatChkBox.attr('checked'),
  53. "descriptionCharactersForPostsByTagOrCategory": $("input", oDescCharTagCatContainer).val(),
  54. "timeStampPostLinks": $("[id$='_cbTimeStampPostLinks']").attr('checked'),
  55. "showPostNavigation": $("[id$='_cbShowPostNavigation']").attr('checked'),
  56. "culture": $("[id$='_ddlCulture']").val(),
  57. "timezone": $("[id$='_txtTimeZone']").val(),
  58. "enablePasswordReset": $("[id$='cbEnablePasswordReset']").attr('checked'),
  59. "enableSelfRegistration": $("[id$='_cbEnableSelfRegistration']").attr('checked'),
  60. "selfRegistrationInitialRole": $("[id$='_ddlSelfRegistrationInitialRole']").val()
  61. };
  62. $.ajax({
  63. url: SiteVars.ApplicationRelativeWebRoot + "admin/Settings/Main.aspx/Save",
  64. type: "POST",
  65. dataType: "json",
  66. contentType: "application/json; charset=utf-8",
  67. data: JSON.stringify(dto),
  68. beforeSend: onAjaxBeforeSend,
  69. success: function (result) {
  70. var rt = result.d;
  71. if (rt.Success)
  72. ShowStatus("success", rt.Message);
  73. else
  74. ShowStatus("warning", rt.Message);
  75. }
  76. });
  77. $('.loader').hide();
  78. return false;
  79. }
  80. </script>
  81. <div class="content-box-outer">
  82. <div class="content-box-right">
  83. <menu:TabMenu ID="TabMenu" runat="server" />
  84. </div>
  85. <div class="content-box-left">
  86. <h1 ><%=Resources.labels.basic %> <%=Resources.labels.settings %></h1>
  87. <ul class="fl leftaligned">
  88. <li>
  89. <label class="lbl" for="<%=txtName.ClientID %>"><%=Resources.labels.name %></label>
  90. <asp:TextBox width="300" runat="server" ID="txtName" CssClass="required" /></li>
  91. <li>
  92. <label class="lbl" for="<%=txtDescription.ClientID %>"><%=Resources.labels.description %></label>
  93. <asp:TextBox width="300" runat="server" ID="txtDescription" />
  94. </li>
  95. <li>
  96. <label class="lbl" for="<%=txtThemeCookieName.ClientID %>"><%=Resources.labels.themeCookieName %></label>
  97. <asp:TextBox CssClass="w300" runat="server" ID="txtThemeCookieName" />
  98. </li>
  99. <li>
  100. <label class="lbl" for="<%=ddlCulture.ClientID %>"><%=Resources.labels.language %></label>
  101. <asp:DropDownList runat="Server" ID="ddlCulture" Style="text-transform: capitalize">
  102. <asp:ListItem Text="Auto" />
  103. <asp:ListItem Text="english" Value="en" />
  104. </asp:DropDownList>
  105. </li>
  106. <li>
  107. <label class="lbl" for="<%=txtTimeZone.ClientID %>"><%=Resources.labels.timezone %></label>
  108. <asp:TextBox runat="Server" ID="txtTimeZone" Width="30" CssClass="number" />
  109. <span>Server time: <%=DateTime.Now.ToShortTimeString() %></span>
  110. </li>
  111. <li>
  112. <label class="lbl" for="<%=txtPostsPerPage.ClientID %>"><%=Resources.labels.postPerPage %></label>
  113. <asp:TextBox runat="server" ID="txtPostsPerPage" Width="50" MaxLength="4" CssClass="required number" />
  114. </li>
  115. <li>
  116. <label class="lbl"><%=Resources.labels.appearance %></label>
  117. <asp:CheckBox runat="server" ID="cbShowDescriptionInPostList" />
  118. <label for="<%=cbShowDescriptionInPostList.ClientID %>"><%=Resources.labels.showDescriptionInPostList %></label>
  119. <div class="insetForm" id="DescriptionCharacters" style=" display:none;">
  120. <label class="lbl" for="<%=txtDescriptionCharacters.ClientID %>"><%=Resources.labels.numberOfCharacters %></label>
  121. <asp:TextBox runat="server" ID="txtDescriptionCharacters" Width="40" CssClass="number" />
  122. </div>
  123. </li>
  124. <li>
  125. <span class="filler"></span>
  126. <asp:CheckBox runat="server" ID="cbShowDescriptionInPostListForPostsByTagOrCategory" />
  127. <label for="<%=cbShowDescriptionInPostListForPostsByTagOrCategory.ClientID %>"><%=Resources.labels.showDescriptionInPostListForPostsByTagOrCategory %></label>
  128. <div class="insetForm" id="DescriptionCharactersForPostsByTagOrCategory" style=" display:none;">
  129. <label class="lbl" for="<%=txtDescriptionCharactersForPostsByTagOrCategory.ClientID %>" ><%=Resources.labels.numberOfCharacters %></label>
  130. <asp:TextBox runat="server" ID="txtDescriptionCharactersForPostsByTagOrCategory" Width="40" CssClass="number" />
  131. </div>
  132. </li>
  133. <li>
  134. <span class="filler"></span>
  135. <asp:CheckBox runat="server" ID="cbShowRelatedPosts" />
  136. <label for="<%=cbShowRelatedPosts.ClientID %>"><%=Resources.labels.showRelatedPosts %></label>
  137. </li>
  138. <li>
  139. <span class="filler"></span>
  140. <asp:CheckBox runat="server" ID="cbShowPostNavigation" />
  141. <label for="<%=cbShowPostNavigation.ClientID %>"><%=Resources.labels.showPostNavigation %></label>
  142. </li>
  143. <li>
  144. <label class="lbl"><%=Resources.labels.otherSettings %></label>
  145. <asp:CheckBox runat="server" ID="cbUseBlogNameInPageTitles" />
  146. <label for="<%=cbUseBlogNameInPageTitles.ClientID %>"><%=Resources.labels.useBlogNameInPageTitles%></label>
  147. <span class="insetHelp">(<%=Resources.labels.useBlogNameInPageTitlesDescription%>)</span>
  148. </li>
  149. <li>
  150. <span class="filler"></span>
  151. <asp:CheckBox runat="server" ID="cbEnableRating" />
  152. <label for="<%=cbEnableRating.ClientID %>"><%=Resources.labels.enableRating %></label>
  153. </li>
  154. <li>
  155. <span class="filler"></span>
  156. <asp:CheckBox runat="server" ID="cbTimeStampPostLinks" />
  157. <label for="<%=cbTimeStampPostLinks.ClientID %>"><%=Resources.labels.timeStampPostLinks %></label>
  158. </li>
  159. <li>
  160. <span class="filler"></span>
  161. <asp:CheckBox runat="server" ID="cbEnablePasswordReset" />
  162. <label for="<%=cbEnablePasswordReset.ClientID %>"><%=Resources.labels.enablePasswordReset %></label>
  163. </li>
  164. <li>
  165. <span class="filler"></span>
  166. <asp:CheckBox runat="server" ID="cbEnableSelfRegistration" />
  167. <label for="<%=cbEnableSelfRegistration.ClientID %>"><%=Resources.labels.enableSelfRegistration %></label>
  168. </li>
  169. <li>
  170. <label class="lbl" for="<%=ddlSelfRegistrationInitialRole.ClientID %>"><%=Resources.labels.selfRegistrationInitialRole%></label>
  171. <asp:DropDownList runat="Server" ID="ddlSelfRegistrationInitialRole" Style="text-transform: capitalize">
  172. <asp:ListItem Text="Select" />
  173. </asp:DropDownList>
  174. </li>
  175. </ul>
  176. <div class="action_buttons">
  177. <input type="submit" id="btnSave" class="btn primary" value="<%=Resources.labels.saveSettings %>" />
  178. </div>
  179. </div>
  180. </div>
  181. </asp:Content>