PostNukeItalia.com

Archivio Problemi Risolti - Lettura documenti non registrati [dpDocs]

MasterWeb - 15 Gen 2005 - 10:13 AM
Oggetto: Lettura documenti non registrati [dpDocs]
Con questa soluzione sarete in grado di far leggere i documenti del modulo dpDocs anche agli utenti non registrati.

Il tutto è abbastanza semplice se andate in /modules/dpDocs/pnlang/ita/
trovere il file user.php apritelo all'inizio ci sono le seguenti istruzioni

Codice:

define('_DPD_NOAUTH', 'Accesso non autorizzato');
define('_DPD_LOGIN1', 'Non sei autorizzato a leggere il documento.');
define('_DPD_LOGIN2', 'Clicca su registrazione e riprova ad accedere');
define('_DPD_LOGIN3', 'Non sei autorizzato a inviare documenti.');
define('_DPD_LOGIN4', 'Non sei autorizzato a inviare il documento.');
define('_DPD_LOGIN5', 'Non sei autorizzato a stampare il documento.');
define('_DPD_LOGIN6', 'Non sei autorizzato a creare il PDF di qusto documento.');
define('_DPD_ONLYREG', 'Abilita solo agli utenti registrati');


queste definiscono gli errori di login bene ora andate in /modules/dpDocs/ e aprite il file pnuser.php e cercate l'errore di login che vi interessa ad esempio _DPD_LOGIN1 per autorizzare gli anonimi a leggere i documenti troverete

Codice:

if( !user_canread($mid) ) {
      $pnRender->assign('loginText', _DPD_LOGIN1);
      $out .= $pnRender->fetch('dpdocs_user_header.tpl');
      $out .= $pnRender->fetch('dpdocs_user_login.tpl', $mid);
      $out .= $pnRender->fetch('dpdocs_footer.tpl');   
      return $out;
   }


bene commentate tutto questo if e salvate il file. Il gioco è fatto ora tutti possono vedere i vostri documenti, ma gli anonimi non possono inviarlo via mail non possono creare il pdf o la versione stampabile se volete che possano fare una o tutte eliminate gli errori di login relativi _DPD_LOGIN4, _DPD_LOGIN5, _DPD_LOGIN6 gli altri io li lascerei come sono perchè diventerebbe un casino far modificare i documenti creati dagli utenti ad altri utenti ed addirittura da anonimi . Ah dimenticavo se eliminate _DPD_LOGIN4 fate attenzione commentate in questo modo

Codice:

//if( !user_canread($mid) ) {       
      //$pnRender->assign('loginText', _DPD_LOGIN4);       
      //$out .= $pnRender->fetch('dpdocs_user_login.tpl', $mid);
   //} else {
      $out .= $pnRender->fetch('dpdocs_user_send.tpl', $mid);
   //}


così il codice è come se eseguisse sempre l'else ma mi raccomando non togliete l'istruzione

Codice:

$out .= $pnRender->fetch('dpdocs_user_send.tpl', $mid);


del ramo else.
Spero di essere stato chiaro e/o utile ciao a tutti Laughing

***************************
Soluzione inviata da bstefano79
***************************
Tutti i fusi orari sono GMT
Powered by PNphpBB2 © 2003-2007 
Credits