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
***************************
Soluzione inviata da bstefano79
*************************** |