phpBMS

root/trunk/phpbms/install/install.js

Revision 485, 5.3 KB (checked in by nate, 3 years ago)
  • Merged Nathan branch back into trunk.
Line 
1installer = {
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
151stepsNav = {
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
207connect(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})
Note: See TracBrowser for help on using the browser.
Scanned by Orvant Copyright © 2010 Kreotek, LLC. All Rights reserved.