Znalazłem błąd we wtyczce do php fusion, Opisy GG. Błąd wg. mnie jest w wersji 2.0 jak i 1.0 (więc nie wiem po co była tak aktualizacja :P). Należy zawartość pliku opis_add.php zmienić na:
<?
/*--------------------------------------------+
| PHP-Fusion 5 - Content Management System |
|---------------------------------------------|
| author: Nick Jones (Digitanium) © 2002-2005 |
| web: http://www.php-fusion.co.uk |
| email: |
|---------------------------------------------|
| Released under the terms and conditions of |
| the GNU General Public License (Version 2) |
+--------------------------------------------*/
@include_once "../../config.php";
include_once "../../maincore.php";
include_once BASEDIR."subheader.php";
if (file_exists(INFUSIONS."eXtreme_opis/locale/".$settings['locale'].".php")) {
include INFUSIONS."eXtreme_opis/locale/".$settings['locale'].".php";
} else {
include INFUSIONS."eXtreme_opis/locale/English.php";
}
include_once BASEDIR."side_left.php";
if (!iMEMBER) { header("Location:../../index.php"); exit; }
$result = dbquery("SELECT * FROM ".$db_prefix."opis_cat");
if (dbrows($result) != 0) {
if ($step == "delete") {
$result = dbquery("DELETE FROM ".$db_prefix."opis WHERE opis_id='$opis_id'");
header("Location:opis_add.php?opis_cat_id=$opis_cat_id");
}
if (isset($_POST['save_opis'])) {
$opis_nick = $userdata['user_name'];
$opis_mail = $userdata['user_email'];
$opis_description = stripinput($_POST['opis_description']);
if ($step == "edit") {
$result = dbquery("UPDATE ".$db_prefix."opis SET opis_nick='$opis_nick', opis_mail='$opis_mail', opis_description='$opis_description', opis_cat='$opis_cat', opis_datestamp='".time()."' WHERE opis_id='$opis_id'");
header("Location:opis_admin.php?opis_cat_id=$opis_cat");
} else {
$result = dbquery("INSERT INTO ".$db_prefix."opis VALUES('', '$opis_nick', '$opis_mail', '$opis_name', '$opis_description', '$opis_cat', '".time()."')");
header("Location:opis_add.php?opis_cat_id=$opis_cat");
}
}
if ($step == "edit") {
$result = dbquery("SELECT * FROM ".$db_prefix."opis WHERE opis_id='$opis_id'");
$data = dbarray($result);
$opis_nick = $data['opis_nick'];
$opis_mail = $data['opis_mail'];
$opis_description = $data['opis_description'];
$formaction = "$PHP_SELF?step=edit&opis_cat_id=$opis_cat_id&opis_id=$opis_id";
opentable($locale['EJ_470']);
} else {
$formaction = "$PHP_SELF";
opentable($locale['EJ_471']);
}
$result2 = dbquery("SELECT * FROM ".$db_prefix."opis_cat ORDER BY opis_cat_name");
if (dbrows($result2) != 0) {
while ($data2 = dbarray($result2)) {
if ($step == "edit") {
if ($data['opis_cat'] == $data2['opis_cat_id']) { $sel = " selected"; } else { $sel = ""; }
}
$editlist .= "<option value='".$data2['opis_cat_id']."'$sel>".$data2['opis_cat_name']."</option>\n";
}
}
echo "<form name='addcat' method='post' action='$formaction'>
<table align='center' width='400' cellspacing='0' cellpadding='0' class='tbl'>
<tr>
<td width='80' align='right'>".$locale['EJ_481']."</td>
<td><textarea name='opis_description' cols='75' rows='5' class='textbox'>$opis_description</textarea></td>
</tr>
<tr>
<td width='80' align='right'>".$locale['EJ_483']."</td>
<td><select name='opis_cat' class='textbox' style='width:150px;'>
$editlist</select></td>
</tr>
<tr>
<td align='center' colspan='2'>
<input type='submit' name='save_opis' value='".$locale['EJ_484']."' class='button'></td>
</tr>
</table>
</form>\n";
closetable();
}
echo "\n";
include_once BASEDIR."side_right.php";
include_once "../../footer.php";
?>
Czyli po prostu skreślić jedno </td> na końcu. Jeśli tego nie poprawimy podczas dodawania opisu przez użytkownika tabelki trochę zmienią rozmieszczenie... logo też.
Mam tylko jeden problem, w tej wtyczce podczas edytowania dodanych opisów nie widać ich... znaczy jak rozwinę kategorie to nic tam nie pisze tylko "Edytuj" i "Usuń" :P Trzeba je kasować/edytować na chybił trafił, zna ktoś rozwiązanie tego problemu? |