svn: /web/doc-editor/trunk/ install/doc-editor.sql js/main.js js/ui/component/EditorConf.js js/ui/component/ErrorFileGrid.js js/ui/component/FilePanel.js js/ui/component/PendingPatchGrid.js js/ui/component/PendingReviewGrid.js js/ui/component/RepositoryTree.js js/ui/component/StaleFileGrid.js js/ui/task/LoadConfigTask.js js/ui/task/UpdateConfTask.js php/AccountManager.php php/ToolsError.php

[email protected] (Yannick Torres)
Newsgroups php.doc.web
Message-ID <[email protected]>
yannick                                  Thu, 17 Dec 2009 22:49:06 +0000

Revision: http://svn.php.net/viewvc?view=revision&revision=292272

Log:
Review user configuration process. Simplify the storage & the futur add of new configuration option. We need to modify the DB structure after this commit

Changed paths:
    U   web/doc-editor/trunk/install/doc-editor.sql
    U   web/doc-editor/trunk/js/main.js
    U   web/doc-editor/trunk/js/ui/component/EditorConf.js
    U   web/doc-editor/trunk/js/ui/component/ErrorFileGrid.js
    U   web/doc-editor/trunk/js/ui/component/FilePanel.js
    U   web/doc-editor/trunk/js/ui/component/PendingPatchGrid.js
    U   web/doc-editor/trunk/js/ui/component/PendingReviewGrid.js
    U   web/doc-editor/trunk/js/ui/component/RepositoryTree.js
    U   web/doc-editor/trunk/js/ui/component/StaleFileGrid.js
    U   web/doc-editor/trunk/js/ui/task/LoadConfigTask.js
    U   web/doc-editor/trunk/js/ui/task/UpdateConfTask.js
    U   web/doc-editor/trunk/php/AccountManager.php
    U   web/doc-editor/trunk/php/ToolsError.php
svn-diffs-292272.txt (text/x-diff, 35.9 KB)
Modified: web/doc-editor/trunk/install/doc-editor.sql
===================================================================
--- web/doc-editor/trunk/install/doc-editor.sql	2009-12-17 22:18:10 UTC (rev 292271)
+++ web/doc-editor/trunk/install/doc-editor.sql	2009-12-17 22:49:06 UTC (rev 292272)
@@ -168,18 +168,7 @@
 CREATE TABLE IF NOT EXISTS `users` (
   `userID` int(10) unsigned NOT NULL AUTO_INCREMENT,
   `vcs_login` varchar(255) NOT NULL,
-  `conf_needupdate_diff` varchar(255) NOT NULL DEFAULT 'using-exec',
-  `conf_needupdate_scrollbars` varchar(10) NOT NULL DEFAULT 'true',
-  `conf_needupdate_displaylog` varchar(10) NOT NULL DEFAULT 'false',
-  `conf_error_skipnbliteraltag` varchar(10) NOT NULL DEFAULT 'true',
-  `conf_error_scrollbars` varchar(10) NOT NULL DEFAULT 'true',
-  `conf_error_displaylog` varchar(10) NOT NULL DEFAULT 'false',
-  `conf_reviewed_scrollbars` varchar(10) NOT NULL DEFAULT 'true',
-  `conf_reviewed_displaylog` varchar(10) NOT NULL DEFAULT 'false',
-  `conf_allfiles_displaylog` varchar(10) NOT NULL DEFAULT 'false',
-  `conf_patch_scrollbars` varchar(10) NOT NULL DEFAULT 'true',
-  `conf_patch_displaylog` varchar(10) NOT NULL DEFAULT 'false',
-  `conf_theme` varchar(255) NOT NULL DEFAULT 'themes/empty.css',
+  `conf` text NOT NULL,
   `last_connect` datetime NOT NULL,
   KEY `userID` (`userID`)
 ) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

Modified: web/doc-editor/trunk/js/main.js
===================================================================
--- web/doc-editor/trunk/js/main.js	2009-12-17 22:18:10 UTC (rev 292271)
+++ web/doc-editor/trunk/js/main.js	2009-12-17 22:49:06 UTC (rev 292272)
@@ -10,26 +10,8 @@
         appVer     : '0.2',
         uiRevision : '$Revision$',

-        userConf : {
-            'conf_needupdate_diff'       : 'using-exec',
-            'conf_needupdate_scrollbars' : true,
-            'conf_needupdate_displaylog' : false,
+        userConf : '',

-            'conf_error_skipnbliteraltag' : true,
-            'conf_error_scrollbars'       : true,
-            'conf_error_displaylog'       : false,
-
-            'conf_reviewed_scrollbars' : true,
-            'conf_reviewed_displaylog' : false,
-
-            'conf_allfiles_displaylog' : false,
-
-            'conf_patch_scrollbars' : true,
-            'conf_patch_displaylog' : false,
-
-            'conf_theme' : 'themes/empty.css'
-        },
-
         filePendingOpen : '',

         init : function()

Modified: web/doc-editor/trunk/js/ui/component/EditorConf.js
===================================================================
--- web/doc-editor/trunk/js/ui/component/EditorConf.js	2009-12-17 22:18:10 UTC (rev 292271)
+++ web/doc-editor/trunk/js/ui/component/EditorConf.js	2009-12-17 22:49:06 UTC (rev 292272)
@@ -105,7 +105,7 @@
                     mode           : 'local',
                     forceSelection : true,
                     editable       : false,
-                    value          : phpDoc.userConf.conf_theme,
+                    value          : phpDoc.userConf["theme"],
                     store          : ui.component._EditorConf.themeStore,

                     listeners : {
@@ -116,11 +116,11 @@
                         select : function(c, record, numIndex)
                         {
                             var hrefTheme = c.getValue(),
-							    tmp;
+                            tmp;

                             Ext.get('appTheme').dom.href = hrefTheme;
                             tmp = new ui.task.UpdateConfTask({
-                                item  : 'conf_theme',
+                                item  : 'theme',
                                 value : hrefTheme
                             });
                         }
@@ -149,8 +149,8 @@
                 defaults    : { hideLabel: true },
                 defaultType : 'radio',
                 items       : [{
-                    name       : 'conf_needupdate_diff',
-                    checked    : (phpDoc.userConf.conf_needupdate_diff === "using-viewvc") ? true : false,
+                    name       : 'needUpdateDiff',
+                    checked    : (phpDoc.userConf["needUpdateDiff"] === "using-viewvc") ? true : false,
                     boxLabel   : _('Using ViewVc from php web site'),
                     inputValue : 'using-viewvc',

@@ -159,15 +159,15 @@
                         {
                             if (field.checked) {
                                 var tmp = new ui.task.UpdateConfTask({
-                                    item  : 'conf_needupdate_diff',
+                                    item  : 'needUpdateDiff',
                                     value : field.getRawValue()
                                 });
                             }
                         }
                     }
                 }, {
-                    name       : 'conf_needupdate_diff',
-                    checked    : (phpDoc.userConf.conf_needupdate_diff === "using-exec") ? true : false,
+                    name       : 'needUpdateDiff',
+                    checked    : (phpDoc.userConf["needUpdateDiff"] === "using-exec") ? true : false,
                     boxLabel   : _('Using diff -kk -u command line'),
                     inputValue : 'using-exec',

@@ -176,7 +176,7 @@
                         {
                             if (field.checked) {
                                 var tmp = new ui.task.UpdateConfTask({
-                                    item  : 'conf_needupdate_diff',
+                                    item  : 'needUpdateDiff',
                                     value : field.getRawValue()
                                 });
                             }
@@ -190,29 +190,29 @@
                 defaults    : { hideLabel: true },
                 defaultType : 'checkbox',
                 items       : [{
-                    name     : 'conf_needupdate_scrollbars',
-                    checked  : (phpDoc.userConf.conf_needupdate_scrollbars === "true") ? true : false,
+                    name     : 'needUpdateScrollbars',
+                    checked  : phpDoc.userConf["needUpdateScrollbars"],
                     boxLabel : _('Synchronize scroll bars'),

                     listeners : {
                         check : function(field)
                         {
                             var tmp = new ui.task.UpdateConfTask({
-                                item  : 'conf_needupdate_scrollbars',
+                                item  : 'needUpdateScrollbars',
                                 value : field.getValue()
                             });
                         }
                     }
                 }, {
-                    name     : 'conf_needupdate_displaylog',
-                    checked  : (phpDoc.userConf.conf_needupdate_displaylog === "true") ? true : false,
+                    name     : 'needUpdateDisplaylog',
+                    checked  : phpDoc.userConf["needUpdateDisplaylog"],
                     boxLabel : _('Automatically load the log when displaying the file'),

                     listeners : {
                         check : function(field)
                         {
                             var tmp = new ui.task.UpdateConfTask({
-                                item  : 'conf_needupdate_displaylog',
+                                item  : 'needUpdateDisplaylog',
                                 value : field.getValue()
                             });
                         }
@@ -241,15 +241,15 @@
                 defaults    : { hideLabel: true },
                 defaultType : 'checkbox',
                 items       : [{
-                    name     : 'conf_error_skipnbliteraltag',
-                    checked  : (phpDoc.userConf.conf_error_skipnbliteraltag === "true") ? true : false,
+                    name     : 'errorSkipNbLiteralTag',
+                    checked  : phpDoc.userConf["errorSkipNbLiteralTag"],
                     boxLabel : _('Skip nbLiteralTag error'),

                     listeners : {
                         check : function(field)
                         {
                             var tmp = new ui.task.UpdateConfTask({
-                                item  : 'conf_error_skipnbliteraltag',
+                                item  : 'errorSkipNbLiteralTag',
                                 value : field.getValue()
                             });
                         }
@@ -262,29 +262,29 @@
                 defaults    : { hideLabel: true },
                 defaultType : 'checkbox',
                 items       : [{
-                    name     : 'conf_error_scrollbars',
-                    checked  : (phpDoc.userConf.conf_error_scrollbars === "true") ? true : false,
+                    name     : 'errorScrollbars',
+                    checked  : phpDoc.userConf["errorScrollbars"],
                     boxLabel : _('Synchronize scroll bars'),

                     listeners : {
                         check : function(field)
                         {
                             var tmp = new ui.task.UpdateConfTask({
-                                item  : 'conf_error_scrollbars',
+                                item  : 'errorScrollbars',
                                 value : field.getValue()
                             });
                         }
                     }
                 }, {
-                    name     : 'conf_error_displaylog',
-                    checked  : (phpDoc.userConf.conf_error_displaylog === "true") ? true : false,
+                    name     : 'errorDisplayLog',
+                    checked  : phpDoc.userConf["errorDisplayLog"],
                     boxLabel : _('Automatically load the log when displaying the file'),

                     listeners : {
                         check : function(field)
                         {
                             var tmp = new ui.task.UpdateConfTask({
-                                item  : 'conf_error_displaylog',
+                                item  : 'errorDisplayLog',
                                 value : field.getValue()
                             });
                         }
@@ -313,29 +313,29 @@
                 defaults    : { hideLabel: true },
                 defaultType : 'checkbox',
                 items       : [{
-                    name     : 'conf_reviewed_scrollbars',
-                    checked  : (phpDoc.userConf.conf_reviewed_scrollbars === "true") ? true : false,
+                    name     : 'reviewedScrollbars',
+                    checked  : phpDoc.userConf["reviewedScrollbars"],
                     boxLabel : _('Synchronize scroll bars'),

                     listeners : {
                         check : function(field)
                         {
                             var tmp = new ui.task.UpdateConfTask({
-                                item  : 'conf_reviewed_scrollbars',
+                                item  : 'reviewedScrollbars',
                                 value : field.getValue()
                             });
                         }
                     }
                 }, {
-                    name     : 'conf_reviewed_displaylog',
-                    checked  : (phpDoc.userConf.conf_reviewed_displaylog === "true") ? true : false,
+                    name     : 'reviewedDisplaylog',
+                    checked  : phpDoc.userConf["reviewedDisplaylog"],
                     boxLabel : _('Automatically load the log when displaying the file'),

                     listeners : {
                         check : function(field)
                         {
                             var tmp = new ui.task.UpdateConfTask({
-                                item  : 'conf_reviewed_displaylog',
+                                item  : 'reviewedDisplaylog',
                                 value : field.getValue()
                             });
                         }
@@ -364,15 +364,15 @@
                 defaults    : { hideLabel: true },
                 defaultType : 'checkbox',
                 items       : [{
-                    name     : 'conf_allfiles_displaylog',
-                    checked  : (phpDoc.userConf.conf_allfiles_displaylog === "true") ? true : false,
+                    name     : 'allFilesDisplayLog',
+                    checked  : phpDoc.userConf["allFilesDisplayLog"],
                     boxLabel : _('Automatically load the log when displaying the file'),

                     listeners : {
                         check : function(field)
                         {
                             var tmp = new ui.task.UpdateConfTask({
-                                item  : 'conf_allfiles_displaylog',
+                                item  : 'allFilesDisplayLog',
                                 value : field.getValue()
                             });
                         }
@@ -401,29 +401,29 @@
                 defaults    : { hideLabel: true },
                 defaultType : 'checkbox',
                 items       : [{
-                    name     : 'conf_patch_scrollbars',
-                    checked  : (phpDoc.userConf.conf_patch_scrollbars === "true") ? true : false,
+                    name     : 'patchScrollbars',
+                    checked  : phpDoc.userConf["patchScrollbars"],
                     boxLabel : _('Synchronize scroll bars'),

                     listeners : {
                         check : function(field)
                         {
                             var tmp = new ui.task.UpdateConfTask({
-                                item  : 'conf_patch_scrollbars',
+                                item  : 'patchScrollbars',
                                 value : field.getValue()
                             });
                         }
                     }
                 }, {
-                    name     : 'conf_patch_displaylog',
-                    checked  : (phpDoc.userConf.conf_patch_displaylog === "true") ? true : false,
+                    name     : 'patchDisplayLog',
+                    checked  : phpDoc.userConf["patchDisplayLog"],
                     boxLabel : _('Automatically load the log when displaying the file'),

                     listeners : {
                         check : function(field)
                         {
                             var tmp = new ui.task.UpdateConfTask({
-                                item  : 'conf_patch_displaylog',
+                                item  : 'patchDisplayLog',
                                 value : field.getValue()
                             });
                         }

Modified: web/doc-editor/trunk/js/ui/component/ErrorFileGrid.js
===================================================================
--- web/doc-editor/trunk/js/ui/component/ErrorFileGrid.js	2009-12-17 22:18:10 UTC (rev 292271)
+++ web/doc-editor/trunk/js/ui/component/ErrorFileGrid.js	2009-12-17 22:49:06 UTC (rev 292272)
@@ -298,7 +298,7 @@
                                     fid       : FileID,
                                     fpath     : phpDoc.userLang + FilePath,
                                     fname     : FileName,
-                                    loadStore : (phpDoc.userConf.conf_error_displaylog === 'true')
+                                    loadStore : phpDoc.userConf["errorDisplayLog"]
                                 }),
                                 new ui.component.VCSLogGrid({
                                     layout    : 'fit',
@@ -307,7 +307,7 @@
                                     fid       : FileID,
                                     fpath     : 'en' + FilePath,
                                     fname     : FileName,
-                                    loadStore : (phpDoc.userConf.conf_error_displaylog === 'true')
+                                    loadStore : phpDoc.userConf["errorDisplayLog"]
                                 })
                             ]
                         }
@@ -326,7 +326,7 @@
                         storeRecord    : storeRecord,
                         syncScrollCB   : true,
                         syncScroll     : true,
-                        syncScrollConf : 'conf_error_scrollbars'
+                        syncScrollConf : 'errorScrollbars'
                     }), new ui.component.FilePanel(
                     {
                         id             : 'FE-EN-PANEL-' + FileID,
@@ -342,7 +342,7 @@
                         parser         : 'xml',
                         storeRecord    : storeRecord,
                         syncScroll     : true,
-                        syncScrollConf : 'conf_error_scrollbars'
+                        syncScrollConf : 'errorScrollbars'
                     })
                 ]
             });

Modified: web/doc-editor/trunk/js/ui/component/FilePanel.js
===================================================================
--- web/doc-editor/trunk/js/ui/component/FilePanel.js	2009-12-17 22:18:10 UTC (rev 292271)
+++ web/doc-editor/trunk/js/ui/component/FilePanel.js	2009-12-17 22:49:06 UTC (rev 292272)
@@ -357,9 +357,9 @@

         this.bbar = (this.syncScrollCB) ? [{
             xtype     : 'checkbox',
-            name      : 'conf_needupdate_scrollbars',
+            name      : 'needUpdateScrollbars',
             hideLabel : true,
-            checked   : (phpDoc.userConf[this.syncScrollConf] === 'true'),
+            checked   : phpDoc.userConf[this.syncScrollConf],
             boxLabel  : _('Synchronize scroll bars'),
             listeners : {
                 scope : this,

Modified: web/doc-editor/trunk/js/ui/component/PendingPatchGrid.js
===================================================================
--- web/doc-editor/trunk/js/ui/component/PendingPatchGrid.js	2009-12-17 22:18:10 UTC (rev 292271)
+++ web/doc-editor/trunk/js/ui/component/PendingPatchGrid.js	2009-12-17 22:49:06 UTC (rev 292272)
@@ -235,7 +235,7 @@
                                     fid       : FileID,
                                     fpath     : FilePath,
                                     fname     : FileName,
-                                    loadStore : (phpDoc.userConf.conf_patch_displaylog === 'true')
+                                    loadStore : phpDoc.userConf["patchDisplayLog"]
                                 })
                             }
                         }, new ui.component.FilePanel(
@@ -254,7 +254,7 @@
                             storeRecord    : storeRecord,
                             syncScrollCB   : true,
                             syncScroll     : true,
-                            syncScrollConf : 'conf_patch_scrollbars'
+                            syncScrollConf : 'patchScrollbars'
                         }), new ui.component.FilePanel(
                         {
                             id             : 'PP-ORIGIN-PANEL-' + FileID,
@@ -270,7 +270,7 @@
                             readOnly       : true,
                             parser         : 'xml',
                             syncScroll     : true,
-                            syncScrollConf : 'conf_patch_scrollbars'
+                            syncScrollConf : 'patchScrollbars'
                         })
                     ]
                 });

Modified: web/doc-editor/trunk/js/ui/component/PendingReviewGrid.js
===================================================================
--- web/doc-editor/trunk/js/ui/component/PendingReviewGrid.js	2009-12-17 22:18:10 UTC (rev 292271)
+++ web/doc-editor/trunk/js/ui/component/PendingReviewGrid.js	2009-12-17 22:49:06 UTC (rev 292272)
@@ -327,7 +327,7 @@
                                     fid       : FileID,
                                     fpath     : phpDoc.userLang + FilePath,
                                     fname     : FileName,
-                                    loadStore : (phpDoc.userConf.conf_reviewed_displaylog === 'true')
+                                    loadStore : phpDoc.userConf["reviewedDisplaylog"]
                                 }), new ui.component.VCSLogGrid({
                                     layout    : 'fit',
                                     title     : 'en',
@@ -335,7 +335,7 @@
                                     fid       : FileID,
                                     fpath     : 'en' + FilePath,
                                     fname     : FileName,
-                                    loadStore : (phpDoc.userConf.conf_reviewed_displaylog === 'true')
+                                    loadStore : phpDoc.userConf["reviewedDisplaylog"]
                                 })
                             ]
                         }
@@ -354,7 +354,7 @@
                         storeRecord    : storeRecord,
                         syncScrollCB   : true,
                         syncScroll     : true,
-                        syncScrollConf : 'conf_reviewed_scrollbars'
+                        syncScrollConf : 'reviewedScrollbars'
                     }), new ui.component.FilePanel(
                     {
                         id             : 'FNR-EN-PANEL-' + FileID,
@@ -370,7 +370,7 @@
                         parser         : 'xml',
                         storeRecord    : storeRecord,
                         syncScroll     : true,
-                        syncScrollConf : 'conf_reviewed_scrollbars'
+                        syncScrollConf : 'reviewedScrollbars'
                     })
                 ]
             });

Modified: web/doc-editor/trunk/js/ui/component/RepositoryTree.js
===================================================================
--- web/doc-editor/trunk/js/ui/component/RepositoryTree.js	2009-12-17 22:18:10 UTC (rev 292271)
+++ web/doc-editor/trunk/js/ui/component/RepositoryTree.js	2009-12-17 22:49:06 UTC (rev 292272)
@@ -201,7 +201,7 @@
                                         fid       : FileID,
                                         fpath     : FileLang + FilePath,
                                         fname     : FileName,
-                                        loadStore : (phpDoc.userConf.conf_allfiles_displaylog === "true")
+                                        loadStore : phpDoc.userConf["allFilesDisplayLog"]
                                     })]
                                 }]
                             }

Modified: web/doc-editor/trunk/js/ui/component/StaleFileGrid.js
===================================================================
--- web/doc-editor/trunk/js/ui/component/StaleFileGrid.js	2009-12-17 22:18:10 UTC (rev 292271)
+++ web/doc-editor/trunk/js/ui/component/StaleFileGrid.js	2009-12-17 22:49:06 UTC (rev 292272)
@@ -245,9 +245,9 @@
         // Render only if this tab don't exist yet
         if (!Ext.getCmp('main-panel').findById('FNU-' + FileID)) {

-            if (phpDoc.userConf.conf_needupdate_diff === "using-viewvc") {
+            if (phpDoc.userConf["needUpdateDiff"] === "using-viewvc") {
                 diff = ui.component.ViewVCDiff;
-            } else if (phpDoc.userConf.conf_needupdate_diff === "using-exec") {
+            } else if (phpDoc.userConf["needUpdateDiff"] === "using-exec") {
                 diff = ui.component.ExecDiff;
             }

@@ -295,7 +295,7 @@
                                     fid       : FileID,
                                     fpath     : phpDoc.userLang + FilePath,
                                     fname     : FileName,
-                                    loadStore : (phpDoc.userConf.conf_needupdate_displaylog === "true")
+                                    loadStore : phpDoc.userConf["needUpdateDisplaylog"]
                                 }),
                                 new ui.component.VCSLogGrid({
                                     layout    : 'fit',
@@ -304,7 +304,7 @@
                                     fid       : FileID,
                                     fpath     : 'en' + FilePath,
                                     fname     : FileName,
-                                    loadStore : (phpDoc.userConf.conf_needupdate_displaylog === "true")
+                                    loadStore : phpDoc.userConf["needUpdateDisplaylog"]
                                 })
                             ]
                         }
@@ -323,7 +323,7 @@
                         storeRecord    : storeRecord,
                         syncScrollCB   : true,
                         syncScroll     : true,
-                        syncScrollConf : 'conf_needupdate_scrollbars'
+                        syncScrollConf : 'needUpdateScrollbars'
                     }), new ui.component.FilePanel(
                     {
                         id             : 'FNU-EN-PANEL-' + FileID,
@@ -339,7 +339,7 @@
                         parser         : 'xml',
                         storeRecord    : storeRecord,
                         syncScroll     : true,
-                        syncScrollConf : 'conf_needupdate_scrollbars'
+                        syncScrollConf : 'needUpdateScrollbars'
                     })
                 ]
             });

Modified: web/doc-editor/trunk/js/ui/task/LoadConfigTask.js
===================================================================
--- web/doc-editor/trunk/js/ui/task/LoadConfigTask.js	2009-12-17 22:18:10 UTC (rev 292271)
+++ web/doc-editor/trunk/js/ui/task/LoadConfigTask.js	2009-12-17 22:49:06 UTC (rev 292272)
@@ -13,26 +13,12 @@
             phpDoc.userLogin = o.mess.userLogin;
             phpDoc.userLang  = o.mess.userLang;

-            phpDoc.userConf.conf_needupdate_diff       = o.mess.userConf.conf_needupdate_diff;
-            phpDoc.userConf.conf_needupdate_scrollbars = o.mess.userConf.conf_needupdate_scrollbars;
-            phpDoc.userConf.conf_needupdate_displaylog = o.mess.userConf.conf_needupdate_displaylog;
+            phpDoc.userConf = o.mess.userConf;

-            phpDoc.userConf.conf_error_skipnbliteraltag = o.mess.userConf.conf_error_skipnbliteraltag;
-            phpDoc.userConf.conf_error_scrollbars       = o.mess.userConf.conf_error_scrollbars;
-            phpDoc.userConf.conf_error_displaylog       = o.mess.userConf.conf_error_displaylog;
-
-            phpDoc.userConf.conf_reviewed_scrollbars = o.mess.userConf.conf_reviewed_scrollbars;
-            phpDoc.userConf.conf_reviewed_displaylog = o.mess.userConf.conf_reviewed_displaylog;
-
-            phpDoc.userConf.conf_allfiles_displaylog = o.mess.userConf.conf_allfiles_displaylog;
-
-            phpDoc.userConf.conf_patch_scrollbars = o.mess.userConf.conf_patch_scrollbars;
-            phpDoc.userConf.conf_patch_displaylog = o.mess.userConf.conf_patch_displaylog;
-
             //For the theme, we apply this.
-            phpDoc.userConf.conf_theme   = o.mess.userConf.conf_theme;
-            Ext.get('appTheme').dom.href = phpDoc.userConf.conf_theme;
+            Ext.get('appTheme').dom.href = phpDoc.userConf["theme"];

+
             // Draw the interface
             phpDoc.drawInterface();
         }

Modified: web/doc-editor/trunk/js/ui/task/UpdateConfTask.js
===================================================================
--- web/doc-editor/trunk/js/ui/task/UpdateConfTask.js	2009-12-17 22:18:10 UTC (rev 292271)
+++ web/doc-editor/trunk/js/ui/task/UpdateConfTask.js	2009-12-17 22:49:06 UTC (rev 292272)
@@ -16,45 +16,12 @@
         success : function(response)
         {
             // Update userConf object
-            switch (this.item) {
-                case 'conf_theme' :
-                    phpDoc.userConf.conf_theme = this.value;
-                    break;
-                case 'conf_needupdate_diff' :
-                    phpDoc.userConf.conf_needupdate_diff = this.value;
-                    break;
-                case 'conf_needupdate_scrollbars':
-                    phpDoc.userConf.conf_needupdate_scrollbars = "" + this.value + "";
-                    break;
-                case 'conf_needupdate_displaylog':
-                    phpDoc.userConf.conf_needupdate_displaylog = "" + this.value + "";
-                    break;
-                case 'conf_error_skipnbliteraltag':
-                    phpDoc.userConf.conf_error_skipnbliteraltag = "" + this.value + "";
-                    ui.component.ErrorFileGrid.getInstance().store.reload();
-                    break;
-                case 'conf_error_scrollbars':
-                    phpDoc.userConf.conf_error_scrollbars = "" + this.value + "";
-                    break;
-                case 'conf_error_displaylog':
-                    phpDoc.userConf.conf_error_displaylog = "" + this.value + "";
-                    break;
-                case 'conf_reviewed_scrollbars':
-                    phpDoc.userConf.conf_reviewed_scrollbars = "" + this.value + "";
-                    break;
-                case 'conf_reviewed_displaylog':
-                    phpDoc.userConf.conf_reviewed_displaylog = "" + this.value + "";
-                    break;
-                case 'conf_allfiles_displaylog':
-                    phpDoc.userConf.conf_allfiles_displaylog = "" + this.value + "";
-                    break;
-                case 'conf_patch_scrollbars':
-                    phpDoc.userConf.conf_patch_scrollbars = "" + this.value + "";
-                    break;
-                case 'conf_patch_displaylog':
-                    phpDoc.userConf.conf_patch_displaylog = "" + this.value + "";
-                    break;
+            phpDoc.userConf[this.item] = this.value;
+
+            if( this.item == "errorSkipNbLiteralTag" ) {
+                ui.component.ErrorFileGrid.getInstance().store.reload();
             }
+
         }
     });
 };

Modified: web/doc-editor/trunk/php/AccountManager.php
===================================================================
--- web/doc-editor/trunk/php/AccountManager.php	2009-12-17 22:18:10 UTC (rev 292271)
+++ web/doc-editor/trunk/php/AccountManager.php	2009-12-17 22:49:06 UTC (rev 292272)
@@ -21,9 +21,29 @@
     public $vcsPasswd;
     public $vcsLang;
     public $userConf;
+    public $defaultConf;

     private function __construct()
     {
+        $this->defaultConf = array(
+            "needUpdateDiff"        => 'using-exec',
+            "needUpdateDisplaylog"  => false,
+            "needUpdateScrollbars"  => true,
+
+            "errorDisplayLog"       => false,
+            "errorScrollbars"       => true,
+            "errorSkipNbLiteralTag" => true,
+
+            "reviewedDisplaylog"    => false,
+            "reviewedScrollbars"    => true,
+
+            "allFilesDisplayLog"    => false,
+
+            "patchDisplayLog"       => false,
+            "patchScrollbars"       => true,
+
+            "theme"                 => 'themes/empty.css'
+        );
     }

     /**
@@ -57,25 +77,7 @@

         $this->userConf = isset($_SESSION['userConf'])
             ? $_SESSION['userConf']
-            : array(
-                "conf_needupdate_diff"       => 'using-exec',
-                "conf_needupdate_scrollbars" => 'true',
-                "conf_needupdate_displaylog" => 'false',
-
-                "conf_error_skipnbliteraltag" => 'true',
-                "conf_error_scrollbars"       => 'true',
-                "conf_error_displaylog"       => 'false',
-
-                "conf_reviewed_scrollbars" => 'true',
-                "conf_reviewed_displaylog" => 'false',
-
-                "conf_allfiles_displaylog" => 'false',
-
-                "conf_patch_scrollbars" => 'true',
-                "conf_patch_displaylog" => 'false',
-
-                "conf_theme" => 'themes/empty.css'
-            );
+            : $this->defaultConf;
         $this->updateLastConnect();

         return true;
@@ -134,26 +136,8 @@
               $a = $r->fetch_object();

               // ... object's property ...
-              $this->userConf = array(
-                  "conf_needupdate_diff"       => $a->conf_needupdate_diff,
-                  "conf_needupdate_scrollbars" => $a->conf_needupdate_scrollbars,
-                  "conf_needupdate_displaylog" => $a->conf_needupdate_displaylog,
+              $this->userConf = json_decode($a->conf);

-                  "conf_error_skipnbliteraltag" => $a->conf_error_skipnbliteraltag,
-                  "conf_error_scrollbars"       => $a->conf_error_scrollbars,
-                  "conf_error_displaylog"       => $a->conf_error_displaylog,
-
-                  "conf_reviewed_scrollbars" => $a->conf_reviewed_scrollbars,
-                  "conf_reviewed_displaylog" => $a->conf_reviewed_displaylog,
-
-                  "conf_allfiles_displaylog" => $a->conf_allfiles_displaylog,
-
-                  "conf_patch_scrollbars" => $a->conf_patch_scrollbars,
-                  "conf_patch_displaylog" => $a->conf_patch_displaylog,
-
-                  "conf_theme" => $a->conf_theme
-              );
-
               // ... and into the php's session
               $_SESSION['userID']    = $a->userID;
               $_SESSION['vcsLogin']  = $this->vcsLogin;
@@ -176,26 +160,8 @@
               $_SESSION['vcsLogin']  = $this->vcsLogin;
               $_SESSION['vcsPasswd'] = $this->vcsPasswd;
               $_SESSION['lang']      = $this->vcsLang;
-              $_SESSION['userConf']  = array(
-                  "conf_needupdate_diff"       => 'using-exec',
-                  "conf_needupdate_scrollbars" => 'true',
-                  "conf_needupdate_displaylog" => 'false',
+              $_SESSION['userConf']  = $this->defaultConf;

-                  "conf_error_skipnbliteraltag" => 'true',
-                  "conf_error_scrollbars"       => 'true',
-                  "conf_error_displaylog"       => 'false',
-
-                  "conf_reviewed_scrollbars" => 'true',
-                  "conf_reviewed_displaylog" => 'false',
-
-                  "conf_allfiles_displaylog" => 'false',
-
-                  "conf_patch_scrollbars" => 'true',
-                  "conf_patch_displaylog" => 'false',
-
-                  "conf_theme" => 'themes/empty.css'
-              );
-
               // We construct the return's var for ExtJs
               $return['state'] = true;

@@ -224,11 +190,13 @@
      */
     private function register()
     {
+
+        $db = DBConnection::getInstance();
+
         $s = sprintf(
-            'INSERT INTO `users` (`vcs_login`) VALUES ("%s")',
-            $this->vcsLogin
+            'INSERT INTO `users` (`vcs_login`, `conf`) VALUES ("%s","%s")',
+            $this->vcsLogin, $db->real_escape_string(json_encode($this->defaultConf))
         );
-        $db = DBConnection::getInstance();
         $db->query($s);
         return $db->insert_id();
     }
@@ -241,15 +209,27 @@
      */
     public function updateConf($item, $value)
     {
-        $s = sprintf(
-            'UPDATE `users` SET `%s`="%s" WHERE `vcs_login`="%s"',
-            $item, $value, AccountManager::getInstance()->vcsLogin
-        );
-        DBConnection::getInstance()->query($s);

+        if( $value == "false" ) {
+            $value = false;
+        }
+
+        if( $value == "true" ) {
+            $value = true;
+        }
+
         // In session
-        AccountManager::getInstance()->userConf[$item] = $value;
+        $this->userConf[$item] = $value;
         $_SESSION['userConf'][$item] = $value;
+        $db = DBConnection::getInstance();
+
+        // In DB
+        $s = sprintf(
+            'UPDATE `users` SET `conf`="%s" WHERE `vcs_login`="%s"',
+            $db->real_escape_string(json_encode($this->userConf)), $this->vcsLogin
+        );
+        $db->query($s);
+
     }

     /**
@@ -257,16 +237,16 @@
      */
     public function eraseData()
     {
-        $uid = AccountManager::getInstance()->userID;
+
         $s = sprintf(
             'DELETE FROM `commitMessage` WHERE `userID`="%s"',
-            $uid
+            $this->userID
         );
         DBConnection::getInstance()->query($s);

         $s = sprintf(
             'DELETE FROM `users` WHERE `userID`="%s"',
-            $uid
+            $this->userID
         );
         DBConnection::getInstance()->query($s);
     }

Modified: web/doc-editor/trunk/php/ToolsError.php
===================================================================
--- web/doc-editor/trunk/php/ToolsError.php	2009-12-17 22:18:10 UTC (rev 292271)
+++ web/doc-editor/trunk/php/ToolsError.php	2009-12-17 22:49:06 UTC (rev 292272)
@@ -182,7 +182,7 @@
      */
     function getFilesError($ModifiedFiles) {

-        if ($_SESSION['userConf']['conf_error_skipnbliteraltag'] == 'true' ) {
+        if ($_SESSION['userConf']['errorSkipNbLiteralTag'] == 'true' ) {
             $type = ' type != \'nbLiteralTag\' AND ';
         } else {
             $type = '';
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.