.htaccess editor: ape debugger improved
This commit is contained in:
parent
7cc5207bfb
commit
aa72388a5b
4 changed files with 117 additions and 37 deletions
|
@ -135,4 +135,16 @@
|
||||||
<data name="lblFolderName.Text" xml:space="preserve">
|
<data name="lblFolderName.Text" xml:space="preserve">
|
||||||
<value>.htaccess path: </value>
|
<value>.htaccess path: </value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="lblDebuggingPageLink.Text">
|
||||||
|
<value xml:space="preserve">Debugging Page Link</value>
|
||||||
|
</data>
|
||||||
|
<data name="lblCLickLink.Text">
|
||||||
|
<value xml:space="preserve">Click this link to open debugging page</value>
|
||||||
|
</data>
|
||||||
|
<data name="btnShowDebuggingPageLinkModal.Text">
|
||||||
|
<value xml:space="preserve">Show debugging page link</value>
|
||||||
|
</data>
|
||||||
|
<data name="btnClose.Text">
|
||||||
|
<value xml:space="preserve">Close</value>
|
||||||
|
</data>
|
||||||
</root>
|
</root>
|
|
@ -1,10 +1,19 @@
|
||||||
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="WebSitesEditHeliconApeFolder.ascx.cs"
|
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="WebSitesEditHeliconApeFolder.ascx.cs"
|
||||||
Inherits="WebsitePanel.Portal.WebSitesEditHeliconApeFolder" %>
|
Inherits="WebsitePanel.Portal.WebSitesEditHeliconApeFolder" %>
|
||||||
<%@ Register Src="UserControls/FileLookup.ascx" TagName="FileLookup" TagPrefix="uc1" %>
|
<%@ Register Src="UserControls/FileLookup.ascx" TagName="FileLookup" TagPrefix="uc1" %>
|
||||||
|
<%@ Register Src="UserControls/PopupHeader.ascx" TagName="PopupHeader" TagPrefix="wsp" %>
|
||||||
<link rel="stylesheet" href="/JavaScript/codemirror/codemirror.css" />
|
<link rel="stylesheet" href="/JavaScript/codemirror/codemirror.css" />
|
||||||
<script type="text/javascript" src="/JavaScript/jquery.min.js?v=1.4.4"></script>
|
<script type="text/javascript" src="/JavaScript/jquery.min.js?v=1.4.4"></script>
|
||||||
<script type="text/javascript" src="/JavaScript/codemirror/codemirror.js"></script>
|
<script type="text/javascript" src="/JavaScript/codemirror/codemirror.js"></script>
|
||||||
<script type="text/javascript" src="/JavaScript/codemirror/htaccess.js"></script>
|
<script type="text/javascript" src="/JavaScript/codemirror/htaccess.js"></script>
|
||||||
|
<script type="text/javascript">
|
||||||
|
$(document).ready(function () {
|
||||||
|
$('.LinkDebuggingPage').click(function () {
|
||||||
|
//$find('').hide();
|
||||||
|
return true;
|
||||||
|
});
|
||||||
|
});
|
||||||
|
</script>
|
||||||
<style type="text/css">
|
<style type="text/css">
|
||||||
.CodeMirror {
|
.CodeMirror {
|
||||||
border: 1px solid #444;
|
border: 1px solid #444;
|
||||||
|
@ -28,25 +37,15 @@
|
||||||
<asp:HiddenField ID="DebuggerUrlField" runat="server" />
|
<asp:HiddenField ID="DebuggerUrlField" runat="server" />
|
||||||
</td>
|
</td>
|
||||||
<td style="width: 40%">
|
<td style="width: 40%">
|
||||||
<asp:Button ID="ButtonDebuggerStart" runat="server" Text="Start Debug" meta:resourcekey="btnApeDebuggerStart"
|
<asp:Button ID="ButtonDebuggerStart" runat="server" Text="Start Debugging" meta:resourcekey="btnApeDebuggerStart"
|
||||||
CssClass="Button1" OnClick="DebugStartClick" />
|
CssClass="Button1" OnClick="DebugStartClick" />
|
||||||
<asp:Button ID="ButtonDebuggerStop" runat="server" Text="Start Debug" meta:resourcekey="btnApeDebuggerStop"
|
<asp:Button ID="ButtonDebuggerStop" runat="server" Text="Stop Debugging" meta:resourcekey="btnApeDebuggerStop"
|
||||||
CssClass="Button1" OnClick="DebugStopClick" />
|
CssClass="Button1" OnClick="DebugStopClick" />
|
||||||
|
<asp:Button ID="BUttonShowDebuggingPageLinkModal" runat="server" Text="Show debugging page link" meta:resourcekey="btnShowDebuggingPageLinkModal"
|
||||||
|
CssClass="Button1 Hidden" />
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
<table id="toolbar" width="100%">
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
</td>
|
|
||||||
<td style="width: 90%">
|
|
||||||
<asp:Label runat="server" ID="ContainerLinkDebuggingPage" Visible="False">
|
|
||||||
Open debugging page: <asp:HyperLink runat="server" ID="LinkDebuggingPage" Target="ape-debugging-page"></asp:HyperLink>
|
|
||||||
</asp:Label>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
|
|
||||||
<asp:Panel runat="server" ID="DebuggerFramePanel" Visible="False">
|
<asp:Panel runat="server" ID="DebuggerFramePanel" Visible="False">
|
||||||
<iframe runat="server" ID="DebuggerFrame" width="100%" height="400px"></iframe>
|
<iframe runat="server" ID="DebuggerFrame" width="100%" height="400px"></iframe>
|
||||||
|
@ -62,9 +61,33 @@
|
||||||
<asp:Button ID="btnSave" runat="server" Text="Save and continue editing" meta:resourcekey="btnSave"
|
<asp:Button ID="btnSave" runat="server" Text="Save and continue editing" meta:resourcekey="btnSave"
|
||||||
CssClass="Button1" OnClick="btnSave_Click" />
|
CssClass="Button1" OnClick="btnSave_Click" />
|
||||||
<asp:Button ID="btnCancel" runat="server" Text="Cancel" meta:resourcekey="btnCancel"
|
<asp:Button ID="btnCancel" runat="server" Text="Cancel" meta:resourcekey="btnCancel"
|
||||||
CssClass="Button1" CausesValidation="false" OnClick="btnCancel_Click" />
|
CssClass="Button1" CausesValidation="false" OnClick="BtnCancelClick" />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<asp:Panel ID="DebuggingPageLinkPanel" runat="server" CssClass="PopupContainer" style="display:none" DefaultButton="btnCancelDebuggingPageLinkPanel">
|
||||||
|
<wsp:PopupHeader runat="server" meta:resourcekey="lblDebuggingPageLink" Text="Debugging Page Link" />
|
||||||
|
<div class="Content">
|
||||||
|
<div class="Body">
|
||||||
|
<br />
|
||||||
|
<div class="FormRow">
|
||||||
|
<asp:Label ID="LabelClickLink" runat="server" meta:resourcekey="lblCLickLink" Text="Click this link to open debugging page"></asp:Label>:
|
||||||
|
<br/>
|
||||||
|
<br/>
|
||||||
|
<asp:HyperLink runat="server" ID="LinkDebuggingPage" Target="ape-debugging-page" CssClass="LinkDebuggingPage"></asp:HyperLink>
|
||||||
|
</div>
|
||||||
|
<br />
|
||||||
|
</div>
|
||||||
|
<div class="FormFooter">
|
||||||
|
<asp:Button ID="btnCancelDebuggingPageLinkPanel" runat="server" CssClass="Button1" meta:resourcekey="btnClose" Text="Close" CausesValidation="false" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</asp:Panel>
|
||||||
|
|
||||||
|
<ajaxToolkit:ModalPopupExtender ID="DebuggingPageLinkModal" runat="server"
|
||||||
|
PopupControlID="DebuggingPageLinkPanel" TargetControlID="BUttonShowDebuggingPageLinkModal"
|
||||||
|
BackgroundCssClass="modalBackground" DropShadow="false" CancelControlID="btnCancelDebuggingPageLinkPanel" />
|
||||||
|
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
$(document).ready(function() {
|
$(document).ready(function() {
|
||||||
CodeMirror.fromTextArea(($('.CodeEditor')[0]),
|
CodeMirror.fromTextArea(($('.CodeEditor')[0]),
|
||||||
|
|
|
@ -184,20 +184,33 @@ namespace WebsitePanel.Portal
|
||||||
protected void DebugStartClick(object sender, EventArgs e)
|
protected void DebugStartClick(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
var code = htaccessContent.Text;
|
var code = htaccessContent.Text;
|
||||||
|
bool needUpdate = false;
|
||||||
|
|
||||||
if ( RE_APE_DEBUGGER_DISABLED.IsMatch(code) )
|
if ( RE_APE_DEBUGGER_DISABLED.IsMatch(code) )
|
||||||
{
|
{
|
||||||
// already disabled, enable it!
|
// already disabled, enable it!
|
||||||
DebuggerSecureKey = RE_APE_DEBUGGER_DISABLED.Match(code).Groups[2].Value;
|
DebuggerSecureKey = RE_APE_DEBUGGER_DISABLED.Match(code).Groups[2].Value;
|
||||||
code = RE_APE_DEBUGGER_DISABLED.Replace(code, "$1");
|
code = RE_APE_DEBUGGER_DISABLED.Replace(code, "$1");
|
||||||
|
needUpdate = true;
|
||||||
|
}
|
||||||
|
else if (RE_APE_DEBUGGER_ENABLED.IsMatch(code))
|
||||||
|
{
|
||||||
|
// already enabled
|
||||||
|
DebuggerSecureKey = RE_APE_DEBUGGER_ENABLED.Match(code).Groups[2].Value;
|
||||||
|
needUpdate = false;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
DebuggerSecureKey = new Random().Next(100000000, 999999999).ToString(CultureInfo.InvariantCulture);
|
DebuggerSecureKey = new Random().Next(100000000, 999999999).ToString(CultureInfo.InvariantCulture);
|
||||||
code = code + "\nSetEnv mod_developer secure-key-" + DebuggerSecureKey +"\n";
|
code = code + "\nSetEnv mod_developer secure-key-" + DebuggerSecureKey + "\n";
|
||||||
|
needUpdate = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
htaccessContent.Text = code;
|
if (needUpdate)
|
||||||
SaveFolder();
|
{
|
||||||
|
htaccessContent.Text = code;
|
||||||
|
SaveFolder();
|
||||||
|
}
|
||||||
|
|
||||||
StartDebugger();
|
StartDebugger();
|
||||||
}
|
}
|
||||||
|
@ -209,13 +222,12 @@ namespace WebsitePanel.Portal
|
||||||
{
|
{
|
||||||
// alerdy enable, disable it!
|
// alerdy enable, disable it!
|
||||||
code = RE_APE_DEBUGGER_ENABLED.Replace(code, "# $1");
|
code = RE_APE_DEBUGGER_ENABLED.Replace(code, "# $1");
|
||||||
|
htaccessContent.Text = code;
|
||||||
|
SaveFolder();
|
||||||
}
|
}
|
||||||
|
|
||||||
htaccessContent.Text = code;
|
|
||||||
SaveFolder();
|
|
||||||
|
|
||||||
StopDebugger();
|
StopDebugger();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void GetDebuggerUrl()
|
private void GetDebuggerUrl()
|
||||||
|
@ -308,9 +320,9 @@ namespace WebsitePanel.Portal
|
||||||
DebuggerFrame.Attributes["src"] = DebuggerUrl;
|
DebuggerFrame.Attributes["src"] = DebuggerUrl;
|
||||||
|
|
||||||
// debugging page link
|
// debugging page link
|
||||||
ContainerLinkDebuggingPage.Visible = true;
|
|
||||||
LinkDebuggingPage.NavigateUrl = DebuggingPageUrl;
|
LinkDebuggingPage.NavigateUrl = DebuggingPageUrl;
|
||||||
LinkDebuggingPage.Text = DebuggingPageUrl;
|
LinkDebuggingPage.Text = DebuggingPageUrl;
|
||||||
|
DebuggingPageLinkModal.Show();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -325,12 +337,9 @@ namespace WebsitePanel.Portal
|
||||||
|
|
||||||
// hide debugger iframe
|
// hide debugger iframe
|
||||||
DebuggerFramePanel.Visible = false;
|
DebuggerFramePanel.Visible = false;
|
||||||
|
|
||||||
// hide debugging page link
|
|
||||||
ContainerLinkDebuggingPage.Visible = false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void btnCancel_Click(object sender, EventArgs e)
|
protected void BtnCancelClick(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
ReturnBack();
|
ReturnBack();
|
||||||
}
|
}
|
||||||
|
|
|
@ -76,22 +76,13 @@ namespace WebsitePanel.Portal {
|
||||||
protected global::System.Web.UI.WebControls.Button ButtonDebuggerStop;
|
protected global::System.Web.UI.WebControls.Button ButtonDebuggerStop;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// ContainerLinkDebuggingPage control.
|
/// BUttonShowDebuggingPageLinkModal control.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <remarks>
|
/// <remarks>
|
||||||
/// Auto-generated field.
|
/// Auto-generated field.
|
||||||
/// To modify move field declaration from designer file to code-behind file.
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
protected global::System.Web.UI.WebControls.Label ContainerLinkDebuggingPage;
|
protected global::System.Web.UI.WebControls.Button BUttonShowDebuggingPageLinkModal;
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// LinkDebuggingPage control.
|
|
||||||
/// </summary>
|
|
||||||
/// <remarks>
|
|
||||||
/// Auto-generated field.
|
|
||||||
/// To modify move field declaration from designer file to code-behind file.
|
|
||||||
/// </remarks>
|
|
||||||
protected global::System.Web.UI.WebControls.HyperLink LinkDebuggingPage;
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// DebuggerFramePanel control.
|
/// DebuggerFramePanel control.
|
||||||
|
@ -146,5 +137,50 @@ namespace WebsitePanel.Portal {
|
||||||
/// To modify move field declaration from designer file to code-behind file.
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
protected global::System.Web.UI.WebControls.Button btnCancel;
|
protected global::System.Web.UI.WebControls.Button btnCancel;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// DebuggingPageLinkPanel control.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Auto-generated field.
|
||||||
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
|
/// </remarks>
|
||||||
|
protected global::System.Web.UI.WebControls.Panel DebuggingPageLinkPanel;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// LabelClickLink control.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Auto-generated field.
|
||||||
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
|
/// </remarks>
|
||||||
|
protected global::System.Web.UI.WebControls.Label LabelClickLink;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// LinkDebuggingPage control.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Auto-generated field.
|
||||||
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
|
/// </remarks>
|
||||||
|
protected global::System.Web.UI.WebControls.HyperLink LinkDebuggingPage;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// btnCancelDebuggingPageLinkPanel control.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Auto-generated field.
|
||||||
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
|
/// </remarks>
|
||||||
|
protected global::System.Web.UI.WebControls.Button btnCancelDebuggingPageLinkPanel;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// DebuggingPageLinkModal control.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Auto-generated field.
|
||||||
|
/// To modify move field declaration from designer file to code-behind file.
|
||||||
|
/// </remarks>
|
||||||
|
protected global::AjaxControlToolkit.ModalPopupExtender DebuggingPageLinkModal;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue