PhpNuke 7.5 ve 7.6 sürümlerindeki Minisohbet modülü hatası

Eski Aktifnuke.com üyelerinden bir arkadaşımız zamanında aktifnuke.com’da yayınladığımız bu makaleye ihtiyacı olduğunu ve sürüm problemi yaşadığı modülleri düzeltmek istediğini haber verdi. Ben de bu makaleyi bularak şimdi burada yayınlıyorum. Herhangi bir güncelleme yapmadan birebir yazıyorum.
Sohbet modülünü kuran kullanıcılarımız, modülün yönetici sayfasına erişemediklerini söylediler 🙂 Aslında bununla ilgili daha önce makale yazmıştım ama eksikleri olduğunu farkettim..Hazır 7.6 sürümüde elimizdeyken ikisinide anlatayım diyorum 🙂

Öncelikle modülümüzün yönetici dosyalarına erişelim..Bunun için admin/modules/ShoutBlock.php dosyasını açalım.. İlk satırlarda yer alan ;
[php]if (!eregi(“admin.php”, $_SERVER[‘PHP_SELF’])) { die (“Access Denied”); }

$sql = “select radminfaq, radminsuper from “.$prefix.”_authors where aid=’$aid'”;

$result = $db->sql_query($sql);

list($radminfaq, $radminsuper) = $db->sql_fetchrow($result);

if (($radminfaq==1) OR ($radminsuper==1)) {[/php]

kodlarını aşağıdaki sahip olduğunuz sürüme ait olan kodlar ile değiştiriniz.

Sürüm 7.5 ( kullandığımız sürüm 7.5, paketten çıkan ve yaması kurulu değil)

[php]if (!eregi(“admin.php”, $_SERVER[‘PHP_SELF’])) { die (“Access Denied”); }

global $prefix, $db;

$aid = substr(“$aid”, 0,25);

$row = $db->sql_fetchrow($db->sql_query(“SELECT radminsuper FROM ” . $prefix . “_authors WHERE aid=’$aid'”));

if ($row[‘radminsuper’] == 1) {[/php]
ile değiştiriyoruz ve modülümüz çalışıyor 🙂


Sürüm 7.5+patch ( kullandığımız sürüm 7.5, paketten çıkan ve Yaması Üstüne Kurulu)

[php]if ( !defined(‘ADMIN_FILE’) )

{

die(“Illegal File Access”);

}

if (!stristr($_SERVER[‘SCRIPT_NAME’], “admin.php”)) { die (“Access Denied”); }

global $prefix, $db;

$aid = substr(“$aid”, 0,25);

$row = $db->sql_fetchrow($db->sql_query(“SELECT radminsuper FROM ” . $prefix . “_authors WHERE aid=’$aid'”));

if ($row[‘radminsuper’] == 1) {[/php]

ile değiştiriyoruz ve modülümüz çalışıyor 🙂

Sürüm 7.6 ( kullandığımız sürüm 7.6, paketten çıkan ve yaması kurulu değil)

[php]
global $prefix, $db, $admin_file;

if (!eregi(“”.$admin_file.”.php”, $_SERVER[‘PHP_SELF’])) { die (“Access Denied”); }

$aid = substr(“$aid”, 0,25);

$row = $db->sql_fetchrow($db->sql_query(“SELECT radminsuper FROM ” . $prefix . “_authors WHERE aid=’$aid'”));

if ($row[‘radminsuper’] == 1) {[/php]

ile değiştiriyoruz ve modülümüz çalışıyor 🙂

Sürüm 7.6+patch ( kullandığımız sürüm 7.6, paketten çıkan ve Yaması Üstüne Kurulu)

[php]global $prefix, $db, $admin_file;

if (!eregi(“”.$admin_file.”.php”, $_SERVER[‘SCRIPT_NAME’])) { die (“Access Denied”); }

$aid = substr(“$aid”, 0,25);

$row = $db->sql_fetchrow($db->sql_query(“SELECT radminsuper FROM ” . $prefix . “_authors WHERE aid=’$aid'”));

if ($row[‘radminsuper’] == 1) {[/php]

ile değiştiriyoruz ve modülümüz çalışıyor 🙂

Modülü yerel sunucunuzda test etmek için, modülün yönetim panelinde ;

[code]IP banned from posting: 127.0.0.1[/code]

Satırının karşısında ki “remove” bağlantısına tıkayın ve ip numarasını ban listesinden kaldırın. Artık yerel sunucu üstünde de mesaj yollayabilirsiniz.