Skip to topic | Skip to bottom
Home
Search:

Local
Local.ImcToscanaTecnicaOscailtNascostimotivazioner1.3 - 01 Aug 2007 - 21:31 - CaSetopic end
You are here: Local > ImcToscana > ImcToscanaTecnica > ImcToscanaTecnicaOscailt > ImcToscanaTecnicaOscailtNascostimotivazione

Start of topic | Skip to actions

Visualizzazione del motivo per cui un articolo è stato nascosto

Oscailt in caso di azioni su articoli o sezioni, fra cui appunto l'"hide" di un post, permette di inserire in un apposito form il motivo dell'azione intrapresa. Tale motivo verrà spedito a un indirizzo di posta (toscana-notify? definito nella sezione "Email Settings" alla voce "Notification To Address" della pagina "Modifica Configurazione" del pannello di amministrazione di Oscailt) insieme al nome dell'utente che ha intrapreso l'azione, quando, su cosa, ecc.

Utilizzando questa funzionalità, si può, integrando il codice php, scrivere in una tabella del database la motivazione. Quando poi verrà visualizzato sul sito un articolo nascosto, verrà succhiata la relativa motivazione dal database e scritta in testa alla pagina di visualizzazione.

Vedi anche ImcToscanaTecnicaOscailtNascosti.

Operazioni da fare

1. Database

Questa è la nuova tabella creata: $prefix.hide_reason.
($prefix è la variabile usata nei vari script PHP che identifica il prefisso delle tabelle definito in fase di installazione, es. "imc_toscana" o "imc_ireland"; perciò, ovviamente, dentro mysql va creata la tabella col nome "imc_ireland_hide_reason").

Campo Tipo Collation Attributi Null Predefinito
story_id int(11)     No  
reason varchar(255) utf8_general_ci   No  
time timestamp   ON UPDATE CURRENT_TIMESTAMP No CURRENT_TIMESTAMP

2. file objects/itemaction.inc

In objects/itemaction.inc è dove viene spedito il messaggio, contenente fra l'altro il motivo dell'azione.

Alla riga 391 circa, nella funzione sendNotification:

   // mette il motivo nella nuova tabella (vedi poi indyruntime/articledisplay.inc)

   global $prefix, $dbconn;
   if ( preg_match("/^hide/",$subject_str)) {
      logMessage($subject_str."---".$action."---- ".$this->item_id."mmmmm ".$reason,"userga.txt");
      $reason = utf8_encode(strip_tags($reason));
      $time = "NULL";
      checkForError(sql_query("INSERT into ".$prefix."_hide_reason values ('$this->item_id', '$reason', $time)", $dbconn, 2));
   } elseif ( preg_match("/^unhide/",$subject_str)) {
      checkForError(sql_query("DELETE from ".$prefix."_hide_reason where story_id = $this->item_id", $dbconn, 2));
   }
     
   /////

3. file objects/indyruntime/articledisplay.inc

In objects/indyruntime/articledisplay.inc ci sta invece la roba relativa al modulo per visualizzare gli articoli.

Alla riga 557 circa, nella funzione writeArticleHeader, dopo $this->writeDisplayHeader(); c'è da aggiungerci una roba tipo:

if($story->hidden== true ) {
   global $prefix, $dbconn;
   $result = sql_query("SELECT story_id, reason FROM ".$prefix."_hide_reason WHERE story_id='$_REQUEST[story_id]'", $dbconn, 1);

   $row = mysql_fetch_array($result);
   echo '<div align="center">';
   echo "Il post con l'ID ".$_REQUEST[story_id]." &egrave; stato NASCOSTO con la seguente <strong>motivazione</strong>:<br />";
   if (!$row[reason]=="") {
      echo utf8_decode($row[reason]);
   } else {
      echo "Motivazione non disponibile nel database.";
   }
   echo "<br /><br />";
   echo '</div>';
   echo '<div align="center" class="confirmbox"><p class="confirmheader">NOTA: ARTICOLO NASCOSTO</p></div>';
   echo "<br />";
   echo "<br />";
}

Nota: writeDisplayHeader stampa il campo Article Notice del modulo Article View Module 2200.
to top


Local.ImcToscanaTecnicaOscailtNascostimotivazione moved from Local.ImcToscanaTecncaOscailtNascostimotivazione on 01 Aug 2007 - 21:35 by CaSe - put it back
You are here: Local > ImcToscana > ImcToscanaTecnica > ImcToscanaTecnicaOscailt > ImcToscanaTecnicaOscailtNascostimotivazione

to top

Copyright © 1999-2008 by the contributing authors.
All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding this tool? Send feedback (in English, Francais, Deutsch or Dutch).