Webboard

Pełna wersja: Pluginu na System nagród
Aktualnie przeglądasz uproszczoną wersję forum. Kliknij tutaj, by zobaczyć wersję z pełnym formatowaniem.
Stron: 1 2
wersja skryptu MyBB: 1.8.3
adres forum: www.DreamSkill.pl
na czym polega problem (screen, opis, komunikaty, nazwa i wersja wtyczki):

Poszukuję pluginu umożliwiającego nadawanie nagród coś jak Awards System na IPB.
Znalazłem UOGC cośtam (ale nie działał download) A teraz znalazłem "Achivement"
Ale nie potrafię zmienić kompatybilności na 1.8.3..
Po za płatnym: http://forums.mybb-plugins.com/Thread-My...ements-1-9
Pod tą wersję chyba nie ma jeszcze.
No a jak ze starymi takimi pluginami, znalazłem kilka ale w tym jednym nie mogę znaleźć linijki z uwzględnioną kompatybilnością....
W starych pluginach prawdopodobnie będą problemy z instalacją (struktura bazy danych), jednakże możesz popróbować.
udało mi się prawie całość ogarnąć na 1.8 gdzie nie gdzie "_" było potrzebne ale większość działa jak trzeba, głównym problem jest to że po nadaniu odpowiedniej "nagrody" nie ma jej w profilu i postach, może ktoś wie jakie są zmienne dodające je w te miejsca? :)



EDIT:
znalazłem zmienną i trochę przetłumaczyłem.. Dodałem kilka testowych nagród (ikonek z ACP tego pluginu zamiast bannerów które mnie interesują) ale jest pytanie czy można byłoby zrobić tak że tylko w profilu w tej zakładce nagrody są w 2/3 rzędach, a jak w postach to w jednym?


http://www.dreamskill.pl/member.php?acti...file&uid=1 i tutaj zakładka "Moje Nagrody"
(04.01.2015, 12:17)plajer napisał(a): [ -> ]/.../
czy można byłoby zrobić tak że tylko w profilu w tej zakładce nagrody są w 2/3 rzędach, a jak w postach to w jednym?


http://www.dreamskill.pl/member.php?acti...file&uid=1 i tutaj zakładka "Moje Nagrody"

Podaj tutaj kod pluginu, a zobaczymy, czy czyta funkcje osobno.
Ale o który kod ci chodzi? Bo trochę ten plugin ma swoich kodów i szablonów i wszystkiego..
Główny kod z pluginu.

Ale skoro ma szablony, to nie dzielą się na opisu posta i profilu?
Tak wygląda
achivements_postbit:
Kod:
{$lang->achivements}: {$achivements}
I w sumie tak by mogło zostać.. A w profilu dodałem samą zmienną "{$achivements}"
A tak wygląda szablon achivements_profil:
Kod:
<br />
<table id="achivements" border="0" cellspacing="{$theme['borderwidth']}" cellpadding="{$theme['tablespace']}" class="tborder">
<tr>
<td class="thead"><strong>{$lang->achsmemprofile}</strong></td>
</tr>
<tr>
<td class="trow1">
{$achivements}
</td>
</tr>
</table>


Ale jak wspomniałem ja użyłem tej zmiennej "{$achivements}", a jak użyć jednego z szablonów (nie dodały się automatycznie w poście i profilu) i jak edytować ten szablon _profile tak by było w dwóch rzędach lub trzech?


PS. Wszystkie szablony tego pluginu:
Kod:
achivements
achivements_empty
achivements_list
achivements_modcp
achivements_modcp_give
achivements_modcp_list
achivements_modcp_nav
achivements_modcp_quit
achivements_postbit
achivements_profile
achivements_usercp
achivements_usercp_all
Jeżeli zmienna $achivements w kodzie pluginu dotyczy profilu i postu razem, to ciężko będzie, bo korzystają z tej samej zmiennej, będzie trzeba przerabiać kod pluginu i dopisać osobną funkcję do profilu jak i postu.
to moze dam sobie spokój z tym..
a da radę chociaż by się ustawiały w rzędzie jedno pod drugim? Tak będzie napewno lepiej ;)
Bo w tym momencie nawet w "opisie posta" czyli w postach nagrody się ustawiają poziomo, a chyba lepiej by było pionowo
Pokaż co się kryje w zmiennej $achivements. (w kodzie pluginu jest)
za bardzo nie wiem czego potrzebujesz wiec caly kod z inc/plugins/achivements.php:
Kod:
<?php


if(!defined("IN_MYBB"))
{
    die("Direct initialization of this file is not allowed.<br /><br />Please make sure IN_MYBB is defined.");
}


if(defined("IN_ADMINCP"))
{
    require_once MYBB_ROOT."inc/plugins/achivements/include/extensions.php";
}
global $cache;
$extensionslist = $cache->read("extensions");
if(is_array($extensionslist['active']) && !empty($extensionslist['active']))
{
    foreach($extensionslist['active'] as $extension)
    {
        if($extension != "" && file_exists(MYBB_ROOT."inc/plugins/achivements/extensions/".$extension.".php"))
        {
            require_once MYBB_ROOT."inc/plugins/achivements/extensions/".$extension.".php";
        }
    }
}

require_once MYBB_ROOT."inc/plugins/achivements/include/hooks.php";

function achivements_info()
{
    require_once MYBB_ROOT."inc/plugins/achivements/include/plugin.php";
    return achivements_init_info();
}

function achivements_is_installed()
{
    require_once MYBB_ROOT."inc/plugins/achivements/include/plugin.php";
    return achivements_init_is_installed();
}

function achivements_install()
{
    require_once MYBB_ROOT."inc/plugins/achivements/include/plugin.php";
    achivements_init_install();
}

function achivements_uninstall()
{
    require_once MYBB_ROOT."inc/plugins/achivements/include/plugin.php";
    achivements_init_uninstall();
}

function extensions_add_settinggroup($name, $title, $description, $disporder)
{
    global $db;
    $setting_group = array(
        'name' => 'groupsextensions_'.$db->escape_string($name),
        'title' => $db->escape_string($title),
        'description' => $db->escape_string($description),
        'disporder' => $disporder,
        'isdefault' => 0,
        );
    $db->insert_query('settinggroups', $setting_group);
    $group = $db->insert_id();
    return $group;
}

function extensions_add_settings($name, $title, $description, $optioncode, $value, $disporder, $group)
{
    global $db;
    $insert_array = array(
        'name' => $db->escape_string($name),
        'title' => $db->escape_string($title),
        'description' => $db->escape_string($description),
        'optionscode' => $db->escape_string($optioncode),
        'value' => $db->escape_string($value),
        'gid' => $group,
        'disporder' => $disporder,
        'isdefault' => 0,
        );
    $db->insert_query('settings', $insert_array);
}

function extensions_remove_settings($name)
{
    global $db;
    $db->delete_query("settings", "name LIKE '".$name."'");
}

function extensions_remove_templates($templates)
{
    global $db;
    if (!$templates)
    {
        return false;
    }
    return $db->delete_query('templates', "title IN (".$templates.")");
}

function extensions_add_template($name, $template)
{
    global $db;
    
    if (!$name || !$template)
        return false;
    
    $templateinsert = array(
        "title" => $db->escape_string($name),
        "template" => $db->escape_string($template),
        "sid" => intval(-1)
    );

    return $db->insert_query("templates", $templateinsert);
}

function extensions_remove_settinggroup($name)
{
    global $db;
    $db->delete_query("settinggroups", "name='groupsextensions_".$name."'");
}

function extensions_lang($extension)
{
    global $lang;
    if ($extension == '')
        return;
        
    $lang->set_path(MYBB_ROOT."inc/plugins/achivements/extensions/languages");
    $lang->load($extension);
    $lang->set_path(MYBB_ROOT."inc/languages");
}

function get_achivements_posts()
{
    global $db;
    $posts = array();
    $query = $db->simple_select('achivements_posts', '*', '', array('order_by' => 'apid', 'order_dir' => 'ASC'));
    while($post = $db->fetch_array($query))
    {
        $posts[$post['apid']] = $post;
    }
    $db->free_result($query);
    return $posts;
}

function get_achivements_threads()
{
    global $db;
    $threads = array();
    $query = $db->simple_select('achivements_threads', '*', '', array('order_by' => 'atid', 'order_dir' => 'ASC'));
    while($thread = $db->fetch_array($query))
    {
        $threads[$thread['atid']] = $thread;
    }
    $db->free_result($query);
    return $threads;
}

function get_achivements_reputation()
{
    global $db;
    $reputations = array();
    $query = $db->simple_select('achivements_reputation', '*', '', array('order_by' => 'arid', 'order_dir' => 'ASC'));
    while($reputation = $db->fetch_array($query))
    {
        $reputations[$reputation['arid']] = $reputation;
    }
    $db->free_result($query);
    return $reputations;
}

function get_achivements_timeonline()
{
    global $db;
    $timeonline = array();
    $query = $db->simple_select('achivements_timeonline', '*', '', array('order_by' => 'toid', 'order_dir' => 'ASC'));
    while($time = $db->fetch_array($query))
    {
        $timeonline[$time['toid']] = $time;
    }
    $db->free_result($query);
    return $timeonline;
}

function get_achivements_regdate()
{
    global $db;
    $regdate = array();
    $query = $db->simple_select('achivements_regdate', '*', '', array('order_by' => 'rgid', 'order_dir' => 'ASC'));
    while($reg_date = $db->fetch_array($query))
    {
        $regdate[$reg_date['rgid']] = $reg_date;
    }
    $db->free_result($query);
    return $regdate;
}

function get_achivements_custom()
{
    global $db;
    $customs = array();
    $query = $db->simple_select('achivements_custom', '*', '', array('order_by' => 'acid', 'order_dir' => 'ASC'));
    while($custom = $db->fetch_array($query))
    {
        $customs[$custom['acid']] = $custom;
    }
    $db->free_result($query);
    return $customs;
}

function get_achivement_id($table='posts', $idtable='apid', $id)
{
    global $db;
    $query = $db->simple_select("achivements_{$table}", '*', "{$idtable}='{$id}'");
    $result = $db->fetch_array($query);
    return $result;
}

function achivements_get($orderdir='asc')
{
    global $db;
    static $get_achivements;
    $tables_and_ids = array('posts' => 'apid', 'threads' => 'atid', 'reputation' => 'arid', 'timeonline' => 'toid', 'regdate' => 'rgid', 'custom' => 'acid');
    $desc_by = array('posts', 'threads', 'reputation', 'timeonline', 'regdate', 'custom');
            
    foreach ($desc_by as $tablas)
    {
        switch ($tablas)
        {
            case 'posts':
                $order = array('order_by' => 'apid', 'order_dir' => $orderdir);
            break;
            
            case 'threads':
                $order = array('order_by' => 'atid', 'order_dir' => $orderdir);
            break;
                    
            case 'reputation':
                $order = array('order_by' => 'arid', 'order_dir' => $orderdir);
            break;
                    
            case 'timeonline':
                $order = array('order_by' => 'toid', 'order_dir' => $orderdir);
            break;
                    
            case 'regdate':
                $order = array('order_by' => 'rgid', 'order_dir' => $orderdir);
            break;
            
            case 'custom':
                $order = array('order_by' => 'acid', 'order_dir' => $orderdir);
            break;
        }
        $query = $db->simple_select('achivements_'.$tablas, '*', '', $order);
        while($achievement = $db->fetch_array($query))
        {
            $get_achivements[$tables_and_ids[$tablas]][$achievement[$tables_and_ids[$tablas]]] = $achievement;
        }
    }
    return $get_achivements;
}

?>

a jest jeszcze w głównym katalogu taki plik achivements.php ( z inną zawartością )
W kodzie pliku, który obecnie podałeś nic nie ma na ten temat, przeszukaj inne pliki od tego pluginów celu zweryfikowania miejsca zmiennej $achivements. Następnie podaj ten fragment tutaj.
poradzilem sobie juz sam


wszystko jest w pluginie, w opcjach w sensie... Jak będę miał czas to poprawię tłumaczenie, i ogarnę wszystko by już nigdzie nic nie wywalało błędów z bazą mysql i udostępnię plugin do pobierania. (oczywiście przedtem napisze do autora czy mogę udostepnić)
Stron: 1 2