Mostrare moderazione veloce

Aperto da Flavio93Zena, Lunedì - 06 Aprile 2015 - 16:27

0 Utenti e 1 Visitatore stanno visualizzando questa discussione.

Flavio93Zena

Sto facendo un cambiamento molto complesso (incasellamento e arrotondamento lista topic, è un dannato macello ho scritto più di un centinaio di righe di css gà...) al tema di default e vorrei che la colonna della moderazione veloce venisse mostrata *SEMPRE* a tutti, anche se vuota (in caso sia settata su icone e non si abbiano i permessi di moderazione).
Allora so che devo reimpostare tutti gli utenti e questo posso farlo, però ho un dubbio su due cose, la prima è come devo modificare questo spezzone

// Show a "select all" box for quick moderation?
if (empty($context['can_quick_mod']))
echo '
<th scope="col" class="lefttext last_th" width="22%"><a href="', $scripturl, '?board=', $context['current_board'], '.', $context['start'], ';sort=last_post', $context['sort_by'] == 'last_post' && $context['sort_direction'] == 'up' ? ';desc' : '', '">', $txt['last_post'], $context['sort_by'] == 'last_post' ? ' <img src="' . $settings['images_url'] . '/sort_' . $context['sort_direction'] . '.gif" alt="" />' : '', '</a></th>';
else
echo '
<th scope="col" class="lefttext" width="22%"><a href="', $scripturl, '?board=', $context['current_board'], '.', $context['start'], ';sort=last_post', $context['sort_by'] == 'last_post' && $context['sort_direction'] == 'up' ? ';desc' : '', '">', $txt['last_post'], $context['sort_by'] == 'last_post' ? ' <img src="' . $settings['images_url'] . '/sort_' . $context['sort_direction'] . '.gif" alt="" />' : '', '</a></th>';

// Show a "select all" box for quick moderation?
if (!empty($context['can_quick_mod']) && $options['display_quick_mod'] == 1)
echo '
<th scope="col" class="last_th" width="24"><input type="checkbox" onclick="invertAll(this, this.form, \'topics[]\');" class="input_check" /></th>';

// If it's on in "image" mode, don't show anything but the column.
elseif (!empty($context['can_quick_mod']))
echo '
<th class="last_th" width="4%">&nbsp;</th>';
}

Di modo da fare visualizzare sempre quella dannata colonna. Un permesso usato da *tutti* potrebbe essere view info center (view_info_center), per esempio, oppure fare un banale show: true, ma non so bene come inserirlo.

L'altra cosa sarebbe come rimuovere la possibilità di selezionare "Don't show" dal profilo per la moderazione veloce.
Ho appena trovato il codice, è qui:
<label for="display_quick_mod">', $txt['display_quick_mod'], '</label>
<select name="default_options[display_quick_mod]" id="display_quick_mod">
<option value="0"', empty($context['member']['options']['display_quick_mod']) ? ' selected="selected"' : '', '>', $txt['display_quick_mod_none'], '</option>
<option value="1"', !empty($context['member']['options']['display_quick_mod']) && $context['member']['options']['display_quick_mod'] == 1 ? ' selected="selected"' : '', '>', $txt['display_quick_mod_check'], '</option>
<option value="2"', !empty($context['member']['options']['display_quick_mod']) && $context['member']['options']['display_quick_mod'] != 1 ? ' selected="selected"' : '', '>', $txt['display_quick_mod_image'], '</option>
</select>

Se io rimuovo banalmente la prima delle tre e lascio le altre due quale sarebbe quella di default?
Grazie in anticipo ::)

emanuele

CitazioneAllora so che devo reimpostare tutti gli utenti e questo posso farlo
Non serve se vai a togliere la logica nei file php.

// Show a "select all" box for quick moderation?
echo '
<th scope="col" class="lefttext last_th" width="22%"><a href="', $scripturl, '?board=', $context['current_board'], '.', $context['start'], ';sort=last_post', $context['sort_by'] == 'last_post' && $context['sort_direction'] == 'up' ? ';desc' : '', '">', $txt['last_post'], $context['sort_by'] == 'last_post' ? ' <img src="' . $settings['images_url'] . '/sort_' . $context['sort_direction'] . '.gif" alt="" />' : '', '</a></th>';

// Show a "select all" box for quick moderation?
if (!empty($context['can_quick_mod']) && $options['display_quick_mod'] == 1)
echo '
<th scope="col" class="last_th" width="24"><input type="checkbox" onclick="invertAll(this, this.form, \'topics[]\');" class="input_check" /></th>';

// If it's on in "image" mode, don't show anything but the column.
else
echo '
<th class="last_th" width="4%">&nbsp;</th>';
}


Tirando ad indovinare.

CitazioneSe io rimuovo banalmente la prima delle tre e lascio le altre due quale sarebbe quella di default?
Toglierlo è "corretto".
Quella di default sarà o quella selezionata dall'utente, oppure la prima della lista.

Flavio93Zena

No xD Non guardare gli altri mini-bug, sto facendo delle prove. Ah, accade da non loggati, da utenti registrati funziona ma chiaramente vorrei che funzionasse anche per gli ospiti ;)

Flavio93Zena

#3
Ora capisco perchè non mi hai ri-risposto subito... Non è affatto semplice! Ci sono moltissimi posti dove viene menzionato il quick_mod e non riesco a capire come si fa a rifarlo decentemente.
In pratica ora è impostato che se uno can_quick_mod alloa enono mosrati, ma è fatto malissimo perchè ci sono un sacco di altre righe che indicano quick_mod per la visualizzazione (o meno) dei vari tasti! Ma come? I tasti non sono relativi alla possibilità effettiva di poter chiudere/rimuovere/stickare/muovere un topic?!
So che potrebbe non essere semplice ma potresti spiegarmelo di modo che lo capisca e possa impararne il corretto funzionamento e di conseguenza essere capace di fare future modifiche da solo?
*sigh* quante domande :'( Beh quando puoi >_< anche perchè il forum per gli ospiti ora fa schifo e non posso tornare indietro...
Ovviamente grazie in anticipo come sempre @_@

P.S.: allego il mio file, se vuoi divertirti ;D

emanuele

ehh...

CitazioneMa come? I tasti non sono relativi alla possibilità effettiva di poter chiudere/rimuovere/stickare/muovere un topic?!
Sì, ma quante possibili combinazioni ci sono di permessi ed abilità di moderare topic?
Inoltre esistono due modalità: checkbox ed icone.

Per finire (o forse no), essendo quella fondamentalmente una tabella (lasciamo stare le discussioni filosofiche), devi fare in modo di eliminare la logica nell'intestazione e nel corpo, quindi due posti.
Lo schema da seguire è sostanzialmente lo stesso per i due posti e ricalca quello che ho postato io.

CitazioneSo che potrebbe non essere semplice ma potresti spiegarmelo di modo che lo capisca e possa impararne il corretto funzionamento e di conseguenza essere capace di fare future modifiche da solo?
ehh....
L'unico modo che conosco è quello che ho usato io per imparare: picchiaci la testa finché non funziona. xD

Flavio93Zena

Il punto è che non ho idea io stesso riguardo al "COME" metterlo D: Che cavolo di permesso dovrei utilizzare in tutti quei campi? D:

emanuele

Guarda il codice che ho scritto io.
Il punto non è "mettere un permesso", php non ha niente a che fare con i permessi, basta togliere quello che non serve.
Se il problema è non mostrarlo ai visitatori hai il "solito": $context['user']['is_guest'].

Flavio93Zena

Frena... Io intendo che ora c'è can_quick_mod però come hai detto tu ci sono una marea di combinazioni possibili... Ecco io vorrei capire a cosa diavolo serve sto benedetto quick_mod perchè non c'è nella lista ufficiale dei permessi, per cui deve essere un qualcosa di intrinseco associato ad ogni account in automatico, che però può essere disattivato, credo.
Il problema è che io *DEVO* mostrarlo ai visitatori, devo mostrare quella colonna, anche se vuota, a TUTTI per non rompere il template. Al momento ho rimediato con un leggero incasellamento temporaneo.
Il codice che hai scritto tu l'ho visto e l'ho capito, dopo che l'hai messo ho capito che avrei dovuto fare ma non arrivo al benedetto "step" successivo - capire a che serve quel quick_mod di modo da alterarlo  come voglio io... :(

emanuele

Esattamente, cosa significa per te "incasellamento e arrotondamento"?

Flavio93Zena

http://virtualinteractivege.com/index.php?board=6.0 fai ctrl f5 da loggato, dovresti vedere che l'ultima colonna è incasellata e arrotondata sia all'inizio sia alla fine (il codice per farlo è un PITA allucinante), stessa cosa qui: http://virtualinteractivege.com/index.php?action=mlist
Dovresti avere ancora i tuoi dati in pm, ma se mi chiedi di ricordarmelo appena ri-svegliato e mentre mi preparo per andare a cena... No, non li ricordo XD

emanuele


Flavio93Zena


emanuele

hmm... a me sembra uguale alla versione visitatori... a meno mi sia perso qualcosa.

L'obbiettivo è arrotondare il l'intestazione della tabella?

Flavio93Zena

Eh lol la faccio sembrare a quel modo ma non è così. I loggati hanno la colonna td.moderation che i guest non hanno. :P
Ah peraltro... Fai sempre ctrl+f5, la cache potrebbe rompere (ora la disattivo..)
L'obiettivo si ottiene solo se td.moderation è *SEMPRE* visibile, in qualsiasi caso, anche vuota. In pratica c'è un bordo esterno di 5px su di essa ma anche all'esterno di td.lastpost per ovviare al fatto che quando non c'è quella colonna si rompe il template... Per gli arrotondamenti non preoccuparti, so come utilizzare correttamente il selettore :last-child in css. ;)

Flavio93Zena

Peraltro side-idea... Ma se io assegnassi a tutti il permesso quick_mod? Non lo trovo in ManagePermissions però... Tuttavia se riuscissi a farlo la colonna verrebbe sempre mostrata :D
E' una cacchiata o ha un qualche senso? Peraltro dopo provo, spero di pescarti sul sito così se mi devi chiedere qualcosa al volo ti rispondo subito ;D

Discussioni simili (3)