Sevgini Haykır Modu

Started by dirka, July 27, 2008, 07:50:45 AM

Previous topic - Next topic

Özgür

admin sayfasının kodları custom action modunda koyulursada problem olmaz sanırım denemedim ama muhtemelen çalışacaktır
So Long

DNA27

olmuyor hata veriyor sinan 

kayseri denedim orda da aynı oluyor fark etmiyor
Sevda Gelmişse başa artıq kıvırmak boşa sen git o sefdanın arkasından koşa koşa

vannelle

aynisi bendede ne yazikki olmuyor

Sinanin yazmis oldugu Dokumasyonlardaki kod da soyle vermis    if ($context['allow_admin'])
buradaki vermis oldugu kod da ise

if (!$context['allow_admin'])

her ikisinide denedim malesef hata veriyor

ya ben bir yanlislik yapiyorum yada bilmiyorum artik




[SiNaN]

Az önce denedim, çalışıyor. Ama SSI'ın bulunduğu dizini doğru girmelisiniz.

Örneğin bu dosya anadizin/istek/ dizininde ise şu kodları kullanmalısınız:

require_once('../SSI.php');

if(!$context['allow_admin'])
die('Bu sayfayi sadece adminler görebilir');


Ya da anadizinde ise şu kodları:

require_once('SSI.php');

if(!$context['allow_admin'])
die('Bu sayfayi sadece adminler görebilir');


Ama nedense zorla bilgi alıyoruz sizden aldığınız hatalar ile alakalı. Ben sizin yerinizde olsam en ince ayrıntısına kadar anlatırım aldığım hatayı. Bu yüzden hem bizim çok vaktimizi alıyorsunuz, hem de daha geç sonuca ulaşıyorsunuz. Kendinize de, bize de eziyet etmeyin lütfen.
Former SMF Core Developer | My Mods | SimplePortal

$כђiŹøƒ®ΣиiΛ™

@[SiNaN] ben şimdi sbox moduna bakarak bu sevgini haykır dedikleri olayı değiştirdim.
deneme sitemde uğraşıp duruyorum 2 gündür.. üye izinlerinden bu kayan bandı kim göremez kim görür falan ayarları yaptım.. bazı modları inleyerek öğrenmeye çalıştım..

mesela ben istek.php dosyasını sources klasörüne attığımda bu dosyayı nasıl çağırcam..

anlatmasıda zor ya :D

mesela sbox modunun sbox.php dosyası forumda ana sayfada gözükmesi için boardindex.template.php dosyasın

  // display shoutbox
  if (function_exists('sbox')) sbox();

böyle bi kod eklenmiş..

ben nasıl bir kod ekleyip bunu çağırmalıyım ?

anlatabildim mi acaba anlatmak istediğimi ? :(

DNA27

require_once('SSI.php');
if(!$context['allow_admin'])
die('Bu sayfayi sadece adminler görebilir');


hata söz dizim hatasi

" ; " bu noktali virgulleri sildim işe yaradi ama şifre girecek yer yok

http://askgemisifm.bplaced.net/dj.php

bu sekıl oldu :)
Sevda Gelmişse başa artıq kıvırmak boşa sen git o sefdanın arkasından koşa koşa

[SiNaN]

$כђiŹøƒ®ΣиiΛ™:

Öncelikle SMF'e izin nasıl eklenir ona bakalım

Bütün izinler ../Sources/ManagePermissions.php dosyasında saklanır. Bütün izinlerin yer aldığı bir dizi vardır, biz de bu diziye kendi iznimizi ekleyeceğiz.

Bul:

'karma_edit' => false,

Değiştiri:

'karma_edit' => false,
'view_istek' => false,
'admin_istek' => false,


Gördüğünüz gibi iki tane satır daha ekledik. Mutlaka neden true değil de false olarak ayarlandığını merak edeceksiniz. Eğer true olarak ayarlanırsa "kendi" ve "herhangi" seçeneği olur izin için. Ama eğer false olursa, sadece "herhangi" izni aktif olur. Bize tek bir izin lazım, o yüzden false yaptık.

Şimdi de bizim bu izinlerin adlarını dil dosyalarına yazmamız gerek. Format şu şekilde $txt['permissionname_İZİNADI]. Bunu her index.turkish.php, Modifications.turkish.php ya da ManagePermissions.php dosyalarından birine ekleyebilirsiniz. Ama en uygunu Modifications.english.php, karışmaması için.

Modifications.turkish.php

Bul:

?>

Değiştir:

$txt['permissionname_view_istek'] = 'İstek alanını görebilir';
$txt['permissionname_admin_istek'] = 'İstek alanını yönetebilir';

?>


Gelelim bunları nasıl kullanacağımıza;

İstediğimiz zaman isAllowedTo('İZİN_ADI') ya da allowedTo('İZİN_ADI') fonksiyonları ile kullanıcının izni olup olmadığını kontrol edebiliriz.

Sanırım şu anki haliyle modu iframe ile çağırıyorsunuz. Ben de o şekilde göstereceğim.

BoardIndex.php

Bul:

loadTemplate('BoardIndex');

Değiştir:

loadTemplate('BoardIndex');

$context['can_view_istek'] = allowedTo('view_istek');


Bu şekilde tema dosyamızda kullanıcının izni olup olmadığını kontrol ederek birşeyler gösterebiliriz. Geçelim tema dosyasına:

BoardIndex.template.php

Nerede görünmesini istiyorsanız ekleyin:

if($context['can_view_istek'])
echo 'IFRAME KODLARI';


Şimdi de adminin izinlerini kontrol edelim.

Modun yonetim dosyasını açın.

Bul:

<?php

Değiştir:

require_once('SSI_DİZİNİ');

isAllowedTo('admin_istek');


SSI_DİZİNİ'ni sitenizde SSI'ın dizini olarak değiştirmeyi unutmayın. Ayrıntılı bilgi için Dokümantasyon'daki SSI Derslerini inceleyebilirsiniz.

Sanırım bu kadar SMF dersi yeterli olur, diğer konulara da biraz zaman ayırmalıyım.

DNA27:

Dosyanız şifrelenmiş. Ben göremiyorum. Siz admin olduğunuz için görüyorsunuz. Çıkış yapın ve dosyayı görüntülemeyi deneyin.
Former SMF Core Developer | My Mods | SimplePortal

DNA27

sinan tsk ederim oldu . Allah razi olsun

kusura bakma fazla oluyorum ama bir kod buldum ama şifreyi kabul etmiyor buna bir bakar denersen çok sevinirim.

<?php 
// kullanici listesi 

$kul[0]['username']="ali"
$kul[0]['password']="1234"

$kul[1]['username']="veli"
$kul[1]['password']="4321"


// dogrulama 

function authenticate() 

header'www-authenticate: basic realm="private"' ); 
header'http/1.0 401 unauthorized' ); 
echo 
'authorization required.'
exit; 


if (!isset(
$_server['php_auth_user']) || !isset($_server['php_auth_pw'])) { authenticate(); } else 

for(
$i=0;$i<count($kul);$i++) { if($_server['php_auth_user']==$kul[$i]['username'] && $_server['php_auth_pw']==$kul[$i]['password']){$auth=true;}} 
if(
$auth !=true) {authenticate();} 

?>
Sevda Gelmişse başa artıq kıvırmak boşa sen git o sefdanın arkasından koşa koşa

[SiNaN]

DNA27:

Başka kodlara neden ihtiyaç duyuyorsunuz ki? Ki bunların ne kadar doğru kodlandığından emin değilsiniz. Verdiğim kodun ne tür bir eksigi var? Eğer login paneli istiyorsanız bunu deneyin:

require_once('../SSI.php');
isAllowedTo('admin_forum');
Former SMF Core Developer | My Mods | SimplePortal

DNA27

bir eksigi yok.

sadece şifreli giriş olmasını istiyordum forum olmadan da .
neyse bos ver
Sevda Gelmişse başa artıq kıvırmak boşa sen git o sefdanın arkasından koşa koşa

[SiNaN]

Bunun ne tür bir artısı olacak peki? Yanlış anlamayın, biz sadece öneririz ve alternatifleri sunarız. Siz en iyisini ve kendinize en uygununu seçersiniz. Yoksa bizim zorla birşeyi kabul ettirme gibi bir amacımız kesinlikle yok. :)
Former SMF Core Developer | My Mods | SimplePortal

DNA27

ya diger sitemde forum yok bu verdigin kod o sitede işe yaramıyor :) anladin galiba
Sevda Gelmişse başa artıq kıvırmak boşa sen git o sefdanın arkasından koşa koşa

vannelle

Degerli Sinan ustad  verdiginiz kodlari  Sevgini haykir /admin.php yi ekledim yazdiklariniz gibi zaten iki secenek vermisiniz her ikisinide uyguladim

ama bende yine hata veriyor

HATA:
Warning: require_once( ../SSI.php): failed to open stream: No such file or directory in /srv/www/vhosts/siteismi.com/httpdocs/forum/admin1.php on line 2 Fatal error: require_once(): Failed opening required ' ../forum/SSI.php' (include_path='.:.:/usr/share/php5:/usr/share/php5/PEAR') in /srv/www/vhosts/siteismi.com/httpdocs/forum/admin1.php on line 2

Biraz aciklayayim neyin nasil oldugunu

siteismi.com/sevgini haykir/
boyle bir dosyada
ve  siteismi.com/forum/SSI.php

Simdi benim yapmak istedigim sudur bu sevgini haykir   olayi onayli ve ben bunu sitemdeki bazi görevlilere onaylamalari icin vermek istiyorum yani gelen mesajlari izin verebilsinler  simdi diyeceksinizki  zaten verebilirler dogru verebiliyorlar ama ben sadece sitemdeki bazi gorevli kisileri vermek istiyorum.

Bunun icin  sizin verdiginiz kodlar bence cok uygun ama ben bir yerde yanlislik yapiyorumki bende hata veriyor.

Yardimci olursaniz sevinirim

Calismalarinizda basarilar dilerim
Saygilarimla

DNA27

ekte verdim db düzelt forum klasörün içerisine at admin ler onaylayabiliyor.

www.xx.com/forum/admin.php

Sevda Gelmişse başa artıq kıvırmak boşa sen git o sefdanın arkasından koşa koşa

vannelle

DNA27 ekdeki vermis oldugunuz eki ekledim ama ginede ayni hatayi veriyor  sanirsam benim forumda sorun var :) bu kadar insanda calistigina gore hata benim forum da olmasi gerek herneyse denedik olmadi ne yapalim suanki calisir vaziyette  sifreleyip yapariz artik  sonucda mesajlari gonderiyor ve forumda yayinliyor yakinda bunun modunu cikarirlar bizde ozaman deneriz.
Verdiginiz emekler icin tskler

saygilarimla

$כђiŹøƒ®ΣиiΛ™

çok teşekür ederim @[SiNaN] bilgiler için. sayende bişeyler öğreniyoruz... boardindex.php dosyasında takılıp yanlış yapmışım. zor işmiş bunlar.. Ama böyle böyle ve sen gibi bilgisini paylaşanlar sayesinde öğreniyoruz...


[SiNaN]

vanelle:

Bu kodu deneyin:

require_once('../forum/SSI.php');
isAllowedTo('admin_forum');


$כђiŹøƒ®ΣиiΛ™:

Her zaman söylüyorum, mod yazmak isteyenlere kapım her zaman açık. ;)
Former SMF Core Developer | My Mods | SimplePortal

vannelle

Sinan
yine ayni hatayi veriyor anlamadim gitti nasil bir seymis yoksa bir yerlerde chmod ayarimi lazim , yoksa bu benim SSI.php mi bozuk yoksa sizin klayideki tuslar benim pc deki dil yabanci oldugu icinmi  anlamadim gitti

BuЯЯЯЯaK

Quote from: [SiNaN] on July 30, 2008, 10:19:17 AM
Her zaman söylüyorum, mod yazmak isteyenlere kapım her zaman açık. ;)

Sinan şu işi birilerini öğretim bende en kısa sürede kaçim derdindesin :D

DNA27

hehe :) valla mod yazmak isterim ama 2+2 =4 bilmeden fonksiyon çözmeye benzer urasirim diyorsan başliyalim derslere hehe :))
Sevda Gelmişse başa artıq kıvırmak boşa sen git o sefdanın arkasından koşa koşa

Advertisement: