No changing moderator's edit

Aperto da Flavio93Zena, Sabato - 04 Aprile 2015 - 17:07

0 Utenti e 1 Visitatore stanno visualizzando questa discussione.

Flavio93Zena

*sigh*
Parto con un piccolo ot... [OT]Un po' di tempo fa live mi stava simpatico, ma negli ultimi mesi mi pare essere diventato un cretino e risponde per lo più trollando o in chit chat e non risponde assolutamente dove "dovrebbe", mah.[/OT]
Sarebbe possibile portare quest'utilissima funzione a 2.0 magari ammodernandone il funzionamento (pessimo, visto che è basato sul nome invece che sul permesso edit_any)? E anche... Sarebbe fattibile in tempi umani oppure un PITA?
Link: http://mods.simplemachines.org/index.php?mod=117

Grazie in anticipo :( *sconsolato*

emanuele

Così ad occhio direi una mezz'ora di lavoro.
Ma al momento non posso.

Flavio93Zena

Beh se e quando puoi sarebbe una figata :) Ti ringrazio in ogni caso.

emanuele

#3
Display.php:
Codice (find) Seleziona
id_msg_modified < {int:new_from} AS is_read
Codice (add after) Seleziona
, mod_edit

Codice (find) Seleziona
'can_modify' => (!$context['is_locked'] || allowedTo('moderate_board')) && (allowedTo('modify_any') || (allowedTo('modify_replies') && $context['user']['started']) || (allowedTo('modify_own') && $message['id_member'] == $user_info['id'] && (empty($modSettings['edit_disable_time']) || !$message['approved'] || $message['poster_time'] + $modSettings['edit_disable_time'] * 60 > time()))),
Codice (add after) Seleziona
'mod_edit' => $message['mod_edit'],

Settings.template.php:
stessa roba, cerca show_modify

Modifications.english.php:
stessa roba

Display.template.php:
Codice (find) Seleziona

if ($settings['show_modify'] && !empty($message['modified']['name']))

Codice (replace with) Seleziona

if ($settings['show_modify'] && !empty($message['modified']['name']) && !($message['mod_edit'] && $settings['hide_modEdit']) )


Post.php:
Codice (find) Seleziona

if (!empty($_REQUEST['msg']))
{

Codice (add after) Seleziona

$msgOptions['mod_edit'] = $user_info['is_admin'] || $user_info['is_mod'] ? '1' : '0';


I prossimi non ci sono nell'originale, ma onestamente senza non mi spiego come possa funzionare:
Codice (find) Seleziona

$request = $smcFunc['db_query']('', '
SELECT id_member, poster_name, poster_email, poster_time, approved

Codice (add after) Seleziona
, mod_edit

Codice (find) Seleziona
$request = $smcFunc['db_query']('', '
SELECT
t.locked, t.num_replies, t.id_member_started, t.id_first_msg,

Codice (add after) Seleziona
mod_edit,

Codice (find) Seleziona
$request = $smcFunc['db_query']('', '
SELECT
m.id_member, m.modified_time, m.smileys_enabled, m.body,

Codice (add after) Seleziona
mod_edit,

Codice (find) Seleziona
// Get the existing message.
$request = $smcFunc['db_query']('', '
SELECT
m.id_member, m.modified_time, m.smileys_enabled, m.body,

Codice (add after) Seleziona
mod_edit,


Ed il seguente lo devi ripetere 4 volte:
Codice (find) Seleziona
if ($row['id_member'] == $user_info['id'] && !allowedTo('modify_any'))
Codice (replace with) Seleziona
if ($row['id_member'] == $user_info['id'] && !allowedTo('modify_any') && empty($row['mod_edit']))

Subs-Post.php:
Codice (find) Seleziona
if (isset($posterOptions['name']))
$messages_columns['poster_name'] = $posterOptions['name'];

Codice (add after) Seleziona

$messages_columns['mod_edit'] = $msgOptions['mod_edit'];

emanuele


Flavio93Zena

Oh Madonna santa... Cavolo grazie deve essere stata durissima mettere tutta quella roba in un solo post! Appena ho voglia di farmi venire mal di testa ci provo e ti so dire perchè quasi sicuramente dovrò adattare visto il numero di mod che ho installate... Di solito riesco a farlo di mio ma non sempre :P
Grazie, grazie ancora! Fantastico :D Buona serata! (Anche se ho aperto altri due topic piuttosto "tecnici", questo era di gran lunga il più difficile ;D)

Citazione di: emanuele il Lunedì - 06 Aprile 2015 - 20:57
Ovviamente non è testato.
Ovvio ;D Ho idea che proverò prima sul forum di test essendo che è una modifica abbastanza grossa :)

Flavio93Zena

Stavo ripensando a questa cosa e mi chiedevo quanto fosse diciamo eticamente corretto impedire la modifica a *qualsiasi* messaggio dopo che è stato modificato da un moderatore, che potrebbe anche correggere un typo o un errore concettuale in qualche modo... Per cui... Sarebbe possibile fare diciamo un checkbox all'atto di modificare il post e lasciar decidere al moderatore se bloccare o meno future modifiche? Peraltro... Se uno si sbagliasse (lol)? Quanto sarebbe folle e rompiscatole mettere la possibilità di annullarlo?

emanuele

Tutto è possibile (ok, quasi tutto, ma... Do The Impossible / See The Invisible / Raw! Raw! / Fight The Power!), basta trovare qualcuno che lo fa. :P

Eticamente trovo più corretto che il moderatore si faccia i caxxi suoi e non corregga i typo per essere onesto. Vero che a volte si fa prima a correggere un tag sbagliato che non spiegare all'utente come correggerlo...

Nel codice riportato sopra il cambio potrebbe essere qualcosa tipo:
$msgOptions['mod_edit'] = $user_info['is_admin'] || $user_info['is_mod'] && !empty($_POST['mod_edit']) ? '1' : '0';
Poi c'è da aggiungere il checkbox nella pagina di post che se spuntato blocca l'editing ed il cui name deve essere mod_edit.

Flavio93Zena

Citazione di: emanuele il Lunedì - 13 Aprile 2015 - 20:50
Tutto è possibile (ok, quasi tutto, ma... Do The Impossible / See The Invisible / Raw! Raw! / Fight The Power!),
Go home, you're drunk ;D

Citazione di: emanuele il Lunedì - 13 Aprile 2015 - 20:50
basta trovare qualcuno che lo fa. :P
Sei tu lo scienziato pazzo e io il folle che ti viene dietro e ti dà corda xD

Citazione di: emanuele il Lunedì - 13 Aprile 2015 - 20:50
Eticamente trovo più corretto che il moderatore si faccia i caxxi suoi e non corregga i typo per essere onesto.
:P

Citazione di: emanuele il Lunedì - 13 Aprile 2015 - 20:50Vero che a volte si fa prima a correggere un tag sbagliato che non spiegare all'utente come correggerlo...
Esattamente questo che intendevo, oppure in fase di moderazione quando uno va a modificare un post e il tizio se lo ri-modifica giusto per romperti le palle. Non è per molestare gli utenti ::)

Citazione di: emanuele il Lunedì - 13 Aprile 2015 - 20:50
Nel codice riportato sopra il cambio potrebbe essere qualcosa tipo:
$msgOptions['mod_edit'] = $user_info['is_admin'] || $user_info['is_mod'] && !empty($_POST['mod_edit']) ? '1' : '0';
Per favore edita il messaggio sopra così sono tutti in un posto :)

Citazione di: emanuele il Lunedì - 13 Aprile 2015 - 20:50
Poi c'è da aggiungere il checkbox nella pagina di post che se spuntato blocca l'editing ed il cui name deve essere mod_edit.
Hmm (grazie per avermici fatto pensare :) ), se dicessi...
Codice (trova) Seleziona

', $context['show_approval'] ? '<li><label for="approve"><input type="checkbox" name="approve" id="approve" value="2" class="input_check" ' . ($context['show_approval'] === 2 ? 'checked="checked"' : '') . ' /> ' . $txt['approve_this_post'] . '</label></li>' : '', '
', $context['can_changeallsubjects'] ? '<li><label for="check_changeallsubject"><input type="checkbox" name="changeallsubject" id="check_changeallsubject" class="input_check" /> ' . $txt['changeallsubject'] . '</label></li>' : '', '


Codice (add after) Seleziona

', $context['can_edit_any'] ? '<li><label for="check_modedit"><input type="checkbox" name="modedit" id="check_mod_edit" class="input_check" /> ' . $txt['edit_any'] . '</label></li>' : '', '

Definendo una qualche stringa di testo [mod_edit] in qualche file di lingua. Che te ne pare? Non sono sicurissimo perchè non ho mai zazzicato con i checkbox (difatti non capisco bene la differenza fra label, name e id).

emanuele

Citazione di: Flavio93Zena il Lunedì - 13 Aprile 2015 - 22:31
Citazione di: emanuele il Lunedì - 13 Aprile 2015 - 20:50
Tutto è possibile (ok, quasi tutto, ma... Do The Impossible / See The Invisible / Raw! Raw! / Fight The Power!),
Go home, you're drunk ;D
Youngster

https://www.youtube.com/watch?v=xSBSxZzRfyE Solo perché il video è meglio delle immagini statiche degli altri. :P

Citazione di: Flavio93Zena il Lunedì - 13 Aprile 2015 - 22:31
Citazione di: emanuele il Lunedì - 13 Aprile 2015 - 20:50Vero che a volte si fa prima a correggere un tag sbagliato che non spiegare all'utente come correggerlo...
Esattamente questo che intendevo, oppure in fase di moderazione quando uno va a modificare un post e il tizio se lo ri-modifica giusto per romperti le palle. Non è per molestare gli utenti ::)
Ma questo lo può fare con qualunque altro post... quindi alla fine se devi moderare qualcuno così la soluzione è un ban di una settimana o altro periodo a scelta.

Citazione di: Flavio93Zena il Lunedì - 13 Aprile 2015 - 22:31
Per favore edita il messaggio sopra così sono tutti in un posto :)
No, son due cose diverse. E poi non ho voglia. :P

Citazione di: Flavio93Zena il Lunedì - 13 Aprile 2015 - 22:31
Codice (add after) Seleziona

', $context['can_edit_any'] ? '<li><label for="check_modedit"><input type="checkbox" name="modedit" id="check_mod_edit" class="input_check" /> ' . $txt['edit_any'] . '</label></li>' : '', '

Citazione di: emanuele il Lunedì - 13 Aprile 2015 - 20:50
Poi c'è da aggiungere il checkbox nella pagina di post che se spuntato blocca l'editing ed il cui name deve essere mod_edit.
mod_edit != modedit

;)

Flavio93Zena

#10
Citazione di: emanuele il Lunedì - 13 Aprile 2015 - 23:25
Youngster

https://www.youtube.com/watch?v=xSBSxZzRfyE Solo perché il video è meglio delle immagini statiche degli altri. :P
:o O_O

Citazione di: emanuele il Lunedì - 13 Aprile 2015 - 23:25
Ma questo lo può fare con qualunque altro post... quindi alla fine se devi moderare qualcuno così la soluzione è un ban di una settimana o altro periodo a scelta.
Parla lui di ban quando ha esistato fin troppo a bannare *evitiamo* ;D Davvero, come te non voglio ricorrere ai ban ;)

Citazione di: emanuele il Lunedì - 13 Aprile 2015 - 23:25
No, son due cose diverse. E poi non ho voglia. :P
...LOL, sto zitto xD

Citazione di: emanuele il Lunedì - 13 Aprile 2015 - 23:25
mod_edit != modedit

;)
Ikr, ma come ti ho detto non capisco cosa siano nè le differenze fra label, id e name... Ho preso ispirazione da quella sopra di change all subject, ma nemmeno ora so se è giusto...
', $context['can_edit_any'] ? '<li><label for="check_mod_edit"><input type="checkbox" name="mod_edit" id="check_mod_edit" class="input_check" /> ' . $txt['mod_edit'] . '</label></li>' : '', '
^^ this?

emanuele

Citazione di: Flavio93Zena il Martedì - 14 Aprile 2015 - 00:13
Citazione di: emanuele il Lunedì - 13 Aprile 2015 - 23:25
Youngster

https://www.youtube.com/watch?v=xSBSxZzRfyE Solo perché il video è meglio delle immagini statiche degli altri. :P
:o O_O
Ed ora a furia di ascoltarla mi sta venendo la voglia di rivedere Gurren Lagann... *roll*

Citazione di: Flavio93Zena il Martedì - 14 Aprile 2015 - 00:13
', $context['can_edit_any'] ? '<li><label for="check_mod_edit"><input type="checkbox" name="mod_edit" id="check_mod_edit" class="input_check" /> ' . $txt['mod_edit'] . '</label></li>' : '', '
^^ this?
Should do.

Flavio93Zena


Discussioni simili (3)