begin process at 2012 05 27 17:54:33
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Divers

 > PHP WEB MANAGER

PHP WEB MANAGER


 Information sur la source

Note :
8,75 / 10 - par 4 personnes
8,75 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Divers Classé sous :webftp, manager, ftp, php, explorateur Niveau :Débutant Date de création :22/05/2010 Date de mise à jour :10/06/2010 20:27:28 Vu / téléchargé :6 811 / 733

Auteur : SimpleGeek

Ecrire un message privé
Site perso
Commentaire sur cette source (44)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
Bien le bonjour,

Le projet que je vais vous présenter n'est pas nouveau, il a été commencé en 2006 il me semble dans sa première version qui faisait 20Ko, et qui a évoluer au court du temps, puis subitement abandonné. Aujourd'hui il est de retour.

PHP Web Manager dit PWM, c'est quoi ?
C'est un WebFTP (FTP par navigateur Internet), c'est à dire que vous pouvez modifier votre site (ou bien le créer de 0) sans avoir recours à un client FTP (tel que FileZilla, FTP Expert et d'autres...), ou plutôt si, vous en avez besoin juste pour le mettre sur votre serveur web et après vous pouvez le désinstaller  :D

[i]L'histoire: [/i] Le PWM est né d'une idée de "Jac3n", un bon programmeur, avec qui j'ai travaillé sur ce projet pendant 2ans environs, comme je le disais au début de ce poste, le tout premier pesait 20Ko, avec très peu de fonctionnalité, au cours du temps, il a pu grimpé jusqu'a 300Ko max. Puis un jour alors que la [u]version 7[/u] était en préparation, il a subitement été arrêté du jour au lendemain pour des raisons que j'ignore.

Le PHP Web Manager: Reloaded

Le PWM: Reloaded, est le nom que j'ai donné à cette nouvelle version, version que j'ai repris entièrement tout seul, dans le but de l'améliorer, l'enjoliver, le recréer etc... Aujourd'hui je le considère comme m'appartenant, j'ai passé plusieurs semaines à compter de 13-14h / jour à me prendre la tête pour que tout fonctionne "correctement" et "simplement". (je sais je suis fou, mais bon, c'est ma passion ^^ )

Donc en gros, cette nouvelle version repart à 0, et possède le numéro 1.0
Certainement que vous connaissiez la précédente version (qui a été présenté sur le SdZ, une petite recherche vous aidera à le retrouver mais pas le télécharger).

Pourquoi l'avoir recréé ?
Héhé, la technologie évolue, la dernière version en date, 6.2 fonctionnais parfaitement sur [u]Firefox 2.0[/u], passé au normes de la 3.0, le script marchait très mal, l'édition en ligne surtout qui posait problème, bref je ne m'attarde pas sur le passé.

[i]Aujourd'hui :[/i] Il est de retour [strike]pour vous jouer un mauvais tour[/strike], l'ancien script n'était qu'un seul fichier de 200Ko (le poids a été diminué à une restructuration du script), les images étais encodé en base64 et cela permettait de ne pas avoir 30 fichiers sur le FTP, question place, c'était bien, mais niveau code, c'est le bordel, du coup j'ai tout séparé (au mieux que j'ai pu), chaque fonction possède sa propre page, les images sont inclus dans le dossier du script en PNG (autant avoir quelque chose de beau et de bonne qualité). Il pèse maintenant près de 400Ko en tout (je suis pas sûr)

Certaines choses ont été améliorés, d'autres supprimés, etc...
Voici un listing de tout ce que le PWM peut faire avec votre site, ce que vous ne trouverez pas sur un autre WebFTP:

- Listing rapide des fichiers/dossiers
- Création de nouveaux fichiers/dossiers
- Suppression, renommage, déplacement, copie, edition des fichiers/dossiers
- Upload et Download en ligne
- Coloration syntaxique via l'API JS "CodeMirror"
- Editeur de permissions CHMOD d'une simplicité fascinante
- Création et Extraction d'un fichier ZIP en ligne (rapide)
- Recherche de noms de fichiers et des chaines de caracères DANS vos fichiers
- Une fenètres de configuration pour débutant
- Une page d'informations PHP + PHP.ini Reader incorporé
- Un design simple et attirant pour un meilleur usage
- Aucune utilisation de Base de données
- Interactions avec les fichiers par touches "bind" voir la page Configuration pour plus d'infos
- Et j'en oublie sûrement

Informations complémentaires

Vous trouverez en suivant ce lien: http://www.simplegeek.fr/index?download&v=2.0 - l'archive ZIP du script avec son contenu.
Comme il est en développement, mais qu'il est très avancé (assez pour faire son site sans problème), il n'est pas forcément valide xHTML (CSS, peut-être). Ca viendra, du moins autant que je le pourrai.

Vous pouvez aussi dans le panneau de configuration, vérifier via un fichier externe (sans risque) qui se trouve sur mon FTP, si une nouvelle version est disponible, chose que j'améliorerai dans le futur à venir.

Quels sont les projets à venir ?
Comme je le disais dans le futur à venir, je compte retaper un peu de code dans le but d'améliorer, j'ai quelques idées intéressantes, et je compte sur vous pour m'en apporter d'autres !  :D

Voici une mini-liste de ce qui va/peut venir

[*]Un fichier log qui liste les actions faites par le script
[*]La recherche sera complété d'un champs d'exeption pour la recherche (déjà présent mais non fonctionnel)
[*]Je vais chercher à faire une sélection des fichiers et de les bouger en drag&drop
[*]Améliorer le code autant que je puisse pour respecter les normes et pour alléger le code
[*]Je vais créer un PWM version mini, pour ceux qui veulent juste une base d'un webftp
[*]Traduction du script en anglais

Si vous avez des idées je suis preneur.

Important !
Je ne suis pas dieu, il est possible que ce script ne soit pas "parfait", d'ailleurs il ne l'est pas, et il est également possible qu'il possède des failles que je n'ai pas vu, si c'est le cas, je compte sur vous pour me contactez en MP et de me le signaler avec si vous avez la solution  :p
Sachez que ce n'est pas volontaire mais j'ai fait tout ce que j'ai pu pour éviter cela au maximum.
Il est possible aussi que vous remarquiez dans le code des morceaux de codes incohérents, comme je viens juste de finir de le programmer, y a peut-être des traces restantes de mes tests, cela disparaîtra dans les prochaines versions.  :D
Je compte sur vous aussi pour me rapporter, tout erreur dans le code, fautes d'orthographe, etc...

Sachez qu'il a été testé sur Google Chrome, Safari, Mozilla Firefox (Windows XP/Vista et Mac OS 10.5+), pour une résolution minimum de 13" jusque 22"  :o Et que je ne constatez aucune défaillance (après je ne garantit rien du tout sur un laptop 10" avec IE sur XP  :-° )
Bref, j'attends vos retour, vos idées, vos reproches, etc...
Si vous avez des questions ne serait-ce même sur le code, je peux toujours vous expliquer 2,3 trucs (par MP se sera mieux)

Vous ne parlerai que du projet ici, les questions personnels, c'est par MP, je jugerai si la question s'avère pertinente pour être présenté en message.

Deux dernières petites choses, le site qui va avec, je vais pas tarder à m'y mettre, je vous avertirai quand il sera opérationnel
Ensuite, j'ai mis ce script en licence GNU-GPL, donc modifier, partager etc oui, vous l'approprier, non  :D  :-°
Voila je pense n'avoir rien d'autres à dire, ah si, j'ai incorporé un lecteur audio (si vous avez un site audio vous pouvez écouter en ligne, c'est juste un mini lecteur), en HTML5 avec les balises audio, mais hélas Firefox ne lit pas les MP3 apparament, donc ne vous en prenez pas à moi  :p

Voila ^^

[b]PS: Dernière chose important que je n'ai pas précisé, le script est protégé par un mot de passe qui se trouve dans le répertoire PWM_files, le fichier à modifier est config.inc.php et la ligne est la première $password = "";
Si vous ne modifiez pas le script avant, il ne marchera pas  ;)[/b]

Si jamais les modo veulent vérouiller mon topic, merci de prévenir AVANT, que je puisse prendre le zcode, dur de tout retapé  :p
Mais bon y a pas de raisons

-> http://www.simplegeek.fr/

####################### ####
++ DEPUIS LA VERSION 2.0 ++
###########################

   + Edition en ligne codé en Ajax
   + Champ 'exepté' de la recherche fonctionnel
   + Détection et enregistrement UTF-8/ISO des fichiers
   + Toutes les pages sont désormais sous license GNU-GPL
   + Le nom des fichiers/dossiers s'inscrit en bas au survol
   + La fonction mb_detect_encoding ne pose plus de problème
   + Il n'y a plus d'antislashes génant grâce à stripslashes
        - Attention avec les fichiers php/JS en possédant
    Ex: echo ('<script type="text/javascript">alert("J\'ai supprimé les slashes !");</script>');
Deviendra: echo ('<script type="text/javascript">alert("J'ai supprimé les slashes !");</script>');
... Et alors là, votre page foire à coup sûr, je vous conseil de le faire via un bloc-note et d'uploader le fichier par le PWM.
   + Quelques correctifs de sécurité
   + Rajout de la détection des fichiers JPEG (en plus de JPG)
   + Les images de phpinfo (variables PHP) devraient avoir changées. (Via preg_replace)

###########################
## DEPUIS LA VERSION 2.5
###########################

   + Nouveau fichier de langue, le PWM supporte l'anglais et le français
   + Optimisation du code
Ex: <?php echo $root; ?>
Devient: <?=$root;?>
   + Détection si les magics quotes sont activés, et les désactives


 Conclusion

Remerciement
Je voudrais remercier quelques personnes sans quoi se projet ne sera pas viable, donc d'abord bien que je ne le porte plus dans mon coeur,

- Jac3n: Intelligent, un bon pote à l'époque, dommage, on aurait pu allez loin tous les deux.
- Killua: Beta testeur officiel  :p Qui m'a apporté pas mal de soutient et d'aides (JS surtout, je hais ce language)
- CrystalXP et PNG Factory, je me suis servit chez eux pour les images, ainsi que FamFamFam.
- PCLZip, la merveilleuse API pour créer des ZIP en ligne  :D
- Le SdZ, là où j'ai tout appris  :)
- Et d'autres que j'oublie certainement

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

22 mai 2010 00:34:30 :
Erreur lors de la validation
23 mai 2010 14:56:03 :
Nouvelle version: - Correctifs de sécurité
25 mai 2010 22:00:58 :
Nouvelle version plus performante, plus sécurisé, avec de meilleur "outils"
25 mai 2010 22:35:08 :
Zip supprimé Oo ? Restauré =D
10 juin 2010 20:25:30 :
+ Nouveau fichier de langue, le PWM supporte l'anglais et le français + Optimisation du code Ex: <?php echo $root; ?> Devient: <?=$root;?> + Détection si les magics quotes sont activés, et les désactives
10 juin 2010 20:27:28 :
Oublis =P

 Sources de la même categorie

Source avec une capture MODULE JOOMLA 1.5 NOW LISTENING par Alcantornet
Source avec Zip Source avec une capture UPLOAD CENTER par basssem81
Source avec Zip COMPTEUR DE CLIQUE PHP AVEC JQUERY par devgoneti
Source avec Zip LIVRE D'OR SIMPLE (POUR DÉBUTANT) par devgoneti
Source avec Zip SCRIPT TRAVAUX POUR VOTRE SITE par FleuryK

 Sources en rapport avec celle ci

AFFICHÉ SUR UN TABLEAU AVEC PAGINATION ET BASE DE DONNÉES par stormxp
Source avec Zip POO - FORMULAIRE NEWSLETTER PHP - PROFESSEUR-PHP.COM par mtrix000
EXPLORATEUR FTP SUR 2 NIVEAUX par viki53
Source avec Zip Source avec une capture [PHP]WEBFTP par Liouan
Source avec Zip YEXPLORER - EXPLORATEUR PHP par silverelfic

Commentaires et avis

Commentaire de knostra le 22/05/2010 18:30:33 8/10

Salut,

Pas mal du tout par contre il ne faut pas oublié de mettre un htaccess pour l'accès au script sinon sa risque de devenir vitre très dangereux.

merci pour ton partage.

Commentaire de SimpleGeek le 22/05/2010 21:22:37

Si personne d'autres que l'utilisateur ne possède le mot de passe, il n'y a pas de risques
Après, c'est pas à moi de mettre un htaccess, ceux qui veulent peuvent toujours en mettre un.

J'ai sécuriser toutes les pages, disponibles dans la prochaine version qui va arrivé, car les pages sont accessibles (mais ne marchent pas) même si on est pas logo, ce qui est toujours risqué, mais c'est maintenant réglé, dispo dans la 1.2

J'ai aussi constaté une erreur de détection d'encodage chez certain hébergeur qui n'accepte pas l'utilisation de cette fonction, du coup l'édition en ligne n'est pas possible. Je vais y remédier. =)

Commentaire de patrickzfr le 23/05/2010 13:25:03

Salut,
Ce projet me semble très bien et correspond beaucoup à ce que je recherche depuis bien longtemps :-)

Par contre, gros souci : j'ai téléchargé la version 1.1 sur le site en question, et uploadé le tout sur mon serveur après avoir mis un mot de passe dans le fichier PWM_files/inc/config.inc.php.
Sur le serveur, j'ai renommé le dossier en pwm

Je lance l'appli sur mon site, j'ai la page d'accueil qui me demande le mot de passe en haut à gauche, je tape le mot de passe... et je tombe sur une page totalement blanche avec aucun message d'erreur.
Je ne peux pas aller + loin. L'url à ce moment là est http://xxxxx.fr/pwm/pwm.php?
xxxxx étant bien sur mon nom de domaine :-)

Les fichiers étaient par défaut en permissions 755. J'ai tout passé en 777, mais rien ne change..

J'ai essayé en accès normal et en accès SSL, sous Firefox et sous IE8, même résultat..
Help please :-)

Commentaire de SimpleGeek le 23/05/2010 14:33:48

Effectivement, c'est embêtant, serait-ce le dossier PWM_files que vous avez renommé en pwm/ ?

Car un chemin d'accès se trouve dans le fichier config.inc vers le dossier, mais il est dit que c'est risqué de le changé, à cause d'incompatibilité possible. C'est d'ailleurs pour ça que je ne l'affiche pas dans le listing.

Contact moi sur MSN, pour voir ce qu'on peut faire: hydrog3n@hotmail.fr

;)

Ne pas hésitez aussi à écrire un message dans le formulaire de contact qui se trouve sur le site www.simplegeek.fr

Sinon, pour info, je vise plus tard à programmer le script pour qu'il ressemble plus à ce qu'on appelle un WebFTP (utiliser notamment les fonctions ftp_connect).

PS: Je pense en faite savoir d'où vient le problème, se serait une erreur de ma part quand j'ai réuploader un fichier dans l'archive, arf.

Commentaire de patrickzfr le 23/05/2010 15:51:23

Merci pour la réponse :-)
Non non, je n'ai pas touché au nom du dossier PWM_files, c'est uniquement l'url d'accès que j'ai passé en /pwm (le dossier où est installé l'appli).

Ok pour MSN et message en direct, mais j'ai préféré poster ici pour faire profiter la communauté de phpcs sur d'éventuels soucis :-)

J'attends donc le bon fichier dans l'archive !

Commentaire de SimpleGeek le 23/05/2010 16:55:30

J'ai modifié l'archive et j'ai renouvellé la version.
Donc normalement c'est bon, j'ai testé l'archive et ça marche, j'attends les feedbacks =)

Commentaire de patrickzfr le 23/05/2010 17:01:35

Ca marche beaucoup mieux avec la nouvelle version 1.2 :-)
Par contre, peut-être un paramètre de config à modifier, mais tous les fichiers listés qui sont en .jpeg sont "éditables" (pas ceux en .jpg). Je peux donc voir le code binaire d'une image JPEG (pas très utile !) mais pas .jpg

De même les fichiers en .htm, .html et en .php ne sont pas éditables.. par contre les htaccess et htpasswd le sont !
J'ai regardé dans le fichier de config, il y a une liste de fichiers éditables ou non, mais je ne sais pas comment ajouter les .jpeg en non éditables et les .htm, .html et les.php en éditables car chaque extension est suivi d'un chiffre dans la table..
Comment sont classées les extensions de fichiers éditables ou non ?

Petite suggestion (si je peux me permettre !) :
alterner la couleur de chaque ligne une ligne sur 2, car actuellement, tout est en fond gris, et quand on a un grand écran 22" 16:9, et qu'on va tout a droite au bout de la ligne pour effectuer une action sur le fichier, pas très facile de savoir si on est bien en face du bon fichier :-)

Je n'ai pas compris l'utilité de cliquer à gauche sur l'icone d'une dossier, ce qui décale de qq espaces sur la droite, mais ne semble rien faire d'autre??

A part ça, pour mon utilisation (je ne tiens pas compte de la façon dont c'est écrit car je ne m'y connais pas suffisamment), je trouve cette appli très agréable et je mets un 9.5  ... en attendant les quelques petites modifs qui permettront de le passer à 10 ;-)

Commentaire de patrickzfr le 23/05/2010 17:05:30 9/10

Oups, j'avais oublié de mettre ma note !

Commentaire de patrickzfr le 23/05/2010 17:15:00

Autre petit souci que je viens de découvrir: quand on fait une "déconnexion du FTP", on sort bien de PWM en retournant sur la page principale du site, mais quand on revient sur l'url de PWM, on re-rentre dedans sans que PWM demande le mot de passe.. Idem si on ferme le navigateur et qu'on le rouvre...
Gênant quand le PC est utilisé par plusieurs personnes.... je suppose qu'il s'agit d'un cookie qui n'est pas tué à la déconnexion... ce serait beaucoup plus sécurisé de gérer chaque connexion avec des sessions. Au moins là, quand on quitte le navigateur, la session est tuée automatiquement..

Commentaire de SimpleGeek le 23/05/2010 17:18:50

Alors,

Pour le jpeg, j'ai vu le problème, il n'est pas dans le tableau des extensions, du coup, il est lisible par défaut, je réglerai le problème, en faite, les numéros servent juste à leur donné une identification (array).

Et donc, la ligne concerné pour savoir si c'est éditable ou non, se trouve dans content.inc.php

if ($file['type'] >= 1 && $file['type'] <= 15) // Edit

C'est à dire que toutes les extensions (numéros) compris entre 1 et 15, sont éditables.
Par contre j'ai pas compris pour le htm, html et php Oo, ils sont parfaitement éditables =/

Ahhh, j'ai compris, lol, c'est mal expliqué alors, l'icone tux noir va "forcer" l'édition, pour éditer simplement un fichier, il faut cliquer sur son nom de fichier.

Sinon "e n'ai pas compris l'utilité de cliquer à gauche sur l'icone d'une dossier, ce qui décale de qq espaces sur la droite, mais ne semble rien faire d'autre??"

Si vous cliquez, vous allez sélectionner le fichier/dossier, et pouvoir intéragir avec grâce au menu en bas à droite, pour cela voyez ce screen, il va dire plus que je ne le pourrai: http://www.simplegeek.fr/screens/listing.png

D'autres screens sont disponibles je le rappelle sur http://www.simplegeek.fr/index?demo

Je travail avec un 20" et effectivement, je me perds moi même parfois avec les fichiers, donc je vais mettre un hover: background-color

Ce qui veut dire que la ligne changera de couleur quand la souris sera deçu, ça devrait aider. ;)
Merci pour la note.

Commentaire de SimpleGeek le 23/05/2010 17:26:05

J'avais pas vu le dernier commentaire, pour tuer les cookies, vous devez cochez la case qui y a juste a coté de Déconnection. ;)

Commentaire de knostra le 23/05/2010 17:36:44

Salut,

Un gros problème au niveau de l'éditeur, j'ai édité deux trois fichier php, html, css pour voir et il me rajoute à chaque fois des antislashes dans le fichier, c'est bien pratique pour une insertion dans une base de données mais dans ce cas de figure :)

Commentaire de SimpleGeek le 23/05/2010 17:38:47

Ah :x
Jamais remarqué le problème, je vais voir ça
Attention aussi au fait que ça peut venir du local :x
Si toutefois vous êtes en local.

Des antislashes donc, ok

Commentaire de SimpleGeek le 23/05/2010 17:41:08

Hum, les antislashes apparraissent quand le fichier est ouvert dans l'éditeur ? Où à l'enregistrement ?

Commentaire de patrickzfr le 23/05/2010 17:44:02

Ok très bien! je commence a maitriser la philosophie de la bête.
Effectivement, si je clique sur le nom d'un fichier htaccess, pas possible de l'éditer, mais si je clique sur l'icône de forçage, je peux l'éditer.. parfait !

Pour le cookie, comme la phrase "Déconnexion du FTP" est cliquable, je pensais que le cookie était effacé d'office, mais non!! il faut en + cocher la case... quel est l'intérêt?
Par définition, quand on se déconnecte, on se déconnecte (!!) et donc on efface toute trace sur la machine :-)
Lors de la déconnexion, on retourne sur la page racine du site... pourquoi pas sur la page d'accueil de PWM ? Vous me direz "il faut juste trouver la ligne dans le script qui gère le logout, et remplacer l'url par celle de PWM " !! C'est vrai, je vais chercher :-)


Commentaire de SimpleGeek le 23/05/2010 17:49:17

Bah perso, j'aime bien de me déconnecté sans forcément me relogger quand je reviens sur le script :x
Sinon c'est cool si vous avez compris comment ça fonctionne =P

Après, si vous voulez vraiment ne pas vous embêtez, allez dans le fichier content.inc.php

remplacez: <input type="checkbox" name="unset" value="1" title="Suppression du cookie" /></td>

par: <input type="checkbox" name="unset" value="1" title="Suppression du cookie" checked /></td>

Et là, vous serez totalement déloggé si vous cliquer sur déconnection.


Pour le retour à la déconnection, c'est juste au dessus:

//////////////////
  // - LOGOUT
  
    case 'logout' :
    {
      if(isset($_POST['unset']))
      {
        setcookie('pwm');
        setcookie('pwm_lrt');
        setcookie('pwm_error');
        setcookie('pwm_sort');
      }
      redirect("/");
      break;
    }

Changez le contenu du redirect, genre pour revenir sur le pwm: redirect('./pwm.php');
Et voila =)

Commentaire de patrickzfr le 23/05/2010 17:58:05

Je confirme pour l'ajout des anti slash quand on édite un fichier.

exemple:
Ligne en plus dans mon fichier HTML a partir de l\'éditeur

un \ a été ajouté avant l'apostrophe de "éditeur". C'est très bien pour du code PHP, mais ça fait désordre dans une page HTML :-)

Egalement, quand on sauve le fichier qu'on vient d'éditer, on a un popup qui indique que le fichier a bien été enregistré, mais après le ok de validation du popup, on retourne dans le dossier racine de PWM et pas dans le dossier où on était auparavant et où se trouve le fichier qu'on vient d'éditer.

Dur dur le déboggage :-)))

Commentaire de SimpleGeek le 23/05/2010 18:12:01

M'hannnn, je vois vraiment pas le problème Oo
Vous auriez pas un screen ? :x

Patrick, peux-tu me joindre via MSN, ça sera plus facile parce que là je vois pas =/

Commentaire de patrickzfr le 23/05/2010 18:55:33

Je n'ai pas MSN :-(

Ca y est, j'ai fait les modifs pour la déconnexion qui tue le cookie avec la case checked par défaut et pour retour sur la page de PWM au lieu de la racine du site. C'est ok.

Je ne crois pas que ce soit possible de joindre un screen dans les posts de phpcs :-(

Donc, voila ce qui se passe pour l'éditeur: j'affiche un dossier de mon site puis j'édite un fichier .htm qui s'y trouve,

J'ajoute ensuite la phrase "Test édition fichier HTML a partir de l'éditeur de PWM".

Puis je sauve le fichier modifié, et quand je le ré-édite, il y a un \ qui a été ajouté devant l'apostrophe de "éditeur".

Autre manip beaucoup + simple: avec PWM, créer un nouveau fichier texte par exemple bonjour.txt
Ensuite éditer bonjour.txt.
Puis taper la phrase "essai de l'éditeur" et sauver.
Quand on le ré-édite, un \ est apparu devant le mot "éditeur" : "essai de l\'éditeur"

ce doit être un paramètre de l'éditeur à changer, j'ai eu le même coup avec TinyMce ou un truc dans le même genre :-)

Voili :-)


Commentaire de SimpleGeek le 23/05/2010 18:56:39

Bon comme je peux pas trop savoir, essayer de remplacer cette ligne dans edit.win.php

echo '<textarea id="code" name="code" style="height: 482px;" '.$width.'>'.htmlspecialchars($file_code).'</textarea>';

par

echo '<textarea id="code" name="code" style="height: 482px;" '.$width.'>'.stripslashes(htmlspecialchars($file_code)).'</textarea>';

Commentaire de patrickzfr le 23/05/2010 19:08:28

Je vais essayer ça..

un petit tour sur Google, et apparemment, je ne suis pas le seul a constater le souci avec Codemirror:
http://groups.google.com/group/codemirror/browse_thread/thread/ad8d6c7ae4ec194f

codemirror adds a \ when there is a ' in the editor

De : Vanessa Lezameta Morgan <vanessalezam...@gmail.com>
Date : Mon, 11 Jan 2010 03:00:07 -0800 (PST)
Date/heure locale : Lun 11 jan 2010 13:00
Objet : codemirror adds a \ when there is a ' in the editor
Transférer | Imprimer | Message individuel | Afficher l'original | Signaler ce message | Rechercher les messages de cet auteur
Hello,
Does anybody know how to fix the following bug? Every time codemirror
finds a ' it adds a \ before and after it (after saving). When I open
the file again and save it again even more \ are added.
Thanks in advance!


2.  Marijn Haverbeke  
De : Marijn Haverbeke <mari...@gmail.com>
Date : Mon, 11 Jan 2010 12:38:23 +0100
Date/heure locale : Lun 11 jan 2010 13:38
Objet : Re: [CodeMirror] codemirror adds a \ when there is a ' in the editor
Hi Vanessa,

I suspect it is not codemirror, but PHP (probably with 'magic quotes'
turned on) or some other server-side program that's adding the quotes.
CodeMirror does no backslash escaping of any kind, so it's unlikely to
cause something like this.

Best,
Marijn

De : Vanessa Lezameta Morgan <vanessalezam...@gmail.com>
Date : Mon, 11 Jan 2010 05:36:20 -0800 (PST)
Date/heure locale : Lun 11 jan 2010 15:36
Objet : Re: codemirror adds a \ when there is a ' in the editor
Thanks a lot Marijn!
You were right! I used the php function stripslashes to solve the
problem.
Thanks

Commentaire de SimpleGeek le 23/05/2010 19:16:04

Oui, j'ai compris le problème aussi,
Les magic quotes sont Off sur mon hébergeur, elles doivent être On chez vous, car j'ai vraiment aucun \ même en testant ce que tu m'as dit.

Je vais voir avec les ini_set et blablabla.
Test en attendant avec le stripslashes, j'aimerai savoir ce que ça donne =)

Commentaire de patrickzfr le 23/05/2010 19:18:39

C'est tout bon maintenant!! j'ai mis le stripslashes dans edit.win.php et plus d'antislash intempestifs !

Reste plus maintenant qu'à chercher où se trouve le redirect du popup "le fichier a bien été sauvegardé" pour renvoyer dans le directory où se trouve le fichier qu'on vient d'éditer et pas à la racine de PWM et c'est nickel :-)

Commentaire de SimpleGeek le 23/05/2010 19:23:21

Oki, cool alors, sinon j'avais trouvé une fonction qui modifiais les magic quote, je la met de coté au cas ou =P
Alors c'est un problème qui va être difficile à régler, car au début, j'avais programmer l'édition en ajax, ce qui permettait de ne pas recharger la page, et donc de ne pas rediriger le script.

Si vous parcourez un fichier pendant que vous éditez un autre, le cookie pwm_lrt, va changez de valeur, et donc à la redirection, vous allez retomber sur l'endroit que vous avez parcourus.
Même pour moi, c'est chiant, car j'aime bien éditer plusieurs fichiers en même temps.

Je vais quand même tout faire pour régler ce problème, la question que vous vous posez je suppose et pourquoi ne pas refaire en ajax ?
A cause de Codemirror, il m'est impossible de récupérer la valeur du textarea, j'ignore totalement pourquoi. Je vais poser la question sur le groupes de codemirror pour avoir des informations la dessus, peut-être que je récupère pas la valeur du bon textarea.

=/

Commentaire de patrickzfr le 23/05/2010 19:56:19


J'ai trouvé dans content.inc.php le code pour le popup:
//Ecriture
          $foo = fopen($_GET['fp'],'w+');
          fwrite($foo,$code);
          fclose($foo);
          echo ('<script type="text/javascript">alert("Le fichier à bien été sauvegardé !");</script>');
          redirect('?type='.$lastRoot);


Il faudrait juste que la variable $lastRoot de la redirection ait la bonne valeur du directory courant?

Commentaire de SimpleGeek le 23/05/2010 20:14:31

Oui c'est ce que j'ai dit lol, c'est impossible dans l'immédiat, car $lastRoot correspond au cookie du dernier chemin emprunté, d'où le fait qu'il ne renvoit pas forcément sur la bonne page si on commence une édition, on parcours le FTP, et on enregistre l'édition après.

Je suis dessus, je cherche une solution alternative

Commentaire de SimpleGeek le 23/05/2010 20:59:43

Ok donc, résumons, l'édition en Ajax est de retour (c'est un très bon point pour le script)
Donc finit le problème de lastRoot.

Bug que j'ai constatez, les saletés de magic quotes, le stripslashes, va enlevé les slashes à l'affichage, pas à l'enregistrement, ce qui va véritablement planter tout script PHP.

Je cherche une solution pour stripslashes le fichier enregistré, je ne peux hélas pas vous partager le code car il a complétement changé (vu que c'est de l'ajax).

La prochaine version va roxé ;D

Commentaire de patrickzfr le 23/05/2010 21:25:00

Super !!

Mais en attendant, j'ai trouvé la solution pour retour dans le directory de travail après édition d'un fichier :-)

Ce n'est peut-être pas très pro, mais ça fonctionne : je recherche la position du dernier "/" dans le chemin de $_GET['fp'] qui est le chemin absolu du fichier qu'on veut éditer, puis je prends la partie de $_GET['fp'] qui se trouve devant le dernier "/".. ce qui donne le chemin du répertoire en cours.. que je mets dans $lastRoot.
Je modifie les paramètres du redirect avec un ?type=list&root='.$lastRoot , et voila! une fois que j'ai validé la sauvegarde du fichier édité, je me retrouve dans le répertoire précédent ;-)

if(@is_writable($_GET['fp']))
        {
          $code = $_POST['code'];

          //Ecriture
          $foo = fopen($_GET['fp'],'w+');
          fwrite($foo,$code);
          fclose($foo);

// ---- modif pour recup du directory de travail ------
          $pos_lastslash = strrpos($_GET['fp'], "/");
          $lastRoot = substr($_GET['fp'], 0, $pos_lastslash);
// -------

          echo ('<script type="text/javascript">alert("Le fichier a bien été sauvegardé !");</script>');

// ---- Modif parametre du redirect --------
          redirect('?type=list&root='.$lastRoot);

        }

Commentaire de patrickzfr le 23/05/2010 21:28:51

Effectivement, le stripslashes enlève bien le / à l'affichage, mais en réalité, le fichier le contient toujours :-(
Ca c'est pas glop !

Commentaire de SimpleGeek le 23/05/2010 21:33:49

C'est bon, le problème est réglé, et l'ajax marche impec =)
En attendant, si vous voulez pas avoir de problème avec les slashes, c'est dans le fichier content.inc.php que ça se passe:

case 'edit'

$code = $_POST['code'];

remplacer par : $code = stripslashes($_POST['code']);

Ca devrait faire l'affaire ;)
Pour le directory, un peu de patience, vous serez content du new système d'édition ^^ (je kiff moi même XD)

Commentaire de asphalte le 24/05/2010 09:37:41

Salut,
Je viens d'essayer le script et quand je clique sur un fichier sélectionné j'ai droit à ça

Fatal error: Call to undefined function: mb_detect_encoding() in /mnt/122/sdb/a/8/mosfet88/PWM_files/inc/edit.win.php on line 90

Une idée ?

Commentaire de hornetbzz le 24/05/2010 10:11:21

Félicitations, Quel boulot de fou ! "Ya plus ka" intégrer SVN :-)

Commentaire de stefaneb le 24/05/2010 11:45:44

Bjr,

juste une remarque, il existe deja eXtplorer (extplorer.sourceforge.net) qui fait ce genre de chose.
mais cela n'enleve rien a la qualite de ce script. Bravo!

Commentaire de SimpleGeek le 24/05/2010 12:41:06

@Asphalte: Oui, problème résolu dans la prochaine version
Votre hébergeur (free je suppose) ne connais pas cette fonction, j'ignore pourquoi.

Il faut modifier, le fichier edit.win.php

LE gros code avec $file_code = (mb_detect_encoding)......
REmplacez seulement par:

$file_code = @file_get_contents($_GET['fp']);

Et ça marchera, en revanche, ça ne gérera plus la détection UTF-8/ISO, mais j'y peux rien, je peux pas faire plus si la fonction n'existe pas =/

@Autres, merci, mais, je connais pas SVN :x

Commentaire de hornetbzz le 24/05/2010 13:15:31

Salut, SVN (subversion) est un système de gestion de versions: http://fr.wikipedia.org/wiki/Subversion_%28logiciel%29

Commentaire de asphalte le 24/05/2010 15:44:44

Ok merci ça fonctionne (chez free)
Le stripslashes marche aussi

Commentaire de asphalte le 24/05/2010 16:11:26

Bon finalement chez free il faut rajouter un fichier .htaccess avec dedans php 1 pour interpreter php5
Et la mb_detect fonctionne
Merci

Commentaire de SimpleGeek le 24/05/2010 17:11:40

Oh, je l'ignorai, merci du conseil :D

Commentaire de Sn4 le 24/05/2010 20:11:33

Merci beaucoup !
Ce script est vraiment très impressionnant et je ne m'attendais pas à ca !
Bonne chance pour la suite et encore merci !

Commentaire de SimpleGeek le 24/05/2010 20:40:17

Mouarf, attendez de voir la nouvelle version que je suis en train de préparer ;)

- Edition en ajax (plus de facilités)
- Le nom des fichiers s'inscrit en bas quand la souris est sur la ligne (je peux pas faire de background-color, raison d'esthétique)
- La recherche marche à 100% (le formulaire d'exeption marche)
- Il ne devrait plus y avoir de problème avec mb_detect_encoding
- Tous les fichiers sont passé en license GPL (et pas seulement la page principale)

Etc... =)
N'oubliez pas de mettre une note ^^

Commentaire de ztarr le 24/05/2010 21:58:51 9/10

C'est excellent, bravo!!!

Commentaire de tax2 le 27/05/2010 07:24:06 9/10

Je suis sur un hébergement mutu, j'ai quelques utilisateurs qui on des mots de passe qui leur permettent d'avoir accès seulement aux dossiers de leurs sous-sites.
Imaginons qu'ils installent ce script, je suis sur qu'ils peuvent désormais accéder a tous les dossiers supérieurs vu qu'il n'y a pas besoin de mot de passe, y a-t-il un moyen de gerer cela?
encore bravo

Commentaire de SimpleGeek le 27/05/2010 14:15:15

Hum, effectivement il pourrait en revanche, ce n'est pas à mon script de le faire mais à votre PHP.ini

Je vois, sur mon hébergeur, j'ai un dossier www et un dossier etc
Dans le dossier etc, j'ai php.ini

Dedans, j'ai juste ça: open_basedir = /home/simplegeek/

Ce qui m'empêche d'accéder au dossier inférieur (en l'occurence le dossier /home/ ou contient tous les sites déjà hébergés. =)
Il faut voir coté serveur, si vous vous y connaissez dans ce cas pas de soucis, aucun risque avec ça, qu'il n'aille fouiner dans les dossiers inférieurs puisque le serveur leur empêchera. Serveur > PHP

;)

Commentaire de spacedelta le 11/09/2010 14:01:15

reSalut j'ai trouvé une icône fichier texte pas mal stylé (iphone ^^) si ça t'intèresse je te la laisse !
http://spacedelta.free.fr/txt.png

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

ftp et fichier [ par tombal ] Lorsque je transfert mes fichier php sur le ftp de free, n'importe qui a acces a ces fichier via l'html correspondantce qui n'est pas le cas avec mult ftp_get php [ par CC24 ] bonjour à tous !est-ce que l'un d'entre vous pourrait m'indiquer la syntaxe à utiliser pour télécharger un fichier situé dans un sous-répertoire du ré Disposer de l'extension FTP de PHP ...? [ par Guidelor ] Bonjour à tous !J'ai vu sur un site qui proposait des uploads qu'il fallait disposer "de l'extension FTP de PHP "...Qu'est-ce que ca veut dire ?et app fonction ftp_chdir [ par Batric ] Bonjour à tous,Je commence à développer en php depuis quelques semaines et je bloque sur un problème depuis hier : j?ai développé une fonction d?uploa problème avec ftp_put() [ par Rabba ] J'ai crée un formulaire qui me load des images avec les fonctions ftp de php. Pour cela, j'ai crée un formulaire et j'ai spécifié enctype="multipart/f upload gro fichier [ par MisterJAD ] Bonjour à tous,j'ai besoin d'uploader via php et non via un logiciel ftp, des gros fichiers (max 10mo) sur le serveur.... mais meme lorsque je faitini Peut-on avec une fonction en php copier un dossier et son contenu sur un ftp ? [ par BelphegorCLC ] Bon, je ne sais pas si je post dans le bon forum, désolé mais aucun n'avais l'air vraiment adéquat.Il s'agit des fonctions php pour les ftp.Je sais qu serveur ftp [ par loyousse ] Salut ou resalut je voudrais savoir quelques chose, comment faire pour savoir si le serveur est un serveur ftp? parce que j'essaie de me connecter en Pb temps execution et explorer php [ par elravage ] Voila, j'ai pris un explorateur sur ce site, je l'essai a mon stage et il me parait super. Le hic, c'est que l'explorateur doit voir ce qu'il y a dans Editer un fichier à distance... [ par Benjamin G ] Bonjour,Je suis en train de cr&#233;er une interface pour g&#233;rer des fichiers.Ces fichiers sont sur un autre serveur que l'interface.Voici le code


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,780 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales