| 1 | installer = { |
|---|
| 2 | |
|---|
| 3 | testConnection: function(){ |
|---|
| 4 | |
|---|
| 5 | var response = installer.runCommand("testconnection"); |
|---|
| 6 | var testConnectionNoDebug = getObjectFromID("testConnectionNoDebug"); |
|---|
| 7 | |
|---|
| 8 | if(response.success === true){ |
|---|
| 9 | testConnectionNoDebug.className = "success" |
|---|
| 10 | testConnectionNoDebug.innerHTML = "Connection Successful"; |
|---|
| 11 | } else { |
|---|
| 12 | testConnectionNoDebug.className = "fail" |
|---|
| 13 | testConnectionNoDebug.innerHTML = "Connection Failed"; |
|---|
| 14 | } |
|---|
| 15 | |
|---|
| 16 | },//endfunction testConnection |
|---|
| 17 | |
|---|
| 18 | |
|---|
| 19 | createDatabase: function(){ |
|---|
| 20 | |
|---|
| 21 | var response = installer.runCommand("createdatabase"); |
|---|
| 22 | var noDebug = getObjectFromID("createDatabaseNoDebug"); |
|---|
| 23 | |
|---|
| 24 | if(response.success === true){ |
|---|
| 25 | |
|---|
| 26 | noDebug.className = "success" |
|---|
| 27 | noDebug.innerHTML = "Database Schema Created"; |
|---|
| 28 | |
|---|
| 29 | } else { |
|---|
| 30 | |
|---|
| 31 | noDebug.className = "fail" |
|---|
| 32 | noDebug.innerHTML = "Database Schema Creation Failed"; |
|---|
| 33 | |
|---|
| 34 | }//endif |
|---|
| 35 | |
|---|
| 36 | }, // endfunction createdatabase |
|---|
| 37 | |
|---|
| 38 | |
|---|
| 39 | coreDataInstall: function(){ |
|---|
| 40 | |
|---|
| 41 | var noDebug = getObjectFromID("coreDataNoDebug"); |
|---|
| 42 | |
|---|
| 43 | noDebug.className = "running"; |
|---|
| 44 | noDebug.innerHTML = "Running..."; |
|---|
| 45 | |
|---|
| 46 | |
|---|
| 47 | //we pass the entered application name and e-mail address as a "::" separated pair |
|---|
| 48 | var appname = getObjectFromID("appname"); |
|---|
| 49 | var email = getObjectFromID("email"); |
|---|
| 50 | |
|---|
| 51 | var extras = encodeURIComponent(appname.value + "::" + email.value) |
|---|
| 52 | |
|---|
| 53 | var response = installer.runCommand("coredatainstall", extras); |
|---|
| 54 | |
|---|
| 55 | if(response.success === true){ |
|---|
| 56 | |
|---|
| 57 | noDebug.className = "success"; |
|---|
| 58 | noDebug.innerHTML = "Core Data Installed Succefully"; |
|---|
| 59 | |
|---|
| 60 | var pass2 = getObjectFromID("pass2") |
|---|
| 61 | |
|---|
| 62 | pass2.innerHTML = response.extras; |
|---|
| 63 | |
|---|
| 64 | } else { |
|---|
| 65 | |
|---|
| 66 | noDebug.className = "fail"; |
|---|
| 67 | noDebug.innerHTML = "Core Data Installation Failed"; |
|---|
| 68 | |
|---|
| 69 | }//endif |
|---|
| 70 | |
|---|
| 71 | }, // endfunction coreDataInstall |
|---|
| 72 | |
|---|
| 73 | |
|---|
| 74 | moduleInstall: function(e){ |
|---|
| 75 | |
|---|
| 76 | var theButton = e.src(); |
|---|
| 77 | |
|---|
| 78 | var foo = ""; |
|---|
| 79 | |
|---|
| 80 | var module = theButton.id.substring(12); |
|---|
| 81 | |
|---|
| 82 | var noDebug = getObjectFromID("Results"+module); |
|---|
| 83 | |
|---|
| 84 | noDebug.className = "running"; |
|---|
| 85 | noDebug.innerHTML = "Running..."; |
|---|
| 86 | |
|---|
| 87 | var response = installer.runCommand("moduleinstall", module); |
|---|
| 88 | |
|---|
| 89 | if(response.success === true){ |
|---|
| 90 | |
|---|
| 91 | noDebug.className = "success"; |
|---|
| 92 | noDebug.innerHTML = "Module Installed"; |
|---|
| 93 | |
|---|
| 94 | } else { |
|---|
| 95 | |
|---|
| 96 | noDebug.className = "fail"; |
|---|
| 97 | noDebug.innerHTML = "Installation Failed"; |
|---|
| 98 | |
|---|
| 99 | }//endif |
|---|
| 100 | |
|---|
| 101 | },//end function moduleInstall |
|---|
| 102 | |
|---|
| 103 | |
|---|
| 104 | runCommand: function(command, extras){ |
|---|
| 105 | |
|---|
| 106 | if(typeof(extras) == "undefined") |
|---|
| 107 | extras = ""; |
|---|
| 108 | else |
|---|
| 109 | extras = "&extras=" + extras |
|---|
| 110 | |
|---|
| 111 | var theURL = "installajax.php?command=" + command + extras; |
|---|
| 112 | |
|---|
| 113 | loadXMLDoc(theURL,null,false); |
|---|
| 114 | |
|---|
| 115 | var JSONresponse; |
|---|
| 116 | eval("JSONresponse = (" + req.responseText +")"); |
|---|
| 117 | |
|---|
| 118 | var responseText = getObjectFromID(command + "results"); |
|---|
| 119 | if(typeof(responseText) != "undefined"){ |
|---|
| 120 | |
|---|
| 121 | if(responseText.value) |
|---|
| 122 | responseText.value += "\n"; |
|---|
| 123 | |
|---|
| 124 | responseText.value += JSONresponse.details; |
|---|
| 125 | |
|---|
| 126 | }//endif |
|---|
| 127 | |
|---|
| 128 | return JSONresponse |
|---|
| 129 | |
|---|
| 130 | },//endfunction runCommand |
|---|
| 131 | |
|---|
| 132 | |
|---|
| 133 | toggleDebug: function(){ |
|---|
| 134 | |
|---|
| 135 | var debug = getObjectFromID("debug"); |
|---|
| 136 | var display = "none"; |
|---|
| 137 | if(debug.checked) |
|---|
| 138 | display = "block"; |
|---|
| 139 | |
|---|
| 140 | var debugDisplays = getElementsByClassName("debugResults"); |
|---|
| 141 | |
|---|
| 142 | for(var i = 0; i < debugDisplays.length; i ++) |
|---|
| 143 | debugDisplays[i].style.display = display; |
|---|
| 144 | |
|---|
| 145 | }//end function toggleDebug |
|---|
| 146 | |
|---|
| 147 | }//end class installer |
|---|
| 148 | |
|---|
| 149 | |
|---|
| 150 | |
|---|
| 151 | stepsNav = { |
|---|
| 152 | |
|---|
| 153 | currentSection: 1, |
|---|
| 154 | sections: null, |
|---|
| 155 | |
|---|
| 156 | navNext: function(){ |
|---|
| 157 | |
|---|
| 158 | if(stepsNav.currentSection + 1 <= stepsNav.sections.length){ |
|---|
| 159 | stepsNav.navTo(stepsNav.currentSection + 1); |
|---|
| 160 | } |
|---|
| 161 | }, |
|---|
| 162 | |
|---|
| 163 | |
|---|
| 164 | navPrev: function(){ |
|---|
| 165 | if(stepsNav.currentSection - 1 > 0) |
|---|
| 166 | stepsNav.navTo(stepsNav.currentSection - 1); |
|---|
| 167 | }, |
|---|
| 168 | |
|---|
| 169 | |
|---|
| 170 | navTo: function(section){ |
|---|
| 171 | |
|---|
| 172 | for(var i=0; i< stepsNav.sections.length; i++){ |
|---|
| 173 | |
|---|
| 174 | if(stepsNav.sections[i].id != "step" + section){ |
|---|
| 175 | stepsNav.sections[i].style.display = "none"; |
|---|
| 176 | } else { |
|---|
| 177 | stepsNav.sections[i].style.display = "block"; |
|---|
| 178 | }//endif |
|---|
| 179 | |
|---|
| 180 | }//endfor |
|---|
| 181 | |
|---|
| 182 | navBar = getObjectFromID("navSelect"); |
|---|
| 183 | for(i=0; i < navBar.options.length; i++){ |
|---|
| 184 | if(navBar.options[i].value == section){ |
|---|
| 185 | navBar.options[i].selected = true; |
|---|
| 186 | } |
|---|
| 187 | }//endfor |
|---|
| 188 | //navBar.selectedIndex = section |
|---|
| 189 | |
|---|
| 190 | stepsNav.currentSection = section; |
|---|
| 191 | |
|---|
| 192 | },//end function navTo |
|---|
| 193 | |
|---|
| 194 | |
|---|
| 195 | navLeft: function(){ |
|---|
| 196 | |
|---|
| 197 | var navSelect = getObjectFromID("navSelect"); |
|---|
| 198 | stepsNav.navTo(parseInt(navSelect.value)); |
|---|
| 199 | |
|---|
| 200 | |
|---|
| 201 | } |
|---|
| 202 | |
|---|
| 203 | } |
|---|
| 204 | |
|---|
| 205 | // ====== Init Listeners ======================================================= |
|---|
| 206 | |
|---|
| 207 | connect(window,"onload",function() { |
|---|
| 208 | |
|---|
| 209 | stepsNav.sections = getElementsByClassName("steps"); |
|---|
| 210 | stepsNav.navTo(1); |
|---|
| 211 | |
|---|
| 212 | var nextButtons = getElementsByClassName("nextButtons"); |
|---|
| 213 | for(var i=0; i< nextButtons.length; i++) |
|---|
| 214 | connect(nextButtons[i], "onclick", stepsNav.navNext); |
|---|
| 215 | |
|---|
| 216 | var prevButtons = getElementsByClassName("prevButtons"); |
|---|
| 217 | for(var i=0; i< prevButtons.length; i++) |
|---|
| 218 | connect(prevButtons[i], "onclick", stepsNav.navPrev); |
|---|
| 219 | |
|---|
| 220 | var navSelect = getObjectFromID("navSelect"); |
|---|
| 221 | connect(navSelect, "onchange", stepsNav.navLeft); |
|---|
| 222 | |
|---|
| 223 | var debug = getObjectFromID("debug"); |
|---|
| 224 | connect(debug, "onchange", installer.toggleDebug); |
|---|
| 225 | |
|---|
| 226 | var testConnectionButton = getObjectFromID("testConnectionButton"); |
|---|
| 227 | connect(testConnectionButton, "onclick", installer.testConnection); |
|---|
| 228 | |
|---|
| 229 | var createDatabaseButton = getObjectFromID("createDatabaseButton"); |
|---|
| 230 | connect(createDatabaseButton, "onclick", installer.createDatabase) |
|---|
| 231 | |
|---|
| 232 | var coreDataButton = getObjectFromID("coreDataButton"); |
|---|
| 233 | connect(coreDataButton, "onclick", installer.coreDataInstall); |
|---|
| 234 | |
|---|
| 235 | moduleButtons = getElementsByClassName("moduleButtons"); |
|---|
| 236 | for(i = 0; i < moduleButtons.length; i++) |
|---|
| 237 | connect(moduleButtons[i], "onclick", installer.moduleInstall); |
|---|
| 238 | |
|---|
| 239 | }) |
|---|