Bu xenforoya ilave olarak yazılım olur bundansa manuel olarak kullanıcıyı belirli süreye göre bir gruba yükselterek hangi grubda olduğunu php ile çekebilirsiniz mesela kullanıcıyı premium grubuna yükselttiniz 1 aylık php kendi sitenizde bu kullanıcının bilgisinde grubu premium gözüküyor isterseniz süreyide ilave edebilirsiniz (bu ilave bağlantı gerektirir çünki süre dışında söylediklerim ve söyleyeceklerim hepsi xf_users şablonuna bağlı mysqlda) ve xenforoda bu süre bittiğinde kullanıcının grup bilgisi değişir ve sitenizdede bu bilgi değişmiş olur. Ben kendi formumda ilave bir php sayfa oluşturdum xf_users bölümüne bağlanarak sadece belirli grubların o sayfanı görmesine ve görünen kullanıcıların tüm bilgilerini çekebiliyorum. Nasıl ?
İlk önce php bağlantımızı kuruyoruz
PHP:
<?php
include "../startup.php";
$izinliKullaniciGrubu=Array(3,4,5,6);
$dir = "../src/XF.php";
require($dir);
XF::start(APP_DIR);
$app = XF::setupApp('XF\Pub\App');
$app->start();
$session = $app->session();
$visitor = \XF::visitor();
$user_id = $visitor['user_id'];
$finder = \XF::finder('XF:User');
$kullaniciAdi= $finder->where('user_id', $user_id)->fetchOne()->username;
$kullaniciEmail=$finder->where('user_id', $user_id)->fetchOne()->email;
if(!empty($kullaniciAdi) && $kullaniciEmail && in_array($kullaniciGrupu, $izinliKullaniciGrubu) )
{
// izinleri sağlıyorsa
}else{
// izinleri sağlamıyorsa
header("Location: https://sitem.com/");
}
?>
xf_users şablonuna böyle bağlanıyoruz örnek olarak 2 örner verdim kullanıcı adı ve eposta çekiyor
PHP:
$kullaniciAdi= $finder->where('user_id', $user_id)->fetchOne()->username;
$kullaniciEmail=$finder->where('user_id', $user_id)->fetchOne()->email;
bununla örn (yetkili, moderatör, premium) grublarına izin veriyor
PHP:
$izinliKullaniciGrubu=Array(3,4,5,6);
ve bununlada izinleri sağlamıyorsa
PHP:
if(!empty($kullaniciAdi) && $kullaniciEmail && in_array($kullaniciGrupu, $izinliKullaniciGrubu) )
yani kullanıcı grubu yoksa ve izin verilmiyorsa ilave olarak isim ve ya e-posta doğrulanmamışsa kullanıcının else
header olan sitem.com a geri atıyor.
Kısaca bu bilgilerle rahatlıkla ilave php sayfasında kullanıcı bilgilerini yansıta bilirsiniz. Ancak kullanıcının yükseltme süresi için farklı bir tabloyada bağlanmak gerek. Çünki xf_users de bu bilgiyi göremedim.
Kullanıcı grubunuda üstte kullanıcıisim gibi izin sağlayarak
Kod:
<?php
$grup = $kullanıcıGrup;
switch($grup) {
case '2':
echo '<font color="orange">Premium</font>';
break;
case '3':
echo '<font color="red">Yönetim</font>';
break;
case '4':
echo '<font color="green">Moderator</font>';
break;
case '6':
echo '<font color="orange">Premium+</font>';
break;
case '8':
echo '<font color="black">BANNED</font>';
break;
}
?>
çekiyorum kullanıcı hangi grubda ise ona görede veri okuyor.
Son olarak manüel kullanıcı gurubuna yükseltmek için
Admin CP > Kullanıcılar > Ücretli abonelik işlemleri > (aboneliği oluşturduğunuzu varsayıyorum) > aboneliğin sağında "Eylemler"-e tıklıyoruz > Kullanıcıyı abone yap > Kullanıcı adını girin daha sonra zamanı çekin gerisini xenforoya bırakın
İlave bilgiler içinde google'dan arama yayapabilirsin bir çok xenforoda farklı sayfada veri çekme için bağlantı çeşitleri paylaşılmış