添加 Piwik 到代码库中。

+YUCHENG HU+

git-svn-id: https://svn.code.sf.net/p/hawebs/svn@482 a2543c7e-f6e9-4f8a-8bff-1ffc34733512
This commit is contained in:
YuCheng Hu
2010-07-10 04:51:05 +00:00
parent 46ca2fbfad
commit 9684452d40
13 changed files with 617 additions and 0 deletions
+29
View File
@@ -0,0 +1,29 @@
<?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: API.php 2264 2010-06-03 16:53:43Z vipsoft $
*
* @category Piwik_Plugins
* @package Piwik_API
*/
/**
*
* @package Piwik_API
*/
class Piwik_API extends Piwik_Plugin
{
public function getInformation()
{
return array(
'description' => Piwik_Translate('API_PluginDescription'),
'homepage' => 'misc/redirectToUrl.php?url=http://dev.piwik.org/trac/wiki/API/Reference',
'author' => 'Piwik',
'author_homepage' => 'http://piwik.org/',
'version' => Piwik_Version::VERSION,
);
}
}
@@ -0,0 +1,46 @@
<?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 1420 2009-08-22 13:23:16Z vipsoft $
*
* @category Piwik_Plugins
* @package Piwik_API
*/
/**
*
* @package Piwik_API
*/
class Piwik_API_Controller extends Piwik_Controller
{
function index()
{
// when calling the API through http, we limit the number of returned results
if(!isset($_GET['filter_limit']))
{
$_GET['filter_limit'] = Zend_Registry::get('config')->General->API_datatable_default_limit;
}
$request = new Piwik_API_Request('token_auth='.Piwik_Common::getRequestVar('token_auth', 'anonymous', 'string'));
echo $request->process();
}
public function listAllMethods()
{
$ApiDocumentation = new Piwik_API_DocumentationGenerator();
echo $ApiDocumentation->getAllInterfaceString( $outputExampleUrls = true, $prefixUrls = Piwik_Common::getRequestVar('prefixUrl', '') );
}
public function listAllAPI()
{
$view = Piwik_View::factory("listAllAPI");
$this->setGeneralVariablesView($view);
$ApiDocumentation = new Piwik_API_DocumentationGenerator();
$view->countLoadedAPI = Piwik_API_Proxy::getInstance()->getCountRegisteredClasses();
$view->list_api_methods_with_links = $ApiDocumentation->getAllInterfaceString();
echo $view->render();
}
}
@@ -0,0 +1,25 @@
{assign var=showSitesSelection value=true}
{assign var=showPeriodSelection value=false}
{assign var=showMenu value=false}
{include file="CoreAdminHome/templates/header.tpl"}
<style>
{fetch file="plugins/API/templates/styles.css"}
</style>
<h2>{'API_QuickDocumentationTitle'|translate}</h2>
<p>{'API_PluginDescription'|translate}</p>
{if $isSuperUser}
<p>{'API_GenerateVisits'|translate:'VisitorGenerator':'VisitorGenerator'}</p>
{/if}
<p><b>{'API_MoreInformation'|translate:"<a target='_blank' href='misc/redirectToUrl.php?url=http://dev.piwik.org/trac/wiki/API'>":"</a>":"<a target='_blank' href='misc/redirectToUrl.php?url=http://dev.piwik.org/trac/wiki/API/Reference'>":"</a>"}</b></p>
<h2>{'API_UserAuthentication'|translate}</h2>
<p>
{'API_UsingTokenAuth'|translate:'<b>':'</b>':"<u><code>&amp;token_auth=$token_auth</code></u>"}<br />
<span id='token_auth'>token_auth = <b>{$token_auth}</b></span><br />
{'API_KeepTokenSecret'|translate:'<b>':'</b>'}
<p><i>{'API_LoadedAPIs'|translate:$countLoadedAPI}</i></p>
{$list_api_methods_with_links}
<br />
@@ -0,0 +1,12 @@
#token_auth {
background-color:#E8FFE9;
border-color:#00CC3A;
border-style: solid;
border-width: 1px;
margin: 0pt 0pt 16px 8px;
padding: 12px;
line-height:4em;
}
.example, .example A {
color:#9E9E9E;
}
@@ -0,0 +1,53 @@
<?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 2036 2010-04-01 21:08:24Z matt $
*
* @category Piwik_Plugins
* @package Piwik_CoreAdminHome
*/
/**
*
* @package Piwik_CoreAdminHome
*/
class Piwik_CoreAdminHome_Controller extends Piwik_Controller
{
public function index()
{
return $this->redirectToIndex('UsersManager', 'userSettings');
}
public function generalSettings()
{
$view = Piwik_View::factory('generalSettings');
$view->enableBrowserTriggerArchiving = Piwik_ArchiveProcessing::isBrowserTriggerArchivingEnabled();
$view->todayArchiveTimeToLive = Piwik_ArchiveProcessing::getTodayArchiveTimeToLive();
$this->setGeneralVariablesView($view);
$view->menu = Piwik_GetAdminMenu();
echo $view->render();
}
public function setGeneralSettings()
{
$response = new Piwik_API_ResponseBuilder(Piwik_Common::getRequestVar('format'));
try {
Piwik::checkUserIsSuperUser();
$this->checkTokenInUrl();
$enableBrowserTriggerArchiving = Piwik_Common::getRequestVar('enableBrowserTriggerArchiving');
$todayArchiveTimeToLive = Piwik_Common::getRequestVar('todayArchiveTimeToLive');
Piwik_ArchiveProcessing::setBrowserTriggerArchiving((bool)$enableBrowserTriggerArchiving);
Piwik_ArchiveProcessing::setTodayArchiveTimeToLive($todayArchiveTimeToLive);
$toReturn = $response->getResponse();
} catch(Exception $e ) {
$toReturn = $response->getResponseException( $e );
}
echo $toReturn;
}
}
@@ -0,0 +1,49 @@
<?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: CoreAdminHome.php 2264 2010-06-03 16:53:43Z vipsoft $
*
* @category Piwik_Plugins
* @package Piwik_CoreAdminHome
*/
/**
*
* @package Piwik_CoreAdminHome
*/
class Piwik_CoreAdminHome extends Piwik_Plugin
{
public function getInformation()
{
return array(
'description' => Piwik_Translate('CoreAdminHome_PluginDescription'),
'author' => 'Piwik',
'author_homepage' => 'http://piwik.org/',
'version' => Piwik_Version::VERSION,
);
}
public function getListHooksRegistered()
{
return array(
'template_css_import' => 'css',
'AdminMenu.add' => 'addMenu'
);
}
function css()
{
echo "<link rel=\"stylesheet\" type=\"text/css\" href=\"plugins/CoreAdminHome/templates/menu.css\" />\n";
}
function addMenu()
{
Piwik_AddAdminMenu('CoreAdminHome_MenuGeneralSettings',
array('module' => 'CoreAdminHome', 'action' => 'generalSettings'),
Piwik::isUserIsSuperUser(),
$order = 6);
}
}
@@ -0,0 +1,2 @@
</div>
{include file="CoreHome/templates/piwik_tag.tpl"}
@@ -0,0 +1,30 @@
function getGeneralSettingsAJAX()
{
var ajaxRequest = piwikHelper.getStandardAjaxConf('ajaxLoading', 'ajaxError');
var enableBrowserTriggerArchiving = $('input[name=enableBrowserTriggerArchiving]:checked').val();
var todayArchiveTimeToLive = $('#todayArchiveTimeToLive').val();
var request = '';
request += 'module=CoreAdminHome';
request += '&action=setGeneralSettings';
request += '&format=json';
request += '&enableBrowserTriggerArchiving='+enableBrowserTriggerArchiving;
request += '&todayArchiveTimeToLive='+todayArchiveTimeToLive;
request += '&token_auth=' + piwik.token_auth;
ajaxRequest.data = request;
return ajaxRequest;
}
$(document).ready( function() {
$('#generalSettingsSubmit').click( function() {
$.ajax( getGeneralSettingsAJAX() );
});
$('input').keypress( function(e) {
var key=e.keyCode || e.which;
if (key==13) {
$('#generalSettingsSubmit').click();
}
}
)
});
@@ -0,0 +1,53 @@
{assign var=showSitesSelection value=false}
{assign var=showPeriodSelection value=false}
{include file="CoreAdminHome/templates/header.tpl"}
{loadJavascriptTranslations plugins='UsersManager'}
<script type="text/javascript" src="plugins/CoreAdminHome/templates/generalSettings.js"></script>
<h2>{'General_GeneralSettings'|translate}</h2>
{ajaxErrorDiv id=ajaxError}
{ajaxLoadingDiv id=ajaxLoading}
<table class="adminTable adminTableNoBorder" style='width:900px;'>
<tr>
<td style='width:400px'>{'General_AllowPiwikArchivingToTriggerBrowser'|translate}</td>
<td style='width:220px'>
<fieldset>
<label><input type="radio" value="1" name="enableBrowserTriggerArchiving"{if $enableBrowserTriggerArchiving==1} checked="checked"{/if} />
{'General_Yes'|translate} <br />
<span class="form-description">{'General_Default'|translate}</span>
</label><br /><br />
<label><input type="radio" value="0" name="enableBrowserTriggerArchiving"{if $enableBrowserTriggerArchiving==0} checked="checked"{/if} />
{'General_No'|translate} <br />
<span class="form-description">{'General_ArchivingTriggerDescription'|translate:"<a href='misc/redirectToUrl.php?url=http://piwik.org/docs/setup-auto-archiving/' target='_blank'>":"</a>"}</span>
</label>
</fieldset>
<td>
{capture assign=browserArchivingHelp}
{'General_ArchivingInlineHelp'|translate}<br />
{'General_SeeTheOfficialDocumentationForMoreInformation'|translate:"<a href='misc/redirectToUrl.php?url=http://piwik.org/docs/setup-auto-archiving/' target='_blank'>":"</a>"}
{/capture}
{$browserArchivingHelp|inlineHelp} </td>
</td>
</tr>
<tr>
<td><label for="todayArchiveTTL">{'General_ReportsForTodayWillBeProcessedAtMostEvery'|translate}</label></td>
<td>
{'General_NSeconds'|translate:"<input size='3' value='$todayArchiveTimeToLive' id='todayArchiveTimeToLive' />"}
</td>
<td width='450px'>
{capture assign=archiveTodayTTLHelp}
{'General_SmallTrafficYouCanLeaveDefault'|translate:10}<br />
{'General_MediumToHighTrafficItIsRecommendedTo'|translate:1800:3600}
{/capture}
{$archiveTodayTTLHelp|inlineHelp} </td>
</td>
</tr>
</table>
<input type="submit" value="{'General_Save'|translate}" id="generalSettingsSubmit" class="submit" />
<br /><br />
{include file="CoreAdminHome/templates/footer.tpl"}
@@ -0,0 +1,58 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Piwik &rsaquo; {'CoreAdminHome_Administration'|translate}</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="generator" content="Piwik {$piwik_version}" />
<link rel="shortcut icon" href="plugins/CoreHome/templates/images/favicon.ico" />
{include file="CoreHome/templates/js_global_variables.tpl"}
<link rel="stylesheet" type="text/css" href="themes/default/common.css" />
<link rel="stylesheet" type="text/css" href="libs/jquery/themes/base/jquery-ui.css" class="ui-theme" />
<link rel="stylesheet" type="text/css" href="plugins/CoreAdminHome/templates/styles.css" />
{postEvent name="template_css_import"}
<script type="text/javascript" src="libs/jquery/jquery.js"></script>
<script type="text/javascript" src="libs/jquery/jquery-ui.js"></script>
<script type="text/javascript" src="libs/jquery/jquery.bgiframe.js"></script>
<script type="text/javascript" src="libs/jquery/jquery.blockUI.js"></script>
<script type="text/javascript" src="libs/jquery/fdd2div-modified.js"></script>
<script type="text/javascript" src="libs/javascript/sprintf.js"></script>
<script type="text/javascript" src="themes/default/common.js"></script>
<script type="text/javascript" src="libs/jquery/jquery.history.js"></script>
<script type="text/javascript" src="plugins/CoreHome/templates/broadcast.js"></script>
{postEvent name="template_js_import"}
</head>
<body>
{include file="CoreHome/templates/top_bar.tpl"}
<div id="header">
{include file="CoreHome/templates/header_message.tpl"}
{include file="CoreHome/templates/logo.tpl"}
{if $showPeriodSelection}{include file="CoreHome/templates/period_select.tpl"}{/if}
{include file="CoreHome/templates/js_disabled_notice.tpl"}
</div>
<br class="clearAll" />
<div id="content">
{ajaxRequestErrorDiv}
{if !isset($showMenu) || $showMenu}
{include file="CoreAdminHome/templates/menu.tpl"}
{/if}
{if !empty($configFileNotWritable)}
<div class="ajaxSuccess" style="display:normal">
<p>{'General_ConfigFileIsNotWritable'|translate:"(config/config.ini.php)":"<br/>"}</p>
</div>
{elseif strpos($url, 'updated=1')}
<div class="ajaxSuccess" style="display:normal">
<p>{'General_YourChangesHaveBeenSaved'|translate}</p>
</div>
{/if}
@@ -0,0 +1,40 @@
#tablist {
padding-bottom: 1px;
margin-left: 0;
margin-bottom: 0;
margin-top: 0.1em;
border-bottom: 1px solid gray;
}
#tablist li {
list-style: none;
display: inline;
margin: 0;
padding-bottom:3px;
}
#tablist li a {
text-decoration: none;
padding: 3px 0.5em;
margin-right: 3px;
border: 1px solid #778;
border-bottom: none;
background: white;
font: bold 16px Georgia;
}
#tablist li a:link,#tablist li a:visited {
color: black;
-moz-border-radius:4px 4px 0 0;
-webkit-border-radius:4px 4px 0 0;
}
#tablist li a:hover, #tablist li a.active {
color: black;
background: #defdbb;
border-color: black;
}
#tablist li a.current {
background: #defdbb;
}
@@ -0,0 +1,9 @@
{if count($menu) > 1}
<div id="menu">
<ul id="tablist">
{foreach from=$menu key=name item=url name=menu}
<li> <a href='index.php{$url|@urlRewriteWithParameters}' {if isset($currentAdminMenuName) && $name==$currentAdminMenuName}class='active'{/if}>{$name|translate}</a></li>
{/foreach}
</ul>
</div>
{/if}
@@ -0,0 +1,211 @@
img {
vertical-align: baseline;
}
textarea {
font-size: 1em;
}
a {
color: black;
}
table.admin {
font-size: 0.9em;
font-family: Arial, Helvetica, verdana sans-serif;
background-color: #fff;
border-collapse: collapse;
}
table.admin thead th {
border-right: 1px solid #fff;
color: #fff;
text-align: center;
padding: 5px;
text-transform: uppercase;
height: 25px;
background-color: #a3c159;
font-weight:bold;
}
table.admin tbody tr {
background-color: #fff;
border-bottom: 1px solid #f0f0f0;
}
table.admin tbody td {
color: #414141;
text-align: left;
vertical-align:top;
}
table.admin tbody th {
text-align: left;
padding: 2px;
}
table.admin tbody td, table.admin tbody th {
color: #536C2A;
text-decoration: none;
font-weight: normal;
padding: 10px;
padding:10px;
}
table.admin tbody td:hover, table.admin tbody th:hover {
color: #009193;
text-decoration: none;
}
#submit input {
font-size: 2em;
border-top: 2px solid #8cb648;
border-left: 2px solid #8cb648;
border-bottom: 2px solid #4a6026;
border-right: 2px solid #4a6026;
background-color: #6c8c37;
color: #fff;
}
#submit {
padding-top: 10px;
padding-left: 70px;
}
.warning {
border: 1px dotted gray;
padding: 15px;
font-size: .8em;
}
.warning ul {
margin-left: 50px;
}
.access_error {
font-size: .7em;
padding: 15px;
}
h2 {
border-bottom-color:#DADADA;
color:#666666;
border-bottom-style:solid;
border-bottom-width:1px;
clear:both;
font-family:Georgia,"Times New Roman",Times,serif;
font-size:24px;
font-size-adjust:none;
font-style:normal;
font-weight:normal;
margin:5px 0pt 0pt -4px;
padding:0pt 0px 7px 0pt;
}
p {
margin-top:10px;
line-height:140%;
padding-bottom:0.8em;
}
#content {
margin:0pt 15px;
padding:0pt;
}
textarea, input, select {
background-color:#FFFFFF;
border-color:#939EA5;
-moz-border-radius:4px;
-webkit-border-radius:4px;
border-style:solid;
border-width:1px;
margin:1px;
padding:3px;
}
input[disabled] {
background-color:#F7F7F7;
}
.adminTable {
border-width: 1px;
border-style: solid;
border-collapse: collapse;
width: 100%;
clear: both;
margin: 0;
}
.adminTable a {
text-decoration: none;
}
.adminTable abbr {
white-space: nowrap;
}
.adminTable td, .adminTable th {
border-bottom-width: 1px;
border-bottom-style: solid;
border-bottom-color: #ccc;
font-size: 13px;
vertical-align: text-top;
vertical-align:top;
}
.adminTable td {
padding: 7px 15px 9px 10px;
vertical-align: top;
}
.adminTable th {
padding: 9px 15px 6px 10px;
text-align: left;
line-height: 1.3em;
}
.adminTable th input {
margin: 0 0 0 8px;
padding: 0;
}
.adminTable .check-column {
text-align: right;
width: 1.5em;
padding: 0;
}
.adminTable {
border-color: #ccc;
}
.adminTable tbody th.check-column {
padding: 8px 0 22px;
}
.adminTable .num {
text-align: center;
}
.adminTable td, .adminTable th {
border-bottom-color: #ccc;
}
.adminTable thead {
background-color: #464646;
color: #d7d7d7;
}
.adminTable td.action-links, .adminTable th.action-links {
text-align: right;
}
.adminTable .name {
font-weight: bold;
}
.adminTable a {
color:#2583AD;
}
.adminTable .active {
background-color: #ECF9DD;
}
.adminTable .ui-inline-help {
margin-top:0;
width:100%;
}
/* admin table, without borders */
.adminTableNoBorder {
border:0;
}
.adminTableNoBorder td, .adminTableNoBorder th {
border:0;
}
/* other styles */
.form-description {
color:#666666;
font-style:italic;
margin-left:10px;
}