From 8e5673e3d289e4d28b4fc9f20721bda9f1c858c7 Mon Sep 17 00:00:00 2001 From: Frédéric Guillot Date: Sat, 4 Oct 2014 23:31:03 -0400 Subject: Improve settings page and move some config parameters to the database --- app/Schema/Mysql.php | 33 ++++++++++++++++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) (limited to 'app/Schema/Mysql.php') diff --git a/app/Schema/Mysql.php b/app/Schema/Mysql.php index 577fac80..e6a33ee5 100644 --- a/app/Schema/Mysql.php +++ b/app/Schema/Mysql.php @@ -2,9 +2,40 @@ namespace Schema; +use PDO; use Core\Security; -const VERSION = 28; +const VERSION = 29; + +function version_29($pdo) +{ + $pdo->exec(" + CREATE TABLE settings ( + option VARCHAR(100) PRIMARY KEY, + value VARCHAR(255) DEFAULT '' + ) + "); + + // Migrate old config parameters + $rq = $pdo->prepare('SELECT * FROM config'); + $rq->execute(); + $parameters = $rq->fetch(PDO::FETCH_ASSOC); + + $rq = $pdo->prepare('INSERT INTO settings VALUES (?, ?)'); + $rq->execute(array('board_highlight_period', defined('RECENT_TASK_PERIOD') ? RECENT_TASK_PERIOD : 48*60*60)); + $rq->execute(array('board_public_refresh_interval', defined('BOARD_PUBLIC_CHECK_INTERVAL') ? BOARD_PUBLIC_CHECK_INTERVAL : 60)); + $rq->execute(array('board_private_refresh_interval', defined('BOARD_CHECK_INTERVAL') ? BOARD_CHECK_INTERVAL : 10)); + $rq->execute(array('board_columns', $parameters['default_columns'])); + $rq->execute(array('webhook_url_task_creation', $parameters['webhooks_url_task_creation'])); + $rq->execute(array('webhook_url_task_modification', $parameters['webhooks_url_task_modification'])); + $rq->execute(array('webhook_token', $parameters['webhooks_token'])); + $rq->execute(array('api_token', $parameters['api_token'])); + $rq->execute(array('application_language', $parameters['language'])); + $rq->execute(array('application_timezone', $parameters['timezone'])); + $rq->execute(array('application_url', defined('KANBOARD_URL') ? KANBOARD_URL : '')); + + $pdo->exec('DROP TABLE config'); +} function version_28($pdo) { -- cgit v1.2.3