X-Git-Url: http://git.euphorik.ch/?p=pompage.git;a=blobdiff_plain;f=doc%2Fwebdeveloper%2Fupgrade.js;fp=doc%2Fwebdeveloper%2Fupgrade.js;h=ddf57e21c5f6a0d1a82718c170c74a849f4f04b0;hp=0000000000000000000000000000000000000000;hb=c3b0deb3d8c9f439739c79806e915c29bc1d4b84;hpb=cff6539539a79e014f6ac8df46716cafce2c8472 diff --git a/doc/webdeveloper/upgrade.js b/doc/webdeveloper/upgrade.js new file mode 100644 index 0000000..ddf57e2 --- /dev/null +++ b/doc/webdeveloper/upgrade.js @@ -0,0 +1,158 @@ +// Migrate the extension to 1.0 +function webdeveloper_migrateTo1() +{ + var toolbar = document.getElementById("webdeveloper-toolbar"); + + webdeveloper_deletePreferenceBranch("webdeveloper.color"); + webdeveloper_deletePreferenceBranch("webdeveloper.edit.css"); + webdeveloper_deletePreferenceBranch("webdeveloper.tidied"); + webdeveloper_deletePreferenceBranch("webdeveloper.validator"); + + // Remove the disabled preference + if(webdeveloper_isPreferenceSet("webdeveloper.disabled")) + { + webdeveloper_deletePreference("webdeveloper.disabled"); + } + + // Migrate the populate form fields email + if(webdeveloper_getStringPreference("webdeveloper.populate.form.fields.email", true) == "noemail@noemail.org") + { + webdeveloper_deletePreference("webdeveloper.populate.form.fields.email"); + } + + // Migrate the validate feed url + if(webdeveloper_getStringPreference("webdeveloper.tool.2.url", true) == "http://feedvalidator.org/check.cgi?url=") + { + webdeveloper_deletePreference("webdeveloper.tool.2.url"); + } + + // Migrate the view speed report + if(webdeveloper_getStringPreference("webdeveloper.tool.7.url", true) == "http://www.websiteoptimization.com/cgi-bin/wso/wso.pl?url=") + { + webdeveloper_deletePreference("webdeveloper.tool.7.description"); + webdeveloper_deletePreference("webdeveloper.tool.7.url"); + } + + // Migrate the tool count + if(webdeveloper_getIntegerPreference("webdeveloper.tool.count", true) < 8) + { + webdeveloper_deletePreference("webdeveloper.tool.count"); + } + + toolbar.collapsed = false; + toolbar.hidden = false; + + document.persist("webdeveloper-toolbar", "collapsed"); + document.persist("webdeveloper-toolbar", "hidden"); +} + +// Migrate the extension to 1.1 +function webdeveloper_migrateTo11() +{ + // Migrate DOM Inspector sidebar + if(webdeveloper_isPreferenceSet("webdeveloper.dom.inspector.sidebar")) + { + webdeveloper_setBooleanPreference("webdeveloper.dom.inspector.dashboard", webdeveloper_getBooleanPreference("webdeveloper.dom.inspector.sidebar", true)); + webdeveloper_deletePreference("webdeveloper.dom.inspector.sidebar"); + } + + // Migrate JavaScript console dashboard + if(webdeveloper_isPreferenceSet("webdeveloper.javascript.console.dashboard")) + { + webdeveloper_setBooleanPreference("webdeveloper.error.console.dashboard", webdeveloper_getBooleanPreference("webdeveloper.javascript.console.dashboard", true)); + webdeveloper_deletePreference("webdeveloper.javascript.console.dashboard"); + } + + // Migrate JavaScript console key + if(webdeveloper_isPreferenceSet("webdeveloper.javascript.console.key")) + { + webdeveloper_setStringPreference("webdeveloper.error.console.key", webdeveloper_getStringPreference("webdeveloper.javascript.console.key", true)); + webdeveloper_deletePreference("webdeveloper.javascript.console.key"); + } + + // Migrate JavaScript console sidebar + if(webdeveloper_isPreferenceSet("webdeveloper.javascript.console.sidebar")) + { + webdeveloper_setBooleanPreference("webdeveloper.error.console.dashboard", webdeveloper_getBooleanPreference("webdeveloper.javascript.console.sidebar", true)); + webdeveloper_deletePreference("webdeveloper.javascript.console.sidebar"); + } + + // Migrate persist styles + if(webdeveloper_isPreferenceSet("webdeveloper.styles.persist")) + { + webdeveloper_setBooleanPreference("webdeveloper.persist.features", webdeveloper_getBooleanPreference("webdeveloper.styles.persist", true)); + webdeveloper_deletePreference("webdeveloper.styles.persist"); + } + + // Migrate view style information dashboard + if(webdeveloper_isPreferenceSet("webdeveloper.view.style.information.sidebar")) + { + webdeveloper_setBooleanPreference("webdeveloper.style.information.dashboard", webdeveloper_getBooleanPreference("webdeveloper.view.style.information.sidebar", true)); + webdeveloper_deletePreference("webdeveloper.view.style.information.sidebar"); + } +} + +// Migrate the extension to 1.1.2 +function webdeveloper_migrateTo112() +{ + // Migrate validate CSS + if(webdeveloper_getStringPreference("webdeveloper.tool.1.url", true) == "http://jigsaw.w3.org/css-validator/validator?profile=css2&warning=0&uri=") + { + webdeveloper_setStringPreferenceIfNotSet("webdeveloper.tool.1.url", "http://jigsaw.w3.org/css-validator/validator?profile=css21&warning=0&uri="); + } +} + +// Parses the version number +function webdeveloper_parseVersion(version) +{ + // If the version is set + if(version) + { + var splitVersion = version.split("."); + var parsedVersion = splitVersion[0] + "."; + var splitVersionLength = splitVersion.length; + + // Loop through the remaining parts of the version + for(var i = 1; i < splitVersionLength; i++) + { + parsedVersion += splitVersion[i]; + } + + return parseFloat(parsedVersion); + } + else + { + return 0; + } +} + +// Check if the extension is being upgraded +function webdeveloper_upgrade() +{ + var previousVersion = webdeveloper_parseVersion(webdeveloper_getStringPreference("webdeveloper.version", true)); + var version = webdeveloper_parseVersion("1.1.4"); + + // If the versions do not match + if(previousVersion != version) + { + // If the previous version is less than 1.0.2 + if(previousVersion < webdeveloper_parseVersion("1.0.2")) + { + webdeveloper_migrateTo1(); + } + + // If the previous version is less than 1.1 + if(previousVersion < webdeveloper_parseVersion("1.1")) + { + webdeveloper_migrateTo11(); + } + + // If the previous version is less than 1.1.2 + if(previousVersion < webdeveloper_parseVersion("1.1.2")) + { + webdeveloper_migrateTo112(); + } + + webdeveloper_setStringPreference("webdeveloper.version", version); + } +} \ No newline at end of file