|
|
phpBB2 by Przemo
Support forów phpBB2 modified by Przemo
|
|
[ PHP ] Dublowanie pętli szablonu. |
Autor |
Wiadomość |
Crypt3r
Pomógł: 1 raz Posty: 22
|
Wysłany: 08-03-2015, 18:41 [ PHP ] Dublowanie pętli szablonu.
|
|
|
Przymierzam się do skończenia prostego checkera plików php (tylko do wglądu dla głównego administratora, założyciela forum). Napisałem taki o to prosty skrypt. Jednak jest mały problem. Szablon się zapętla (tak jak na zrzucie). Czy zrobiłem jakiś błąd w pętli? Może ktoś spojrzy trzeźwym okiem, wydaje mi się, że foreach jest prawidłowo zrobione, tak samo czytanie bazy sum kontrolnych.
Kod pliku checker.php
Kod: | define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
include($phpbb_root_path . 'checker_sumy.'.$phpEx);
include($phpbb_root_path . 'language/lang_' . $board_config['default_lang'] . '/lang_checker.' . $phpEx);
$page_title = $lang['beta'];
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
if ($board_config['disable_checker'])
{
message_die(GENERAL_MESSAGE, $lang['disable']);
}
/* Nagłówek */
include($phpbb_root_path . 'includes/page_header.'.$phpEx);
{
echo 'Test echo!<br/><br/>'; //jakiś tam sobie echo show :)
if ($userdata['user_level'] == ADMIN)
{
$handle = fopen('checker_sumy.'.$phpEx , 'r'); //otwiera plik checker_sumy.php
foreach ($md5_tablica as $nazwa_pliku => $suma_md5) { //zwraca z tablicy ($md5_tablica): nazwę pliku ($nazwa_pliku) i sumę md5 ($suma_md5)
$i++; //standardowa inkrementacja każdej linii :)
//echo "$i.<br/>";
//echo "$nazwa_pliku <br/>";
//echo "$suma_md5 <br/><br/>";
//definicja {FUNKCJA} funkcji w szablonie tpl
$template->assign_vars(array(
'LICZBA' => $i,
'NAZWA' => $nazwa_pliku,
'MD5' => $suma_md5,
'STATUS' => $md5_tablica,
));
$template->set_filenames(array('body' => 'checker_body.tpl'));
$template->pparse('body'); }
}
else
{
message_die(GENERAL_MESSAGE, $lang['error']);
}
}
/* Stopka */
include($phpbb_root_path . 'includes/page_tail.'.$phpEx); |
Kod szablonu: checker_body.tpl
Kod: | <table width="100%" cellspacing="1" cellpadding="2" border="0" align="center">
<tr>
<td align="left">
<span class="sciezka">Ścieżka: <a href="{U_INDEX}">{L_INDEX}</a> » <a href="{U_CHECKER}">{L_CHECKER}</a></span>
</td>
</tr>
</table>
<table width="100%" cellpadding="3" cellspacing="1" border="0" class="linia_forum">
<tr>
<td class="belka_gora" colspan="4" align="center"><span class="index_tekst">Checker plików</span></td>
</tr>
<tr>
<td class="tlo1" align="center" width="10%"><span class="naglowek_kolor_b">#</span></td>
<td class="tlo1" align="center" width="30%"><span class="naglowek_kolor_b">Nazwa pliku</span></td>
<td class="tlo1" align="center" width="40%"><span class="naglowek_kolor_b">Suma (md5)</span></td>
<td class="tlo1" align="center" width="20%"><span class="naglowek_kolor_b">Status</span></td>
</tr>
<tr>
<td class="tlo1" align="center" width="10%">{LICZBA}</td>
<td class="tlo1" align="center" width="30%">{NAZWA}</td>
<td class="tlo1" align="center" width="40%">{MD5}</td>
<td class="tlo1" align="center" width="20%">{STATUS}</td>
</tr>
<tr>
<td class="belka_dol" colspan="4"></td>
</tr>
</table> |
Zrzut:
|
|
|
|
|
Gadatliwa Kasia
|
|
|
|
Tommekk80
Pomógł: 1411 razy Posty: 4780
|
Wysłany: 08-03-2015, 18:55
|
|
|
W php
Kod: | $template->assign_vars(array(
'LICZBA' => $i,
'NAZWA' => $nazwa_pliku,
'MD5' => $suma_md5,
'STATUS' => $md5_tablica,
));
|
zmień na:
Kod: | $template->assign_block_vars('checker', array(
'LICZBA' => $i,
'NAZWA' => $nazwa_pliku,
'MD5' => $suma_md5,
'STATUS' => $md5_tablica
)); |
a w tpl zapisz to tak:
Kod: | <table width="100%" cellspacing="1" cellpadding="2" border="0" align="center">
<tr>
<td align="left">
<span class="sciezka">Ścieżka: <a href="{U_INDEX}">{L_INDEX}</a> » <a href="{U_CHECKER}">{L_CHECKER}</a></span>
</td>
</tr>
</table>
<table width="100%" cellpadding="3" cellspacing="1" border="0" class="linia_forum">
<tr>
<td class="belka_gora" colspan="4" align="center"><span class="index_tekst">Checker plików</span></td>
</tr>
<tr>
<td class="tlo1" align="center" width="10%"><span class="naglowek_kolor_b">#</span></td>
<td class="tlo1" align="center" width="30%"><span class="naglowek_kolor_b">Nazwa pliku</span></td>
<td class="tlo1" align="center" width="40%"><span class="naglowek_kolor_b">Suma (md5)</span></td>
<td class="tlo1" align="center" width="20%"><span class="naglowek_kolor_b">Status</span></td>
</tr>
<!-- BEGIN checker -->
<tr>
<td class="tlo1" align="center" width="10%">{checker.LICZBA}</td>
<td class="tlo1" align="center" width="30%">{checker.NAZWA}</td>
<td class="tlo1" align="center" width="40%">{checker.MD5}</td>
<td class="tlo1" align="center" width="20%">{checker.STATUS}</td>
</tr>
<!-- END checker -->
<tr>
<td class="belka_dol" colspan="4"></td>
</tr>
</table> |
Wtedy będzie pętla 'brała' tylko kod spomiędzy BEGIN i END - inaczej za każdym razem ładuje cały plik. |
|
|
|
|
Crypt3r
Pomógł: 1 raz Posty: 22
|
Wysłany: 08-03-2015, 19:04
|
|
|
Popatrz, masz rację. Nie mam pojęcia dlaczego umknęło mi: assign_block_vars dla templatki.
Poza tym źle skonstruowałem pętlę, gdzie ten banalny "}" narobił zamieszania.
Kod:
Kod: |
$template->assign_vars(array(
'LICZBA' => $i,
'NAZWA' => $nazwa_pliku,
'MD5' => $suma_md5,
'STATUS' => $md5_tablica,
));
$template->set_filenames(array('body' => 'checker_body.tpl'));
$template->pparse('body'); } |
Zmieniłem na:
Kod: | $template->assign_vars(array(
'LICZBA' => $i,
'NAZWA' => $nazwa_pliku,
'MD5' => $suma_md5,
'STATUS' => $md5_tablica,
));
} // --- TUTAJ PRZENIOSŁEM ---
$template->set_filenames(array('body' => 'checker_body.tpl'));
$template->pparse('body'); |
Takie niedopatrzenie z mojej strony, tak trochę wstyd
Należy Ci się piwello! |
|
|
|
|
|
Nie możesz pisać nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach Nie możesz załączać plików na tym forum Możesz ściągać załączniki na tym forum
|
Dodaj temat do Ulubionych Wersja do druku
|
Kopiowanie wszelkich treści zawartych na forum, modyfikacji oraz instrukcji bez zgody administracji i autorów tematów/postów zabronione!
Powered by phpBB modified by Przemo © 2003 phpBB
| Strona wygenerowana w 0,1 sekundy. Zapytań do SQL: 13 | |
|
|