changeset 3963:84de77c342e5

fix smiley problem on gui editor. add smiley plugin and smiley mapping table to moinmoin fckeditor
author Byeongweon [tasyblue@gmail.com]
date Tue, 01 Jul 2008 03:44:47 +0900
parents 71b272c93293
children b4a607ba8f15
files wiki/htdocs/applets/moinFCKplugins/smiley/fck_smiley.html wiki/htdocs/applets/moinFCKplugins/smiley/fckplugin.js wiki/htdocs/applets/moinFCKplugins/smiley/smile.png wiki/htdocs/applets/moinfckconfig.js
diffstat 4 files changed, 152 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wiki/htdocs/applets/moinFCKplugins/smiley/fck_smiley.html	Tue Jul 01 03:44:47 2008 +0900
@@ -0,0 +1,114 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
+<!--
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2008 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Smileys (emoticons) dialog window.
+-->
+<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">
+		.Hand
+		{
+			cursor: pointer;
+			cursor: hand;
+		}
+	</style>
+	<script src="common/fck_dialog_common.js" type="text/javascript"></script>
+	<script type="text/javascript">
+
+var dialog	= window.parent ;
+var oEditor = dialog.InnerDialogLoaded() ;
+
+window.onload = function ()
+{
+	// First of all, translate the dialog box texts
+	oEditor.FCKLanguageManager.TranslatePage(document) ;
+
+	dialog.SetAutoSize( true ) ;
+}
+
+// modify original fck_smiley to use wiki notation. add second parameter smiley
+function InsertSmiley( url, smiley)
+{
+	oEditor.FCKUndo.SaveUndoStep() ;
+
+	var oImg = oEditor.FCK.InsertElement( 'img' ) ;
+	oImg.src = url ;
+	oImg.title = 'smiley:'+smiley;
+	oImg.alt = smiley;
+	oImg.setAttribute( '_fcksavedurl', url ) ;
+
+	// For long smileys list, it seams that IE continues loading the images in
+	// the background when you quickly select one image. so, let's clear
+	// everything before closing.
+	document.body.innerHTML = '' ;
+
+	dialog.Cancel() ;
+}
+
+function over(td)
+{
+	td.className = 'LightBackground Hand' ;
+}
+
+function out(td)
+{
+	td.className = 'DarkBackground Hand' ;
+}
+	</script>
+</head>
+<body style="overflow: hidden">
+	<table cellpadding="2" cellspacing="2" align="center" border="0" width="100%" height="100%">
+		<script type="text/javascript">
+
+var FCKConfig = oEditor.FCKConfig ;
+
+var sBasePath	= FCKConfig.SmileyPath ;
+var aImages		= FCKConfig.SmileyImages ;
+var iCols		= FCKConfig.SmileyColumns ;
+var iColWidth	= parseInt( 100 / iCols, 10 ) ;
+
+var i = 0 ;
+while (i < aImages.length)
+{
+	document.write( '<tr>' ) ;
+	for(var j = 0 ; j < iCols ; j++)
+	{
+		if (aImages[i])
+		{
+			var sUrl = sBasePath + aImages[i] ;
+			document.write( '<td width="' + iColWidth + '%" align="center" class="DarkBackground Hand" onclick="InsertSmiley(\'' + sUrl.replace(/'/g, "\\'" ) + '\', \'' + FCKConfig.SmileyMap[aImages[i]] + '\')" onmouseover="over(this)" onmouseout="out(this)">' ) ;
+			document.write( '<img src="' + sUrl + '" border="0" />' ) ;
+		}
+		else
+			document.write( '<td width="' + iColWidth + '%" class="DarkBackground">&nbsp;' ) ;
+		document.write( '<\/td>' ) ;
+		i++ ;
+	}
+	document.write('<\/tr>') ;
+}
+
+		</script>
+	</table>
+</body>
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wiki/htdocs/applets/moinFCKplugins/smiley/fckplugin.js	Tue Jul 01 03:44:47 2008 +0900
@@ -0,0 +1,8 @@
+// Register the related commands.
+FCKCommands.RegisterCommand( 'Smiley' , new FCKDialogCommand( FCKLang['InsertSmileyLbl'] , FCKLang['InsertSmiley'] , FCKConfig.PluginsPath + 'smiley/fck_smiley.html' , 340, 170 ) ) ;
+
+// Create the "Smiley" toolbar button.
+var oSmileyItem = new FCKToolbarButton( 'Smiley', FCKLang['InsertSmiley'] ) ;
+oSmileyItem.IconPath = FCKConfig.PluginsPath + 'smiley/smile.png' ;
+
+FCKToolbarItems.RegisterItem( 'Smiley', oSmileyItem) ; 
Binary file wiki/htdocs/applets/moinFCKplugins/smiley/smile.png has changed
--- a/wiki/htdocs/applets/moinfckconfig.js	Mon Jun 30 06:27:33 2008 +0900
+++ b/wiki/htdocs/applets/moinfckconfig.js	Tue Jul 01 03:44:47 2008 +0900
@@ -81,6 +81,7 @@
 FCKConfig.Plugins.Add( 'moinattachment' ) ;
 FCKConfig.Plugins.Add( 'moinformat' ) ;
 FCKConfig.Plugins.Add( 'moinimage' ) ;
+FCKConfig.Plugins.Add( 'smiley' );
 
 /* The list of the smiley images. MUST be done from here, auto-generating in MoinMoin-Code does not work! */
 
@@ -112,6 +113,35 @@
 'tongue.png'
 ] ;
 
+// use smiley with this data mapping object. when insert smiley image with gui editor
+// smiley plugin insert additional attribute (title, alt) with this data
+FCKConfig.SmileyMap = {
+	'alert.png' : '/!\\',
+	'angry.png' : 'X-(', 
+	'attention.png' : '<!>', 
+	'biggrin.png' : ':D', 
+	'checkmark.png' : '(./)', 
+	'devil.png' : '>:>', 
+	'frown.png' : '<:(', 
+	'icon-error.png' : '{X}', 
+	'icon-info.png' : '{i}', 
+	'idea.png' : '(!)', 
+	'ohwell.png' : ':\\', 
+	'prio1.png' : '{1}', 
+	'prio2.png' : '{2}', 
+	'prio3.png' : '{3}', 
+	'redface.png' : ':o', 
+	'sad.png' : ':(', 
+	'smile.png' : ':)', 
+	'smile2.png' : 'B)', 
+	'smile3.png' : ':))', 
+	'smile4.png' : ';)', 
+	'star_off.png' : '{o}', 
+	'star_on.png' : '{*}', 
+	'thumbs-up.png' : '{OK}', 
+	'tired.png' : '|)', 
+	'tongue.png' : ':-?'
+};
 
 
 FCKConfig.CustomStyles =