I znowu przydatna rzecz, a mianowicie akceptacja regulaminu przy rejestracji.
1. Wchodzimy w Dodatkowe Strony w nazwie wpisujemy cokolwiek, a w treści dajemy to:
<?php
$result = dbquery("CREATE TABLE IF NOT EXISTS `".$db_prefix."regulamin` (
`tresc` text NOT NULL
) ENGINE=MyISAM;");
$result = dbquery("INSERT INTO `".$db_prefix."regulamin` VALUES ('Siema, regulamin to ja!')");
$result = dbquery("INSERT INTO ".$db_prefix."admin VALUES ('', 'S1', 'eps.gif', 'Regulamin', 'regulamin.php', 3)");
?>
Pole to dodaje nam tabele z regulaminem i link w panelu admina do niego.
2. Tworzymy trzy pliki o nazwie regulamin.php. Pierwszy plik będzie odpowiadał za wyświetlanie regulaminu na stronie głównej, drugi za możliwość edycji w PA, a trzeci to będą polskie locale.
Plik odpowiedzialny za wyświetlanie(do głównego katalogu)
<?php
/*---------------------------------------------------+
| Regulamin - Tre¶ć
+----------------------------------------------------+
| eXtreme-Fusion
| http://extreme-fusion.pl
+----------------------------------------------------*/
require_once "maincore.php";
require_once BASEDIR."subheader.php";
require_once BASEDIR."side_left.php";
include LOCALE.LOCALESET."admin/regulamin.php";
opentable ($locale['01']);
$pobreg = dbarray(dbquery("SELECT * FROM ".$db_prefix."regulamin "));
echo nl2br($pobreg['tresc']);
closetable();
require_once BASEDIR."side_right.php";
require_once BASEDIR."footer.php";
?>
Plik odpowiedzialny za edycje(do katalogu administration)
<?php
/*---------------------------------------------------+
| Regulamin -Edycja
+----------------------------------------------------+
| eXtreme-Fusion
| http://extreme-fusion.pl
+----------------------------------------------------*/
require_once "../maincore.php";
require_once ADMIN."subheader.php";
require_once ADMIN."navigation.php";
include LOCALE.LOCALESET."admin/regulamin.php";
if (!iSUPERADMIN) fallback("../index.php");
if ($settings['tinymce_enabled'] == 1) echo "<script language='javascript' type='text/javascript'>advanced();</script>\n";
if(isset($info)) {
if($info == "zapisano"){
$tresctab = $locale['inf_02'];
}elseif($info == "wyczyszczono"){
$tresctab = $locale['inf_03'];
}
opentable($locale['inf_01']);
echo"<center><b>".$tresctab."</b></center>";
closetable();
tablebreak();
}
opentable($locale['01']);
$regulamin = $_POST['reg'];
if (isset($_POST['save_reg'])) {
$result = dbquery("UPDATE ".$db_prefix."regulamin SET tresc='".$regulamin."'");
redirect(FUSION_SELF."?info=zapisano");
}
if (isset($_POST['delete'])) {
$result = dbquery("UPDATE ".$db_prefix."regulamin SET tresc=''");
redirect(FUSION_SELF."?info=wyczyszczono");
}
$pobinfo = dbarray(dbquery("SELECT * FROM ".$db_prefix."regulamin "));
echo"<table align='center' cellpadding='0' cellspacing='1' width='100%' class='tbl-border'>
<tr><td class='tbl1'>";
echo"".$locale['02']."<br/><br/>";
echo"<table align='center' cellpadding='0' cellspacing='0' width='80%' border='0'>
<form name='trescreg' method='post' action='".FUSION_SELF."'>
<tr>
<td align='center'>
<TEXTAREA COLS='80%' ROWS='12' value='' name='reg' class='textbox'>".$pobinfo['tresc']."</TEXTAREA>
</td>
</tr><tr>
<td align='center'>
<br/><input type='submit' name='save_reg' value='".$locale['04']."' class='button'> <input type='submit' name='delete' value='".$locale['05']."' class='button' onClick='return WyczyscRegulamin();'><br/>
</td>
</tr>
</form>
</table>
</td></tr></table>\n";
closetable();
echo "<script type='text/javascript'>
function WyczyscRegulamin() {
return confirm(".$locale['03'].");
}
</script>\n";
require_once BASEDIR."footer.php";
?>
Plik odpowiedzialny za polskie locale(do locale/polish/admin)
<?php
/*---------------------------------------------------+
| Regulamin - locale
+----------------------------------------------------+
| eXtreme-Fusion
| http://extreme-fusion.pl
+----------------------------------------------------*/
$locale['01'] = "Regulamin";
$locale['02'] = "Tutaj wpisz tre¶ć regulaminu";
$locale['03'] = "Czy na pewno chcesz wyczy¶cić tre¶ć regulamminu?";
$locale['04'] = "Zapisz";
$locale['05'] = "Wyczy¶ć";
//Informacja
$locale['inf_01'] = "Informacja";
$locale['inf_02'] = "Regulamin Zapisano";
$locale['inf_03'] = "Wyczyszczono Tre¶ć Regulaminu";
?>
Wgrywamy te pliki na serwer do odpowiednich katalogów podanych w nawiasach.
3. Przejdźmy teraz do edycji pliku register.php
4. Szukamy linii ~58-60
if (!preg_match("/^[-0-9A-Z_\.]{1,50}@([-0-9A-Z_\.]+\.){1,50}([0-9A-Z]){2,4}$/i", $email)) {
$error .= $locale['406']."<br>\n";
}
i zaraz pod nimi dodajemy to:
if ($_POST['akceptuje_regulamin'] == 'nie') {
$error .= "Rejestracja wymaga zaakceptowania, regulaminu<br>\n";
}
5. Szukamy linii ~257:
echo "<tr>
<td align='center' colspan='2'><br>
<input type='submit' name='register' value='".$locale['506']."' class='button'>
</td>
</tr>
</form>
</table>";
Zamieniamy ją na tą:
echo "<tr>
<td class='tb1'>Akceptuję <a href='".BASEDIR."regulamin.php'>Regulamin</a><span style='color:#ff0000'>*</span></td>
<td class='tbl'><input name='akceptuje_regulamin' type='radio' value='tak' checked>Tak<input name='akceptuje_regulamin' type='radio' value='nie'>Nie</td>
</tr>
<tr>
<td align='center' colspan='2'><br>
<input type='submit' name='register' value='".$locale['506']."' class='button'>
</td>
</tr>
</form>
</table>";
6. Zapisujemy plik i wgrywamy na serwer. Wszystko powinno działać bez problemów.
Przenoszę do FAQ. - Inscure
Poprawiłem isntrukcję - Rafik89
|