Tarih: 2005-05-02, 02:29:58 Mesaj konusu: Haber modülüne kısıtlama koymak
selamlar.
sitemin anasayfasında haberler modülü aktif, ve üye olsun olmasın herkes haberlerin tamamını okuyabiliyor.
benim istediğim, haberlerin özet kısmının yine anasayfada görünmesi fakat "devamı..." linkine tıklanınca bunu sadece üyelerin görebilmesi.
modül yönetiminden mews modülünü sadece kayıtlı kullanıcılar yapmayı denedim fakat sistem, bu modül anasayfada olduğu için kısıtlayamazsınız gibi bir mesaj verdi.
acaba bu sorunumu ne şekilde çözerim, istediğim, haberler anasayfamda görünsün fakat devamını sadece kayıtlı kullanıcılar okuyabilsin.
Tarih: 2005-05-02, 02:34:54 Mesaj konusu: Re: Haber modülüne kısıtlama koymak
sistem doğru söylemiş. bunu ksııtlayamazsın. kısıtlamak için news modülü yerine anasayfaya başka bir modül koyacaksın ve news modülüne kısıtlama koyacaksın.
Tarih: 2005-05-03, 00:03:38 Mesaj konusu: Re: Haber modülüne kısıtlama koymak
sana şöyle bir önerim olur. news modülünden bir tane daha sitene koy. yani news i kopyala ve adını değiştirerek tekrar sitene upload et. adını değiştridiğin modülün ismini haber olarak değiştir. böylece sitende 2 tane haber modülü oldu haber ve news. haber modülü içindeki index.php ve language klaösrü hariç tüm dosyaları sil. ardında index.php yi bir editörle aç. bunun içindeki $module_name yazan heryeri News olarak değiştir. ve bu modülü anasyfaya koy. böylece haber modülü anasayfada herkes okuyabilecek. ama haberin devamına tıkladığı zaman news modülüne gideceği için üyelik isteyecek. bana göre en basit ve mantıklı yolu bu. eğer daha basit bir yöntem bulursan onu uygularsıb.
az önceki mesajımda $module_name demiştim buna gerek yokmuş çünkü yönlendirme zaten news e göre gidiyo. aşağıdaki kodları index.php olarak kaydet ve modules dizininde haber klasörü oluşturup içine kaydet.
Kod:
<?php
/************************************************************************/
/* PHP-NUKE: Web Portal System */
/* =========================== */
/* */
/* Copyright (c) 2002 by Francisco Burzi */
/* http://phpnuke.org */
/* */
/* This program is free software. You can redistribute it and/or modify */
/* it under the terms of the GNU General Public License as published by */
/* the Free Software Foundation; either version 2 of the License. */
/************************************************************************/
/* Additional security & Abstraction layer conversion */
/* 2003 chatserv */
/* http://www.nukefixes.com -- http://www.nukeresources.com */
/************************************************************************/
if ( !defined('MODULE_FILE') )
{
die("You can't access this file directly...");
}
function rate_article($sid, $score) {
global $prefix, $db, $ratecookie, $sitename, $r_options;
$score = intval($score);
$sid = intval($sid);
if ($score) {
if ($score > 5) { $score = 5; }
if ($score < 1) { $score = 1; }
if ($score != 1 AND $score != 2 AND $score != 3 AND $score != 4 AND $score != 5) {
Header("Location: index.php");
die();
}
if (isset($ratecookie)) {
$rcookie = base64_decode($ratecookie);
$rcookie = addslashes($rcookie);
$r_cookie = explode(":", $rcookie);
}
for ($i=0; $i < sizeof($r_cookie); $i++) {
if ($r_cookie[$i] == $sid) {
$a = 1;
}
}
if ($a == 1) {
Header("Location: modules.php?name=News&op=rate_complete&sid=$sid&rated=1");
} else {
$result = $db->sql_query("update ".$prefix."_stories set score=score+$score, ratings=ratings+1 where sid='$sid'");
$info = base64_encode("$rcookie$sid:");
setcookie("ratecookie","$info",time()+3600);
update_points(7);
Header("Location: modules.php?name=News&op=rate_complete&sid=$sid$r_options");
}
} else {
@include("header.php");
title("$sitename: "._ARTICLERATING."");
OpenTable();
echo "<center>"._DIDNTRATE."<br><br>"
.""._GOBACK."</center>";
CloseTable();
@include("footer.php");
}
}
function rate_complete($sid, $rated=0) {
global $sitename, $user, $cookie;
$r_options = "";
if (is_user($user)) {
if (isset($cookie[4])) { $r_options .= "&mode=$cookie[4]"; }
if (isset($cookie[5])) { $r_options .= "&order=$cookie[5]"; }
if (isset($cookie[6])) { $r_options .= "&thold=$cookie[6]"; }
}
@include("header.php");
title("$sitename: "._ARTICLERATING."");
OpenTable();
if ($rated == 0) {
echo "<center>"._THANKSVOTEARTICLE."<br><br>"
."[ <a href=\"modules.php?name=News&file=article&sid=$sid$r_options\">"._BACKTOARTICLEPAGE."</a> ]</center>";
} elseif ($rated == 1) {
echo "<center>"._ALREADYVOTEDARTICLE."<br><br>"
."[ <a href=\"modules.php?name=News&file=article&sid=$sid$r_options\">"._BACKTOARTICLEPAGE."</a> ]</center>";
}
CloseTable();
@include("footer.php");
}
switch ($op) {
default:
theindex($new_topic);
break;
case "rate_article":
rate_article($sid, $score);
break;
case "rate_complete":
rate_complete($sid, $rated);
break;
}
?>
Bu işlemi yaptıktan sonra admin modül yönetimine gir ve anasyafada yüklü olan modülü Haber modülü olarak değiştir. tabi önce bu modülü aktif etmelisin. takıldığın bir yer olursa buradan sorabilirsin
Tarih: 2005-06-11, 18:06:53 Mesaj konusu: Re: Haber modülüne kısıtlama koymak
arkadaşlar bu konu ilginçtir ve sizler için biraz uğraşıp deneme yanılma yolu ile http://www.sgrid.com/SGM/index.php sitesinin ne yaptığını buldum.
Çok basit bir şekilde NEWS modulunu sadece üyelere SQL ile oynayarak açmış çünkü admin panelimiz buna izin vermiyor.
Arkadaşlar phpmyadmin ile sql e girin <b>nuke_modules</b> tablosunu browse edin ve önünüze moduller ile değerleri gelecek, moduller tablosundaki NEWS satırının <b>view</b> sütunu bizi ilgilendiriyor, eğer <b>0</b>yazarsa o ki yazıyordur modul herkese açıktır <b>1</b> yazarsa üyelere açıktır <b>2</b> yazarsa adminlere açıktır NEWS için sıfır yazdığını göreceksiniz onu 1 yapın hepsi bu kadar sadece üyeler haberin devamını okuyabilir. Haberin devamına izin vermeyen yazıyı da lang_turkish den editleyin ve üye değilsiniz okuyamazsınız şuraya tıklayın üye olun gibi şeyler yazın.
Bu forumda yeni başlıklar açamazsınız Bu forumdaki başlıklara cevap veremezsiniz Bu forumdaki mesajlarınızı değiştiremezsiniz Bu forumdaki mesajlarınızı silemezsiniz Bu forumdaki anketlerde oy kullanamazsınız