EDITOR DI TESTO: tinyMCE e Ajax per l'upload di immagini da pc

megarospo

Utente Attivo
25 Set 2007
147
0
0
Ciao a tutti.
Ho inserito in un sito il programma tinyMCE per avere un editor di testo su un campo testo di un Form. Tutto funziona bene. Questo programma però ha delle pecche sull'upload delle immagini da pc e ho cercato di implementarlo con Ajax ajaxfilemanager. Non ricevo errori ma solo l'aria di testo vuota. Potete darmi qualche consiglio?
Vi posto tutto il codice:


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento senza titolo</title>

<? /* codice base di tinyMCE e funzionante:
<script src="public/tiny_mce/tiny_mce.js" language="javascript" type="text/javascript">
</script>
<script language="javascript" type="text/javascript">
tinyMCE.init({
skin: "o2k7",
theme : "advanced",
theme_advanced_toolbar_location: "top",
mode : "textareas"
});
</script> */ ?>





<? /* codice che implementa tinyMCE con ajax per l'Upload di immagini ma che non funziona NOTA IMPORTANTE: Anche senza Ajax, altre configurazioni advanced con altri plugins non risultavano funzionanti.*/ ?>
<script>
tinyMCE.init({
mode : "textareas",
theme : "advanced",
plugins : "inlinepopups,advimage,media",
theme_advanced_buttons1 : "bold,italic,underline,separator,strikethrough,justifyleft,justifycenter,justifyright,justifyfull,bullist,numlist,undo,redo,link,unlink,image,removeformat,anchor,blockquote,code",
theme_advanced_buttons2 : "",
theme_advanced_buttons3 : "",
file_browser_callback : "ajaxfilemanager",
theme_advanced_toolbar_location : "top",
theme_advanced_toolbar_align : "left",
theme_advanced_statusbar_location : "bottom",
width : "676",
height : "300",
extended_valid_elements : "a[name|href|target|title|onclick],img[class|src|border=0|alt|title|hspace|vspace|width|height|align|onmouseover|onmouseout|name],hr[class|width|size|noshade],font[face|size|color|style],span[class|align|style]",
apply_source_formatting : true,
relative_urls : false,
remove_script_host : false,
document_base_url : "http://localhost/xxxx/",
languages : "it",
theme_advanced_resize_horizontal : false,
theme_advanced_resizing : true,
convert_newlines_to_brs : false,
force_br_newlines : false,
force_p_newlines : false
});
function ajaxfilemanager(field_name, url, type, win) {
var ajaxfilemanagerurl = "http://localhost/xxxx/public/tiny_mce/plugins/ajaxfilemanager/ajaxfilemanager.php";
switch (type) {
case "image":
ajaxfilemanagerurl += "?type=img";
break;
case "media":
ajaxfilemanagerurl += "?type=media";
break;
case "flash": //for older versions of tinymce
ajaxfilemanagerurl += "?type=media";
break;
case "file":
ajaxfilemanagerurl += "?type=files";
break;
default:
return false;
}
var fileBrowserWindow = new Array();
fileBrowserWindow["file"] = ajaxfilemanagerurl;
fileBrowserWindow["title"] = "Ajax File Manager";
fileBrowserWindow["width"] = "782";
fileBrowserWindow["height"] = "440";
fileBrowserWindow["resizable "] = "yes";
fileBrowserWindow["inline"] = "yes";
fileBrowserWindow["close_previous"] = "no";
tinyMCE.activeEditor.windowManager.open(fileBrowserWindow, {
window : win,
input : field_name
});

return false;
}

</script>




</head>

<body>
<form id="form1" name="form1" method="post" action="">
<label>
<textarea name="textareas" cols="70
" rows="30" id="textareas"></textarea>
</label>
<p>scegli la prima categoria :
<label>categoria1
<select name="select">
<option>Politica</option>
<option>sport</option>
</select>
</label>
</p>
<p>
<label>SALVA
<input type="submit" name="Submit" value="Invia" />
</label>
-
<label>PUBBLICA
<input type="submit" name="Submit2" value="Invia" />
</label>
</p>
</form>
</body>
</html>
 
Ciao. Sono riuscito a fare prograssi. Ora visualizzo correttamente l'editor di testo e sulla finestra per caricare le immagini appare un nuovo pulsante che "dovrebbe" permettere di selezionare un'immagine sul proprio pc. Dico "dovrebbe" perchè quando la clicco mi appare un messaggio in inglese che chiede di rimuovere il blocco dei pop-up. L'ho fatto ma nulla di nuovo. Credo che sia un problema strettamente legato ad ajax. Secondo voi?
Vi posto tutto il codice che credo sia comunque di utilità a molti. Ciao!! :cool:



<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">


<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento senza titolo</title>



<script src="../../../Programmi/EasyPHP1-8/www/post/public/tiny_mce/tiny_mce.js" language="javascript" type="text/javascript">
</script>
<script language="javascript" type="text/javascript">
tinyMCE.init({
skin: "o2k7",
theme : "advanced",
theme_advanced_toolbar_location: "top",
mode : "textareas",
file_browser_callback : "ajaxfilemanager",
document_base_url : "http://localhost/post/"
});
function ajaxfilemanager(field_name, url, type, win) {
var ajaxfilemanagerurl = "http://localhost/post/public/tiny_mce/plugins/ajaxfilemanager/ajaxfilemanager.php";
switch (type) {
case "image":
ajaxfilemanagerurl += "?type=img";
break;
case "media":
ajaxfilemanagerurl += "?type=media";
break;
case "flash": //for older versions of tinymce
ajaxfilemanagerurl += "?type=media";
break;
case "file":
ajaxfilemanagerurl += "?type=files";
break;
default:
return false;
}
var fileBrowserWindow = new Array();
fileBrowserWindow["file"] = ajaxfilemanagerurl;
fileBrowserWindow["title"] = "Ajax File Manager";
fileBrowserWindow["width"] = "782";
fileBrowserWindow["height"] = "440";
fileBrowserWindow["resizable "] = "yes";
fileBrowserWindow["inline"] = "yes";
fileBrowserWindow["close_previous"] = "no";
tinyMCE.activeEditor.windowManager.open(fileBrowserWindow, {
window : win,
input : field_name
});

return false;
}
</script>

</head>

<body>
<form id="form1" name="form1" method="post" action="">
<label>
<textarea name="textareas" cols="70
" rows="30" id="textareas"></textarea>
</label>
<p>scegli la prima categoria :
<label>categoria1
<select name="select">
<option>Politica</option>
<option>sport</option>
</select>
</label>
</p>
<p>
<label>SALVA
<input type="submit" name="Submit" value="Invia" />
</label>
-
<label>PUBBLICA
<input type="submit" name="Submit2" value="Invia" />
</label>
</p>
</form>
</body>
</html>
 
Risolto il problema

Ho risolto! A parte qualche modifica nel file config.base di Ajaxfilemanager, il vero problema era dovuto all'antivirus AVG che bloccava i pop-up, anche se io li autorizzavo.
Grazie mille a tutti.
ps: se conoscete qualche programma alternativo mi scrivete? Mi interessa molto. Ciao a tutti.
 
Grazie

Di sicuro gli darò una letta. A colpo d'occhio mi sembra proprio un ottimo articolo. Grazie Borgo italia. :book:
 
vi consiglio caldamente anche openWYSIWYG, FCKeditor mi sembra ormai pronto per una pericolosa deriva commerciale. Peccato perché è un'ottima soluzione.
 
ciao
una domanda (credo importante, anzi più d'una)
se utilizzo o fckeditor o altro per una form in cui l'utente mi invia una email o inserisce un testo in un mio db, che grado di sicurezza ho?
cioè i vari editor (così mi sembra tutti) danno la possibilità di scrivere codice html, quindi dal form mi possono inviare codice quantomeno indesiderato

potrei utilizzare strip_tags indicando tutti i tag che non voglio, ma mi sembra che i tag pericolosi sono molti(?).
potrei farmi un array con i tag pericolosi e poi forechciclare

$testo=strip_tag($testo, $value);

secondo gli esperti può essere una cosa fattibile? e quali sono soprattutti i tag più pericolosi (oltre a <a href..)?

detto qusto, strip_tag con es. <a>, mi fa sparire tutto <a href.. ed anche </a> ?
 
sono sempre qui
ho costruito l'array con tutti(?) i tags, gli esperti possono aggiungerne altri ed eliminare quelli "leciti"?

PHP:
<?php
$tag=array( 
"<a>", 
"<abbr>", 
"<acronym>", 
"<address>", 
"<applet>", 
"<area>", 
"<b>", 
"<base>", 
"<basefont>", 
"<bdo>", 
"<big>", 
"<blockquote>", 
"<body>", 
"<br>", 
"<button>", 
"<caption>", 
"<center>", 
"<cite>", 
"<code>", 
"<col>", 
"<colgroup>", 
"<dd>", 
"<del>", 
"<dfn>", 
"<dir>", 
"<div>", 
"<dl>", 
"<dt>", 
"<em>", 
"<fieldset>", 
"<font>", 
"<form>", 
"<frame>", 
"<frameset>", 
"<head>", 
"<h1>",
"<h2>",
"<h3>",
"<h4>",
"<h5>",
"<h6>", 
"<hr>", 
"<html>", 
"<i>", 
"<iframe>", 
"<img>", 
"<input>", 
"<ins>", 
"<kbd>", 
"<label>", 
"<legend>", 
"<li>", 
"<link>", 
"<map>", 
"<menu>", 
"<meta>", 
"<noframes>", 
"<noscript>", 
"<object>", 
"<ol>", 
"<optgroup>", 
"<option>", 
"<p>", 
"<param>", 
"<pre>", 
"<q>", 
"<s>", 
"<samp>", 
"<script>", 
"<select>", 
"<small>", 
"<span>", 
"<strike>", 
"<strong>", 
"<style>", 
"<sub>", 
"<sup>", 
"<table>", 
"<tbody>", 
"<td>", 
"<textarea>", 
"<tfoot>", 
"<th>", 
"<thead>", 
"<title>", 
"<tr>", 
"<tt>", 
"<u>", 
"<ul>", 
"<var>");
?>


se a qualcuno serve lo usi pore
 
ciao
se utilizzo o fckeditor o altro per una form in cui l'utente mi invia una email o inserisce un testo in un mio db, che grado di sicurezza ho?
Più ho meno quello di un forum come questo, naturalmente devi filtrare tutto, caratteri speciali ed estensione consentite per le immagini.
Converti tutto in entità HTML, in questo modo non ti servirà filtrare i singoli tag.
 
ciao
letta la licenza
da quello che ho potuto capire (traduttore google) posso ancora usarlo, solo se lo voglio più flessibile devo acquistarlo, o sbaglio?

dagli inferi in cui sei perchè non fai un bell'articolo su openWYSIWYG come hai fatto per FCKeditor?:fonzie:
 
ciao
letta la licenza
da quello che ho potuto capire (traduttore google) posso ancora usarlo, solo se lo voglio più flessibile devo acquistarlo, o sbaglio?
se lo inserisci in applicazioni totalmente Closed Source, se vuoi eliminare i copyright e se non vuoi redistribuire le modifiche effettuare. (Buttalo via il traduttore di Google )

dagli inferi in cui sei perchè non fai un bell'articolo su openWYSIWYG come hai fatto per FCKeditor?:fonzie:
Se i demoni me lo permettono lo farò
:vampiro::incazz::skull::evil:
 

Discussioni simili