• 12-06-2025, 19:29:16
    #1
    Xenforo forumumda bots klasörü mevcut kök dizinde (public_html/bots)
    Bu klasörde kullanıcı giriş yapmış mı yaptıysa infosunu nasıl php ile alabilirim?
  • 12-06-2025, 19:36:01
    #2
    “bots” klasörü, XenForo’nun veya bir eklentinin arka planda bot trafiğini sınıflandırmak için bıraktığı statik dosyalardan oluşur; içinde oturum açmış kullanıcıya dair hiçbir kayıt tutulmaz. Kullanıcının giriş yapıp yapmadığını öğrenmek istiyorsan, XenForo’nun kendi PHP katmanına erişmelisin. Kökte bir PHP dosyası oluşturup framework'ü başlat, ardından XF::visitor() ile oturumu al; gelen nesne zaten UID, kullanıcı adı, izinler gibi her şeyi tutar. Örnek:

    <?php
    require_once('src/XF.php');          // XF2 için; XF1’de library/XenForo/Autoloader.php
    XF::start();
    
    $visitor = XF::visitor();            // login değilse visitor['user_id'] = 0
    if ($visitor->user_id) {
        echo 'Giriş yapan: ' . $visitor->username .
             ' (ID: ' . $visitor->user_id . ')';
    } else {
        echo 'Misafir';
    }
    Kodunu hangi klasöre koyduğunun bir önemi yok; önemli olan XenForo çekirdeğini bootstrapping etmek ve XF::visitor() nesnesini kullanmak. Bunun dışında “bots” dizinini kurcalaman sana giriş bilgisi vermez.
  • 12-06-2025, 19:41:00
    #3
    Lawliet adlı üyeden alıntı: mesajı görüntüle
    “bots” klasörü, XenForo’nun veya bir eklentinin arka planda bot trafiğini sınıflandırmak için bıraktığı statik dosyalardan oluşur; içinde oturum açmış kullanıcıya dair hiçbir kayıt tutulmaz. Kullanıcının giriş yapıp yapmadığını öğrenmek istiyorsan, XenForo’nun kendi PHP katmanına erişmelisin. Kökte bir PHP dosyası oluşturup framework'ü başlat, ardından XF::visitor() ile oturumu al; gelen nesne zaten UID, kullanıcı adı, izinler gibi her şeyi tutar. Örnek:

    <?php
    require_once('src/XF.php');          // XF2 için; XF1’de library/XenForo/Autoloader.php
    XF::start();
    
    $visitor = XF::visitor();            // login değilse visitor['user_id'] = 0
    if ($visitor->user_id) {
        echo 'Giriş yapan: ' . $visitor->username .
             ' (ID: ' . $visitor->user_id . ')';
    } else {
        echo 'Misafir';
    }
    Kodunu hangi klasöre koyduğunun bir önemi yok; önemli olan XenForo çekirdeğini bootstrapping etmek ve XF::visitor() nesnesini kullanmak. Bunun dışında “bots” dizinini kurcalaman sana giriş bilgisi vermez.
    Hocam gpt de buna benzer bir kod verdi aslında lakin giriş yapmama rağmen visitor arrayi boş dönüyor du
  • 12-06-2025, 20:02:13
    #4
    Misafir adlı üyeden alıntı: mesajı görüntüle
    Hocam gpt de buna benzer bir kod verdi aslında lakin giriş yapmama rağmen visitor arrayi boş dönüyor du
    XF syntax'ine çok hakim değilim, hata neredeyse gerçi şu sıralar işe başladığı için çok müsait değil ama @disavurum; kardeşim yardımcı olabilir. Ya da XenForo uzmanı olarak @Netkreatif; veya @EfendiBey; belki yardımcı olurlar.
  • 12-06-2025, 20:15:26
    #5
    Bu konuyla alakalı bildiğim kadarıyla herhangi bir kaynak yok. Buyursunlar örnek kod:

    <?php
    require_once __DIR__ . '/../src/XF.php';
    
    \XF::start(__DIR__ . '/..');
    $app = \XF::setupApp('XF\Pub\App');
    $app->start();
    
    $user = \XF::visitor();
    
    if ($user->user_id) {
        echo "Hoş geldin, " . htmlspecialchars($user->username);
    } else {
        echo "R10.net platformumuza üye olarak bu sayfaya erişebilirsin.";
    }
    ?>
  • 12-06-2025, 21:40:42
    #6
    Netkreatif adlı üyeden alıntı: mesajı görüntüle
    Bu konuyla alakalı bildiğim kadarıyla herhangi bir kaynak yok. Buyursunlar örnek kod:

    <?php
    require_once __DIR__ . '/../src/XF.php';
    
    \XF::start(__DIR__ . '/..');
    $app = \XF::setupApp('XF\Pub\App');
    $app->start();
    
    $user = \XF::visitor();
    
    if ($user->user_id) {
        echo "Hoş geldin, " . htmlspecialchars($user->username);
    } else {
        echo "R10.net platformumuza üye olarak bu sayfaya erişebilirsin.";
    }
    ?>
    Harikasın hocam çalıştı
    • Celilkilic
    Celilkilic bunu beğendi.
    1 kişi bunu beğendi.