Diff
checker
Texto
Texto
Imágenes
Documentos
Excel
Carpetas
Legal
Enterprise
Aplicación de escritorio
Precios
Iniciar sesión
Descargar Diffchecker Desktop
Comparar texto
Encuentra la diferencia entre dos archivos de texto
Herramientas
Historial
Editor live
Ocultar sin cambios
Sin ajuste de línea
Vista
Dividido
Unificado
Nivel de detalle
Inteligente
Palabra
Letra
Resaltado de sintaxis
Elegir sintaxis
Ignorar
Transformar texto
Ir al primer cambio
Editar entrada
Diffchecker Desktop
La forma más segura de usar Diffchecker. ¡Obtén la app de Diffchecker Desktop: tus diffs nunca salen de tu computadora!
Obtener Desktop
WhosOnline diff
Creado
hace 5 años
El diff nunca expira
Borrar
Exportar
Compartir
Explicar
22 eliminaciones
Líneas
Total
Eliminado
Caracteres
Total
Eliminado
Para continuar usando esta función, actualice a
Diff
checker
Pro
Ver precios
128 líneas
Copiar todo
1 adición
Líneas
Total
Añadido
Caracteres
Total
Añadido
Para continuar usando esta función, actualice a
Diff
checker
Pro
Ver precios
109 líneas
Copiar todo
<?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:
Copiar
Copiado
Copiar
Copiado
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'] )
{
{
Copiar
Copiado
Copiar
Copiado
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 );
}
}
Copiar
Copiado
Copiar
Copiado
/* 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 );
}
}
}
}
Diferencias guardadas
Texto original
Abrir archivo
<?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 ); } }
Texto modificado
Abrir archivo
<?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 ); } }
Encontrar la diferencia