diff options
author | matt <matt@59fd770c-687e-43c8-a1e3-f5a4ff64c105> | 2008-11-03 19:29:16 +0300 |
---|---|---|
committer | matt <matt@59fd770c-687e-43c8-a1e3-f5a4ff64c105> | 2008-11-03 19:29:16 +0300 |
commit | 3f49998533e25d79b6d269736a4196e20a0deb54 (patch) | |
tree | 1f54832dcff2c0e438c9669568391e055d161112 | |
parent | 275bf7fa99faaedb5f33e68c12e8be5570484343 (diff) |
- adding the version 0.2.10, with the creation of table piwik_option to make it easy for core & plugins to save/load key.value data
-rw-r--r-- | core/Option.php | 14 | ||||
-rw-r--r-- | core/Piwik.php | 8 | ||||
-rw-r--r-- | core/Updates/0.2.10.php | 9 |
3 files changed, 28 insertions, 3 deletions
diff --git a/core/Option.php b/core/Option.php index 69e939c4ad..a34a3e8f73 100644 --- a/core/Option.php +++ b/core/Option.php @@ -6,18 +6,26 @@ // - design Options, how WP plugins make use of it, reuse same pattern function Piwik_GetOption($name) { - return Piwik_FetchOne( 'SELECT option_value + try { + return Piwik_FetchOne( 'SELECT option_value FROM ' . Piwik::prefixTable('option') . ' WHERE option_name = ?', - $name); + $name); + } catch(Exception $e) { + return false; + } } function Piwik_UpdateOption($name, $value) { - return Piwik_Query('INSERT INTO '. Piwik::prefixTable('option') . ' (option_name, option_value) + try { + return Piwik_Query('INSERT INTO '. Piwik::prefixTable('option') . ' (option_name, option_value) VALUES (?, ?) ON DUPLICATE KEY UPDATE option_value = ?', array($name, $value, $value)); + } catch(Exception $e) { + return false; + } } /** diff --git a/core/Piwik.php b/core/Piwik.php index 164d96a3eb..16cb618a0b 100644 --- a/core/Piwik.php +++ b/core/Piwik.php @@ -600,6 +600,14 @@ class Piwik ) ", + 'option' => "CREATE TABLE {$prefixTables}option ( + idoption BIGINT NOT NULL AUTO_INCREMENT , + option_name VARCHAR( 64 ) NOT NULL , + option_value LONGTEXT NOT NULL , + PRIMARY KEY ( idoption , option_name ) + ) + ", + 'archive_numeric' => "CREATE TABLE {$prefixTables}archive_numeric ( idarchive INTEGER UNSIGNED NOT NULL, name VARCHAR(255) NOT NULL, diff --git a/core/Updates/0.2.10.php b/core/Updates/0.2.10.php new file mode 100644 index 0000000000..3af62d1dec --- /dev/null +++ b/core/Updates/0.2.10.php @@ -0,0 +1,9 @@ +<?php + +try { + $tables = Piwik::getTablesCreateSql(); + $optionTable = $tables['option']; + Piwik_Query( $optionTable ); +} catch (Exception $e) { + throw new UpdateErrorException("Error trying to create the option table in Mysql: " . $e->getMessage()); +} |