Barra laterale

programmazione:javascript:integrare_tinymce_e_ajaxfilemanager_in_flatpress

Integrare Tinymce e Ajax Filemanager in Flatpress

Autore: Fabio Di Matteo
Ultima revisione: 13/05/2008

FlatPress è un grandioso software libero sotto GPL per creare blog. Non richiede l’uso di database perchè salva i contenuti in file di testo, supporta i plugin, l’uso di temi personalizzati con Smarty. E' facile da installare, ma ancora non possiede un plugin che permette di integrare in esso un comodo elaboratore di testi con relativo file manager. Poco male, ecco i passi per colmare questa sicuramente momentanea lacuna.

Cosa serve

Scompattare TinyMCE

L'archivio di TinyMce può essere scompattato in qualsiasi posto sul vostro webserver, ma sarà meglio scompattarlo dentro la root di FlatPress.

Modifiche a FlatPress

Andare nel file <root flatpress>/fp-plugins/bbcode/plugin.bbcode.php e modificare le righe come segue:

1° modifica

define('BBCODE_ESCAPE_HTML', true);

in

define('BBCODE_ESCAPE_HTML', false);

2° modifica

define('BBCODE_ENABLE_COMMENTS', false);

in

define('BBCODE_ENABLE_COMMENTS', true);

Andate dopodiche' nel file <root flatpress>/admin/main.tpl e aggiungete in cima al file il seguente javascript:

{literal}
<script language="javascript" type="text/javascript" src="<root_tinymce>/tinymce/jscripts/tiny_mce/tiny_mce.js"></script>
	<script language="javascript" type="text/javascript" src="<root_tinymce>/tinymce/jscripts/general.js"></script>
	<script language="javascript" type="text/javascript">
		tinyMCE.init({
			mode : "textareas",
			elements : "ajaxfilemanager",
			theme : "advanced",
			plugins : "table,advhr,advimage,advlink,flash,paste,fullscreen,noneditable,contextmenu",
			theme_advanced_buttons1_add_before : "newdocument,separator",
			theme_advanced_buttons1_add : "fontselect,fontsizeselect",
			theme_advanced_buttons2_add : "separator,forecolor,backcolor,liststyle",
			theme_advanced_buttons2_add_before: "cut,copy,paste,pastetext,pasteword,separator,",
			theme_advanced_buttons3_add_before : "tablecontrols,separator",
			theme_advanced_buttons3_add : "flash,advhr,separator,fullscreen",
			theme_advanced_toolbar_location : "top",
			theme_advanced_toolbar_align : "left",
			extended_valid_elements : "hr[class|width|size|noshade]",
			file_browser_callback : "ajaxfilemanager",
			paste_use_dialog : false,
			theme_advanced_resizing : true,
			theme_advanced_resize_horizontal : true,
			apply_source_formatting : true,
			force_br_newlines : true,
			force_p_newlines : false,	
			relative_urls : true
		});
 
		function ajaxfilemanager(field_name, url, type, win) {
			var ajaxfilemanagerurl = "<root_tinymce>/tinymce/jscripts/tiny_mce/plugins/ajaxfilemanager/ajaxfilemanager.php";
			switch (type) {
				case "image":
					break;
				case "media":
					break;
				case "flash": 
					break;
				case "file":
					break;
				default:
					return false;
			}
			var fileBrowserWindow = new Array();
			fileBrowserWindow["file"] = ajaxfilemanagerurl;
			fileBrowserWindow["title"] = "Ajax File Manager";
			fileBrowserWindow["width"] = "782";
			fileBrowserWindow["height"] = "440";
			fileBrowserWindow["close_previous"] = "no";
			tinyMCE.openWindow(fileBrowserWindow, {
			  window : win,
			  input : field_name,
			  resizable : "yes",
			  inline : "yes",
			  editor_id : tinyMCE.getWindowArg("editor_id")
			});
 
			return false;
		}
	</script>
 
 
{/literal}

P.S. il tag {literal} serve a far capire al motore di template Smarty di non interpretare il nostro codice come se fosse un'istruzione del template.

Settare i permessi alle directory

Dare i permessi di scrittura e lettura (forse anche 777) alla directory <root tinymce>/uploaded e ricordate in generale di fare proprietario l'utente di apache di tutto quello che installate sul webserver.


programmazione/javascript/integrare_tinymce_e_ajaxfilemanager_in_flatpress.txt · Ultima modifica: 18/04/2018 - 15:48 (modifica esterna)