MyBB Nederland
Knop in profiel - Afdrukversie

+- MyBB Nederland (http://mybbnederland.nl)
+-- Forum: MyBB Hulp (/forumdisplay.php?fid=5)
+--- Forum: Algemene hulp (/forumdisplay.php?fid=6)
+--- Discussie: Knop in profiel (/showthread.php?tid=304)



Knop in profiel - Tazmaniac - 10-16-2013 09:05 PM

Duidelijke omschrijving van het probleem:
knopje in profiel maken

Beste myBB,

ik heb een shoutbox op het forum.
Dit is de plugin ervan: http://mods.mybb.com/view/myshoutbox
De één vindt hem leuk,de ander niet.

Nu wil ik een button in UserCS maken waarmee je zelf deze shoutbox onzichtbaar kan maken.

Er zijn wel andere methodes om deze voor bepaalde members onzichtbaar te maken: shoutban, andere groep maken bv ''gebruikers zonder shout'',maar ik wil dat leden zelf kunnen kiezen of ze deze shoutbox kunnen zien ja/nee.

Het minimaliseren dmv collapsing gaat ook niet werken want na refreshen staat de shoutbox er weer..

Ben heel benieuwd of dit te realiseren is.

Alvast bedankt voor jullie inbreng.


RE: Knop in profiel - koenwi - 10-17-2013 10:35 AM

Het is mogelijk met enkele aanpassingen:

- Onderaan de plugin moet je deze functie toevoegen:
PHP-code:
$plugins->add_hook("usercp_options_end""sb_usercp_options");
$plugins->add_hook("usercp_do_options_end""sb_usercp_options");
function 
sb_usercp_options()
{
    global 
$db$mybb$templates$user;

    if(
$mybb->request_method == "post")
    {
        
// We're saving our options here
        
$update_array = array(
            
"usesb" => intval($mybb->input['usesb'])
        );

        
$db->update_query("users"$update_array"uid = '".$user['uid']."'");
    }

    
$usercp_option '</tr><tr>
<td valign="top" width="1"><input type="checkbox" class="checkbox" name="usesb" id="usesb" value="1" {$GLOBALS[\'$usesbcheck\']} /></td>
<td><span class="smalltext"><label for="usesb">Zie shoutbox</label></span></td>'
;

    
$find '{$lang->show_codebuttons}</label></span></td>';
    
$templates->cache['usercp_options'] = str_replace($find$find.$usercp_option$templates->cache['usercp_options']);

    
// We're just viewing the page
    
$GLOBALS['$usesbcheck'] = '';
    if(
$user['usesb'])
    {
        
$GLOBALS['$usesbcheck'] = "checked=\"checked\"";
    }


- Vervolgens zoek je in de plugin achter de functie: function myshoutbox_can_view()
Daarin verander je:
if ($mybb->usergroup['canview'] == 0) // can view the board?
in:
if ($mybb->usergroup['canview'] == 0 || $mybb->user['usesb'] == 0) // can view the board?

- En als laatste voer je volgende query uit:
ALTER TABLE mybb_users ADD usesb int(1) NOT NULL default '1'
(waarbij je mogelijk 'mybb_' nog moet wijzigen naar je eigen gebruikte prefix.)

Vanaf dan kunnen leden bij hun instellingen aangeven of ze de shoutbox willen zien of niet. Standaard staat het aan.


RE: Knop in profiel - Tazmaniac - 10-17-2013 11:37 AM

Hallo Koenwi,

ik heb alles gedaan wat je beschreven hebt.
De optie staat nu in de instellingen en staat inderdaad standaard op aan.
Wanneer ik deze uitvinkt en opslaat zie ik nog steeds de shoutbox.
Iets zal er niet goedgegaan zijn.
Bij de query kreeg ik geen foutmelding.

Edit: Alles doet het.
Ik had de laatste bewerking niet opgeslagen in de plugin..
Klein vraagje nog: Als ik standaard NIET de shoutbox wilt zien,wat moet ik dan precies aanpassen?


RE: Knop in profiel - koenwi - 10-17-2013 01:06 PM

Voor nieuwe leden: de standaardwaarde van usesb in je database in 0 veranderen. (kan je makkelijk via phpmyadmin)

Voor bestaande leden kan je volgende query uitvoeren:
UPDATE mybb_users set usesb = 0


RE: Knop in profiel - Tazmaniac - 10-17-2013 01:11 PM

Erg bedankt voor je info.
Ik zal het in de groep gooien wat de ''standaard'' wordt.
Zelf denk ik van standaard aan zetten.

Nogmaals dank voor de tips/adviezen.


RE: Knop in profiel - Tazmaniac - 10-21-2013 03:03 PM

Ik heb nog een heel klein vraagje hierover.
Alles werkt uitstekend maar zou het mogelijk zijn voor de admins om in ACP ook die optie te kunnen hebben bij de members?
Met andere woorden: is het veel werk om deze functie ook in ACP in te bouwen zodat een admin in het gebruikersprofiel deze optie ook aan/uit kan zetten?