upgrade.xul (4986B)
1 <?xml version="1.0"?> 2 3 <?xml-stylesheet href="chrome://global/skin/" type="text/css"?> 4 <?xml-stylesheet href="chrome://zotero/skin/upgrade.css" type="text/css"?> 5 6 <!DOCTYPE window SYSTEM "chrome://zotero/locale/zotero.dtd"> 7 8 <wizard id="zotero-schema-upgrade" title="&zotero.upgrade.title;" 9 xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> 10 11 <script> 12 <![CDATA[ 13 var Zotero_Schema_Upgrade = new function() { 14 this.init = init; 15 this.onAdvance = onAdvance; 16 this.doUpgrade = doUpgrade; 17 18 var obj = window.arguments[0].wrappedJSObject; 19 var Zotero = obj.Zotero; 20 var data = obj.data; 21 22 function init() { 23 var wizard = document.getElementById('zotero-schema-upgrade'); 24 25 var continueButton = wizard.getButton('next'); 26 continueButton.focus(); // prevent focusing upgrade instructions link 27 28 // Use proper button name in text 29 var continueButtonName = continueButton.getAttribute('label'); 30 var str = Zotero.getString('upgrade.advanceMessage', continueButtonName); 31 document.getElementById('zotero-advance-message').setAttribute('value', str); 32 33 if (data.majorUpgrade) { 34 document.getElementById('zotero-major-upgrade').hidden = false; 35 document.getElementById('zotero-upgrade-required').hidden = true; 36 } 37 } 38 39 40 function onAdvance() { 41 var wizard = document.getElementById('zotero-schema-upgrade'); 42 wizard.getButton('cancel').setAttribute('disabled', true); 43 wizard.getButton('next').setAttribute('disabled', true); 44 wizard.canRewind = false; 45 wizard.getButton('finish').focus(); // prevent focusing of changelog link 46 Zotero.wait(); 47 } 48 49 50 function doUpgrade() { 51 var wizard = document.getElementById('zotero-schema-upgrade'); 52 53 onAdvance(); 54 55 try { 56 if (data.integrityCheck) { 57 if (!Zotero.DB.integrityCheck()) { 58 var ps = Components.classes["@mozilla.org/embedcomp/prompt-service;1"] 59 .getService(Components.interfaces.nsIPromptService); 60 var buttonFlags = (ps.BUTTON_POS_0) * (ps.BUTTON_TITLE_IS_STRING) 61 + (ps.BUTTON_POS_1) * (ps.BUTTON_TITLE_CANCEL); 62 var index = ps.confirmEx( 63 null, 64 Zotero.getString('general.error'), 65 Zotero.getString('upgrade.integrityCheckFailed'), 66 buttonFlags, Zotero.getString('upgrade.loadDBRepairTool'), 67 null, null, null, {}); 68 69 if (index == 0) { 70 Zotero.initialURL = 'https://www.zotero.org/utils/dbfix/'; 71 } 72 73 _setStartupError(); 74 _clickCancel(); 75 return; 76 } 77 } 78 79 Zotero.Schema.updateSchema(); 80 } 81 catch (e) { 82 data.msg = Zotero.getString('upgrade.failed'); 83 data.e = e; 84 85 Components.utils.reportError(e); 86 87 _clickCancel(); 88 return; 89 } 90 91 data.success = true; 92 93 wizard.advance(); 94 } 95 96 97 this.onUpgradeInstructionsLinkClick = function () { 98 _setStartupError(); 99 Zotero.initialURL = 'http://zotero.org/support/upgrade'; 100 _clickCancel(); 101 } 102 103 104 this.onChangeLogLinkClick = function () { 105 Zotero.initialURL = 'http://zotero.org/support/changelog'; 106 document.getElementById('zotero-schema-upgrade').getButton('finish').click(); 107 } 108 109 110 function _setStartupError() { 111 Zotero.startupError = Zotero.localeJoin([ 112 Zotero.getString('upgrade.dbUpdateRequired'), Zotero.getString('general.restartFirefox') 113 ]); 114 } 115 116 117 function _clickCancel() { 118 var cancelButton = document.getElementById('zotero-schema-upgrade').getButton('cancel'); 119 cancelButton.setAttribute('disabled', false); 120 cancelButton.click(); 121 } 122 } 123 ]]> 124 </script> 125 126 <wizardpage onpageshow="Zotero_Schema_Upgrade.init()" label=" "> 127 <description>&zotero.upgrade.newVersionInstalled;</description> 128 <description id="zotero-upgrade-required">&zotero.upgrade.upgradeRequired; &zotero.upgrade.autoBackup;</description> 129 <description id="zotero-major-upgrade" hidden="true"> 130 <label value="&zotero.upgrade.majorUpgrade;" style="font-weight: bold"/> 131 &zotero.upgrade.majorUpgradeBeforeLink; 132 <label class="text-link" value="&zotero.upgrade.majorUpgradeLink;" 133 onclick="try { Zotero_Schema_Upgrade.onUpgradeInstructionsLinkClick(); } catch (e) { alert(e); }"/> 134 &zotero.upgrade.majorUpgradeAfterLink; 135 </description> 136 <description id="zotero-advance-message"/> 137 </wizardpage> 138 139 <wizardpage onpageshow="Zotero_Schema_Upgrade.doUpgrade()" label=" "> 140 <description>&zotero.upgrade.upgradeInProgress;</description> 141 <progressmeter mode="undetermined"/> 142 </wizardpage> 143 144 <wizardpage onpageshow="Zotero_Schema_Upgrade.onAdvance()" label=" "> 145 <description>&zotero.upgrade.upgradeSucceeded;</description> 146 <description> 147 &zotero.upgrade.changeLogBeforeLink; 148 <label class="text-link" value="&zotero.upgrade.changeLogLink;" 149 onclick="Zotero_Schema_Upgrade.onChangeLogLinkClick()"/> 150 &zotero.upgrade.changeLogAfterLink; 151 </description> 152 </wizardpage> 153 </wizard>