237 lines
		
	
	
		
			5.9 KiB
		
	
	
	
		
			HTML
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			237 lines
		
	
	
		
			5.9 KiB
		
	
	
	
		
			HTML
		
	
	
		
			Executable File
		
	
	
	
	
| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
 | |
| <!--
 | |
|  * FCKeditor - The text editor for internet
 | |
|  * Copyright (C) 2003-2006 Frederico Caldeira Knabben
 | |
|  * 
 | |
|  * Licensed under the terms of the GNU Lesser General Public License:
 | |
|  * 		http://www.opensource.org/licenses/lgpl-license.php
 | |
|  * 
 | |
|  * For further information visit:
 | |
|  * 		http://www.fckeditor.net/
 | |
|  * 
 | |
|  * "Support Open Source software. What about a donation today?"
 | |
|  * 
 | |
|  * File Name: fck_template.html
 | |
|  * 	Template selection dialog window.
 | |
|  * 
 | |
|  * File Authors:
 | |
|  * 		Frederico Caldeira Knabben (fredck@fckeditor.net)
 | |
| -->
 | |
| <html xmlns="http://www.w3.org/1999/xhtml">
 | |
| <head>
 | |
| 	<title></title>
 | |
| 	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 | |
| 	<meta name="robots" content="noindex, nofollow" />
 | |
| 	<style type="text/css">
 | |
| 			.TplList
 | |
| 			{
 | |
| 				border: #dcdcdc 2px solid;
 | |
| 				background-color: #ffffff;
 | |
| 				overflow: auto;
 | |
| 				width: 90%;
 | |
| 			}
 | |
| 
 | |
| 			.TplItem
 | |
| 			{
 | |
| 				margin: 5px;
 | |
| 				padding: 7px;
 | |
| 				border: #eeeeee 1px solid;
 | |
| 			}
 | |
| 
 | |
| 			.TplItem TABLE
 | |
| 			{
 | |
| 				display: inline;
 | |
| 			}
 | |
| 
 | |
| 			.TplTitle
 | |
| 			{
 | |
| 				font-weight: bold;
 | |
| 			}
 | |
| 		</style>
 | |
| 	<script src="common/fck_dialog_common.js" type="text/javascript"></script>
 | |
| 	<script type="text/javascript">
 | |
| 
 | |
| var oEditor		= window.parent.InnerDialogLoaded() ;
 | |
| var FCK			= oEditor.FCK ;
 | |
| var FCKLang		= oEditor.FCKLang ;
 | |
| var FCKConfig	= oEditor.FCKConfig ;
 | |
| 
 | |
| window.onload = function()
 | |
| {
 | |
| 	// Set the right box height (browser dependent).
 | |
| 	GetE('eList').style.height = document.all ? '100%' : '295px' ;
 | |
| 
 | |
| 	// Translate the dialog box texts.
 | |
| 	oEditor.FCKLanguageManager.TranslatePage(document) ;
 | |
| 	
 | |
| 	GetE('xChkReplaceAll').checked = ( FCKConfig.TemplateReplaceAll !== false ) ;
 | |
| 	
 | |
| 	if ( FCKConfig.TemplateReplaceCheckbox !== false )
 | |
| 		GetE('xReplaceBlock').style.display = '' ;
 | |
| 
 | |
| 	window.parent.SetAutoSize( true ) ;
 | |
| 
 | |
| 	LoadTemplatesXml() ;
 | |
| }
 | |
| 
 | |
| function LoadTemplatesXml()
 | |
| {
 | |
| 	if ( !FCK._Templates )
 | |
| 	{
 | |
| 		GetE('eLoading').style.display = '' ;
 | |
| 
 | |
| 		// Create the Templates array.
 | |
| 		FCK._Templates = new Array() ;
 | |
| 
 | |
| 		// Load the XML file.
 | |
| 		var oXml = new oEditor.FCKXml() ;
 | |
| 		oXml.LoadUrl( FCKConfig.TemplatesXmlPath ) ;
 | |
| 
 | |
| 		// Get the Images Base Path.
 | |
| 		var oAtt = oXml.SelectSingleNode( 'Templates/@imagesBasePath' ) ;
 | |
| 		var sImagesBasePath = oAtt ? oAtt.value : '' ;
 | |
| 
 | |
| 		// Get the "Template" nodes defined in the XML file.
 | |
| 		var aTplNodes = oXml.SelectNodes( 'Templates/Template' ) ;
 | |
| 
 | |
| 		for ( var i = 0 ; i < aTplNodes.length ; i++ )
 | |
| 		{
 | |
| 			var oNode = aTplNodes[i]
 | |
| 
 | |
| 			var oTemplate = new Object() ;
 | |
| 
 | |
| 			var oPart ;
 | |
| 
 | |
| 			// Get the Template Title.
 | |
| 			if ( oPart = oNode.attributes.getNamedItem('title') )
 | |
| 				oTemplate.Title = oPart.value ;
 | |
| 			else
 | |
| 				oTemplate.Title = 'Template ' + ( i + 1 ) ;
 | |
| 
 | |
| 			// Get the Template Description.
 | |
| 			if ( oPart = oXml.SelectSingleNode( 'Description', oNode ) )
 | |
| 				oTemplate.Description = oPart.text ? oPart.text : oPart.textContent ;
 | |
| 
 | |
| 			// Get the Template Image.
 | |
| 			if ( oPart = oNode.attributes.getNamedItem('image') )
 | |
| 				oTemplate.Image = sImagesBasePath + oPart.value ;
 | |
| 
 | |
| 			// Get the Template HTML.
 | |
| 			if ( oPart = oXml.SelectSingleNode( 'Html', oNode ) )
 | |
| 				oTemplate.Html = oPart.text ? oPart.text : oPart.textContent ;
 | |
| 			else
 | |
| 			{
 | |
| 				alert( 'No HTML defined for template index ' + i + '. Please review the "' + FCKConfig.TemplatesXmlPath + '" file.' ) ;
 | |
| 				continue ;
 | |
| 			}
 | |
| 
 | |
| 			FCK._Templates[ FCK._Templates.length ] = oTemplate ;
 | |
| 		}
 | |
| 
 | |
| 		GetE('eLoading').style.display = 'none' ;
 | |
| 	}
 | |
| 
 | |
| 	if ( FCK._Templates.length == 0 )
 | |
| 		GetE('eEmpty').style.display = '' ;
 | |
| 	else
 | |
| 	{
 | |
| 		for ( var i = 0 ; i < FCK._Templates.length ; i++ )
 | |
| 		{
 | |
| 			var oTemplate = FCK._Templates[i] ;
 | |
| 
 | |
| 			var oItemDiv = GetE('eList').appendChild( document.createElement( 'DIV' ) ) ;
 | |
| 			oItemDiv.TplIndex = i ;
 | |
| 			oItemDiv.className = 'TplItem' ;
 | |
| 
 | |
| 			// Build the inner HTML of our new item DIV.
 | |
| 			var sInner = '<table><tr>' ;
 | |
| 
 | |
| 			if ( oTemplate.Image )
 | |
| 				sInner += '<td valign="top"><img src="' + oTemplate.Image + '"><\/td>' ;
 | |
| 
 | |
| 			sInner += '<td valign="top"><div class="TplTitle">' + oTemplate.Title + '<\/div>' ;
 | |
| 
 | |
| 			if ( oTemplate.Description )
 | |
| 				sInner += '<div>' + oTemplate.Description + '<\/div>' ;
 | |
| 
 | |
| 			sInner += '<\/td><\/tr><\/table>' ;
 | |
| 
 | |
| 			oItemDiv.innerHTML = sInner ;
 | |
| 			
 | |
| 			oItemDiv.onmouseover = ItemDiv_OnMouseOver ;
 | |
| 			oItemDiv.onmouseout = ItemDiv_OnMouseOut ;
 | |
| 			oItemDiv.onclick = ItemDiv_OnClick ;
 | |
| 		}
 | |
| 	}
 | |
| }
 | |
| 
 | |
| function ItemDiv_OnMouseOver()
 | |
| {
 | |
| 	this.className += ' PopupSelectionBox' ;
 | |
| }
 | |
| 
 | |
| function ItemDiv_OnMouseOut()
 | |
| {
 | |
| 	this.className = this.className.replace( /\s*PopupSelectionBox\s*/, '' ) ;
 | |
| }
 | |
| 
 | |
| function ItemDiv_OnClick()
 | |
| {
 | |
| 	SelectTemplate( this.TplIndex ) ;
 | |
| }
 | |
| 
 | |
| function SelectTemplate( index )
 | |
| {
 | |
| 	oEditor.FCKUndo.SaveUndoStep() ;
 | |
| 
 | |
| 	if ( GetE('xChkReplaceAll').checked )
 | |
| 		FCK.SetHTML( FCK._Templates[index].Html ) ;
 | |
| 	else
 | |
| 		FCK.InsertHtml( FCK._Templates[index].Html ) ;
 | |
| 
 | |
| 	window.parent.Cancel( true ) ;
 | |
| }
 | |
| 
 | |
| 	</script>
 | |
| </head>
 | |
| <body style="overflow: hidden">
 | |
| 	<table width="100%" style="height: 100%">
 | |
| 		<tr>
 | |
| 			<td align="center">
 | |
| 				<span fcklang="DlgTemplatesSelMsg">Please select the template to open in the editor<br />
 | |
| 					(the actual contents will be lost):</span>
 | |
| 			</td>
 | |
| 		</tr>
 | |
| 		<tr>
 | |
| 			<td height="100%" align="center">
 | |
| 				<div id="eList" align="left" class="TplList">
 | |
| 					<div id="eLoading" align="center" style="display: none">
 | |
| 						<br />
 | |
| 						<span fcklang="DlgTemplatesLoading">Loading templates list. Please wait...</span>
 | |
| 					</div>
 | |
| 					<div id="eEmpty" align="center" style="display: none">
 | |
| 						<br />
 | |
| 						<span fcklang="DlgTemplatesNoTpl">(No templates defined)</span>
 | |
| 					</div>
 | |
| 				</div>
 | |
| 			</td>
 | |
| 		</tr>
 | |
| 		<tr id="xReplaceBlock" style="display: none">
 | |
| 			<td>
 | |
| 				<table cellpadding="0" cellspacing="0">
 | |
| 					<tr>
 | |
| 						<td>
 | |
| 							<input id="xChkReplaceAll" type="checkbox" /></td>
 | |
| 						<td>
 | |
| 							 </td>
 | |
| 						<td>
 | |
| 							<label for="xChkReplaceAll" fcklang="DlgTemplatesReplace">
 | |
| 								Replace actual contents</label></td>
 | |
| 					</tr>
 | |
| 				</table>
 | |
| 			</td>
 | |
| 		</tr>
 | |
| 	</table>
 | |
| </body>
 | |
| </html>
 |