Diff
checker
Testo
Testo
Immagini
Documenti
Excel
Cartelle
Legal
Enterprise
Applicazione per desktop
Prezzi
Accedi
Scarica Diffchecker Desktop
Confronta il testo
Trova la differenza tra due file di testo
Strumenti
Cronologia
Editor live
Comprimi invariate
Senza a capo
Layout
Diviso
Unificato
Livello di dettaglio
Intelligente
Parola
Carattere
Evidenziazione sintassi
Scegli sintassi
Ignora
Trasforma testo
Vai alla prima modifica
Modifica input
Diffchecker Desktop
Il modo più sicuro per usare Diffchecker. Ottieni l'app Diffchecker Desktop: i tuoi diff non lasciano mai il tuo computer!
Ottieni Desktop
WhosOnline diff
Creato
5 anni fa
Il diff non scade mai
Eliminare
Esporta
Condividere
Spiegare
22 rimozioni
Linee
Totale
Rimosso
Caratteri
Totale
Rimosso
Per continuare a utilizzare questa funzione, aggiorna a
Diff
checker
Pro
Visualizza prezzi
128 linee
Copia tutti
1 aggiunta
Linee
Totale
Aggiunto
Caratteri
Totale
Aggiunto
Per continuare a utilizzare questa funzione, aggiorna a
Diff
checker
Pro
Visualizza prezzi
109 linee
Copia tutti
<?php
<?php
/**
/**
* @brief whosOnline Widget
* @brief whosOnline Widget
* @author <a href='https://www.invisioncommunity.com'>Invision Power Services, Inc.</a>
* @author <a href='https://www.invisioncommunity.com'>Invision Power Services, Inc.</a>
* @copyright (c) Invision Power Services, Inc.
* @copyright (c) Invision Power Services, Inc.
* @license https://www.invisioncommunity.com/legal/standards/
* @license https://www.invisioncommunity.com/legal/standards/
* @package Invision Community
* @package Invision Community
* @since 28 Jul 2014
* @since 28 Jul 2014
*/
*/
namespace IPS\core\widgets;
namespace IPS\core\widgets;
/* To prevent PHP errors (extending class does not exist) revealing path */
/* To prevent PHP errors (extending class does not exist) revealing path */
if ( !\defined( '\IPS\SUITE_UNIQUE_KEY' ) )
if ( !\defined( '\IPS\SUITE_UNIQUE_KEY' ) )
{
{
header( ( isset( $_SERVER['SERVER_PROTOCOL'] ) ? $_SERVER['SERVER_PROTOCOL'] : 'HTTP/1.0' ) . ' 403 Forbidden' );
header( ( isset( $_SERVER['SERVER_PROTOCOL'] ) ? $_SERVER['SERVER_PROTOCOL'] : 'HTTP/1.0' ) . ' 403 Forbidden' );
exit;
exit;
}
}
/**
/**
* whosOnline Widget
* whosOnline Widget
*/
*/
class _whosOnline extends \IPS\Widget\StaticCache
class _whosOnline extends \IPS\Widget\StaticCache
{
{
/**
/**
* @brief Widget Key
* @brief Widget Key
*/
*/
public $key = 'whosOnline';
public $key = 'whosOnline';
/**
/**
* @brief App
* @brief App
*/
*/
public $app = 'core';
public $app = 'core';
/**
/**
* @brief Plugin
* @brief Plugin
*/
*/
public $plugin = '';
public $plugin = '';
/**
/**
* Constructor
* Constructor
*
*
* @param String $uniqueKey Unique key for this specific instance
* @param String $uniqueKey Unique key for this specific instance
* @param array $configuration Widget custom configuration
* @param array $configuration Widget custom configuration
* @param null|string|array $access Array/JSON string of executable apps (core=sidebar only, content=IP.Content only, etc)
* @param null|string|array $access Array/JSON string of executable apps (core=sidebar only, content=IP.Content only, etc)
* @param null|string $orientation Orientation (top, bottom, right, left)
* @param null|string $orientation Orientation (top, bottom, right, left)
* @return void
* @return void
*/
*/
public function __construct( $uniqueKey, array $configuration, $access=null, $orientation=null )
public function __construct( $uniqueKey, array $configuration, $access=null, $orientation=null )
{
{
parent::__construct( $uniqueKey, $configuration, $access, $orientation );
parent::__construct( $uniqueKey, $configuration, $access, $orientation );
$member = \IPS\Member::loggedIn() ?: new \IPS\Member;
$member = \IPS\Member::loggedIn() ?: new \IPS\Member;
$theme = $member->skin ?: \IPS\Theme::defaultTheme();
$theme = $member->skin ?: \IPS\Theme::defaultTheme();
$this->cacheKey = "widget_{$this->key}_" . $this->uniqueKey . '_' . md5( json_encode( $configuration ) . "_" . $member->language()->id . "_" . $theme . "_" . $orientation . '-' . (int) \IPS\Member::loggedIn()->canAccessModule( \IPS\Application\Module::get( 'core', 'members' ) ) );
$this->cacheKey = "widget_{$this->key}_" . $this->uniqueKey . '_' . md5( json_encode( $configuration ) . "_" . $member->language()->id . "_" . $theme . "_" . $orientation . '-' . (int) \IPS\Member::loggedIn()->canAccessModule( \IPS\Application\Module::get( 'core', 'members' ) ) );
}
}
/**
/**
* Render a widget
* Render a widget
*
*
* @return string
* @return string
*/
*/
public function render()
public function render()
{
{
/* Do we have permission? */
/* Do we have permission? */
if ( !\IPS\Member::loggedIn()->canAccessModule( \IPS\Application\Module::get( 'core', 'online' ) ) )
if ( !\IPS\Member::loggedIn()->canAccessModule( \IPS\Application\Module::get( 'core', 'online' ) ) )
{
{
return "";
return "";
}
}
/* Init */
/* Init */
$members = array();
$members = array();
$anonymous = 0;
$anonymous = 0;
$users = \IPS\Session\Store::i()->getOnlineUsers( \IPS\Session\Store::ONLINE_MEMBERS, 'desc', NULL, NULL, TRUE );
$users = \IPS\Session\Store::i()->getOnlineUsers( \IPS\Session\Store::ONLINE_MEMBERS, 'desc', NULL, NULL, TRUE );
foreach( $users as $row )
foreach( $users as $row )
{
{
switch ( $row['login_type'] )
switch ( $row['login_type'] )
{
{
/* Not-anonymous Member */
/* Not-anonymous Member */
case \IPS\Session\Front::LOGIN_TYPE_MEMBER:
case \IPS\Session\Front::LOGIN_TYPE_MEMBER:
Copia
Copiato
Copia
Copiato
if ( $row['member_
id'] != \IPS\Member::loggedIn()->member_id ) // We add them manually to make sure they go at the top of the list
if ( $row['member_
name'] )
{
{
Copia
Copiato
Copia
Copiato
if ( $row['member_name'] )
$members[ $row['member_id'] ] = $row;
{
$members[ $row['member_id'] ] = $row;
}
}
}
break;
break;
/* Anonymous member */
/* Anonymous member */
case \IPS\Session\Front::LOGIN_TYPE_ANONYMOUS:
case \IPS\Session\Front::LOGIN_TYPE_ANONYMOUS:
$anonymous += 1;
$anonymous += 1;
break;
break;
}
}
}
}
$memberCount = \count( $members );
$memberCount = \count( $members );
/* Get an accurate guest count */
/* Get an accurate guest count */
$guests = \IPS\Session\Store::i()->getOnlineUsers( \IPS\Session\Store::ONLINE_GUESTS | \IPS\Session\Store::ONLINE_COUNT_ONLY, 'desc', NULL, NULL, TRUE );
$guests = \IPS\Session\Store::i()->getOnlineUsers( \IPS\Session\Store::ONLINE_GUESTS | \IPS\Session\Store::ONLINE_COUNT_ONLY, 'desc', NULL, NULL, TRUE );
/* If it's on the sidebar (rather than at the bottom), we want to limit it to 60 so we don't take too much space */
/* If it's on the sidebar (rather than at the bottom), we want to limit it to 60 so we don't take too much space */
if ( $this->orientation === 'vertical' and \count( $members ) >= 60 )
if ( $this->orientation === 'vertical' and \count( $members ) >= 60 )
{
{
$members = \array_slice( $members, 0, 60 );
$members = \array_slice( $members, 0, 60 );
}
}
Copia
Copiato
Copia
Copiato
/* Add ourselves at the top of the list */
if( \IPS\Member::loggedIn()->member_id )
{
if( !\IPS\Member::loggedIn()->isOnlineAnonymously() )
{
$memberCount++;
$members = array_merge( array( \IPS\Member::loggedIn()->member_id => array(
'member_id' => \IPS\Member::loggedIn()->member_id,
'member_name' => \IPS\Member::loggedIn()->name,
'seo_name' => \IPS\Member::loggedIn()->members_seo_name,
'member_group' => \IPS\Member::loggedIn()->member_group_id
) ), $members );
}
}
/* Display */
/* Display */
return $this->output( $members, $memberCount, $guests, $anonymous );
return $this->output( $members, $memberCount, $guests, $anonymous );
}
}
}
}
Diff salvati
Testo originale
Apri file
<?php /** * @brief whosOnline Widget * @author <a href='https://www.invisioncommunity.com'>Invision Power Services, Inc.</a> * @copyright (c) Invision Power Services, Inc. * @license https://www.invisioncommunity.com/legal/standards/ * @package Invision Community * @since 28 Jul 2014 */ namespace IPS\core\widgets; /* To prevent PHP errors (extending class does not exist) revealing path */ if ( !\defined( '\IPS\SUITE_UNIQUE_KEY' ) ) { header( ( isset( $_SERVER['SERVER_PROTOCOL'] ) ? $_SERVER['SERVER_PROTOCOL'] : 'HTTP/1.0' ) . ' 403 Forbidden' ); exit; } /** * whosOnline Widget */ class _whosOnline extends \IPS\Widget\StaticCache { /** * @brief Widget Key */ public $key = 'whosOnline'; /** * @brief App */ public $app = 'core'; /** * @brief Plugin */ public $plugin = ''; /** * Constructor * * @param String $uniqueKey Unique key for this specific instance * @param array $configuration Widget custom configuration * @param null|string|array $access Array/JSON string of executable apps (core=sidebar only, content=IP.Content only, etc) * @param null|string $orientation Orientation (top, bottom, right, left) * @return void */ public function __construct( $uniqueKey, array $configuration, $access=null, $orientation=null ) { parent::__construct( $uniqueKey, $configuration, $access, $orientation ); $member = \IPS\Member::loggedIn() ?: new \IPS\Member; $theme = $member->skin ?: \IPS\Theme::defaultTheme(); $this->cacheKey = "widget_{$this->key}_" . $this->uniqueKey . '_' . md5( json_encode( $configuration ) . "_" . $member->language()->id . "_" . $theme . "_" . $orientation . '-' . (int) \IPS\Member::loggedIn()->canAccessModule( \IPS\Application\Module::get( 'core', 'members' ) ) ); } /** * Render a widget * * @return string */ public function render() { /* Do we have permission? */ if ( !\IPS\Member::loggedIn()->canAccessModule( \IPS\Application\Module::get( 'core', 'online' ) ) ) { return ""; } /* Init */ $members = array(); $anonymous = 0; $users = \IPS\Session\Store::i()->getOnlineUsers( \IPS\Session\Store::ONLINE_MEMBERS, 'desc', NULL, NULL, TRUE ); foreach( $users as $row ) { switch ( $row['login_type'] ) { /* Not-anonymous Member */ case \IPS\Session\Front::LOGIN_TYPE_MEMBER: if ( $row['member_id'] != \IPS\Member::loggedIn()->member_id ) // We add them manually to make sure they go at the top of the list { if ( $row['member_name'] ) { $members[ $row['member_id'] ] = $row; } } break; /* Anonymous member */ case \IPS\Session\Front::LOGIN_TYPE_ANONYMOUS: $anonymous += 1; break; } } $memberCount = \count( $members ); /* Get an accurate guest count */ $guests = \IPS\Session\Store::i()->getOnlineUsers( \IPS\Session\Store::ONLINE_GUESTS | \IPS\Session\Store::ONLINE_COUNT_ONLY, 'desc', NULL, NULL, TRUE ); /* If it's on the sidebar (rather than at the bottom), we want to limit it to 60 so we don't take too much space */ if ( $this->orientation === 'vertical' and \count( $members ) >= 60 ) { $members = \array_slice( $members, 0, 60 ); } /* Add ourselves at the top of the list */ if( \IPS\Member::loggedIn()->member_id ) { if( !\IPS\Member::loggedIn()->isOnlineAnonymously() ) { $memberCount++; $members = array_merge( array( \IPS\Member::loggedIn()->member_id => array( 'member_id' => \IPS\Member::loggedIn()->member_id, 'member_name' => \IPS\Member::loggedIn()->name, 'seo_name' => \IPS\Member::loggedIn()->members_seo_name, 'member_group' => \IPS\Member::loggedIn()->member_group_id ) ), $members ); } } /* Display */ return $this->output( $members, $memberCount, $guests, $anonymous ); } }
Testo modificato
Apri file
<?php /** * @brief whosOnline Widget * @author <a href='https://www.invisioncommunity.com'>Invision Power Services, Inc.</a> * @copyright (c) Invision Power Services, Inc. * @license https://www.invisioncommunity.com/legal/standards/ * @package Invision Community * @since 28 Jul 2014 */ namespace IPS\core\widgets; /* To prevent PHP errors (extending class does not exist) revealing path */ if ( !\defined( '\IPS\SUITE_UNIQUE_KEY' ) ) { header( ( isset( $_SERVER['SERVER_PROTOCOL'] ) ? $_SERVER['SERVER_PROTOCOL'] : 'HTTP/1.0' ) . ' 403 Forbidden' ); exit; } /** * whosOnline Widget */ class _whosOnline extends \IPS\Widget\StaticCache { /** * @brief Widget Key */ public $key = 'whosOnline'; /** * @brief App */ public $app = 'core'; /** * @brief Plugin */ public $plugin = ''; /** * Constructor * * @param String $uniqueKey Unique key for this specific instance * @param array $configuration Widget custom configuration * @param null|string|array $access Array/JSON string of executable apps (core=sidebar only, content=IP.Content only, etc) * @param null|string $orientation Orientation (top, bottom, right, left) * @return void */ public function __construct( $uniqueKey, array $configuration, $access=null, $orientation=null ) { parent::__construct( $uniqueKey, $configuration, $access, $orientation ); $member = \IPS\Member::loggedIn() ?: new \IPS\Member; $theme = $member->skin ?: \IPS\Theme::defaultTheme(); $this->cacheKey = "widget_{$this->key}_" . $this->uniqueKey . '_' . md5( json_encode( $configuration ) . "_" . $member->language()->id . "_" . $theme . "_" . $orientation . '-' . (int) \IPS\Member::loggedIn()->canAccessModule( \IPS\Application\Module::get( 'core', 'members' ) ) ); } /** * Render a widget * * @return string */ public function render() { /* Do we have permission? */ if ( !\IPS\Member::loggedIn()->canAccessModule( \IPS\Application\Module::get( 'core', 'online' ) ) ) { return ""; } /* Init */ $members = array(); $anonymous = 0; $users = \IPS\Session\Store::i()->getOnlineUsers( \IPS\Session\Store::ONLINE_MEMBERS, 'desc', NULL, NULL, TRUE ); foreach( $users as $row ) { switch ( $row['login_type'] ) { /* Not-anonymous Member */ case \IPS\Session\Front::LOGIN_TYPE_MEMBER: if ( $row['member_name'] ) { $members[ $row['member_id'] ] = $row; } break; /* Anonymous member */ case \IPS\Session\Front::LOGIN_TYPE_ANONYMOUS: $anonymous += 1; break; } } $memberCount = \count( $members ); /* Get an accurate guest count */ $guests = \IPS\Session\Store::i()->getOnlineUsers( \IPS\Session\Store::ONLINE_GUESTS | \IPS\Session\Store::ONLINE_COUNT_ONLY, 'desc', NULL, NULL, TRUE ); /* If it's on the sidebar (rather than at the bottom), we want to limit it to 60 so we don't take too much space */ if ( $this->orientation === 'vertical' and \count( $members ) >= 60 ) { $members = \array_slice( $members, 0, 60 ); } /* Display */ return $this->output( $members, $memberCount, $guests, $anonymous ); } }
Trovare la differenza