Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: edycja podstron z poziomu php
Forum PHP.pl > Forum > Przedszkole
mateu07
Bry,
Mam sobie stronke napisana w 3 wersjach jezykowych, odpowiednie pliki leza w katalogach pages_pl, en oraz de. Jezyki wybierane sa przez ciasteczko ze zmienna lang. I teraz chcialbym sobie edytowac te stronki z poziomu php. Mam juz wykonane logowanie, a teraz chce zrobic cus na styl okienka do pisania postow w phpbb, aby latwo sie edytowalo stronki oraz byl taki swoisty podglad w wyskakujacym okienku po wkliknieciu. Chcialbym tez aby skrypt? odczytywal zawartosc katalogu i tworzyl taka liste z istniejacymi stronami aby po wybraniu jej i wcisniecia przycisku edytuj moznabylo ja ladnie edytowac i zapisywac. Istnieja moze gdzies takie skrpty? A jezeli nie to moze moglby ktos napisac jak najprosciej zrobic cos takiego?
Fipaj
nie powinno to być trudne winksmiley.jpg zakładając, że masz podstawy php, wyglądać to będzie tak:

a) po kliknięciu na link otwierasz nowe okno (nie polecam, w starym powinno być OK)
cool.gif wczytujesz zawartość podanego pliku (uwaga na adres URL!) do textarea
c) po kliknięciu przycisku submit zapisujesz

przydatne funkcje: file_get_contents(), file_get_contents()...
mateu07
Niby znam podstawy, ale narazie mysle jak to wszystko zaczac smile.gif
Myslalem zeby to jakos ladnie powiazac z jakims wysiwyg-iem...
Fipaj
OK, lecimy. To jest kod okienka rozmowy winksmiley.jpg

  1. <?php
  2. if (isset ($_POST['send'])) {
  3. file_put_contents (file_get_contents ('lang-' . $_POST['lang'] . '/' . $_POST['file']), $_POST['body']);
  4. print 'Zmieniono!';
  5. }
  6. else {
  7. $lang = $_GET['lang'];
  8. $file = $_GET['file'];
  9. $filePath = 'lang-' . $lang . '/' . $file;
  10. $fileContents = file_get_contents ($filePath);
  11. // i teraz przesyłasz to do formularza
  12. }
  13. ?>


To taka niedziałająca rozpiska. WYSIWYG-iem się jak na razie nie martw, bo skończeniu skryptu podepniesz TinyMCE bądź FCKeditor (pamiętaj: jeśli serwis będzie obsługiwany przez informatyków, wywal w cholerę WYSIWYG-i)...
mateu07
Wlasnie poszukalem troche po necie i tinymce znalazlem - super narzedzie. A serwis bedzie obslugiwany glownie przez nie-informatykow i dlatego bawie sie w takie cos:)
pozdrawiam
zalaczam:
http://szkola.nastawnia.org/index.phps
Moze cos w stylu polecenia
ls -a *.php > lista
a potem z tej listy tworzenie menu wyboru z ktorego wybieraloby sie plik?
Sam juz nie wiem...

Dziwne, sytem ('cd pages_$lang | ls -la *.php > plik.txt'); niezbyt chce dzialac...
Fipaj
Oj, no wiesz co winksmiley.jpg Podstawy php.

  1. <?php
  2. system ('cd pages_' . $lang . ' | ls -la *.php > plik.txt');
  3. ?>


Ale nie lepiej file_get_contents/file_put_contents/scandir? lepiej.
mateu07
Przyzwyczajenie z basza tongue.gif
Zrobilem inaczej :
  1. <?php
  2. $languages = array('pl', 'en', 'de');
  3.  
  4. if (isset($_GET['lang'])) {
  5. $lang = $_GET['lang'];
  6. } else if (isset($_COOKIE['lang'])) {
  7. $lang = $_COOKIE['lang'];
  8. } else {
  9. $lang = $languages[0];
  10. }
  11.  
  12. if (!in_array($lang, $languages)) {
  13. $lang = $languages[0];
  14. }
  15. function get_katalog($katalog) {
  16.  
  17. $dir = opendir($katalog);
  18. while(false !== ($file = readdir($dir)))
  19. {
  20.  
  21. if($file != ".." and $file != "." and stristr($file, 'php'))
  22. {
  23.  
  24. $nazwa = explode('.', $file);
  25. echo '<a href=edit.php?lang=pl>Polski</a>&nbsp;&nbsp;<a href=edit.php?lang=en>Angielski</a>&nbsp;&nbsp;<a href=edit.php?lang=de>Niemiecki</a>&nbsp;&nbsp;';
  26. echo '<optgroup>';
  27. echo '<option value=<a href="'.$katalog.$file.'">'.$nazwa['0'].'</a></option>';
  28. echo '</optgrup>';
  29.  
  30. }
  31.  
  32. }
  33.  
  34. }
  35.  
  36. if ($lang == 'pl') { 
  37. get_katalog('pages_pl');
  38. }
  39. else if ($lang == 'en') {
  40. get_katalog('pages_en');
  41. }
  42. else if ($lang == 'de') {
  43. get_katalog('pages_de');
  44. }
  45. else {
  46. ?>error<br /><?
  47. }
  48. ?>

Wychodzi nawet znosnie smile.gif Teraz mecze dalej
Poprawka, nie dziala znosniie smile.gif

Ok, zrobilem cos takiego :
http://szkola.nastawnia.org/edit.php
http://szkola.nastawnia.org/edit.phps
I teraz mam taki problem, ze listuje mi dobrze odpowiednie katalogi, lecz gdy probuje wczytac dany pliczek do textarey zawsze laduje mi z pl...
Warning: readfile(pages_pl/aaglowna.php): failed to open stream: No such file or directory in /home/dyzurny/domains/dyzurny.rwi.pl/public_html/edit.php on line 62
Proba wczytania pliku ktory istnieje we wszystkich katalogach zawsze konczy sie wczytaniem polskiego, a takiego ktory nie istnieje czyms takim jak powyzej.
Jak to rozwiazac?
pozdrawiam
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.