Changeset 2195 for plugins/blocNotes/_install.php
- Timestamp:
- 04/15/10 23:59:41 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
plugins/blocNotes/_install.php
r1925 r2195 3 3 # 4 4 # This file is part of Bloc-Notes. 5 # Copyright 2008,2009 Moe (http://gniark.net/)5 # Copyright 2008,2009,2010 Moe (http://gniark.net/) 6 6 # 7 7 # Bloc-Notes is free software; you can redistribute it and/or modify … … 38 38 } 39 39 40 # encode settings to preserve new lines when editing about:config41 if ( version_compare($i_version,'1.0.2','<'))40 # update the database only if the plugin has already been installed 41 if ($i_version !== null) 42 42 { 43 # per-blog setting 44 $rs = $core->con->select('SELECT setting_value, setting_id, blog_id '. 45 'FROM '.$core->prefix.'setting '. 46 'WHERE setting_ns = \'blocnotes\' '. 47 'AND (setting_id = \'blocNotes_text\');'); 48 49 while($rs->fetch()) 43 # encode settings to preserve new lines when editing about:config 44 if (version_compare($i_version,'1.0.2','<')) 50 45 { 51 $cur = $core->con->openCursor($core->prefix.'setting'); 52 $cur->setting_value = base64_encode($rs->setting_value); 53 $cur->update('WHERE setting_ns = \'blocnotes\' '. 54 'AND setting_id = \''.$rs->setting_id.'\''. 55 'AND blog_id = \''.$rs->blog_id.'\';'); 46 # per-blog setting 47 $rs = $core->con->select('SELECT setting_value, setting_id, blog_id '. 48 'FROM '.$core->prefix.'setting '. 49 'WHERE setting_ns = \'blocnotes\' '. 50 'AND (setting_id = \'blocNotes_text\');'); 51 52 while($rs->fetch()) 53 { 54 $cur = $core->con->openCursor($core->prefix.'setting'); 55 $cur->setting_value = base64_encode($rs->setting_value); 56 $cur->update('WHERE setting_ns = \'blocnotes\' '. 57 'AND setting_id = \''.$rs->setting_id.'\''. 58 'AND blog_id = \''.$rs->blog_id.'\';'); 59 } 60 61 # users setting (global) 62 $rs = $core->con->select('SELECT setting_value, setting_id, blog_id '. 63 'FROM '.$core->prefix.'setting '. 64 'WHERE setting_ns = \'blocnotes\' '. 65 'AND (setting_id LIKE \'blocNotes_text_%\');'); 66 67 while($rs->fetch()) 68 { 69 $cur = $core->con->openCursor($core->prefix.'setting'); 70 $cur->setting_value = base64_encode($rs->setting_value); 71 $cur->update('WHERE setting_ns = \'blocnotes\' '. 72 'AND setting_id = \''.$rs->setting_id.'\';'); 73 } 56 74 } 57 75 58 # users setting (global) 59 $rs = $core->con->select('SELECT setting_value, setting_id, blog_id '. 60 'FROM '.$core->prefix.'setting '. 61 'WHERE setting_ns = \'blocnotes\' '. 62 'AND (setting_id LIKE \'blocNotes_text_%\');'); 63 64 while($rs->fetch()) 76 # store users setting in (dc_)user 77 if (version_compare($i_version,'1.0.3','<')) 65 78 { 66 $cur = $core->con->openCursor($core->prefix.'setting'); 67 $cur->setting_value = base64_encode($rs->setting_value); 68 $cur->update('WHERE setting_ns = \'blocnotes\' '. 69 'AND setting_id = \''.$rs->setting_id.'\';'); 79 # users setting (global) 80 $rs = $core->con->select('SELECT setting_value, setting_id '. 81 'FROM '.$core->prefix.'setting '. 82 'WHERE setting_ns = \'blocnotes\' '. 83 'AND (setting_id LIKE \'blocNotes_text_%\');'); 84 85 while($rs->fetch()) 86 { 87 $user_id = str_replace('blocNotes_text_','',$rs->setting_id); 88 89 $cur = $core->con->openCursor($core->prefix.'user'); 90 $cur->blocNotes = base64_decode($rs->setting_value); 91 $cur->update('WHERE user_id = \''.$user_id.'\';'); 92 } 93 94 # delete old settings 95 $core->con->execute('DELETE FROM '.$core->prefix.'setting '. 96 'WHERE setting_ns = \'blocnotes\' '. 97 'AND (setting_id LIKE \'blocNotes_text_%\');'); 70 98 } 71 }72 99 73 if (version_compare($i_version,'1.0.4','<')) 74 { 75 # rename blocNotes field to bloc_notes (fix problem with PostgreSQL) 76 if ($core->con->driver() == 'pgsql') 100 if (version_compare($i_version,'1.0.4','<')) 77 101 { 78 $core->con->execute('ALTER TABLE '.$core->prefix.'user '. 79 'RENAME COLUMN blocNotes TO bloc_notes;'); 80 } 81 else 82 { 83 $core->con->execute('ALTER TABLE '.$core->prefix.'user '. 84 'CHANGE blocNotes bloc_notes TEXT;'); 102 # rename blocNotes field to bloc_notes (fix problem with PostgreSQL) 103 if ($core->con->driver() == 'pgsql') 104 { 105 $core->con->execute('ALTER TABLE '.$core->prefix.'user '. 106 'RENAME COLUMN blocNotes TO bloc_notes;'); 107 } 108 else 109 { 110 $core->con->execute('ALTER TABLE '.$core->prefix.'user '. 111 'CHANGE blocNotes bloc_notes TEXT;'); 112 } 85 113 } 86 114 } … … 97 125 $changes = $si->synchronize($s); 98 126 99 # store users setting in (dc_)user100 if (version_compare($i_version,'1.0.3','<'))101 {102 # users setting (global)103 $rs = $core->con->select('SELECT setting_value, setting_id '.104 'FROM '.$core->prefix.'setting '.105 'WHERE setting_ns = \'blocnotes\' '.106 'AND (setting_id LIKE \'blocNotes_text_%\');');107 108 while($rs->fetch())109 {110 $user_id = str_replace('blocNotes_text_','',$rs->setting_id);111 112 $cur = $core->con->openCursor($core->prefix.'user');113 $cur->blocNotes = base64_decode($rs->setting_value);114 $cur->update('WHERE user_id = \''.$user_id.'\';');115 }116 117 # delete old settings118 $core->con->execute('DELETE FROM '.$core->prefix.'setting '.119 'WHERE setting_ns = \'blocnotes\' '.120 'AND (setting_id LIKE \'blocNotes_text_%\');');121 }122 123 127 # La procédure d'installation commence vraiment là 124 128 $core->setVersion('blocNotes',$m_version);
Note: See TracChangeset
for help on using the changeset viewer.