We are in the process of migrating this forum. A new space will be available soon. We are sorry for the inconvenience.

Edycja pliku index.txt w Panelu Admina


K@iTO
27-02-2006, 23:30
Jak juz sciagasz porady to przynajmniej podlinkuj gdzie znajduje sie orginal

np. Ten post jest na zywca w calosci sciagniety ze strony

http://zsyp.pl/module.php?op=forum&cmd=3&id=29999

Autor postu: Olo

Beszczelnośc tego, że się pod tym podpisujesz własnym nickiem przechodzi ludzkie pojecie.

zamykam

microcom
12-02-2006, 19:51
Zaczynamy.
Najpierw standardowy nagłówek pliku:
Kod PHP:



/*****************************************************/

/*      jPORTAL - internetowy system portalowy       */

/*****************************************************/

/* autor: Pawel 'jaco' Jaczewski                     */

/* email: info@websys.pl                             */

/*****************************************************/

/*        modul panelu admina dla wersji 2.0         */

/*****************************************************/

/*****************************************************/

/*      Modulik do edycji pliku index.txt            */

/*            by Leszek Olszewski                    */

/*               leszekol@tlen.pl                    */

/*****************************************************/
Następnie szkielet modułu. Będziemy potrzebowali wyswietlić 2 okna:
1. formularz z wczytanymi plikami index.txt i index_title.txt
2. Komunikat o wyniku operacji.
W związku z tym uzyjemy dwóch "cegiełek", których wyświetlenie uwarunkujemy zawartością zmiennej $cmd:
Kod PHP:
function module_main($cmd) {

if (
$cmd == '') {
mn_title_open();
echo 
'Wiadomość powitalna';
mn_title_close();
mn_text_open();
echo 
'
'
;
welcome();
foot();
mn_text_close();
}

if (
$cmd == 'update') {
mn_title_open();
echo 
'Komunikat';
mn_title_close();
mn_text_open();
update();
foot();
mn_text_close();
}


Prawda, że proste?
Jezeli zmienna $cmd jest "pusta" ($cmd == '') czyli jest to pierwsze wywołanie modułu, otworzy się pierwsze okienko i wykona funkcja [/b]welcome()[/b]

Jeżeli zmienna $cmd ma wartość 'update' (czyli kliknęliśmy pod formularzem w "zapisz" ) otworzy się drugie okienko (w tle wykona się funkcja update() ) i otrzymamy komunikat o wyniku operacji.

W zasadzie to już koniec modułu z tym, ze nie mamy jeszcze obu funkcji

Napiszmy:
Kod PHP:
function welcome() {
global 
$op$text$title;
$index file('index.txt');
$index join(''$index);
$index stripslashes($index);

$title file('index_title.txt');
$title join(''$title);
$title stripslashes($title);

echo 
'.$op.'">

Tytuł: 
.$title.'">
Treść: 
'
.$index.'
 






'
;

Niewiele tu do wyjaśniania.
$index = file('index.txt'); pobiera zawartość pliku index.txt do tablicy $index
Można by było użyć file_get_contents() ale nie wszyscy mają nowe wersje php

join skleja wiersze tablicy w ciąg. Identyczna operacja wykonuje się na pliku index_title.txt
A dalej to już formularz do edycji zawartości pliku.

Druga funkcja:
Kod PHP:
function update(){
global 
$text$title$op;

$text stripslashes($text);
$fp = @fopen('index.txt''w');

$title stripslashes($title);
$wp = @fopen('index_title.txt''w');

$a = (@fputs($fp$text))? '0''1';
$b = (@fputs($wp$title))? '0''1';

if (
$a == '0' && $b == '0') {
echo 
'
Pliki index.txt oraz index_title.txt zostały zapisane

';
} else {
if (
$a == '1' && $b == '0') echo '
Nie można zapisać pliku index.txt. Sprawdź czy ma MOD 777';
if (
$a == '0' && $b == '1') echo '
Nie można zapisać pliku index_title.txt. Sprawdź czy ma MOD 777';
if (
$a == '1' && $b == '1') echo '
Nie można zapisać plików index.txt i index_title.txt. Sprawdź czy mają MOD 777';

}
@
fclose($fp);
@
fclose($wp);

Kopiujemy kawałki kodu poczawszy od początkowego i zapisujemy w katalogu admin jako index_txt.adm.php
Drugi plik index_txt.name o zawartości:
Kod PHP:
Index_txt 
akże zapisujemy w katalogu admin.

Plik o nazwie index_title.txt (może być pusty albo już zawierajacy tytuł naszego okiena powitalnego wrzucamy do katalogu głównego jportalu i dajemy mu MOD 777

Chyba nie muszę przypominać o MOD 777 na plik index.txt
Zresztą skrypt upomni się o to jeśli jakaś sierotka zapomni

Jeszcze jedna zmiana dotycząca pliku index.php. Musimy sprawić aby plik ten pobierał do wyświetlenia tytuł okienka z naszego pliku index_title.txt. Linie:
Kod PHP:
main_title_open();
echo 
'Witamy!';
main_title_close(); 
Zastępujemy takimi:
Kod PHP:
main_title_open();
$title file('index_title.txt');
$title join(''$title);
echo 
$title;
main_title_close(); 
I to by było na tyle pozdrawiam.