|
<%
'#################################################################################
'## Copyright (C) 2003 Rick Eastes
'##
'## This program is free software; you can redistribute it and/or
'## modify it under the terms of the GNU General Public License
'## as published by the Free Software Foundation; either version 2
'## of the License, or any later version.
'##
'## All copyright notices regarding EzyEdit
'## must remain intact in the scripts and in the outputted HTML
'## The "powered by" text/logo with a link back to
'## http://www.ezyedit.com in the footer of the pages MUST
'## remain visible when the pages are viewed on the internet or intranet.
'##
'## This program is distributed in the hope that it will be useful,
'## but WITHOUT ANY WARRANTY; without even the implied warranty of
'## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
'## GNU General Public License for more details.
'##
'## You should have received a copy of the GNU General Public License
'## along with this program; if not, write to the Free Software
'## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
'##
'## Support can be obtained from support forums at:
'## http://www.ezyedit.com/forum
'##
'## Correspondence and Marketing Questions can be sent to:
'## rick@ezyedit.com
'## 191 Dorville Rd Carseldine.
'## Brisbane, Australia. 4034
'##
'#################################################################################
setup_ServerName = Request.ServerVariables("SERVER_NAME")
setup_SiteLocation = replace(site,"/","")
'function InplaceEdit(strPageText)
' if(isAllowed(rsPage("permissions"))>=2)then
' InitEdit
' response.Write strPageText
' CloseEdit
' else
' response.Write "<table width=500 cellpadding=0 cellspacing=0><tr><td>"
' response.Write strPageText
' response.Write "</td></tr></table>"
' end if
'end function
closingTag = "</div>"
function InitEdit
if(isAllowed(rsPage("permissions"))>=2)then
Dim Browser
Browser = Request.ServerVariables("HTTP_USER_AGENT")
version = 0
If InStr(Browser, "MSIE") Then
dim temp
temp = split(Browser,"MSIE")
version = split(temp(1),";")(0)
end if
if (not CInt(version) >= 5.5) then
response.Write "<table width=500 cellpadding=0 cellspacing=0>"
response.Write "<tr><td align=right><font size=1><a href=""http://www.microsoft.com"">Microsoft Internet Explorer 5.5</a><br>or better is needed to edit this page.</font></td><tr><td>"
closingTag = "</td></tr></table>"
else
StartEdit("full")
closingTag = "</div>"
end if
else
response.Write "<table width=600 cellpadding=0 cellspacing=0><tr><td>"
closingTag = "</td></tr></table>"
end if
end function
function StartEdit(editversion)
toolbarx = request.Cookies("toolbarx")
toolbary = request.Cookies("toolbary")
if(toolbarx = "")then
toolbarx = setup_ToolBarX
toolbary = setup_ToolBarY
end if
%>
<script language=Javascript src="<%=site%>InplaceEditor/InplaceEdit.js"></script>
<script language=Javascript>
editMode = "design";
editorvisible = false;
function NormaliseXML(sString)
{
var sReturn='';
var sTag='';
var bTagComplete=false;
var bInTag=false;
var bInATag=false;
var bAddEndingSlash=false;
var bAddAttributeQuote=false;
var iListItem=0;
for(var i=0;i<sString.length;i++)
{
var ch=sString.charAt(i);
switch(ch)
{
case '=':
if(bInTag)
{
if(sString.charAt(i+1)!='"')
{
if(bInATag!=true)
{ch = '="';
bAddAttributeQuote = true;}
}
}
break;
case '<':
if(sString.charAt(i+1)=='A')
bInATag = true;
bInTag = true;
sTag = '';
bTagComplete = false;
break;
case '>':
bInATag = false;
switch(sTag)
{
case 'IMG':
case 'img':
case 'HR':
case 'hr':
case 'BR':
case 'br':
bAddEndingSlash = true;
break;
}
if(bAddAttributeQuote)
{
bAddAttributeQuote = false;
while(sReturn[sReturn.length]==' ')
{
sReturn = sReturn.mid(1,sReturn.length-1);
}
sReturn += '"';
//alert(sReturn);
}
if(bAddEndingSlash)
{
ch = ' />';
bAddEndingSlash = false;
}
bInTag = false;
sTag = '';
bTagComplete = false;
break;
case ' ':
if(bInTag)
{
if(!bTagComplete)
{
bTagComplete = true;
}
else
{
if(bAddAttributeQuote)
{
bAddAttributeQuote = false;
ch = '" ';
}
}
}
break;
}
if(!bInTag)
{
// add other meta-character conversions here if necessary
switch(ch)
{
case '"':
ch='"';
break;
}
}
else
{
// here we gather the name of the TAG
// this is used in the ending tag case to work out which
// tags require the /> ending
if(!bTagComplete)
{
if(ch!='<')
{
sTag += ch;
}
}
}
sReturn += ch;
}
// fix up the problem with XML
<% if(editversion="members")then%>
sReturn = sReturn.replace(/http:\/\/<%=setup_ServerName%>\/<%=setup_SiteLocation%>\/content\//g,'../content/');
sReturn = sReturn.replace(/http:\/\/localhost\/<%=setup_SiteLocation%>\/content\//g,'../content/');
<%end if%>
sReturn = sReturn.replace(/http:\/\/<%=setup_ServerName%>\/<%=setup_SiteLocation%>\/content\//g,'');
sReturn = sReturn.replace(/http:\/\/localhost\/<%=setup_SiteLocation%>\/content\//g,'');
sReturn = sReturn.replace(/nbsp/g,'#160');
sReturn = sReturn.replace(/border="1"/g,'border="0"');
return(sReturn);
}
function ToggleEditor(layerName){
if(editorvisible == false){
editorvisible = true;
document.all['iEditor'].style.border = "1px solid #bbbbbb";
document.all['iEditor'].style.left = "-1";
document.all['iEditor'].style.top = "-1";
iEditor.contentEditable = 'true';
ShowLayer(layerName);
iEditor.focus();
document.body.scrollTop = 0;
}
else{
if(editMode != "design")
SetDesignMode();
editorvisible = false;
document.all['iEditor'].style.top = "0";
document.all['iEditor'].style.left = "0";
document.all['iEditor'].style.border = "none";
iEditor.contentEditable = 'false';
HideLayer(layerName);
}
}
</script>
<style>
#myChaser {
position:absolute;
left:<%=setup_ToolbarLeft%>px;
top:0px;
width:140px;
color:#555555;
font-family:verdana, arial, sans-serif;
font-size:12px;
z-index:1000;
}
/* Save Edit Toolbar */
div.savetoolbar{
width:80;
width:39;
left:<%=toolbarx%>;
top:<%=toolbary%>;
position:absolute;
z-index:4;
}
/* Save Edit Toolbar */
.seperator{
cursor:move;
}
.contentToolbar
{
background-color:#C0C0C0;
font-family: Verdana, Arial, Helvetica;
font-size: 8pt;
border: thin outset;
color:menutext;
background-image: url(<%=site%>InplaceEditor\images\bgtoolbar.jpg);
}
</style>
<%if(editversion="members")then%>
<!-- <form name=frmSavePage> -->
<%else%>
<form name=frmSavePage action="<%=site%>utilities/SavePage.asp" method="post" ID="Form1">
<!-- this example uses an asp page "SavePage.asp" to handle the data but you may use cfm, cgi, php etc
to do somthing with the following form element "pagetext" -->
<input type=hidden name=pagetext>
<input type=hidden name=menuid value="<%=rsPage("menuid")%>">
<input type=hidden name=contentid value="<%=rsPage("menuid")%>">
<input type=hidden name=name value="<%=rsPage("data")%>">
<%
if(not len(rsPage("keywords"))>0)then
keywords = setup_DefaultKeywords
else
keywords = rsPage("keywords")
end if
if(not len(rsPage("description"))>0 AND not isNull(rsPage("description")) )then
description = setup_DefaultDescription
else
description = rsPage("description")
end if
%>
<input type=hidden name=keywords value="<%=decode(keywords)%>" ID="Hidden1">
<input type=hidden name=description value="<%=decode(description)%>" ID="Hidden2">
<input type=hidden name=url value="http://<%=setup_ServerName & site & rsPage("data")%>" ID="Hidden3">
<%end if%>
<DIV ID='myChaser'>
<div id="divToolbar" class="contentToolbar" style="Z-INDEX: 999; VISIBILITY: hidden; POSITION: absolute; HEIGHT: 100px;">
<table>
<!-- <tr><td class=normal><b>Edit Toolbox</b></font></td></tr>-->
<tr><td class=normal>
<b>Edit Mode:</b><br>
<input type=radio name=editmode id=radiodesign checked onClick=SetDesignMode();><a href="#" class=linkdark onclick="document.frmSavePage.radiodesign.checked=true;SetDesignMode();">Design</a>
<input type=radio name=editmode id=radiosource onClick=SetSourceMode();><a href="#" class=linkdark onclick="document.frmSavePage.radiosource.checked=true;SetSourceMode();">Source</a>
</td></tr>
</table>
<div id="divSourceToolbar" style="visibility:hidden;position:absolute;">
<table cellpadding="0" cellspacing="5" border="0" width=100 ID="Table2">
<tr>
<td align="left" class=normal>
Source Editing:<br><br>
<font size=1>
<b>Basic HTML Tags:</b><br>
<br> for a New Line<br><br>
<p> for a Paragraph<br><br>
<b><b>example</b></b><br><br>
<i><i>example</i></i><br><br>
<font color=red><br>
<font color=red>example</font></font><br><br>
Bullet list:<br>
<li>Apples<br>
<li>Oranges<br>
<li>Pears<br><br>
</font>
</td></tr></table>
</div>
<div id=divDesignToolbar>
<table cellpadding="0" cellspacing="5" border="0" width=100 >
<tr>
<td align="left" colspan=2 class=normal>
<%if(not editversion="members") then
response.Write "Page Theme:<br>"
SelectTemplateList
end if%>
<br><br>Font:<br>
<SELECT onchange="cmdExec('fontname',this[this.selectedIndex].value);this[0].selected=true;" id=select1 name=select1 class=selectfield size=1> <OPTION selected>Font Face</OPTION> <OPTION value=Arial>Arial</OPTION>
<OPTION value="Arial Black">Arial Black</OPTION> <OPTION value="Arial Narrow">Arial Narrow</OPTION> <OPTION value="Comic Sans MS">Comic Sans</OPTION> <OPTION value="Courier New">Courier New</OPTION> <OPTION value=System>System</OPTION> <OPTION value=Tahoma>Tahoma</OPTION>
<OPTION value="Times New Roman">Times Roman</OPTION> <OPTION value=Verdana>Verdana</OPTION> <OPTION value=Wingdings>Wingdings</OPTION>
</SELECT>
<SELECT onchange="setStyle(this[this.selectedIndex].value);this[0].selected=true;" id=select2 name=select2 class=selectfield>
<OPTION selected>Font Style</OPTION>
<OPTION value=Normal>Normal</OPTION>
<OPTION value="bigtext">Big Text</OPTION>
<OPTION value="reallybigtext">Really Big Text</OPTION>
<OPTION value="smallcaps">Small Caps</OPTION>
<OPTION value="Normal"></OPTION>
</SELECT>
<SELECT onchange="cmdExec('fontsize',this[this.selectedIndex].value);this[0].selected=true;" id=select3 name=select3 class=selectfield> <OPTION selected>Font Size</OPTION> <OPTION value=1>1</OPTION> <OPTION value=2>2</OPTION> <OPTION value=3>3</OPTION> <OPTION value=4>4</OPTION>
<OPTION value=5>5</OPTION> <OPTION value=6>6</OPTION> <OPTION value=7>7</OPTION> <OPTION value=8>8</OPTION> <OPTION value=10>10</OPTION> <OPTION value=12>12</OPTION>
</SELECT>
</td>
</tr>
</table>
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td align="right">
<table cellspacing=1 cellpadding=3 align=left width=110>
<tr>
<td><a href="javascript:cmdExec('cut')" class=link>
<img hspace="0" vspace=0 border=0 align=absMiddle src="<%=site%>InplaceEditor/Images/Cut.gif" alt="Cut" border=0>
</a></td>
<td><a href="javascript:cmdExec('copy')" class=link>
<img hspace="0" vspace=0 border=0 align=absMiddle src="<%=site%>InplaceEditor/Images/Copy.gif" alt="Copy">
</a></td>
<td><a href="javascript:cmdExec('paste')" class=link>
<img hspace="0" vspace="0" align=absMiddle src="<%=site%>InplaceEditor/Images/Paste.gif" alt="Paste" border=0>
</a></td>
</tr>
<tr>
<td><a href="javascript:cmdExec('bold')" class=link>
<IMG alt=Bold hspace=0 src="<%=site%>InplaceEditor/Images/Bold.gif" align=absMiddle vspace=0 border=0 border=0>
</a>
</td>
<td><a href="javascript:cmdExec('italic')" class=link>
<IMG alt=Italic hspace=0 src="<%=site%>InplaceEditor/Images/Italic.gif" align=absMiddle vspace=0 border=0 border=0>
</a></td>
<td><a href="javascript:cmdExec('underline')" class=link>
<IMG alt=Underline hspace=0 src="<%=site%>InplaceEditor/Images/Under.gif" align=absMiddle vspace=0 border=0>
</a></td>
</tr>
<tr>
<td><a href="javascript:cmdExec('justifyleft')" class=link>
<IMG alt="Justify Left" hspace=0 src="<%=site%>InplaceEditor/Images/Left.gif" align=absMiddle vspace=0 border=0>
</a></td>
<td><a href="javascript:cmdExec('justifycenter')" class=link>
<IMG alt=Center hspace=0 src="<%=site%>InplaceEditor/Images/Center.gif" align=absMiddle vspace=0 border=0>
</a></td>
<td><a href="javascript:cmdExec('justifyright')" class=link>
<IMG alt="Justify Right" hspace=0 src="<%=site%>InplaceEditor/Images/Right.gif" align=absMiddle vspace=0 border=0>
</a></td>
</tr>
<tr>
<td><a href="javascript:cmdExec('insertorderedlist')" class=link>
<IMG alt="Ordered List" hspace=0 src="<%=site%>InplaceEditor/Images/numlist.GIF" align=absMiddle vspace=0 border=0>
</a></td>
<td><a href="javascript:cmdExec('outdent')" class=link>
<IMG alt="Decrease Indent" hspace=0 src="<%=site%>InplaceEditor/Images/deindent.gif" align=absMiddle vspace=0 border=0>
</a></td>
<!--<td><a href="javascript:" onClick="foreColor()">-->
<td><a href="javascript:foreColor()" class=link>
<IMG alt=Forecolor hspace=0 src="<%=site%>InplaceEditor/Images/fgcolor.gif" align=absMiddle vspace=0 border=0>
</a></td>
</tr>
<tr>
<td><a href="javascript:cmdExec('insertunorderedlist')" class=link>
<IMG alt="Unordered List" hspace=0 src="<%=site%>InplaceEditor/Images/bullist.GIF" align=absMiddle vspace=0 border=0>
</a></td>
<td><a href="javascript:cmdExec('indent')" class=link>
<IMG alt="Increase Indent" hspace=0 src="<%=site%>InplaceEditor/Images/inindent.gif" align=absMiddle vspace=0 border=0>
</a></td>
<td><a href="javascript:createLink()" class=link>
<IMG alt=Link hspace=0 src="<%=site%>InplaceEditor/Images/Link.gif" align=absMiddle vspace=0 border=0>
</a></td>
</tr>
<tr>
<td><a href="javascript:insertAnchor();" class=link>
<IMG alt="Insert Anchor" hspace=0 src="<%=site%>InplaceEditor/Images/icon-anchor.gif" align=absMiddle vspace=4 border=0>
</a></td>
<td><a href="javascript:insertTable()" class=link>
<IMG alt=Table hspace=0 src="<%=site%>InplaceEditor/Images/table.gif" align=absMiddle vspace=0 border=0>
</a></td>
<td><a href="javascript:Save('iEditor');" class=link>
<IMG alt=Save hspace=0 src="<%=site%>InplaceEditor/Images/Save.gif" align=absMiddle vspace=0 border=0>
</a></td>
</tr>
<tr>
<td colspan=3 class=normal align=left><a href="javascript:openImageLib();" class=linkdark>
<IMG alt=Image hspace=0 src="<%=site%>InplaceEditor/Images/Image.gif" align=absMiddle vspace=0 border=0>
Insert Image</a></td>
</tr>
<tr>
<td colspan=3 class=normal align=left><a href="javascript:openFileLibrary();" class=linkdark>
<IMG alt="Insert File" hspace=0 src="<%=site%>InplaceEditor/Images/icon-text.gif" border=0 align=absMiddle vspace=2 hspace=2>
Insert File </a></td>
</tr>
<%if(not editversion="members")then%>
<tr>
<td colspan=3 class=normal align=left><a href="javascript:SEO();" class=linkdark>
<IMG alt="Search Engine Optimisation" hspace=0 src="<%=site%>InplaceEditor/Images/icon-html.gif" align=absMiddle vspace=0 border=0>
SE Optimise</a></td>
</tr>
<%
response.Write "</form>"
end if %>
</table>
</td>
</tr></table>
</div>
</div>
</div>
<script language=Javascript src="<%=site%>InplaceEditor/chaser.js"></script>
<!-- toolbox at to bar -->
<%if(not editversion="members")then%>
<div id=divEditSave class=savetoolbar onMouseUp="if(curElement!=null){SaveToolbarPos();}curElement=null;">
<table cellspacing=0 cellpadding=0 ID="Table1"><tr>
<td><div class=seperator onMouseDown=DoMouseDown(getObj('divEditSave'));><img src="<%=site & "gfx/toolbar-seperator.gif"%>" border=0 alt="Move Toolbar"></div></td>
<td><a href="javascript:ToggleEditor('divToolbar');" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('edit','','<%=site & "gfx/toolbar-edit-over.gif"%>',0)"><img src="<%=site & "gfx/toolbar-edit.gif"%>" name=edit border=0 alt="Edit Page (Ctrl+E)"></a></td>
<td><a href="javascript:Save('iEditor');" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('save','','<%=site & "gfx/toolbar-save-over.gif"%>',0)"><img src="<%=site & "gfx/toolbar-save.gif"%>" name=save border=0 alt="Save Page (Ctrl+S)"></a></td>
</tr></table>
</div>
<% end if %>
<%if(editversion="members")then%>
<DIV id="iEditor" style="POSITION:relative;width:600;left:0;visibility:visible;" onClick="editorvisible = false;if(isIE55()){ToggleEditor('divToolbar');}">
<%else%>
<DIV id="iEditor" style="POSITION:relative;width:600;left:0;visibility:visible;">
<% end if%>
<%
end function
function CloseEdit
response.write closingTag
end function
Function SelectTemplateList()
'Generates the directory list from a parent directory
set fldr = FileListing(AbsPath(site & "themes"))
strSelected = rsPage("template")
if(not len(strSelected)>0)then
strSelected = setup_StandardTemplate
end if
chk = ""
%> <select class=selectfield name=template ID="Select4" onchange="Save('divContent');">
<option value="">Page Theme</option>
<%
for each item in fldr
if(right(item.name,4)=".asp")then
if strSelected = "../themes/" & item.name then
response.Write "<option value=" & item.name & " selected>" & item.name & "</option>"
else
response.Write "<option value=" & item.name & ">" & item.name & "</option>"
end if
end if
next
response.write "</select>"
Set fso = nothing
End Function
%>
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
From Brisbane, Australia.
Likes building stuff.