Jump to content

Profilo visibile solo agli amici


najaru

Recommended Posts

Se volete che le vostre informazioni del profilo siano visibili solo agli amici potete eseguire questa modifica:

Aprire questo file:

admin\applications\members\modules_public\profile\view.php

e cercare

//-----------------------------------------		// Check input..		//-----------------------------------------		if ( ! $member_id )		{			$this->registry->output->silentRedirect(  $this->settings['base_url'] );		}

Aggiungi sotto:

if ( !$this->memberData['g_is_supmod'] )		{			if ( $this->memberData['member_id'] != $member_id AND  !IPSMember::checkFriendStatus( $member_id ) )			{				$this->registry->output->showError('Non sei  nella lista dei miei amici, quindi non puoi visualizzare il mio  profilo.' );			}		}
Edited by Skillman_92
bisogna rivedere il codice! g_is_supermod limita ai supermod di fatto!
Link to post
Share on other sites
  • 3 years later...
trattore

e carino, ma toglie la possibilità di aggiungere gli utenti alla lista amici accedendo ai profili..limita quella opzione

Link to post
Share on other sites
BomAle

è meglio intervenire svuotando l'array che si genera da:

$member	= IPSMember::load( $member_id, 'profile_portal,pfields_content,sessions,groups', 'id' );

modificando ad esempio in:

if( !$this->memberData['g_is_supmod'] ){    //l'utente loggato è amico dell'utente che si vuole visualizzare?    if($this->memberData['member_id'] != $member_id AND !IPSMember::checkFriendStatus( $member_id ))    {        $member = IPSMember::load( $member_id, 'profile_portal,sessions,groups', 'id' );    }    //l'utente loggato sta visualizzando il suo profilo?    elseif($this->memberData['member_id'] == $member_id)    {        $member = IPSMember::load( $member_id, 'profile_portal,pfields_content,sessions,groups', 'id' );    }}else{    $member = IPSMember::load( $member_id, 'profile_portal,pfields_content,sessions,groups', 'id' );}

OPPURE si può agire qui

		/* Build data */		$member = IPSMember::buildDisplayData( $member, array( 'customFields' => 1, 'cfSkinGroup' => 'profile', 'checkFormat' => 1, 'cfGetGroupData' => 1, 'signature' => 1, 'spamStatus' => 1 ) );
  • Like 1
Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • BomAle
      By BomAle
      Ogni sviluppatore di Invision Power Board per sfruttare il sistema di aggiornamento interno della piattaforma deve realizzare uno script per permettere ai clienti di controllare nuove versioni del plugin.
       
      Per permettere allo sviluppatore ciò il team IPS ha predisposto, dalla 3.1.x, il metodo $_GET.
       
      Il codice
      /* PATH (IPS_ROOT_PATH, DOC_IPS_ROOT_PATH) */define('MY_IPB_LOCATION', '/home/****/public_html/forum/');require_once( MY_IPB_LOCATION . '/initdata.php' );require_once( MY_IPB_LOCATION . CP_DIRECTORY . '/sources/base/ipsRegistry.php' );$registry = ipsRegistry::instance();$registry->init();/******* INIZIO CLASSE *******//** * Class versionCheck for IPB Hooks & Apps * @version 1.0.0 * @author Amged Osman * @link http://amgedosman.com/ * @date 11:19 PM Friday, December 6, 2013 */ class versionCheck{ private $ipb30x = array ( '30001', '30003','30004', '30005', '30008', '30009', '30010', '30011', '30012'); private $ipb31x = array ( '31000','31003', '31004', '31005', '31006','31007'); private $ipb32x = array ( '32000', '32001', '32002', '32003', '32004', '32005', '32006', '32007'); private $ipb33x = array ( '33000','33007', '33009', '33010', '33012', '33013', '33014', '33015', '33016'); private $ipb34x = array ( '34000', '34005', '34007', '34008', '34009', '34010', '34011', '34012' ); public $TRUEorFALSE = array (true => 1, false => 0); public $theReturn = true; public $debug = 0; public $TRUEorFALSE_debug = array (true => 'Update Available', false => "You're up-to-date"); /** * @access public * autoRun for the class & switch */ public function autoRun(){ $this->boardVersion = isset($_GET['boardVersion']) ? $_GET['boardVersion'] : 00000; $this->version = isset($_GET['version']) ? $_GET['version'] : 00000; $this->fileId = isset($_GET['fileid']) ? $_GET['fileid'] : 000; switch ($this->fileId){ case '000': default: $this->showNone(); break; case '6766': $this->pmod_all(); break; } return $this->results; $this->_returnResults(); exit(); } /** * @access protected * later on this will return the public functions return to the index.php */ protected function _returnResults(){ return $this->results; } /** * @return (advanced) HTML & the update status * @access public */ public function showNone(){ $this->theReturn = false; $html = "No Id Passed"; $this->results = array ('html' => $html, 'return' => $this->theReturn ); } /** * @return (advanced) HTML & the update status * @access public */ public function pmod_all(){ $latestFileVersion = 20001; if (in_array($this->boardVersion , $this->ipb30x) ){ $latestFileVersion = 10000; } if (in_array($this->boardVersion , $this->ipb31x) ){ $latestFileVersion = 10000; } if ($latestFileVersion <= $this->version ){ $this->theReturn = false; } $html = $this->TRUEorFALSE[$this->theReturn]; if ($this->debug === 1){ $html = "Latest File: {$latestFileVersion}<br />Current Version: {$this->version}<br />{$this->TRUEorFALSE_debug[$this->theReturn]}"; } $this->results = array ('html' => $html, 'return' => $this->theReturn ); } }/******* FINE CLASSE *******/$versionCheckClass = new versionCheck();$versionCheckClass->debug = 0;$results = $versionCheckClass->autoRun();echo $results['html'];return $results['return']; Funzionamento
      La richiesta passa nello script chiamando la classe versionCheck e stampa a video 1 se c'è un aggiornamento e 0 se non presente.
       
      Configurazione
      Per inserire un nuovo elemento nel processo bisogna creare un "case" nella funzione autoRun esempio
      case '6766': $this->pmod_all(); break; quindi bisogna creare un metodo/funzione esempio
      public function pmod_all(){ $latestFileVersion = 20001; if (in_array($this->boardVersion , $this->ipb30x) ){ $latestFileVersion = 10000; } if (in_array($this->boardVersion , $this->ipb31x) ){ $latestFileVersion = 10000; } if ($latestFileVersion <= $this->version ){ $this->theReturn = false; } $html = $this->TRUEorFALSE[$this->theReturn]; if ($this->debug === 1){ $html = "Latest File: {$latestFileVersion}<br />Current Version: {$this->version}<br />{$this->TRUEorFALSE_debug[$this->theReturn]}"; } $this->results = array ('html' => $html, 'return' => $this->theReturn ); } È possibile effettuare un debug (controllo delle variabili passate dall'url) cambiando il valore a 1, abilitatelo per un analisi e reimpostate 0 quanto possibile...
      $versionCheckClass->debug = 1;  e ricordatevi di specificare i parametri di get boardVersion e version esempio
      http://vostrosito.it/check.php?&boardVersion=34000&version=20000&fileid=6766 Utilizzo
      Salvate il codice in una pagina di ip.content o creando un file nell'ftp, nel mio caso check.php, in una directory a piacere...
      Recatevi presso le impostazioni della hook creata e aggiungete in "Update URL" la pagina web esempio
      http://www.invisionita.it/bomale/hook/check.php?&fileid=6766 ricordandovi di specificare il "fileid" passato nello switch di autoRun()
      infine per controllare gli aggiornamenti delle hook seguite il link di seguito...
      http://vostrosito.it/admin/index.php?&app=core&module=applications&section=hooks&do=hooks_overview&checkUpdates=1 Ringrazio amgedosman per l'articolo originale in inglese, e per le istruzioni passo passo di Michael (2011)
    • Power Admin
      By Power Admin
      .
      Per poter abilitare un determinato gruppo utenti (si consiglia di farlo solo con i gruppi amministratori)
      Innanzitutto è necessario Impostare in ciascun forum la possibilità di postare HTML:

      ACP-->Forum-->Manage Forum--> sul forum voluto Edit Setting --> Enable HTML Posting (where allowed) YES
      In seguito bisogna abilitare il gruppo voluto


      ACP-->Member-->Manage User Group-->sul gruppo voluto Edit Group-->Global-->Can post HTML? YES
      Come ultima operazione è necessario al momento del post, cliccare su più opzioni e abilitare l'HTML nel post
    • najaru
      By najaru
      Per poter avere una statistica dei topic più visti in un determinato periodo è necessario lanciare una query nel mysql, tipo quella seguente. Ovviamente è necessario cambiare le date a seconda del periodo interessato
      SELECT t.tid, t.title, COUNT(*) AS topic_postsFROM ibf_posts pLEFT JOIN ibf_topics t ON (t.tid=p.topic_id)WHERE FROM_UNIXTIME(p.post_date) BETWEEN '2010-01-01' AND '2010-01-31'GROUP BY t.tidORDER BY topic_posts DESC
    • najaru
      By najaru
      A volte il numero di aggiornamenti di stato visualizzati nella hook della sidebar della board index può essere troppo elevato.
      Per diminuirli è possibile fare:
      Template - Board Index - hookBoardIndexStatusUpdates:
      Aggiungere in alto:

      <php>array_splice($updates, 5);</php> Ovviamente impostando al posto del 5 il numero di aggiornamenti desiderati.
      [source]Michael[/source]
    • najaru
      By najaru
      Per visualizzare 4 colonne di smileys piuttosto che 2 nelll'editor IPB
      aprire /public/js/ips.editor.js
      intorno alla linea 2165:
      var perrow = 2; cambiare il valore 2, di solito mettendo 4 ha un bell'aspetto.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. to insert a cookie message.