bonjour,
je suis entrain de développer un file manager pour tinymce, on me basant sur le tuto php "développer un site:jou6"
donc dans un premier temps j'ai créer une page php dans laquelle j'inclus tinymce dans un textarea:
[code]<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
<head>
<title>Gestion des onglets du site</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet"type="text/css"href="onglet.css"/>
<script src="tinymce/jscripts/tiny_mce/tiny_mce.js" type="text/javascript"></script>
<script type="text/javascript">
tinyMCE.init({
theme : "advanced",
mode : "textareas",
plugins : "table,save,advimage,advlink,insertdatetime,preview,searchreplace",
theme_advanced_buttons1_add_before : "save,separator",
theme_advanced_buttons1_add : "fontsizeselect",
theme_advanced_buttons2_add : "separator,insertdate,inserttime,preview,separator,forecolor,backcolor",
theme_advanced_buttons2_add_before: "search,replace,separator",
theme_advanced_buttons3_add_before : "tablecontrols,separator",
theme_advanced_toolbar_location : "top",
theme_advanced_toolbar_align : "left",
plugin_insertdate_dateFormat : "%d/%m/%Y",
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]",
file_browser_callback: 'fileBrowser',
});
function fileBrowser(field_name, url, type, win) {
tinyMCE.activeEditor.windowManager.open({
file: '/adep/admin/onglets/gest_image/admin.php',
title: 'Gallerie',
width: 500,
height: 700,
resizable: "yes",
inline: 'yes',
close_previous: "no",
}, {
window: win,
input: field_name
});
return false;
}
</script>
</head>
<body>
<div id="edition" align="center">
<CAPTION><h3><u> Edition des onglets:</u></h3></CAPTION>
<form method='post' action="./gest_onglet.php?action=enregistrer&id=<?php echo $data['id'];?>">
Le nom d'onglet á editer :<input type="text" disabled name="nom" value="<?php echo $data['nom'];?>"/><br/>
Contenu :<br/><textarea name="contenu" class="mceEditor"><?php echo $data['contenu'];?></textarea><br/>
<input type="submit" value="envoyer"/>
</form>
</br>
<a href="../menu.php" class ="photo"><img src="../retour_menu.png" width="120" height="120"></a>';
</div>
<?php
}
if ($_GET['action']=='enregistrer') {
if (isset($_GET['id'])) {$id = intval(htmlentities($_GET['id']));}
if (isset($_POST['contenu']))
{
//$nom = htmlentities($_POST['nom']);
$contenu = $_POST['contenu'];
$sql = "UPDATE onglets SET contenu='$contenu' WHERE id='$id'";
$req = mysql_query($sql) or die("Balise 2".mysql_error());
echo 'Ok, <a href="gest_onglet.php">cliquez ici</a> pour revenir';
}
}
}
mysql_close();
?>
<br/><br/>
</body>[/code]
par la suite j'ai developper le module qui va me servir d'uploader mes image sur les server, et sur un evenment de click sur l'image, il recupére l'url de l'image dans la zone text didier à limage du bouton "image de tiny mce"
voici mon code
[code]<?php
if(!empty($_FILES)){
$img = $_FILES['img'];
$ext = strtolower(substr($img['name'],-3));
$allow_ext = array("jpg",'png','gif');
if(in_array($ext,$allow_ext)){
move_uploaded_file($img['tmp_name'],"../photo/".$img['name']);
}
else
{
$erreur = "Votre fichier n'est pas une image";
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr" dir="ltr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" href="admin.css" _mce_href="admin.css" type="text/css" media="screen, projection" />
<script src="../tinymce/jscripts/tiny_mce/tiny_mce_popup.js" type="text/javascript"></script>
</head>
<body>
<?php
if(isset($erreur)){
echo $erreur;
}
?>
<form method="post" action="admin.php" enctype="multipart/form-data">
<fieldset>
<legend align="center">Ajout d'une image</legend>
<label for="image1">Ajouter:</label>
<input type="file" name="img"/>
<button type="submit">Valider</button>
</fieldset>
</form>
<div id="tableau" align="center">
<table summary="Liste des images de la galerie"BORDER="1">
<caption>La liste des images</caption>
<tr>
<th>Aperçu de l'image</th>
<th>Supprimer</th>
</tr>
<?php
$dirname = '../photo/';
$dir = opendir($dirname);
while($file = readdir($dir)) {
if($file != '.' && $file != '..' && !is_dir($dirname.$file))
{
echo '<TR>
<td><a href="#" onclick="FileBrowserDialogue.sendURL('. $dirname . $file .')"><img src="' . $dirname . $file . '" width="150" height="80"></a></td>
<td><a href="suppr.php?file=' . $dirname . $file . '" title="Supprimer le fichier"><img src="suppr.png" alt="Supprimer le ficher""></a> </td></TR>';
}
}
closedir($dir);
?>
<script language="javascript" type="text/javascript">
var FileBrowserDialogue = {
init : function () {
},
sendURL : function (URL) {
var win = tinyMCEPopup.getWindowArg("window");
win.document.getElementById(tinyMCEPopup.getWindowArg("input")).value = URL;
if (typeof(win.ImageDialog) != "undefined")
{
if (win.ImageDialog.getImageData) win.ImageDialog.getImageData();
if (win.ImageDialog.showPreviewImage) win.ImageDialog.showPreviewImage(URL);
}
tinyMCEPopup.close();
}
}
tinyMCEPopup.onInit.add(FileBrowserDialogue.init, FileBrowserDialogue);
</script>
</table>
</div>
</body>
</html>[/code]
sauf que quand je click sur l'image il ne se passe rien, et quand j'inspcte l'element avec firbug il me detecte une errieur la voici:
[code]syntax error
[Stopper sur une erreur]
FileBrowserDialogue.sendURL(../photo/travaill lolo.jpg)
admin.php# (line 1, col 28)[/code]
on dirai qu'il aime pas l'url qu'il recupére.
voici mon arboressence
jai un dossier "adep"
dedans, j'ai un dossier admin, et dans admin j'ai un dossier onglets, qui contien le dossier photo
donc ça donne ça: adep/admin/onglets/photo
merci d'avance pour votre aide