diff --git a/setup/migrate/config/loading.gif b/setup/migrate/config/loading.gif
new file mode 100644
index 0000000..d42f72c
--- /dev/null
+++ b/setup/migrate/config/loading.gif
diff --git a/setup/migrate/lib/services/service.php b/setup/migrate/lib/services/service.php
index 627360d..97f897b 100644
--- a/setup/migrate/lib/services/service.php
+++ b/setup/migrate/lib/services/service.php
@@ -36,7 +36,7 @@
* @copyright 2008-2009, KnowledgeTree Inc.
* @license GNU General Public License version 3
* @author KnowledgeTree Team
-* @package Migrateer
+* @package Migrater
* @version Version 0.1
*/
diff --git a/setup/migrate/lib/services/unixAgent.php b/setup/migrate/lib/services/unixAgent.php
index 0a51c5e..955b203 100644
--- a/setup/migrate/lib/services/unixAgent.php
+++ b/setup/migrate/lib/services/unixAgent.php
@@ -36,7 +36,7 @@
* @copyright 2008-2009, KnowledgeTree Inc.
* @license GNU General Public License version 3
* @author KnowledgeTree Team
-* @package Migrateer
+* @package Migrater
* @version Version 0.1
*/
diff --git a/setup/migrate/lib/services/unixLucene.php b/setup/migrate/lib/services/unixLucene.php
index 7d7efea..85cc296 100644
--- a/setup/migrate/lib/services/unixLucene.php
+++ b/setup/migrate/lib/services/unixLucene.php
@@ -36,7 +36,7 @@
* @copyright 2008-2009, KnowledgeTree Inc.
* @license GNU General Public License version 3
* @author KnowledgeTree Team
-* @package Migrateer
+* @package Migrater
* @version Version 0.1
*/
diff --git a/setup/migrate/lib/services/unixOpenOffice.php b/setup/migrate/lib/services/unixOpenOffice.php
index 4c2e861..e5ca691 100644
--- a/setup/migrate/lib/services/unixOpenOffice.php
+++ b/setup/migrate/lib/services/unixOpenOffice.php
@@ -36,7 +36,7 @@
* @copyright 2008-2009, KnowledgeTree Inc.
* @license GNU General Public License version 3
* @author KnowledgeTree Team
-* @package Migrateer
+* @package Migrater
* @version Version 0.1
*/
diff --git a/setup/migrate/lib/services/unixScheduler.php b/setup/migrate/lib/services/unixScheduler.php
index d2c1ca9..19e57cf 100644
--- a/setup/migrate/lib/services/unixScheduler.php
+++ b/setup/migrate/lib/services/unixScheduler.php
@@ -36,7 +36,7 @@
* @copyright 2008-2009, KnowledgeTree Inc.
* @license GNU General Public License version 3
* @author KnowledgeTree Team
-* @package Migrateer
+* @package Migrater
* @version Version 0.1
*/
diff --git a/setup/migrate/lib/services/unixService.php b/setup/migrate/lib/services/unixService.php
index ae4f452..4c564b4 100644
--- a/setup/migrate/lib/services/unixService.php
+++ b/setup/migrate/lib/services/unixService.php
@@ -36,7 +36,7 @@
* @copyright 2008-2009, KnowledgeTree Inc.
* @license GNU General Public License version 3
* @author KnowledgeTree Team
-* @package Migrateer
+* @package Migrater
* @version Version 0.1
*/
diff --git a/setup/migrate/lib/services/windowsAgent.php b/setup/migrate/lib/services/windowsAgent.php
index c0b05f5..b21aed4 100644
--- a/setup/migrate/lib/services/windowsAgent.php
+++ b/setup/migrate/lib/services/windowsAgent.php
@@ -36,7 +36,7 @@
* @copyright 2008-2009, KnowledgeTree Inc.
* @license GNU General Public License version 3
* @author KnowledgeTree Team
-* @package Migrateer
+* @package Migrater
* @version Version 0.1
*/
diff --git a/setup/migrate/lib/services/windowsLucene.php b/setup/migrate/lib/services/windowsLucene.php
index 2db2a14..7ca55e1 100644
--- a/setup/migrate/lib/services/windowsLucene.php
+++ b/setup/migrate/lib/services/windowsLucene.php
@@ -36,7 +36,7 @@
* @copyright 2008-2009, KnowledgeTree Inc.
* @license GNU General Public License version 3
* @author KnowledgeTree Team
-* @package Migrateer
+* @package Migrater
* @version Version 0.1
*/
class windowsLucene extends windowsService {
diff --git a/setup/migrate/lib/services/windowsOpenOffice.php b/setup/migrate/lib/services/windowsOpenOffice.php
index c3894a1..cac5825 100644
--- a/setup/migrate/lib/services/windowsOpenOffice.php
+++ b/setup/migrate/lib/services/windowsOpenOffice.php
@@ -36,7 +36,7 @@
* @copyright 2008-2009, KnowledgeTree Inc.
* @license GNU General Public License version 3
* @author KnowledgeTree Team
-* @package Migrateer
+* @package Migrater
* @version Version 0.1
*/
diff --git a/setup/migrate/lib/services/windowsScheduler.php b/setup/migrate/lib/services/windowsScheduler.php
index 19f0a93..04beab5 100644
--- a/setup/migrate/lib/services/windowsScheduler.php
+++ b/setup/migrate/lib/services/windowsScheduler.php
@@ -36,7 +36,7 @@
* @copyright 2008-2009, KnowledgeTree Inc.
* @license GNU General Public License version 3
* @author KnowledgeTree Team
-* @package Migrateer
+* @package Migrater
* @version Version 0.1
*/
class windowsScheduler extends windowsService {
diff --git a/setup/migrate/lib/services/windowsService.php b/setup/migrate/lib/services/windowsService.php
index 214a8a3..dfc7836 100644
--- a/setup/migrate/lib/services/windowsService.php
+++ b/setup/migrate/lib/services/windowsService.php
@@ -36,7 +36,7 @@
* @copyright 2008-2009, KnowledgeTree Inc.
* @license GNU General Public License version 3
* @author KnowledgeTree Team
-* @package Migrateer
+* @package Migrater
* @version Version 0.1
*/
diff --git a/setup/migrate/resources/form.js b/setup/migrate/resources/form.js
new file mode 100644
index 0000000..7e1815b
--- /dev/null
+++ b/setup/migrate/resources/form.js
@@ -0,0 +1,13 @@
+$(document).ready(function() {
+ var options = {target: '#content_container', beforeSubmit: w.showRequest, success: w.showResponse};
+ $.blockUI.defaults.css = {};
+ var override = $('form').attr('onsubmit');
+ if(override == undefined) {
+ $('form').ajaxForm(options);
+ w.adjustMenu($('form').attr('id'));
+ } else {
+ var options = {target: '#content_container', beforeSubmit: w.validateRegistration, success: w.adjustMenu($('form').attr('id'))};
+ $('form').ajaxForm(options);
+ }
+});
+
diff --git a/setup/migrate/resources/jquery.blockUI.js b/setup/migrate/resources/jquery.blockUI.js
new file mode 100644
index 0000000..3a50783
--- /dev/null
+++ b/setup/migrate/resources/jquery.blockUI.js
@@ -0,0 +1,463 @@
+/*!
+ * jQuery blockUI plugin
+ * Version 2.26 (09-SEP-2009)
+ * @requires jQuery v1.2.3 or later
+ *
+ * Examples at: http://malsup.com/jquery/block/
+ * Copyright (c) 2007-2008 M. Alsup
+ * Dual licensed under the MIT and GPL licenses:
+ * http://www.opensource.org/licenses/mit-license.php
+ * http://www.gnu.org/licenses/gpl.html
+ *
+ * Thanks to Amir-Hossein Sobhi for some excellent contributions!
+ */
+
+;(function($) {
+
+if (/1\.(0|1|2)\.(0|1|2)/.test($.fn.jquery) || /^1.1/.test($.fn.jquery)) {
+ alert('blockUI requires jQuery v1.2.3 or later! You are using v' + $.fn.jquery);
+ return;
+}
+
+$.fn._fadeIn = $.fn.fadeIn;
+
+// this bit is to ensure we don't call setExpression when we shouldn't (with extra muscle to handle
+// retarded userAgent strings on Vista)
+var mode = document.documentMode || 0;
+var setExpr = $.browser.msie && (($.browser.version < 8 && !mode) || mode < 8);
+var ie6 = $.browser.msie && /MSIE 6.0/.test(navigator.userAgent) && !mode;
+
+// global $ methods for blocking/unblocking the entire page
+$.blockUI = function(opts) { install(window, opts); };
+$.unblockUI = function(opts) { remove(window, opts); };
+
+// convenience method for quick growl-like notifications (http://www.google.com/search?q=growl)
+$.growlUI = function(title, message, timeout, onClose) {
+ var $m = $('
');
+ if (title) $m.append('
'+title+'
');
+ if (message) $m.append('
'+message+'
');
+ if (timeout == undefined) timeout = 3000;
+ $.blockUI({
+ message: $m, fadeIn: 700, fadeOut: 1000, centerY: false,
+ timeout: timeout, showOverlay: false,
+ onUnblock: onClose,
+ css: $.blockUI.defaults.growlCSS
+ });
+};
+
+// plugin method for blocking element content
+$.fn.block = function(opts) {
+ return this.unblock({ fadeOut: 0 }).each(function() {
+ if ($.css(this,'position') == 'static')
+ this.style.position = 'relative';
+ if ($.browser.msie)
+ this.style.zoom = 1; // force 'hasLayout'
+ install(this, opts);
+ });
+};
+
+// plugin method for unblocking element content
+$.fn.unblock = function(opts) {
+ return this.each(function() {
+ remove(this, opts);
+ });
+};
+
+$.blockUI.version = 2.26; // 2nd generation blocking at no extra cost!
+
+// override these in your code to change the default behavior and style
+$.blockUI.defaults = {
+ // message displayed when blocking (use null for no message)
+ message: '
Please wait...
',
+
+ title: null, // title string; only used when theme == true
+ draggable: true, // only used when theme == true (requires jquery-ui.js to be loaded)
+
+ theme: false, // set to true to use with jQuery UI themes
+
+ // styles for the message when blocking; if you wish to disable
+ // these and use an external stylesheet then do this in your code:
+ // $.blockUI.defaults.css = {};
+ css: {
+ padding: 0,
+ margin: 0,
+ width: '30%',
+ top: '40%',
+ left: '35%',
+ textAlign: 'center',
+ color: '#000',
+ border: '3px solid #aaa',
+ backgroundColor:'#fff',
+ cursor: 'wait'
+ },
+
+ // minimal style set used when themes are used
+ themedCSS: {
+ width: '30%',
+ top: '40%',
+ left: '35%'
+ },
+
+ // styles for the overlay
+ overlayCSS: {
+ backgroundColor: '#000',
+ opacity: 0.6,
+ cursor: 'wait'
+ },
+
+ // styles applied when using $.growlUI
+ growlCSS: {
+ width: '350px',
+ top: '10px',
+ left: '',
+ right: '10px',
+ border: 'none',
+ padding: '5px',
+ opacity: 0.6,
+ cursor: 'default',
+ color: '#fff',
+ backgroundColor: '#000',
+ '-webkit-border-radius': '10px',
+ '-moz-border-radius': '10px'
+ },
+
+ // IE issues: 'about:blank' fails on HTTPS and javascript:false is s-l-o-w
+ // (hat tip to Jorge H. N. de Vasconcelos)
+ iframeSrc: /^https/i.test(window.location.href || '') ? 'javascript:false' : 'about:blank',
+
+ // force usage of iframe in non-IE browsers (handy for blocking applets)
+ forceIframe: false,
+
+ // z-index for the blocking overlay
+ baseZ: 1000,
+
+ // set these to true to have the message automatically centered
+ centerX: true, // <-- only effects element blocking (page block controlled via css above)
+ centerY: true,
+
+ // allow body element to be stetched in ie6; this makes blocking look better
+ // on "short" pages. disable if you wish to prevent changes to the body height
+ allowBodyStretch: true,
+
+ // enable if you want key and mouse events to be disabled for content that is blocked
+ bindEvents: true,
+
+ // be default blockUI will supress tab navigation from leaving blocking content
+ // (if bindEvents is true)
+ constrainTabKey: true,
+
+ // fadeIn time in millis; set to 0 to disable fadeIn on block
+ fadeIn: 200,
+
+ // fadeOut time in millis; set to 0 to disable fadeOut on unblock
+ fadeOut: 400,
+
+ // time in millis to wait before auto-unblocking; set to 0 to disable auto-unblock
+ timeout: 0,
+
+ // disable if you don't want to show the overlay
+ showOverlay: true,
+
+ // if true, focus will be placed in the first available input field when
+ // page blocking
+ focusInput: true,
+
+ // suppresses the use of overlay styles on FF/Linux (due to performance issues with opacity)
+ applyPlatformOpacityRules: true,
+
+ // callback method invoked when unblocking has completed; the callback is
+ // passed the element that has been unblocked (which is the window object for page
+ // blocks) and the options that were passed to the unblock call:
+ // onUnblock(element, options)
+ onUnblock: null,
+
+ // don't ask; if you really must know: http://groups.google.com/group/jquery-en/browse_thread/thread/36640a8730503595/2f6a79a77a78e493#2f6a79a77a78e493
+ quirksmodeOffsetHack: 4
+};
+
+// private data and functions follow...
+
+var pageBlock = null;
+var pageBlockEls = [];
+
+function install(el, opts) {
+ var full = (el == window);
+ var msg = opts && opts.message !== undefined ? opts.message : undefined;
+ opts = $.extend({}, $.blockUI.defaults, opts || {});
+ opts.overlayCSS = $.extend({}, $.blockUI.defaults.overlayCSS, opts.overlayCSS || {});
+ var css = $.extend({}, $.blockUI.defaults.css, opts.css || {});
+ var themedCSS = $.extend({}, $.blockUI.defaults.themedCSS, opts.themedCSS || {});
+ msg = msg === undefined ? opts.message : msg;
+
+ // remove the current block (if there is one)
+ if (full && pageBlock)
+ remove(window, {fadeOut:0});
+
+ // if an existing element is being used as the blocking content then we capture
+ // its current place in the DOM (and current display style) so we can restore
+ // it when we unblock
+ if (msg && typeof msg != 'string' && (msg.parentNode || msg.jquery)) {
+ var node = msg.jquery ? msg[0] : msg;
+ var data = {};
+ $(el).data('blockUI.history', data);
+ data.el = node;
+ data.parent = node.parentNode;
+ data.display = node.style.display;
+ data.position = node.style.position;
+ if (data.parent)
+ data.parent.removeChild(node);
+ }
+
+ var z = opts.baseZ;
+
+ // blockUI uses 3 layers for blocking, for simplicity they are all used on every platform;
+ // layer1 is the iframe layer which is used to supress bleed through of underlying content
+ // layer2 is the overlay layer which has opacity and a wait cursor (by default)
+ // layer3 is the message content that is displayed while blocking
+
+ var lyr1 = ($.browser.msie || opts.forceIframe)
+ ? $('')
+ : $('');
+ var lyr2 = $('');
+
+ var lyr3;
+ if (opts.theme && full) {
+ var s = '