Skip to content

Commit 523e27e

Browse files
committed
Search setting moved from admin to search widget
1 parent ebe7bf4 commit 523e27e

11 files changed

Lines changed: 143 additions & 63 deletions

File tree

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<SerializableStringDictionary>
3+
<SerializableStringDictionary>
4+
<DictionaryEntry Key="search-field-text" Value="Yet another text" />
5+
<DictionaryEntry Key="search-button-text" Value="Search" />
6+
</SerializableStringDictionary>
7+
</SerializableStringDictionary>

BlogEngine/BlogEngine.NET/BlogEngine.NET.csproj

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -241,7 +241,6 @@
241241
<Content Include="admin\views\settings\comments\index.html" />
242242
<Content Include="admin\views\settings\controls\error.html" />
243243
<Content Include="admin\views\settings\controls\pings.html" />
244-
<Content Include="admin\views\settings\controls\search.html" />
245244
<Content Include="admin\views\settings\tools\check.html" />
246245
<Content Include="admin\views\settings\tools\export.html" />
247246
<Content Include="admin\views\settings\tools\import.html" />
@@ -570,6 +569,7 @@
570569
<Content Include="Custom\Widgets\Post List\edit.ascx" />
571570
<Content Include="Custom\Widgets\Post List\widget.ascx" />
572571
<Content Include="Custom\Widgets\Post List\widget.xml" />
572+
<Content Include="Custom\Widgets\Search\edit.ascx" />
573573
<Content Include="fonts\fontawesome-webfont.svg" />
574574
<Content Include="fonts\glyphicons-halflings-regular.svg" />
575575
<Content Include="FrontPageExample.aspx" />
@@ -2245,6 +2245,13 @@
22452245
<Compile Include="Custom\Widgets\Post List\widget.ascx.designer.cs">
22462246
<DependentUpon>widget.ascx</DependentUpon>
22472247
</Compile>
2248+
<Compile Include="Custom\Widgets\Search\edit.ascx.cs">
2249+
<DependentUpon>edit.ascx</DependentUpon>
2250+
<SubType>ASPXCodeBehind</SubType>
2251+
</Compile>
2252+
<Compile Include="Custom\Widgets\Search\edit.ascx.designer.cs">
2253+
<DependentUpon>edit.ascx</DependentUpon>
2254+
</Compile>
22482255
<Compile Include="default.aspx.cs">
22492256
<DependentUpon>default.aspx</DependentUpon>
22502257
<SubType>ASPXCodeBehind</SubType>
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="edit.ascx.cs" Inherits="Widgets.Search.Edit" %>
2+
<div>
3+
<label style="display: block; margin: 10px 0 5px 0" for="<%=txtButtonText %>"><%=Resources.labels.buttonText %></label>
4+
<asp:TextBox runat="server" ID="txtButtonText" Width="300" />
5+
</div>
6+
<div>
7+
<label style="display: block; margin: 10px 0 5px 0" for="<%=txtFieldText %>"><%=Resources.labels.searchFieldText %></label>
8+
<asp:TextBox runat="server" ID="txtFieldText" Width="300" />
9+
</div>
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
namespace Widgets.Search
2+
{
3+
using System;
4+
using System.Web;
5+
6+
using App_Code.Controls;
7+
using BlogEngine.Core;
8+
9+
public partial class Edit : WidgetEditBase
10+
{
11+
static string _buttonText = "search-button-text";
12+
static string _fieldText = "search-field-text";
13+
14+
protected override void OnPreRender(EventArgs e)
15+
{
16+
base.OnPreRender(e);
17+
18+
if (this.Page.IsPostBack)
19+
{
20+
return;
21+
}
22+
23+
var settings = this.GetSettings();
24+
25+
this.txtButtonText.Text = settings.ContainsKey(_buttonText) ? settings[_buttonText] : Resources.labels.search;
26+
this.txtFieldText.Text = settings.ContainsKey(_fieldText) ? settings[_fieldText] : "Enter search term or APML url";
27+
28+
}
29+
30+
public override void Save()
31+
{
32+
var settings = this.GetSettings();
33+
34+
settings[_buttonText] = this.txtButtonText.Text;
35+
settings[_fieldText] = this.txtFieldText.Text;
36+
37+
this.SaveSettings(settings);
38+
Blog.CurrentInstance.Cache.Remove("widget_search");
39+
}
40+
}
41+
}

BlogEngine/BlogEngine.NET/Custom/Widgets/Search/edit.ascx.designer.cs

Lines changed: 33 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
<%@ Control Language="C#" AutoEventWireup="true" Inherits="Widgets.Search.Widget" Codebehind="widget.ascx.cs" %>
2-
<blog:SearchBox ID="SearchBox1" runat="Server" />
2+
<asp:PlaceHolder runat="Server" ID="phSearch" />

BlogEngine/BlogEngine.NET/Custom/Widgets/Search/widget.ascx.cs

Lines changed: 42 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,31 @@
66

77
namespace Widgets.Search
88
{
9+
using System;
10+
using System.Collections.Generic;
11+
using System.Collections.Specialized;
12+
using System.Globalization;
13+
using System.Text;
14+
using System.Web;
15+
using System.Web.UI;
16+
using System.Linq;
17+
918
using App_Code.Controls;
1019

20+
using BlogEngine.Core;
21+
22+
using Resources;
23+
1124
/// <summary>
1225
/// The widget.
1326
/// </summary>
1427
public partial class Widget : WidgetBase
1528
{
1629
#region Properties
1730

31+
static string _buttonText = "search-button-text";
32+
static string _fieldText = "search-field-text";
33+
1834
/// <summary>
1935
/// Gets a value indicating if the header is visible. This only takes effect if the widgets isn't editable.
2036
/// </summary>
@@ -38,7 +54,7 @@ public override bool IsEditable
3854
{
3955
get
4056
{
41-
return false;
57+
return true;
4258
}
4359
}
4460

@@ -64,7 +80,31 @@ public override string Name
6480
/// </summary>
6581
public override void LoadWidget()
6682
{
67-
// Nothing to load
83+
var settings = this.GetSettings();
84+
85+
var buttonText = settings.ContainsKey(_buttonText) ? settings[_buttonText] : Resources.labels.search;
86+
var searchTxt = settings.ContainsKey(_fieldText) ? settings[_fieldText] : "Enter search term or APML url";
87+
88+
var searchText = this.Context.Request.QueryString["q"] != null
89+
? HttpUtility.HtmlEncode(this.Context.Request.QueryString["q"]) : searchTxt;
90+
91+
var sb = new StringBuilder();
92+
sb.AppendLine("<div id=\"searchbox\">");
93+
sb.Append("<label for=\"searchfield\" style=\"display:none\">Search</label>");
94+
95+
sb.AppendFormat(
96+
"<input type=\"text\" value=\"{0}\" id=\"searchfield\" onkeypress=\"if(event.keyCode==13) return BlogEngine.search('{1}')\" onfocus=\"BlogEngine.searchClear('{2}')\" onblur=\"BlogEngine.searchClear('{2}')\" />",
97+
searchText, Utils.RelativeWebRoot, searchText.Replace("'", "\\'"));
98+
99+
sb.AppendFormat(
100+
"<input type=\"button\" value=\"{0}\" id=\"searchbutton\" onclick=\"BlogEngine.search('{1}');\" onkeypress=\"BlogEngine.search('{1}');\" />",
101+
buttonText, Utils.RelativeWebRoot);
102+
103+
sb.AppendLine("</div>");
104+
105+
var html = new LiteralControl(sb.ToString());
106+
107+
phSearch.Controls.Add(html);
68108
}
69109

70110
#endregion

BlogEngine/BlogEngine.NET/Custom/Widgets/Search/widget.ascx.designer.cs

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

BlogEngine/BlogEngine.NET/admin/app.js

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,6 @@
2828
.when("/settings/email", { templateUrl: "views/settings/email.html" })
2929

3030
.when("/settings/controls", { templateUrl: "views/settings/controls/contactform.html" })
31-
.when("/settings/controls/search", { templateUrl: "views/settings/controls/search.html" })
32-
.when("/settings/controls/recentcomments", { templateUrl: "views/settings/controls/recentcomments.html" })
3331
.when("/settings/controls/blogroll", { templateUrl: "views/settings/controls/blogroll.html" })
3432
.when("/settings/controls/pings", { templateUrl: "views/settings/controls/pings.html" })
3533
.when("/settings/controls/error", { templateUrl: "views/settings/controls/error.html" })

BlogEngine/BlogEngine.NET/admin/views/settings/controls/search.html

Lines changed: 0 additions & 54 deletions
This file was deleted.

0 commit comments

Comments
 (0)