summaryrefslogtreecommitdiff
path: root/database
diff options
context:
space:
mode:
Diffstat (limited to 'database')
-rw-r--r--database/database.mysql7
-rw-r--r--database/database.pgsql7
-rw-r--r--database/updates.inc78
3 files changed, 89 insertions, 3 deletions
diff --git a/database/database.mysql b/database/database.mysql
index d635f6dc1..a6a6defda 100644
--- a/database/database.mysql
+++ b/database/database.mysql
@@ -817,6 +817,7 @@ INSERT INTO system VALUES ('modules/block.module','block','module','',1,0,0);
INSERT INTO system VALUES ('modules/comment.module','comment','module','',1,0,0);
INSERT INTO system VALUES ('modules/filter.module','filter','module','',1,0,0);
INSERT INTO system VALUES ('modules/help.module','help','module','',1,0,0);
+INSERT INTO system VALUES ('modules/menu.module','menu','module','',1,0,0);
INSERT INTO system VALUES ('modules/node.module','node','module','',1,0,0);
INSERT INTO system VALUES ('modules/page.module','page','module','',1,0,0);
INSERT INTO system VALUES ('modules/story.module','story','module','',1,0,0);
@@ -842,7 +843,7 @@ REPLACE variable SET name='theme_default', value='s:10:"bluemarine";';
REPLACE blocks SET module = 'user', delta = '0', theme = 'bluemarine', status = '1';
REPLACE blocks SET module = 'user', delta = '1', theme = 'bluemarine', status = '1';
-INSERT INTO sequences (name, id) VALUES ('menu_mid', 1);
+INSERT INTO sequences (name, id) VALUES ('menu_mid', 2);
INSERT INTO node_access VALUES (0, 0, 'all', 1, 0, 0);
@@ -860,3 +861,7 @@ INSERT INTO locales_meta (locale, name, enabled, isdefault) VALUES ('en', 'Engli
INSERT INTO url_alias (src, dst) VALUES ('node/feed', 'rss.xml');
INSERT INTO variable (name, value) VALUES ('node_options_forum', 'a:1:{i:0;s:6:"status";}');
+
+INSERT INTO menu VALUES (2, 0, '', 'Primary links', '', 0, 115);
+INSERT INTO variable VALUES ('menu_primary_menu', 'i:2;');
+INSERT INTO variable VALUES ('menu_secondary_menu', 'i:2;');
diff --git a/database/database.pgsql b/database/database.pgsql
index ba2fd0a8f..5cab7e2a6 100644
--- a/database/database.pgsql
+++ b/database/database.pgsql
@@ -811,6 +811,7 @@ INSERT INTO system VALUES ('modules/block.module','block','module','',1,0,0);
INSERT INTO system VALUES ('modules/comment.module','comment','module','',1,0,0);
INSERT INTO system VALUES ('modules/filter.module','filter','module','',1,0,0);
INSERT INTO system VALUES ('modules/help.module','help','module','',1,0,0);
+INSERT INTO system VALUES ('modules/menu.module','menu','module','',1,0,0);
INSERT INTO system VALUES ('modules/node.module','node','module','',1,0,0);
INSERT INTO system VALUES ('modules/page.module','page','module','',1,0,0);
INSERT INTO system VALUES ('modules/story.module','story','module','',1,0,0);
@@ -852,10 +853,14 @@ INSERT INTO url_alias (src, dst) VALUES ('node/feed', 'rss.xml');
INSERT INTO variable (name, value) VALUES ('node_options_forum', 'a:1:{i:0;s:6:"status";}');
+INSERT INTO menu VALUES (2, 0, '', 'Primary links', '', 0, 115);
+INSERT INTO variable VALUES ('menu_primary_menu', 'i:2;');
+INSERT INTO variable VALUES ('menu_secondary_menu', 'i:2;');
+
---
--- Alter some sequences
---
-ALTER SEQUENCE menu_mid_seq RESTART 2;
+ALTER SEQUENCE menu_mid_seq RESTART 3;
---
--- Functions
diff --git a/database/updates.inc b/database/updates.inc
index 4f7f32be7..5ae0457f7 100644
--- a/database/updates.inc
+++ b/database/updates.inc
@@ -67,7 +67,8 @@ $sql_updates = array(
"2005-09-07" => "update_147",
"2005-09-18" => "update_148",
"2005-09-27" => "update_149",
- "2005-10-15" => "update_150"
+ "2005-10-15" => "update_150",
+ "2005-10-23" => "update_151",
);
function update_110() {
@@ -919,6 +920,81 @@ function update_150() {
return $ret;
}
+function update_151() {
+ $ret = array();
+
+ $ts = variable_get('theme_settings', null);
+
+ // set up data array so we can loop over both sets of links
+ $menus = array(0 => array('links_var' => 'primary_links',
+ 'toggle_var' => 'toggle_primary_links',
+ 'more_var' => 'primary_links_more',
+ 'menu_name' => t('Primary links'),
+ 'menu_var' => 'menu_primary_menu',
+ 'pid' => 0),
+ 1 => array('links_var' => 'secondary_links',
+ 'toggle_var' => 'toggle_secondary_links',
+ 'more_var' => 'secondary_links_more',
+ 'menu_name' => t('Secondary links'),
+ 'menu_var' => 'menu_secondary_menu',
+ 'pid' => 0));
+
+ for ($loop = 0; $loop <= 1 ; $loop ++) {
+ // create new Primary and Secondary links menus
+ $menus[$loop]['pid'] = db_next_id('{menu}_mid');
+ $ret[] = update_sql("INSERT INTO {menu} (mid, pid, path, title, description, weight, type) " .
+ "VALUES ({$menus[$loop]['pid']}, 0, '', '{$menus[$loop]['menu_name']}', '', 0, 115)");
+
+ // insert all entries from theme links into new menus
+ $num_inserted = 0;
+ if (is_array($ts) && is_array($ts[$menus[$loop]['links_var']])) {
+ $links = $ts[$menus[$loop]['links_var']];
+ for ($i = 0; $i < count($links['text']); $i++) {
+ if ($links['text'][$i] != "" && $links['link'][$i] != "") {
+ $num_inserted ++;
+ $node_unalias = db_fetch_array(db_query("SELECT src FROM {url_alias} WHERE dst = '%s'", $links['link'][$i]));
+ if (is_array($node_unalias)) {
+ $link_path = $node_unalias['src'];
+ }
+ else {
+ $link_path = $links['link'][$i];
+ }
+
+ $mid = db_next_id('{menu}_mid');
+ $ret[] = update_sql("INSERT INTO {menu} (mid, pid, path, title, description, weight, type) " .
+ "VALUES ($mid, {$menus[$loop]['pid']}, '$link_path', '{$links['text'][$i]}', '{$links['description'][$i]}', 0, 118)");
+ }
+ }
+ // delete Secondary links if not populated.
+ if ($loop == 1 && $num_inserted == 0) {
+ db_query("DELETE FROM {menu} WHERE mid={$menus[$loop]['pid']}");
+ }
+ }
+
+ // set menu_primary_menu variable appropriately
+ if (!$ts[$menus[$loop]['toggle_var']] || $num_inserted == 0) {
+ variable_set($menus[$loop]['menu_var'], 0);
+ }
+ else {
+ variable_set($menus[$loop]['menu_var'], $menus[$loop]['pid']);
+ }
+ variable_del($menus[$loop]['toggle_var']);
+ unset($ts[$menus[$loop]['toggle_var']]);
+ variable_del($menus[$loop]['links_var']);
+ unset($ts[$menus[$loop]['links_var']]);
+ variable_del($menus[$loop]['more_var']);
+ unset($ts[$menus[$loop]['more_var']]);
+ }
+
+ if (is_array($ts)) {
+ variable_set('theme_settings', $ts);
+ }
+
+ $ret[] = update_sql("UPDATE {system} SET status = 1 WHERE name = 'menu'");
+
+ return $ret;
+}
+
function update_sql($sql) {
$edit = $_POST["edit"];
$result = db_query($sql);