添加 Piwik 到代码库中。
+YUCHENG HU+ git-svn-id: https://svn.code.sf.net/p/hawebs/svn@452 a2543c7e-f6e9-4f8a-8bff-1ffc34733512
@@ -0,0 +1,137 @@
|
||||
<?php
|
||||
/**
|
||||
* Piwik - Open source web analytics
|
||||
*
|
||||
* @link http://piwik.org
|
||||
* @license http://www.gnu.org/licenses/gpl-3.0.html Gpl v3 or later
|
||||
* @version $Id: Controller.php 1681 2009-12-13 19:19:07Z vipsoft $
|
||||
*
|
||||
* @category Piwik_Plugins
|
||||
* @package Piwik_UserSettings
|
||||
*/
|
||||
|
||||
/**
|
||||
*
|
||||
* @package Piwik_UserSettings
|
||||
*/
|
||||
class Piwik_UserSettings_Controller extends Piwik_Controller
|
||||
{
|
||||
function index()
|
||||
{
|
||||
$view = Piwik_View::factory('index');
|
||||
|
||||
$view->dataTablePlugin = $this->getPlugin( true );
|
||||
$view->dataTableResolution = $this->getResolution( true );
|
||||
$view->dataTableConfiguration = $this->getConfiguration( true );
|
||||
$view->dataTableOS = $this->getOS( true );
|
||||
$view->dataTableBrowser = $this->getBrowser( true );
|
||||
$view->dataTableBrowserType = $this->getBrowserType ( true );
|
||||
$view->dataTableWideScreen = $this->getWideScreen( true );
|
||||
|
||||
echo $view->render();
|
||||
}
|
||||
|
||||
function getResolution( $fetch = false)
|
||||
{
|
||||
$view = $this->getStandardDataTableUserSettings(
|
||||
__FUNCTION__,
|
||||
'UserSettings.getResolution'
|
||||
);
|
||||
$view->setColumnTranslation('label', Piwik_Translate('UserSettings_ColumnResolution'));
|
||||
return $this->renderView($view, $fetch);
|
||||
}
|
||||
|
||||
function getConfiguration( $fetch = false)
|
||||
{
|
||||
$view = $this->getStandardDataTableUserSettings(
|
||||
__FUNCTION__,
|
||||
'UserSettings.getConfiguration'
|
||||
);
|
||||
$view->setColumnTranslation('label', Piwik_Translate('UserSettings_ColumnConfiguration'));
|
||||
$view->setLimit( 3 );
|
||||
return $this->renderView($view, $fetch);
|
||||
}
|
||||
|
||||
function getOS( $fetch = false)
|
||||
{
|
||||
$view = $this->getStandardDataTableUserSettings(
|
||||
__FUNCTION__,
|
||||
'UserSettings.getOS'
|
||||
);
|
||||
$view->setColumnTranslation('label', Piwik_Translate('UserSettings_ColumnOperatingSystem'));
|
||||
return $this->renderView($view, $fetch);
|
||||
}
|
||||
|
||||
function getBrowser( $fetch = false)
|
||||
{
|
||||
$view = $this->getStandardDataTableUserSettings(
|
||||
__FUNCTION__,
|
||||
'UserSettings.getBrowser'
|
||||
);
|
||||
$view->setColumnTranslation('label', Piwik_Translate('UserSettings_ColumnBrowser'));
|
||||
$view->setGraphLimit(7);
|
||||
return $this->renderView($view, $fetch);
|
||||
}
|
||||
|
||||
function getBrowserType ( $fetch = false)
|
||||
{
|
||||
$view = $this->getStandardDataTableUserSettings(
|
||||
__FUNCTION__,
|
||||
'UserSettings.getBrowserType',
|
||||
'graphPie'
|
||||
);
|
||||
$view->setColumnTranslation('label', Piwik_Translate('UserSettings_ColumnBrowserFamily'));
|
||||
$view->disableOffsetInformation();
|
||||
return $this->renderView($view, $fetch);
|
||||
}
|
||||
|
||||
function getWideScreen( $fetch = false)
|
||||
{
|
||||
$view = $this->getStandardDataTableUserSettings(
|
||||
__FUNCTION__,
|
||||
'UserSettings.getWideScreen'
|
||||
);
|
||||
$view->setColumnTranslation('label', Piwik_Translate('UserSettings_ColumnTypeOfScreen'));
|
||||
$view->disableOffsetInformation();
|
||||
return $this->renderView($view, $fetch);
|
||||
}
|
||||
|
||||
function getPlugin( $fetch = false)
|
||||
{
|
||||
$view = Piwik_ViewDataTable::factory( 'graphVerticalBar');
|
||||
$view->init( $this->pluginName, __FUNCTION__, 'UserSettings.getPlugin' );
|
||||
$view->disableSearchBox();
|
||||
$view->disableExcludeLowPopulation();
|
||||
$view->disableSort();
|
||||
$view->disableOffsetInformation();
|
||||
$view->disableShowAllColumns();
|
||||
$view->disallowPercentageInGraphTooltip();
|
||||
$view->setColumnsToDisplay( array('label','nb_visits') );
|
||||
$view->setColumnTranslation('label', Piwik_Translate('UserSettings_ColumnPlugin'));
|
||||
$view->setGraphLimit( 10 );
|
||||
$view->setLimit( 10 );
|
||||
return $this->renderView($view, $fetch);
|
||||
}
|
||||
|
||||
protected function getStandardDataTableUserSettings( $currentControllerAction,
|
||||
$APItoCall,
|
||||
$defaultDatatableType = null )
|
||||
{
|
||||
$view = Piwik_ViewDataTable::factory( $defaultDatatableType);
|
||||
$view->init( $this->pluginName, $currentControllerAction, $APItoCall );
|
||||
$view->disableSearchBox();
|
||||
$view->disableExcludeLowPopulation();
|
||||
$view->setLimit( 5 );
|
||||
$view->setGraphLimit(5);
|
||||
|
||||
$this->setPeriodVariablesView($view);
|
||||
$column = 'nb_visits';
|
||||
if($view->period == 'day')
|
||||
{
|
||||
$column = 'nb_uniq_visitors';
|
||||
}
|
||||
$view->setSortedColumn( $column );
|
||||
$view->setColumnsToDisplay( array('label', $column) );
|
||||
return $view;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,193 @@
|
||||
<?php
|
||||
/**
|
||||
* Piwik - Open source web analytics
|
||||
*
|
||||
* @link http://piwik.org
|
||||
* @license http://www.gnu.org/licenses/gpl-3.0.html Gpl v3 or later
|
||||
* @version $Id: UserSettings.php 2305 2010-06-15 10:04:53Z matt $
|
||||
*
|
||||
* @category Piwik_Plugins
|
||||
* @package Piwik_UserSettings
|
||||
*/
|
||||
|
||||
/**
|
||||
*
|
||||
* @package Piwik_UserSettings
|
||||
*/
|
||||
class Piwik_UserSettings extends Piwik_Plugin
|
||||
{
|
||||
public function getInformation()
|
||||
{
|
||||
$info = array(
|
||||
'description' => Piwik_Translate('UserSettings_PluginDescription'),
|
||||
'author' => 'Piwik',
|
||||
'author_homepage' => 'http://piwik.org/',
|
||||
'version' => Piwik_Version::VERSION,
|
||||
);
|
||||
|
||||
return $info;
|
||||
}
|
||||
|
||||
static public $browserType_display = array(
|
||||
'ie' => 'Trident (IE)',
|
||||
'gecko' => 'Gecko (Firefox)',
|
||||
'khtml' => 'KHTML (Konqueror)',
|
||||
'webkit' => 'WebKit (Safari)',
|
||||
'opera' => 'Presto (Opera)',
|
||||
);
|
||||
|
||||
function getListHooksRegistered()
|
||||
{
|
||||
$hooks = array(
|
||||
'ArchiveProcessing_Day.compute' => 'archiveDay',
|
||||
'ArchiveProcessing_Period.compute' => 'archivePeriod',
|
||||
'WidgetsList.add' => 'addWidgets',
|
||||
'Menu.add' => 'addMenu',
|
||||
);
|
||||
return $hooks;
|
||||
}
|
||||
|
||||
function addWidgets()
|
||||
{
|
||||
Piwik_AddWidget( 'UserSettings_VisitorSettings', 'UserSettings_WidgetResolutions', 'UserSettings', 'getResolution');
|
||||
Piwik_AddWidget( 'UserSettings_VisitorSettings', 'UserSettings_WidgetBrowsers', 'UserSettings', 'getBrowser');
|
||||
Piwik_AddWidget( 'UserSettings_VisitorSettings', 'UserSettings_WidgetPlugins', 'UserSettings', 'getPlugin');
|
||||
Piwik_AddWidget( 'UserSettings_VisitorSettings', 'UserSettings_WidgetWidescreen', 'UserSettings', 'getWideScreen');
|
||||
Piwik_AddWidget( 'UserSettings_VisitorSettings', 'UserSettings_WidgetBrowserFamilies', 'UserSettings', 'getBrowserType');
|
||||
Piwik_AddWidget( 'UserSettings_VisitorSettings', 'UserSettings_WidgetOperatingSystems', 'UserSettings', 'getOS');
|
||||
Piwik_AddWidget( 'UserSettings_VisitorSettings', 'UserSettings_WidgetGlobalVisitors', 'UserSettings', 'getConfiguration');
|
||||
}
|
||||
|
||||
function addMenu()
|
||||
{
|
||||
Piwik_AddMenu('General_Visitors', 'UserSettings_SubmenuSettings', array('module' => 'UserSettings', 'action' => 'index'));
|
||||
}
|
||||
|
||||
function archiveDay( $notification )
|
||||
{
|
||||
require_once PIWIK_INCLUDE_PATH . '/plugins/UserSettings/functions.php';
|
||||
$maximumRowsInDataTable = Zend_Registry::get('config')->General->datatable_archiving_maximum_rows_standard;
|
||||
$columnToSortByBeforeTruncation = Piwik_Archive::INDEX_NB_VISITS;
|
||||
|
||||
$archiveProcessing = $notification->getNotificationObject();
|
||||
$this->archiveProcessing = $archiveProcessing;
|
||||
|
||||
$recordName = 'UserSettings_configuration';
|
||||
$labelSQL = "CONCAT(config_os, ';', config_browser_name, ';', config_resolution)";
|
||||
$interestByConfiguration = $archiveProcessing->getArrayInterestForLabel($labelSQL);
|
||||
$tableConfiguration = $archiveProcessing->getDataTableFromArray($interestByConfiguration);
|
||||
$archiveProcessing->insertBlobRecord($recordName, $tableConfiguration->getSerialized($maximumRowsInDataTable, null, $columnToSortByBeforeTruncation));
|
||||
destroy($tableConfiguration);
|
||||
|
||||
$recordName = 'UserSettings_os';
|
||||
$labelSQL = "config_os";
|
||||
$interestByOs = $archiveProcessing->getArrayInterestForLabel($labelSQL);
|
||||
$tableOs = $archiveProcessing->getDataTableFromArray($interestByOs);
|
||||
$archiveProcessing->insertBlobRecord($recordName, $tableOs->getSerialized($maximumRowsInDataTable, null, $columnToSortByBeforeTruncation));
|
||||
destroy($tableOs);
|
||||
|
||||
$recordName = 'UserSettings_browser';
|
||||
$labelSQL = "CONCAT(config_browser_name, ';', config_browser_version)";
|
||||
$interestByBrowser = $archiveProcessing->getArrayInterestForLabel($labelSQL);
|
||||
$tableBrowser = $archiveProcessing->getDataTableFromArray($interestByBrowser);
|
||||
$archiveProcessing->insertBlobRecord($recordName, $tableBrowser->getSerialized($maximumRowsInDataTable, null, $columnToSortByBeforeTruncation));
|
||||
|
||||
$recordName = 'UserSettings_browserType';
|
||||
$tableBrowserType = $this->getTableBrowserByType($tableBrowser);
|
||||
$archiveProcessing->insertBlobRecord($recordName, $tableBrowserType->getSerialized());
|
||||
destroy($tableBrowser);
|
||||
destroy($tableBrowserType);
|
||||
|
||||
$recordName = 'UserSettings_resolution';
|
||||
$labelSQL = "config_resolution";
|
||||
$interestByResolution = $archiveProcessing->getArrayInterestForLabel($labelSQL);
|
||||
$tableResolution = $archiveProcessing->getDataTableFromArray($interestByResolution);
|
||||
$tableResolution->filter('ColumnCallbackDeleteRow', array('label', 'Piwik_UserSettings_keepStrlenGreater'));
|
||||
$archiveProcessing->insertBlobRecord($recordName, $tableResolution->getSerialized($maximumRowsInDataTable, null, $columnToSortByBeforeTruncation));
|
||||
|
||||
$recordName = 'UserSettings_wideScreen';
|
||||
$tableWideScreen = $this->getTableWideScreen($tableResolution);
|
||||
$archiveProcessing->insertBlobRecord($recordName, $tableWideScreen->getSerialized());
|
||||
destroy($tableResolution);
|
||||
destroy($tableWideScreen);
|
||||
|
||||
$recordName = 'UserSettings_plugin';
|
||||
$tablePlugin = $this->getDataTablePlugin();
|
||||
$archiveProcessing->insertBlobRecord($recordName, $tablePlugin->getSerialized());
|
||||
destroy($tablePlugin);
|
||||
}
|
||||
|
||||
function archivePeriod( $notification )
|
||||
{
|
||||
$archiveProcessing = $notification->getNotificationObject();
|
||||
$maximumRowsInDataTable = Zend_Registry::get('config')->General->datatable_archiving_maximum_rows_standard;
|
||||
|
||||
$dataTableToSum = array(
|
||||
'UserSettings_configuration',
|
||||
'UserSettings_os',
|
||||
'UserSettings_browser',
|
||||
'UserSettings_browserType',
|
||||
'UserSettings_resolution',
|
||||
'UserSettings_wideScreen',
|
||||
'UserSettings_plugin',
|
||||
);
|
||||
|
||||
$archiveProcessing->archiveDataTable($dataTableToSum, null, $maximumRowsInDataTable);
|
||||
}
|
||||
|
||||
protected function getTableWideScreen($tableResolution)
|
||||
{
|
||||
$nameToRow = array();
|
||||
foreach($tableResolution->getRows() as $row)
|
||||
{
|
||||
$resolution = $row->getColumn('label');
|
||||
$name = Piwik_getScreenTypeFromResolution($resolution);
|
||||
if(!isset($nameToRow[$name]))
|
||||
{
|
||||
$nameToRow[$name] = new Piwik_DataTable_Row();
|
||||
$nameToRow[$name]->addColumn('label', $name);
|
||||
}
|
||||
|
||||
$nameToRow[$name]->sumRow( $row );
|
||||
}
|
||||
$tableWideScreen = new Piwik_DataTable();
|
||||
$tableWideScreen->addRowsFromArray($nameToRow);
|
||||
|
||||
return $tableWideScreen;
|
||||
}
|
||||
|
||||
protected function getTableBrowserByType($tableBrowser)
|
||||
{
|
||||
$nameToRow = array();
|
||||
foreach($tableBrowser->getRows() as $row)
|
||||
{
|
||||
$browserLabel = $row->getColumn('label');
|
||||
$familyNameToUse = Piwik_getBrowserFamily($browserLabel);
|
||||
if(!isset($nameToRow[$familyNameToUse]))
|
||||
{
|
||||
$nameToRow[$familyNameToUse] = new Piwik_DataTable_Row();
|
||||
$nameToRow[$familyNameToUse]->addColumn('label',$familyNameToUse);
|
||||
}
|
||||
$nameToRow[$familyNameToUse]->sumRow( $row );
|
||||
}
|
||||
|
||||
$tableBrowserType = new Piwik_DataTable();
|
||||
$tableBrowserType->addRowsFromArray($nameToRow);
|
||||
return $tableBrowserType;
|
||||
}
|
||||
|
||||
protected function getDataTablePlugin()
|
||||
{
|
||||
$toSelect = "sum(case config_pdf when 1 then 1 else 0 end) as pdf,
|
||||
sum(case config_flash when 1 then 1 else 0 end) as flash,
|
||||
sum(case config_java when 1 then 1 else 0 end) as java,
|
||||
sum(case config_director when 1 then 1 else 0 end) as director,
|
||||
sum(case config_quicktime when 1 then 1 else 0 end) as quicktime,
|
||||
sum(case config_realplayer when 1 then 1 else 0 end) as realplayer,
|
||||
sum(case config_windowsmedia when 1 then 1 else 0 end) as windowsmedia,
|
||||
sum(case config_gears when 1 then 1 else 0 end) as gears,
|
||||
sum(case config_silverlight when 1 then 1 else 0 end) as silverlight,
|
||||
sum(case config_cookie when 1 then 1 else 0 end) as cookie ";
|
||||
return $this->archiveProcessing->getSimpleDataTableFromSelect($toSelect, Piwik_Archive::INDEX_NB_VISITS);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,181 @@
|
||||
<?php
|
||||
/**
|
||||
* Piwik - Open source web analytics
|
||||
*
|
||||
* @link http://piwik.org
|
||||
* @license http://www.gnu.org/licenses/gpl-3.0.html Gpl v3 or later
|
||||
* @version $Id: functions.php 2305 2010-06-15 10:04:53Z matt $
|
||||
*
|
||||
* @category Piwik_Plugins
|
||||
* @package Piwik_UserSettings
|
||||
*/
|
||||
|
||||
/**
|
||||
* @see libs/UserAgentParser/UserAgentParser.php
|
||||
*/
|
||||
require_once PIWIK_INCLUDE_PATH . '/libs/UserAgentParser/UserAgentParser.php';
|
||||
|
||||
function Piwik_getPluginsLogo( $oldLabel )
|
||||
{
|
||||
return 'plugins/UserSettings/images/plugins/'. $oldLabel . '.gif';
|
||||
}
|
||||
|
||||
function Piwik_getOSLabel($osId)
|
||||
{
|
||||
$osName = UserAgentParser::getOperatingSystemNameFromId($osId);
|
||||
if($osName !== false)
|
||||
{
|
||||
return $osName;
|
||||
}
|
||||
if( $osId == 'UNK')
|
||||
{
|
||||
return html_entity_decode(Piwik_Translate('General_Unknown'), ENT_COMPAT, 'UTF-8');
|
||||
}
|
||||
return $osId;
|
||||
}
|
||||
|
||||
function Piwik_getOSShortLabel($osId)
|
||||
{
|
||||
$osShortName = UserAgentParser::getOperatingSystemShortNameFromId($osId);
|
||||
if($osShortName !== false)
|
||||
{
|
||||
return $osShortName;
|
||||
}
|
||||
if( $osId == 'UNK')
|
||||
{
|
||||
return html_entity_decode(Piwik_Translate('General_Unknown'), ENT_COMPAT, 'UTF-8');
|
||||
}
|
||||
return $osId;
|
||||
}
|
||||
|
||||
function Piwik_getBrowserTypeLabel($oldLabel)
|
||||
{
|
||||
if(isset(Piwik_UserSettings::$browserType_display[$oldLabel]))
|
||||
{
|
||||
return Piwik_UserSettings::$browserType_display[$oldLabel];
|
||||
}
|
||||
if($oldLabel == 'unknown')
|
||||
{
|
||||
return html_entity_decode(Piwik_Translate('General_Unknown'), ENT_COMPAT, 'UTF-8');
|
||||
}
|
||||
return $oldLabel;
|
||||
}
|
||||
|
||||
|
||||
function Piwik_getConfigurationLabel($str)
|
||||
{
|
||||
if(strpos($str, ';') === false)
|
||||
{
|
||||
return $str;
|
||||
}
|
||||
$values = explode(";", $str);
|
||||
|
||||
$os = Piwik_getOSLabel($values[0]);
|
||||
$name = $values[1];
|
||||
$browser = UserAgentParser::getBrowserNameFromId($name);
|
||||
if($browser === false)
|
||||
{
|
||||
$browser = html_entity_decode(Piwik_Translate('General_Unknown'), ENT_COMPAT, 'UTF-8');
|
||||
}
|
||||
$resolution = $values[2];
|
||||
return $os . " / " . $browser . " / " . $resolution;
|
||||
}
|
||||
|
||||
function Piwik_getBrowserLabel($oldLabel)
|
||||
{
|
||||
$browserId = Piwik_getBrowserId($oldLabel);
|
||||
$version = Piwik_getBrowserVersion($oldLabel);
|
||||
$browserName = UserAgentParser::getBrowserNameFromId($browserId);
|
||||
if( $browserName !== false)
|
||||
{
|
||||
return $browserName . " ". $version;
|
||||
}
|
||||
if( $browserId == 'UNK')
|
||||
{
|
||||
return html_entity_decode(Piwik_Translate('General_Unknown'), ENT_COMPAT, 'UTF-8');
|
||||
}
|
||||
return $oldLabel;
|
||||
}
|
||||
|
||||
function Piwik_getBrowserShortLabel($oldLabel)
|
||||
{
|
||||
$browserId = Piwik_getBrowserId($oldLabel);
|
||||
$version = Piwik_getBrowserVersion($oldLabel);
|
||||
$browserName = UserAgentParser::getBrowserShortNameFromId($browserId);
|
||||
if( $browserName !== false)
|
||||
{
|
||||
return $browserName . " ". $version;
|
||||
}
|
||||
if( $browserId == 'UNK')
|
||||
{
|
||||
return html_entity_decode(Piwik_Translate('General_Unknown'), ENT_COMPAT, 'UTF-8');
|
||||
}
|
||||
return $oldLabel;
|
||||
}
|
||||
|
||||
function Piwik_getBrowserId($str)
|
||||
{
|
||||
return substr($str, 0, strpos($str, ';'));
|
||||
}
|
||||
|
||||
function Piwik_getBrowserVersion($str)
|
||||
{
|
||||
return substr($str, strpos($str, ';') + 1);
|
||||
}
|
||||
|
||||
function Piwik_getBrowsersLogo($label)
|
||||
{
|
||||
$id = Piwik_getBrowserId($label);
|
||||
// For aggregated row 'Others'
|
||||
if(empty($id)) {
|
||||
$id = 'UNK';
|
||||
}
|
||||
return 'plugins/UserSettings/images/browsers/'. $id . '.gif';
|
||||
}
|
||||
|
||||
function Piwik_getOSLogo($label)
|
||||
{
|
||||
// For aggregated row 'Others'
|
||||
if(empty($label)) {
|
||||
$label = 'UNK';
|
||||
}
|
||||
$path = 'plugins/UserSettings/images/os/'. $label . '.gif';
|
||||
return $path;
|
||||
}
|
||||
|
||||
function Piwik_getScreensLogo($label)
|
||||
{
|
||||
return 'plugins/UserSettings/images/screens/' . $label . '.gif';
|
||||
}
|
||||
|
||||
function Piwik_UserSettings_keepStrlenGreater($value)
|
||||
{
|
||||
return strlen($value) > 5;
|
||||
}
|
||||
|
||||
function Piwik_getScreenTypeFromResolution($resolution)
|
||||
{
|
||||
$width = intval(substr($resolution, 0, strpos($resolution, 'x')));
|
||||
$height= intval(substr($resolution, strpos($resolution, 'x') + 1));
|
||||
$ratio = Piwik::secureDiv($width, $height);
|
||||
|
||||
if($ratio < 1.4)
|
||||
{
|
||||
$name = 'normal';
|
||||
}
|
||||
else if($ratio < 2)
|
||||
{
|
||||
$name = 'wide';
|
||||
}
|
||||
else
|
||||
{
|
||||
$name = 'dual';
|
||||
}
|
||||
return $name;
|
||||
}
|
||||
|
||||
function Piwik_getBrowserFamily($browserLabel)
|
||||
{
|
||||
$familyNameToUse = UserAgentParser::getBrowserFamilyFromId(substr($browserLabel, 0, 2));
|
||||
return $familyNameToUse;
|
||||
}
|
||||
|
After Width: | Height: | Size: 1.0 KiB |
|
After Width: | Height: | Size: 198 B |
|
After Width: | Height: | Size: 568 B |
|
After Width: | Height: | Size: 1.0 KiB |
|
After Width: | Height: | Size: 151 B |
|
After Width: | Height: | Size: 580 B |
|
After Width: | Height: | Size: 574 B |
|
After Width: | Height: | Size: 1.0 KiB |
|
After Width: | Height: | Size: 522 B |
|
After Width: | Height: | Size: 573 B |
|
After Width: | Height: | Size: 653 B |
|
After Width: | Height: | Size: 1.0 KiB |
|
After Width: | Height: | Size: 549 B |
|
After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 90 B |
|
After Width: | Height: | Size: 317 B |
|
After Width: | Height: | Size: 254 B |
|
After Width: | Height: | Size: 1.0 KiB |
|
After Width: | Height: | Size: 550 B |
|
After Width: | Height: | Size: 197 B |
|
After Width: | Height: | Size: 1.0 KiB |
|
After Width: | Height: | Size: 159 B |
|
After Width: | Height: | Size: 999 B |
|
After Width: | Height: | Size: 1009 B |
|
After Width: | Height: | Size: 1022 B |
|
After Width: | Height: | Size: 168 B |
|
After Width: | Height: | Size: 136 B |