From 9684452d408f7e5b4dcd6c970ff57377040d758e Mon Sep 17 00:00:00 2001 From: YuCheng Hu Date: Sat, 10 Jul 2010 04:51:05 +0000 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=20Piwik=20=E5=88=B0=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E5=BA=93=E4=B8=AD=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit +YUCHENG HU+ git-svn-id: https://svn.code.sf.net/p/hawebs/svn@482 a2543c7e-f6e9-4f8a-8bff-1ffc34733512 --- oss/piwik/trunk/plugins/API/API.php | 29 +++ oss/piwik/trunk/plugins/API/Controller.php | 46 ++++ .../plugins/API/templates/listAllAPI.tpl | 25 +++ .../trunk/plugins/API/templates/styles.css | 12 + .../plugins/CoreAdminHome/Controller.php | 53 +++++ .../plugins/CoreAdminHome/CoreAdminHome.php | 49 ++++ .../CoreAdminHome/templates/footer.tpl | 2 + .../templates/generalSettings.js | 30 +++ .../templates/generalSettings.tpl | 53 +++++ .../CoreAdminHome/templates/header.tpl | 58 +++++ .../plugins/CoreAdminHome/templates/menu.css | 40 ++++ .../plugins/CoreAdminHome/templates/menu.tpl | 9 + .../CoreAdminHome/templates/styles.css | 211 ++++++++++++++++++ 13 files changed, 617 insertions(+) create mode 100644 oss/piwik/trunk/plugins/API/API.php create mode 100644 oss/piwik/trunk/plugins/API/Controller.php create mode 100644 oss/piwik/trunk/plugins/API/templates/listAllAPI.tpl create mode 100644 oss/piwik/trunk/plugins/API/templates/styles.css create mode 100644 oss/piwik/trunk/plugins/CoreAdminHome/Controller.php create mode 100644 oss/piwik/trunk/plugins/CoreAdminHome/CoreAdminHome.php create mode 100644 oss/piwik/trunk/plugins/CoreAdminHome/templates/footer.tpl create mode 100644 oss/piwik/trunk/plugins/CoreAdminHome/templates/generalSettings.js create mode 100644 oss/piwik/trunk/plugins/CoreAdminHome/templates/generalSettings.tpl create mode 100644 oss/piwik/trunk/plugins/CoreAdminHome/templates/header.tpl create mode 100644 oss/piwik/trunk/plugins/CoreAdminHome/templates/menu.css create mode 100644 oss/piwik/trunk/plugins/CoreAdminHome/templates/menu.tpl create mode 100644 oss/piwik/trunk/plugins/CoreAdminHome/templates/styles.css diff --git a/oss/piwik/trunk/plugins/API/API.php b/oss/piwik/trunk/plugins/API/API.php new file mode 100644 index 00000000..4a0c4de2 --- /dev/null +++ b/oss/piwik/trunk/plugins/API/API.php @@ -0,0 +1,29 @@ + 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, + ); + } +} diff --git a/oss/piwik/trunk/plugins/API/Controller.php b/oss/piwik/trunk/plugins/API/Controller.php new file mode 100644 index 00000000..5d1a977a --- /dev/null +++ b/oss/piwik/trunk/plugins/API/Controller.php @@ -0,0 +1,46 @@ +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(); + } +} diff --git a/oss/piwik/trunk/plugins/API/templates/listAllAPI.tpl b/oss/piwik/trunk/plugins/API/templates/listAllAPI.tpl new file mode 100644 index 00000000..68d51b66 --- /dev/null +++ b/oss/piwik/trunk/plugins/API/templates/listAllAPI.tpl @@ -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"} + + +

{'API_QuickDocumentationTitle'|translate}

+

{'API_PluginDescription'|translate}

+ +{if $isSuperUser} +

{'API_GenerateVisits'|translate:'VisitorGenerator':'VisitorGenerator'}

+{/if} + +

{'API_MoreInformation'|translate:"":"":"":""}

+ +

{'API_UserAuthentication'|translate}

+

+{'API_UsingTokenAuth'|translate:'':'':"&token_auth=$token_auth"}
+token_auth = {$token_auth}
+{'API_KeepTokenSecret'|translate:'':''} +

{'API_LoadedAPIs'|translate:$countLoadedAPI}

+{$list_api_methods_with_links} +
\ No newline at end of file diff --git a/oss/piwik/trunk/plugins/API/templates/styles.css b/oss/piwik/trunk/plugins/API/templates/styles.css new file mode 100644 index 00000000..6e5edb21 --- /dev/null +++ b/oss/piwik/trunk/plugins/API/templates/styles.css @@ -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; +} diff --git a/oss/piwik/trunk/plugins/CoreAdminHome/Controller.php b/oss/piwik/trunk/plugins/CoreAdminHome/Controller.php new file mode 100644 index 00000000..590b5155 --- /dev/null +++ b/oss/piwik/trunk/plugins/CoreAdminHome/Controller.php @@ -0,0 +1,53 @@ +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; + } + +} diff --git a/oss/piwik/trunk/plugins/CoreAdminHome/CoreAdminHome.php b/oss/piwik/trunk/plugins/CoreAdminHome/CoreAdminHome.php new file mode 100644 index 00000000..b030a796 --- /dev/null +++ b/oss/piwik/trunk/plugins/CoreAdminHome/CoreAdminHome.php @@ -0,0 +1,49 @@ + 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 "\n"; + } + + function addMenu() + { + Piwik_AddAdminMenu('CoreAdminHome_MenuGeneralSettings', + array('module' => 'CoreAdminHome', 'action' => 'generalSettings'), + Piwik::isUserIsSuperUser(), + $order = 6); + } +} diff --git a/oss/piwik/trunk/plugins/CoreAdminHome/templates/footer.tpl b/oss/piwik/trunk/plugins/CoreAdminHome/templates/footer.tpl new file mode 100644 index 00000000..4c988266 --- /dev/null +++ b/oss/piwik/trunk/plugins/CoreAdminHome/templates/footer.tpl @@ -0,0 +1,2 @@ + +{include file="CoreHome/templates/piwik_tag.tpl"} diff --git a/oss/piwik/trunk/plugins/CoreAdminHome/templates/generalSettings.js b/oss/piwik/trunk/plugins/CoreAdminHome/templates/generalSettings.js new file mode 100644 index 00000000..f77a5ff9 --- /dev/null +++ b/oss/piwik/trunk/plugins/CoreAdminHome/templates/generalSettings.js @@ -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(); + } + } + ) +}); + diff --git a/oss/piwik/trunk/plugins/CoreAdminHome/templates/generalSettings.tpl b/oss/piwik/trunk/plugins/CoreAdminHome/templates/generalSettings.tpl new file mode 100644 index 00000000..fa103f43 --- /dev/null +++ b/oss/piwik/trunk/plugins/CoreAdminHome/templates/generalSettings.tpl @@ -0,0 +1,53 @@ +{assign var=showSitesSelection value=false} +{assign var=showPeriodSelection value=false} +{include file="CoreAdminHome/templates/header.tpl"} +{loadJavascriptTranslations plugins='UsersManager'} + + +

{'General_GeneralSettings'|translate}

+ +{ajaxErrorDiv id=ajaxError} +{ajaxLoadingDiv id=ajaxLoading} + + + + + + + + + + + + + +
{'General_AllowPiwikArchivingToTriggerBrowser'|translate} +
+

+ + +
+
+ {capture assign=browserArchivingHelp} + {'General_ArchivingInlineHelp'|translate}
+ {'General_SeeTheOfficialDocumentationForMoreInformation'|translate:"":""} + {/capture} + {$browserArchivingHelp|inlineHelp}
+ {'General_NSeconds'|translate:""} + + {capture assign=archiveTodayTTLHelp} + {'General_SmallTrafficYouCanLeaveDefault'|translate:10}
+ {'General_MediumToHighTrafficItIsRecommendedTo'|translate:1800:3600} + {/capture} + {$archiveTodayTTLHelp|inlineHelp}
+ +

+ + +{include file="CoreAdminHome/templates/footer.tpl"} diff --git a/oss/piwik/trunk/plugins/CoreAdminHome/templates/header.tpl b/oss/piwik/trunk/plugins/CoreAdminHome/templates/header.tpl new file mode 100644 index 00000000..c40295db --- /dev/null +++ b/oss/piwik/trunk/plugins/CoreAdminHome/templates/header.tpl @@ -0,0 +1,58 @@ + + + +Piwik › {'CoreAdminHome_Administration'|translate} + + + + +{include file="CoreHome/templates/js_global_variables.tpl"} + + + + +{postEvent name="template_css_import"} + + + + + + + + + + + +{postEvent name="template_js_import"} + + + +{include file="CoreHome/templates/top_bar.tpl"} + + + +
+ +
+ +{ajaxRequestErrorDiv} +{if !isset($showMenu) || $showMenu} + {include file="CoreAdminHome/templates/menu.tpl"} +{/if} + +{if !empty($configFileNotWritable)} +
+

{'General_ConfigFileIsNotWritable'|translate:"(config/config.ini.php)":"
"}

+
+{elseif strpos($url, 'updated=1')} +
+

{'General_YourChangesHaveBeenSaved'|translate}

+
+{/if} + diff --git a/oss/piwik/trunk/plugins/CoreAdminHome/templates/menu.css b/oss/piwik/trunk/plugins/CoreAdminHome/templates/menu.css new file mode 100644 index 00000000..8ecc659a --- /dev/null +++ b/oss/piwik/trunk/plugins/CoreAdminHome/templates/menu.css @@ -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; +} diff --git a/oss/piwik/trunk/plugins/CoreAdminHome/templates/menu.tpl b/oss/piwik/trunk/plugins/CoreAdminHome/templates/menu.tpl new file mode 100644 index 00000000..9200e816 --- /dev/null +++ b/oss/piwik/trunk/plugins/CoreAdminHome/templates/menu.tpl @@ -0,0 +1,9 @@ +{if count($menu) > 1} + +{/if} \ No newline at end of file diff --git a/oss/piwik/trunk/plugins/CoreAdminHome/templates/styles.css b/oss/piwik/trunk/plugins/CoreAdminHome/templates/styles.css new file mode 100644 index 00000000..3c2bbdda --- /dev/null +++ b/oss/piwik/trunk/plugins/CoreAdminHome/templates/styles.css @@ -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; +} \ No newline at end of file