Files
YuCheng Hu 0b7de828c0 添加 Piwik 到代码库中。
+YUCHENG HU+

git-svn-id: https://svn.code.sf.net/p/hawebs/svn@452 a2543c7e-f6e9-4f8a-8bff-1ffc34733512
2010-07-10 02:29:43 +00:00

182 lines
4.0 KiB
PHP

<?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;
}