Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/matomo-org/matomo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormatt <matt@59fd770c-687e-43c8-a1e3-f5a4ff64c105>2008-03-19 03:30:40 +0300
committermatt <matt@59fd770c-687e-43c8-a1e3-f5a4ff64c105>2008-03-19 03:30:40 +0300
commit83ffd7749e726b91f38abc31fb81c20f61054ab2 (patch)
treed6c74c5aa39651845907c98f8bf9d4f9912f1c55 /modules
parent55d8a3ad0bcb68a5c0da0c0b81c873d3d317b41e (diff)
- new login screen design (thanks wordpress 2.5!!)
- misc changes - plugins can now be loaded by default all the time (ex. Home, AdminHome, PluginsAdmin) - improved admin design
Diffstat (limited to 'modules')
-rw-r--r--modules/FrontController.php23
-rw-r--r--modules/LogStats.php1
-rw-r--r--modules/Menu.php9
-rwxr-xr-xmodules/Piwik.php96
-rw-r--r--modules/PluginsManager.php29
-rw-r--r--modules/SmartyPlugins/modifier.translate.php34
-rw-r--r--modules/Translate.php16
7 files changed, 144 insertions, 64 deletions
diff --git a/modules/FrontController.php b/modules/FrontController.php
index f77d8ae978..0f7fccc115 100644
--- a/modules/FrontController.php
+++ b/modules/FrontController.php
@@ -85,6 +85,14 @@ class Piwik_FrontController
throw new Exception("Invalid module name '$module'");
}
+
+ // check that the plugin is enabled
+ if( ! Piwik_PluginsManager::getInstance()->isPluginEnabled( $module ))
+ {
+ throw new Exception_PluginDeactivated($module);
+ }
+
+
$controllerClassName = "Piwik_".$module."_Controller";
if(!class_exists($controllerClassName))
@@ -98,12 +106,6 @@ class Piwik_FrontController
require_once $moduleController;
}
- // check that the plugin is enabled
- if( ! Piwik_PluginsManager::getInstance()->isPluginEnabled( $module ))
- {
- throw new Exception_PluginDeactivated($module);
- }
-
$controller = new $controllerClassName;
if($action === false)
@@ -282,10 +284,6 @@ class Piwik_FrontController
Piwik::prefixTable('log_profiling'),
);
- //Piwik::dropTables($doNotDrop);
- //Piwik::createTables();
- //Piwik_PluginsManager::getInstance()->installPlugins();
-
// Setup the auth object
Piwik_PostEvent('FrontController.authSetCredentials');
@@ -293,7 +291,10 @@ class Piwik_FrontController
$authAdapter = Zend_Registry::get('auth');
}
catch(Exception $e){
- throw new Exception("Object 'auth' cannot be found in the Registry. Maybe the Login plugin is not enabled?");
+ throw new Exception("Object 'auth' cannot be found in the Registry. Maybe the Login plugin is not enabled?
+ <br>You can enable the plugin by adding:<br>
+ <code>Plugins[] = Login</code><br>
+ under the <code>[Plugins]</code> section in your config/config.inc.php");
}
// Perform the authentication query, saving the result
diff --git a/modules/LogStats.php b/modules/LogStats.php
index 656a99fea3..8cbadc50e4 100644
--- a/modules/LogStats.php
+++ b/modules/LogStats.php
@@ -93,6 +93,7 @@ class Piwik_LogStats
if(is_array($pluginsLogStats)
&& count($pluginsLogStats) != 0)
{
+ Piwik_PluginsManager::getInstance()->doNotLoadAlwaysActivatedPlugins();
Piwik_PluginsManager::getInstance()->setPluginsToLoad( $pluginsLogStats['Plugins_LogStats'] );
}
} catch(Exception $e) {
diff --git a/modules/Menu.php b/modules/Menu.php
index a36797f482..84e06b5a70 100644
--- a/modules/Menu.php
+++ b/modules/Menu.php
@@ -58,7 +58,10 @@ function Piwik_RenameMenuEntry($mainMenuOriginal, $subMenuOriginal,
$mainMenuRenamed, $subMenuRenamed)
{
global $mainMenu;
- $save = $mainMenu[$mainMenuOriginal][$subMenuOriginal];
- unset($mainMenu[$mainMenuOriginal][$subMenuOriginal]);
- $mainMenu[$mainMenuRenamed][$subMenuRenamed] = $save;
+ if(isset($mainMenu[$mainMenuOriginal][$subMenuOriginal]))
+ {
+ $save = $mainMenu[$mainMenuOriginal][$subMenuOriginal];
+ unset($mainMenu[$mainMenuOriginal][$subMenuOriginal]);
+ $mainMenu[$mainMenuRenamed][$subMenuRenamed] = $save;
+ }
}
diff --git a/modules/Piwik.php b/modules/Piwik.php
index a3466adc7c..e37b626938 100755
--- a/modules/Piwik.php
+++ b/modules/Piwik.php
@@ -450,42 +450,42 @@ class Piwik
",
'log_visit' => "CREATE TABLE {$prefixTables}log_visit (
- idvisit INTEGER(10) UNSIGNED NOT NULL AUTO_INCREMENT,
- idsite INTEGER(10) UNSIGNED NOT NULL,
- visitor_localtime TIME NOT NULL,
- visitor_idcookie CHAR(32) NOT NULL,
- visitor_returning TINYINT(1) NOT NULL,
- visit_first_action_time DATETIME NOT NULL,
- visit_last_action_time DATETIME NOT NULL,
- visit_server_date DATE NOT NULL,
- visit_exit_idaction INTEGER(11) NOT NULL,
- visit_entry_idaction INTEGER(11) NOT NULL,
- visit_total_actions SMALLINT(5) UNSIGNED NOT NULL,
- visit_total_time SMALLINT(5) UNSIGNED NOT NULL,
- referer_type INTEGER UNSIGNED NULL,
- referer_name VARCHAR(70) NULL,
- referer_url TEXT NOT NULL,
- referer_keyword VARCHAR(255) NULL,
- config_md5config CHAR(32) NOT NULL,
- config_os CHAR(3) NOT NULL,
- config_browser_name VARCHAR(10) NOT NULL,
- config_browser_version VARCHAR(20) NOT NULL,
- config_resolution VARCHAR(9) NOT NULL,
- config_color_depth TINYINT(2) UNSIGNED NOT NULL,
- config_pdf TINYINT(1) NOT NULL,
- config_flash TINYINT(1) NOT NULL,
- config_java TINYINT(1) NOT NULL,
- config_director TINYINT(1) NOT NULL,
- config_quicktime TINYINT(1) NOT NULL,
- config_realplayer TINYINT(1) NOT NULL,
- config_windowsmedia TINYINT(1) NOT NULL,
- config_cookie TINYINT(1) NOT NULL,
- location_ip BIGINT(11) NOT NULL,
- location_browser_lang VARCHAR(20) NOT NULL,
- location_country CHAR(3) NOT NULL,
- location_continent CHAR(3) NOT NULL,
- PRIMARY KEY(idvisit)
-)
+ idvisit INTEGER(10) UNSIGNED NOT NULL AUTO_INCREMENT,
+ idsite INTEGER(10) UNSIGNED NOT NULL,
+ visitor_localtime TIME NOT NULL,
+ visitor_idcookie CHAR(32) NOT NULL,
+ visitor_returning TINYINT(1) NOT NULL,
+ visit_first_action_time DATETIME NOT NULL,
+ visit_last_action_time DATETIME NOT NULL,
+ visit_server_date DATE NOT NULL,
+ visit_exit_idaction INTEGER(11) NOT NULL,
+ visit_entry_idaction INTEGER(11) NOT NULL,
+ visit_total_actions SMALLINT(5) UNSIGNED NOT NULL,
+ visit_total_time SMALLINT(5) UNSIGNED NOT NULL,
+ referer_type INTEGER UNSIGNED NULL,
+ referer_name VARCHAR(70) NULL,
+ referer_url TEXT NOT NULL,
+ referer_keyword VARCHAR(255) NULL,
+ config_md5config CHAR(32) NOT NULL,
+ config_os CHAR(3) NOT NULL,
+ config_browser_name VARCHAR(10) NOT NULL,
+ config_browser_version VARCHAR(20) NOT NULL,
+ config_resolution VARCHAR(9) NOT NULL,
+ config_color_depth TINYINT(2) UNSIGNED NOT NULL,
+ config_pdf TINYINT(1) NOT NULL,
+ config_flash TINYINT(1) NOT NULL,
+ config_java TINYINT(1) NOT NULL,
+ config_director TINYINT(1) NOT NULL,
+ config_quicktime TINYINT(1) NOT NULL,
+ config_realplayer TINYINT(1) NOT NULL,
+ config_windowsmedia TINYINT(1) NOT NULL,
+ config_cookie TINYINT(1) NOT NULL,
+ location_ip BIGINT(11) NOT NULL,
+ location_browser_lang VARCHAR(20) NOT NULL,
+ location_country CHAR(3) NOT NULL,
+ location_continent CHAR(3) NOT NULL,
+ PRIMARY KEY(idvisit)
+ )
",
'log_link_visit_action' => "CREATE TABLE {$prefixTables}log_link_visit_action (
@@ -519,16 +519,16 @@ class Piwik
)
",
'archive_blob' => "CREATE TABLE {$prefixTables}archive_blob (
- idarchive INTEGER UNSIGNED NOT NULL,
- name VARCHAR(255) NOT NULL,
- idsite INTEGER UNSIGNED NULL,
- date1 DATE NULL,
- date2 DATE NULL,
- period TINYINT UNSIGNED NULL,
- ts_archived DATETIME NULL,
- value BLOB NULL,
- PRIMARY KEY(idarchive, name)
-)
+ idarchive INTEGER UNSIGNED NOT NULL,
+ name VARCHAR(255) NOT NULL,
+ idsite INTEGER UNSIGNED NULL,
+ date1 DATE NULL,
+ date2 DATE NULL,
+ period TINYINT UNSIGNED NULL,
+ ts_archived DATETIME NULL,
+ value BLOB NULL,
+ PRIMARY KEY(idarchive, name)
+ )
",
);
return $tables;
@@ -898,6 +898,10 @@ class Piwik
$db->query( $tableSql );
}
}
+
+ $queries = array(
+
+ );
}
static public function install()
diff --git a/modules/PluginsManager.php b/modules/PluginsManager.php
index 87cf165919..0f1a69eca7 100644
--- a/modules/PluginsManager.php
+++ b/modules/PluginsManager.php
@@ -50,6 +50,12 @@ class Piwik_PluginsManager
protected $doLoadPlugins = true;
protected $languageToLoad = null;
protected $loadedPlugins = array();
+
+ protected $doLoadAlwaysActivatedPlugins = true;
+ protected $pluginToAlwaysEnable = array( 'Home',
+ 'AdminHome',
+ 'PluginsAdmin'
+ );
static private $instance = null;
@@ -73,9 +79,14 @@ class Piwik_PluginsManager
$this->dispatcher = Event_Dispatcher::getInstance();
}
+ public function isPluginAlwaysActivated( $name )
+ {
+ return in_array( $name, $this->pluginToAlwaysEnable);
+ }
public function isPluginEnabled( $name )
{
- return in_array( $name, $this->pluginsToLoad);
+ return in_array( $name, $this->pluginsToLoad)
+ || $this->isPluginAlwaysActivated( $name );
}
/**
@@ -233,7 +244,11 @@ class Piwik_PluginsManager
{
$this->doLoadPlugins = false;
}
-
+
+ public function doNotLoadAlwaysActivatedPlugins()
+ {
+ $this->doLoadAlwaysActivatedPlugins = false;
+ }
/**
* Add a plugin in the loaded plugins array
*
@@ -278,7 +293,15 @@ class Piwik_PluginsManager
public function loadPlugins()
{
$this->pluginsToLoad = array_unique($this->pluginsToLoad);
- foreach($this->pluginsToLoad as $pluginName)
+
+ $pluginsToLoad = $this->pluginsToLoad;
+
+ if($this->doLoadAlwaysActivatedPlugins)
+ {
+ $pluginsToLoad = array_merge($this->pluginsToLoad, $this->pluginToAlwaysEnable);
+ }
+
+ foreach($pluginsToLoad as $pluginName)
{
$newPlugin = $this->loadPlugin($pluginName);
diff --git a/modules/SmartyPlugins/modifier.translate.php b/modules/SmartyPlugins/modifier.translate.php
new file mode 100644
index 0000000000..bd0360ee9c
--- /dev/null
+++ b/modules/SmartyPlugins/modifier.translate.php
@@ -0,0 +1,34 @@
+<?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: modifier.sumtime.php 168 2008-01-14 05:26:43Z matt $
+ *
+ * @package Piwik_Visualization
+ */
+
+/**
+ * Translates a string in the currently selected language in Piwik.
+ * The translations strings are located either in /lang/xx.php or within the plugin lang directory.
+ *
+ * Example:
+ *
+ * {'General_Unknown'|translate} will be translated as 'Unknown' (see the entry in /lang/en.php)
+ *
+ *
+ *
+ */
+function smarty_modifier_translate($string, $aValues = null)
+{
+ if(is_null($aValues))
+ {
+ $aValues = array();
+ }
+ if(!is_array($aValues))
+ {
+ $aValues = array( $aValues);
+ }
+ return vsprintf($translations[$string], $aValues);
+} \ No newline at end of file
diff --git a/modules/Translate.php b/modules/Translate.php
index d44119cbf8..d2156181ad 100644
--- a/modules/Translate.php
+++ b/modules/Translate.php
@@ -17,6 +17,11 @@ class Piwik_Translate
{
static private $instance = null;
+ /**
+ * Returns singleton
+ *
+ * @return Piwik_Translate
+ */
static public function getInstance()
{
if (self::$instance == null)
@@ -48,7 +53,8 @@ class Piwik_Translate
/**
* Enter description here...
*
- * @return unknown
+ * @return string the language filename prefix, eg "en" for english
+ * @throws exception if the language set in the config file is not a valid filename
*/
public function getLanguageToLoad()
{
@@ -74,3 +80,11 @@ function Piwik_Translate($index)
throw new Exception("Translation string '$index' not available.");
}
+if(!function_exists('_'))
+{
+ function _($translationIndex)
+ {
+ return Piwik_Translate($translationIndex);
+ }
+}
+