• User Attivo

    impostare colore in base al level

    if(ismod($uid))
    if(!sowner(getuid_sid($sid)))
    if(isheadadmin(getuid_sid($sid)))
    if(isadmin(getuid_sid($sid)))

    vorrei in base a questi livelli impostare un colore in questo codice:

    echo "<span class="time">[$ds]</span><a href="chat.php?action=say2&sid=$sid&who=$chat[0]&rid=$rid&rpw=$rpw"><span class="nickname">$optlink</span></a> - ";
    echo "<span style="color:#$colorchatmsg[0]">".strtolower($tosay)."</span><br/>";

    blu se è mod, verde se owner giallo se headadmin e rosso se admin.
    deepblue se normale utente...qualcuno riesce a aiutarmi???:():

    grazie


  • Consiglio Direttivo

    Ciao hiwap3 😉
    hai provato a impostare i livelli/colori in una tabella e quindi uscirti fuori il dato da impostare come colore?
    ovvero una tabella che contenga
    livello - colore associato
    ??


  • User Attivo

    le ho provate tutte...perfino cosi:

    [PHP]
    if(ismod($uid)) {
    $addClass = " Blued";
    }
    else {
    if(isowner(getuid_sid($sid)))
    {
    $addClass = " Greened";
    }
    else {
    if(isheadadmin(getuid_sid($sid))) {
    $addClass = " Yellowed";
    }
    else {
    if(isadmin(getuid_sid($sid))) {
    $addClass = " Redded";
    }
    else {
    $addClass = " Default";
    }
    }
    }
    }
    echo "<span class="time">[$ds]</span><a href="chat.php?action=say2&sid=$sid&who=$chat[0]&rid=$rid&rpw=$rpw"><span class="$addClass">$optlink</span></a> - ";
    [/PHP]

    mi esce il blued x tutti gli utenti 😞


  • Consiglio Direttivo

    Se la vuoi gestire così ti consiglio vivamente di usare gli else if invece di fare tutta quella scala di else---if---else---if...., rallenti tutto e rendi il codice poco leggibile

    quindi qualcosa del genere:
    [php]if (sei admin)
    {
    $addClass="coloreadmin";
    }
    else if (sei mod)
    {
    $addClass="coloremod";
    }
    else if (..............)
    {
    ............etc etc
    }
    else
    {
    $addClass="Default";
    }[/php]Se la vuoi gestire tramite Db ti puoi creare una tabella con i campi:

    Livello | classe_colore
    Admin | classcoloradmin
    Mod | classcolormod
    .......
    etc etc

    Alla selezione, anche con un semplice JOIN o con una query a parte, tiri fuori dalla tabella il valore di classe_colore associato al livello dell'utente.

    SELECT bla bla bla bla WHERE livello='$livello'
    ```Spero di esser stato chiaro nella spiegazione :D
    :ciauz: