Możliwość używania zmiennych z pluginu na podstronie.

Konfiguracja  Założony przez  kamil501.

wersja skryptu MyBB: 1.8.5
adres forum:adres
na czym polega problem (screen, opis, komunikaty, nazwa i wersja wtyczki):

Pposzukuje poradnika, aby czytać zmienne o użytkowniku z pluginy baszar
np. $plec, $osobie, $signature_info, $grupa, $nick1, $ranga, $steam, $steamid ze starego poradnika udało mi się to zrobić, ale wyświetla nie poprawnie te informacje, ponieważ mam opcje wypisane w profil, a nadal mi pokazuje że "Nie określono" informacji o tym.
Pozdrawiam
gdzie chcesz wyświetlić te informacje?
Pokaż ten kod pluginu baszara
Reasumując, wszystkie wartości są wpisywane w "Dodakowe pola profilu"?
Tak wszystko jest wpisane Dodakowe pola profilu a plugin ma za zadanie tylko dodać zmienną, kod.
{$steamid}


Plugin:
<?php
if(!defined("IN_MYBB"))
{
    die("Direct initialization of this file is not allowed.<br /><br />Please make sure IN_MYBB is defined.");
}
$plugins->add_hook('mc_start', 'informacje_o_userze');
$plugins->add_hook("member_profile_end", "informacje_o_userze");
$plugins->add_hook("member_profile_end", "lista_znajomych_profil");

function baszar_info()
{
    return array(
        'name'            => 'Dodatki do panelu i nie tylko',
        'description'    => 'Plugin dodaje niezbędne dodatki do szablonów stworzonych przez baszara',
        'website'        => '',
        'author'        => 'baszaR',
        'authorsite'    => '',
        'version'        => '1.0.1',
        'guid'            => '',
        'compatibility' => '18*'
    );
}

function informacje_o_userze()
{
    global $mybb, $memprofile, $db, $website, $parser, $miejscowosc, $plec, $osobie, $signature_info, $grupa, $nick1, $ranga, $steam, $steamid, $system, $procesor, $kartagra, $plytagl, $ram, $kartadzw, $dysk, $zasilacz, $obudowa, $monitor, $myszka, $podkladka, $klawiatura, $sluchawki;
    
    if(!$parser)
    {
        require_once MYBB_ROOT."inc/class_parser.php";
        $parser = new postParser;
    }
    
    $query = $db->query("SELECT * FROM ".TABLE_PREFIX."users WHERE uid='".$memprofile['uid']."'");
    $query2 = $db->query("SELECT * FROM ".TABLE_PREFIX."userfields WHERE ufid='".$memprofile['uid']."'");
    
    $info = $db->fetch_array($query);
        $website = $info['website'];
        $signature = $info['signature'];
        $group_id = $info['usergroup'];
              if($info['signature'] == '') {
        $signature_info = '<center>Użytkownik nie ma swojej sygnatury</center>';
        }
        else {
          $sig_parser = array(
            "allow_html" => $mybb->settings['sightml'],
            "allow_mycode" => $mybb->settings['sigmycode'],
            "allow_smilies" => $mybb->settings['sigsmilies'],
            "allow_imgcode" => $mybb->settings['sigimgcode'],
            "me_username" => $info['username'],
            "filter_badwords" => 1
        );
    
        if($usergroup['signofollow'])
        {
            $sig_parser['nofollow_on'] = 1;
        }

        $info['signature'] = $parser->parse_message($info['signature'], $sig_parser);
        
        $signature_info = $info['signature'];
        }
                
        if($website == '') $website = 'Nie określono';
    
    $query3 = $db->query("SELECT * FROM ".TABLE_PREFIX."usergroups WHERE gid='$group_id'");
    $grupka = $db->fetch_array($query3);
    
    $grupa = format_name($grupka['title'], $grupka['gid']);
    
    $info2 = $db->fetch_array($query2);
        $miejscowosc = $info2['fid6'];
        $plec = $info2['fid3'];
        $osobie = $info2['fid2'];
        $nick1 = $info2['fid5'];
        $ranga = $info2['fid4'];
        $steam = $info2['fid7'];
        $steamid = $info2['fid22'];
        $system = $info2['fid8'];
        $procesor = $info2['fid9'];
        $kartagra = $info2['fid10'];
        $plytagl = $info2['fid11'];
        $ram = $info2['fid12'];
        $kartadzw = $info2['fid13'];
        $dysk = $info2['fid14'];
        $zasilacz = $info2['fid15'];
        $obudowa = $info2['fid16'];
        $monitor = $info2['fid17'];
        $myszka = $info2['fid18'];
        $podkladka = $info2['fid21'];
        $klawiatura = $info2['fid19'];
        $sluchawki = $info2['fid20'];
        
        if($miejscowosc == '') $miejscowosc = 'Nie określono';
        if($plec == '') $plec = 'Nie określono';
        if($osobie == '') $osobie = '<center>Użytkownik nic o sobie nie napisał</center>';
        if($nick1 == '') $nick1 = 'Nie określono';
        if($ranga == '') $ranga = 'Nie określono';
        if($steam == '') $steam = 'Nie określono';
        if($steamid == '') $steamid = 'Nie określono';
        if($system == '') $system = 'Nie określono';
        if($procesor == '') $procesor = 'Nie określono';
        if($kartagra == '') $kartagra = 'Nie określono';
        if($plytagl == '') $plytagl = 'Nie określono';
        if($ram == '') $ram = 'Nie określono';
        if($kartadzw == '') $kartadzw = 'Nie określono';
        if($dysk == '') $dysk = 'Nie określono';
        if($zasilacz == '') $zasilacz = 'Nie określono';
        if($obudowa == '') $obudowa = 'Nie określono';
        if($monitor == '') $monitor = 'Nie określono';
        if($myszka == '') $myszka = 'Nie określono';
        if($podkladka == '') $podkladka = 'Nie określono';
        if($klawiatura == '') $klawiatura = 'Nie określono';
        if($sluchawki == '') $sluchawki = 'Nie określono';

}
function lista_znajomych_profil()
{
    global $mybb, $memprofile, $db, $templates, $buddy_listprofil, $buddy_listprofil_row, $array, $informacja;
    if (strlen($memprofile['buddylist']) == 0)
    {
        $informacja = "<center>Brak znajomych</center>";
    }
    else
    {
        $buddies_query = $db->query("SELECT uid, avatar, username FROM ".TABLE_PREFIX."users WHERE uid IN ({$memprofile['buddylist']})");
        while($array_znajomy = $db->fetch_array($buddies_query))
        {   
            $avatar = $array_znajomy['avatar'];
            $nick = $array_znajomy['username'];
            $id = $array_znajomy['uid'];
            eval("\$buddy_listprofil_row .= \"".$templates->get("member_profile_buddylistprofil_content")."\";");
        }
    }
    
    eval("\$buddy_listprofil = \"".$templates->get("member_profile_buddylistprofil")."\";");
}

$plugins->add_hook("forumdisplay_thread", "goracy_close");
$plugins->add_hook("search_results_thread", "goracy_close");
$plugins->add_hook("search_results_post", "goracy_close");
function goracy_close()
{
    global $mybb, $db, $thread, $folder_hot, $folder_lock, $lastposteravatar, $lastposteravatar_post, $post;
    
    $folder_hot = "";
    $folder_lock = "";
    
    if($thread['replies'] >= $mybb->settings['hottopic'] || $thread['views'] >= $mybb->settings['hottopicviews'])
    {
        $folder_hot = "<span class=\"hot_post\">GORĄCY</span>";
    }
    
    if($thread['closed'] == 1)
    {
        $folder_lock = "<img src=\"images/carbon/lock.png\" alt=\"\" title=\"Temat został zamknięty\"><br>";
    }
    
    $user = $thread['uid'];
    $avatar = $db->fetch_array($db->query("SELECT * FROM ".TABLE_PREFIX."users WHERE uid='$user'"));
    $lastposteravatar = $avatar['avatar'];
    if($lastposteravatar == '') $lastposteravatar = '/images/avatars/invalid_url.gif';
    
    $user1 = $post['uid'];
    $avatar1 = $db->fetch_array($db->query("SELECT * FROM ".TABLE_PREFIX."users WHERE uid='$user1'"));
    $lastposteravatar_post = $avatar1['avatar'];
    if($lastposteravatar_post == '') $lastposteravatar_post = 'images/avatars/invalid_url.gif';
}
?>

Oraz php strona w głównym katalogu:
<?php
define
('IN_MYBB'1); 
require_once 
"./global.php";
define('THIS_SCRIPT''baszar.php');

$plugins->run_hooks("mc_start");

add_breadcrumb("Plecak gracza""member_profile_plecak.php"); //Tekst w pierwszym cudzysłowie "nazwa nowej podstrony" oznacza tekst wyświetlany w nawigacji, a tekst w drugim cudzysłowie "podstrona.php" oznacza nazwę plik, w którym znajduje się ten kod
 
eval("\$podstr = \"".$templates->get("member_profile_plecak")."\";"); // kod "("podstrona")oznacza z jakiego szablonu będzie pobierana treść, Jeżeli Twój szablon nosi nazwę np. regulamin, to kod "("podstrona")" zmień na "("regulamin")"
output_page($podstr); 
?>
nie wiem czemu siedzisz w tym starym plginie, całość wygląda ok, za wyjątkiem

define('THIS_SCRIPT''baszar.php'); 
bo niżej niby ten plik ma inna nazwe

pokaż link do tej podstrony
Słabo się znam na tych kodach pluginu, używam go bo ma możliwość wyświetlania oraz dodawania zmiennych typu {$steamid} ponieważ sam dopisałem tą zmienna do tego pluginu i ona odczytuje informacje z Dodatkowych pol profilu
odświeżam zna ktoś rozwiązanie tego problemu
może da się inaczej odczytać informację o Dodatkowe polu profilu fid 22

Proszę o połączenie moich postów bo brak edytowania

próbowałem takich zmiennych {$xtpf['fid22']} z pluginem
http://mybbhacks.zingaburga.com/showthre...271&page=1
ale nic to nie dało
Matslom napisał 10.09.2015, 16:04:
Edytowanie powinno działać. Zrób parę razy ctrl + F5.
Jeśli chcesz podeślij mi na PW dane do FTP iACP, zobacze co i jak
temat rozwiązany użyłem zmiennej {$mybb->user['fid22']} i działa poprawnie

ale mam jeszcze jedno pytanie jak zrobić aby goście nie mogli zobaczyć strony
oraz gdy dana osoba nie wypełni pola fid 22 będzie miała Brak informacji
Widziałem że w pluginie jest zrobione to tak
if($nick == '') $nick = 'Nie określono';
(10.09.2015, 19:51)kamil501 napisał(a): ale mam jeszcze jedno pytanie jak zrobić aby goście nie mogli zobaczyć strony http://parszywa.eu/plecak.php
if(!$mybb->user['uid']) 
error_no_permission(); 
NIe pamiętam, czy dobrze użyłem funkcji, ale mam nadzieję, że tak.
(10.09.2015, 19:51)kamil501 napisał(a): temat rozwiązany użyłem zmiennej {$mybb->user['fid22']} i działa poprawnie
I teraz potwierdź moje zdanie - w każdym profilu masz swoje wartości. :)
Prośby na PW dotyczące wsparcia z problemami będą ignorowane. Pomoc poza forum - odpłatna; kontakt: snakemybboard@gmail.com.
nie bo każdy zalogowany użytkownik ma swoje wartości ja mam swoje każdy ma inne takie jakie wpisał w dodatkowe pole
a przycisk Plecak jest wyświetlany tylko dla siebie w swoim profilu to nie jest informacja publiczna bo w takim wypadku widział bym swoją wartość u każdego tak jak piszesz

ukrycie linku dla gości działa poprawnie
czyli to ma nie dzialać tak że wchodze na Twój "plecak"? i widze Twoj ekwipunek tylko zawsze swój?


Teraz już jasne, sory nie doczytalem wyzej
tak tylko swój tylko jak dodać informacje w fid22 że Brak informacji jak użytkownik nie wpisze niczego w pole
intrukcją if() w php sprawdzasz zawartość pola i wyświetlasz komunikat

<?php
define
('IN_MYBB'1); 
require_once 
"./global.php";
define('THIS_SCRIPT''baszar.php');

$plugins->run_hooks("mc_start");

if(
$mybb->user['fid22'] == "")
{
error("Uzupelnij pole kurczak w opcjach profilu aby mieć dostęp do plecaka"):
}

add_breadcrumb("Plecak gracza""member_profile_plecak.php"); //Tekst w pierwszym cudzysłowie "nazwa nowej podstrony" oznacza tekst wyświetlany w nawigacji, a tekst w drugim cudzysłowie "podstrona.php" oznacza nazwę plik, w którym znajduje się ten kod
 
eval("\$podstr = \"".$templates->get("member_profile_plecak")."\";"); // kod "("podstrona")oznacza z jakiego szablonu będzie pobierana treść, Jeżeli Twój szablon nosi nazwę np. regulamin, to kod "("podstrona")" zmień na "("regulamin")"
output_page($podstr); 
(11.09.2015, 14:18)Supryk napisał(a): <?php
define('IN_MYBB', 1);
require_once "./global.php";
define('THIS_SCRIPT', 'baszar.php');

$plugins->run_hooks("mc_start");

if($mybb->user['fid22'] == "")
{
error("Uzupelnij pole kurczak w opcjach profilu aby mieć dostęp do plecaka"):
}

add_breadcrumb("Plecak gracza", "member_profile_plecak.php"); //Tekst w pierwszym cudzysłowie "nazwa nowej podstrony" oznacza tekst wyświetlany w nawigacji, a tekst w drugim cudzysłowie "podstrona.php" oznacza nazwę plik, w którym znajduje się ten kod

eval("\$podstr = \"".$templates->get("member_profile_plecak")."\";"); // kod "("podstrona")oznacza z jakiego szablonu będzie pobierana treść, Jeżeli Twój szablon nosi nazwę np. regulamin, to kod "("podstrona")" zmień na "("regulamin")"
output_page($podstr);


po użyciu tego kodu mam biała stronę



Użytkownicy przeglądający ten wątek:

1 gości