Browse Source

update pages files

CauseFX 5 years ago
parent
commit
d93c16f7fe

+ 9 - 3
api/pages/dependencies.php

@@ -1,6 +1,11 @@
 <?php
-
-$pageDependencies = '
+$GLOBALS['organizrPages'][] = 'dependencies';
+function get_page_dependencies($Organizr)
+{
+	if (!$Organizr) {
+		$Organizr = new Organizr();
+	}
+	return '
 <script>
 </script>
 <div class="container-fluid">
@@ -49,7 +54,7 @@ $pageDependencies = '
                     <table class="table table-hover">
                         <tbody>
                             <tr>
-                                <td>'.dirname(__DIR__,2).'</td>
+                                <td>' . dirname(__DIR__, 2) . '</td>
                             </tr>
                             <tr>
                                 <td id="web-folder" lang="en">Loading...</td>
@@ -73,3 +78,4 @@ $pageDependencies = '
 </div>
 <!-- /.container-fluid -->
 ';
+}

+ 18 - 9
api/pages/homepage.php

@@ -1,6 +1,14 @@
 <?php
-if (file_exists($GLOBALS['userConfigPath'])) {
-	$pageHomepage = '
+$GLOBALS['organizrPages'][] = 'homepage';
+function get_page_homepage($Organizr = null)
+{
+	if (!$Organizr) {
+		$Organizr = new Organizr();
+	}
+	if ((!$Organizr->hasDB())) {
+		return false;
+	}
+	return '
 <script>
 !function($) {
     "use strict";
@@ -41,9 +49,9 @@ if (file_exists($GLOBALS['userConfigPath'])) {
 			      }
 			    }
 			  },
-            defaultView: (activeInfo.mobile) ? "list" : "' . $GLOBALS['calendarDefault'] . '",
-            firstDay: "' . $GLOBALS['calendarFirstDay'] . '",
-            timeFormat: "' . $GLOBALS['calendarTimeFormat'] . '",
+            defaultView: (activeInfo.mobile) ? "list" : "' . $Organizr->config['calendarDefault'] . '",
+            firstDay: "' . $Organizr->config['calendarFirstDay'] . '",
+            timeFormat: "' . $Organizr->config['calendarTimeFormat'] . '",
             handleWindowResize: true,
             header: {
                left: "prev,next,today",
@@ -51,9 +59,9 @@ if (file_exists($GLOBALS['userConfigPath'])) {
                right: (activeInfo.mobile) ? "refreshCalendar,filterCalendar" : "refreshCalendar,filterCalendar,month,basicWeek,basicDay,list",
             },
             views: {
-               basicDay: { buttonText: window.lang.translate("Day"), eventLimit: ' . $GLOBALS['calendarLimit'] . ' },
-               basicWeek: { buttonText: window.lang.translate("Week"), eventLimit: ' . $GLOBALS['calendarLimit'] . ' },
-               month: { buttonText: window.lang.translate("Month"), eventLimit: ' . $GLOBALS['calendarLimit'] . ' },
+               basicDay: { buttonText: window.lang.translate("Day"), eventLimit: ' . $Organizr->config['calendarLimit'] . ' },
+               basicWeek: { buttonText: window.lang.translate("Week"), eventLimit: ' . $Organizr->config['calendarLimit'] . ' },
+               month: { buttonText: window.lang.translate("Month"), eventLimit: ' . $Organizr->config['calendarLimit'] . ' },
                list: { buttonText: window.lang.translate("List"), duration: {days: 15} },
             },
             timezone: "local",
@@ -87,9 +95,10 @@ function($) {
     "use strict";
     $.CalendarApp.init()
 }(window.jQuery);
+$(".homepage-loading-box").fadeOut(1000);
 </script>
 <div class="container-fluid p-t-30" id="homepage-items">
-    ' . buildHomepage() . '
+    ' . $Organizr->buildHomepage() . '
 </div>
 <div id="open-youtube" class="white-popup mfp-with-anim mfp-hide">
     <div class="col-md-8 col-md-offset-2 youtube-div">  </div>

+ 12 - 4
api/pages/lockscreen.php

@@ -1,6 +1,14 @@
 <?php
-if (file_exists($GLOBALS['userConfigPath'])) {
-	$pageLockScreen = '
+$GLOBALS['organizrPages'][] = 'lockscreen';
+function get_page_lockscreen($Organizr)
+{
+	if (!$Organizr) {
+		$Organizr = new Organizr();
+	}
+	if ((!$Organizr->hasDB())) {
+		return false;
+	}
+	return '
 <script>
 </script>
 <section id="lockScreen" class="lock-screen" onkeydown="blockDev">
@@ -9,8 +17,8 @@ if (file_exists($GLOBALS['userConfigPath'])) {
       <form class="form-horizontal form-material" id="form-lockscreen" onsubmit="return false;">
         <div class="form-group">
           <div class="col-xs-12 text-center">
-            <div class="user-thumb text-center"> <img alt="thumbnail" class="img-circle" width="100" src="' . $GLOBALS['organizrUser']['image'] . '">
-              <h3>' . $GLOBALS['organizrUser']['username'] . '</h3>
+            <div class="user-thumb text-center"> <img alt="thumbnail" class="img-circle" width="100" src="' . $Organizr->user['image'] . '">
+              <h3>' . $Organizr->user['username'] . '</h3>
             </div>
           </div>
         </div>

+ 16 - 8
api/pages/login.php

@@ -1,9 +1,17 @@
 <?php
-if (file_exists($GLOBALS['userConfigPath'])) {
-	$hideOrganizrLogin = (checkoAuth()) ? 'collapse' : 'collapse in';
-	$hideOrganizrLoginHeader = (checkoAuthOnly()) ? 'hidden' : '';
-	$hideOrganizrLoginHeader2 = (checkoAuth()) ? '' : 'hidden';
-	$pageLogin = '
+$GLOBALS['organizrPages'][] = 'login';
+function get_page_login($Organizr)
+{
+	if (!$Organizr) {
+		$Organizr = new Organizr();
+	}
+	if ((!$Organizr->hasDB())) {
+		return false;
+	}
+	$hideOrganizrLogin = ($Organizr->checkoAuth()) ? 'collapse' : 'collapse in';
+	$hideOrganizrLoginHeader = ($Organizr->checkoAuthOnly()) ? 'hidden' : '';
+	$hideOrganizrLoginHeader2 = ($Organizr->checkoAuth()) ? '' : 'hidden';
+	return '
 <script>
 if(activeInfo.settings.login.rememberMe){
 	$(\'#checkbox-login\').prop(\'checked\',true);
@@ -14,7 +22,7 @@ if(activeInfo.settings.login.rememberMe){
     <div class="white-box">
       <form class="form-horizontal" id="loginform" onsubmit="return false;">
       	<input id="login-attempts" class="form-control" name="loginAttempts" type="hidden">
-        <a href="javascript:void(0)" class="text-center db visible-xs" id="login-logo">' . logoOrText() . '</a>
+        <a href="javascript:void(0)" class="text-center db visible-xs" id="login-logo">' . $Organizr->logoOrText() . '</a>
         <div id="oAuth-div" class="form-group hidden">
           <div class="col-xs-12">
             <div class="panel panel-success animated tada">
@@ -80,7 +88,7 @@ if(activeInfo.settings.login.rememberMe){
 				          <div class="col-sm-12 text-center">
 				            <input id="oAuth-Input" class="form-control" name="oAuth" type="hidden">
 				            <input id="oAuthType-Input" class="form-control" name="oAuthType" type="hidden">
-				            ' . showLogin() . '
+				            ' . $Organizr->showLogin() . '
 				          </div>
 				        </div>
 	                </div>
@@ -88,7 +96,7 @@ if(activeInfo.settings.login.rememberMe){
 	        </div>
 	        <!-- END ORGANIZR LOGIN -->
         	<!-- PLEX OAUTH LOGIN -->
-	        ' . showoAuth() . '
+	        ' . $Organizr->showoAuth() . '
 	        <!-- END PLEX OAUTH LOGIN -->
         </div>
       </form>

+ 15 - 2
api/pages/settings-customize-appearance.php

@@ -1,5 +1,17 @@
 <?php
-$pageSettingsCustomizeAppearance = '
+$GLOBALS['organizrPages'][] = 'settings_customize_appearance';
+function get_page_settings_customize_appearance($Organizr)
+{
+	if (!$Organizr) {
+		$Organizr = new Organizr();
+	}
+	if ((!$Organizr->hasDB())) {
+		return false;
+	}
+	if (!$Organizr->qualifyRequest(1, true)) {
+		return false;
+	}
+	return '
 <script>
 	buildCustomizeAppearance();
 </script>
@@ -11,8 +23,9 @@ $pageSettingsCustomizeAppearance = '
 	</div>
     <div class="panel-wrapper collapse in" aria-expanded="true">
         <div class="panel-body bg-org">
-            <form id="customize-appearance-form" class="addFormTick" onsbumit="return false;"></form>
+            <form id="customize-appearance-form" class="addFormTick" onsubmit="return false;"></form>
         </div>
     </div>
 </div>
 ';
+}

+ 15 - 2
api/pages/settings-image-manager.php

@@ -1,9 +1,21 @@
 <?php
-$pageSettingsImageManager = '
+$GLOBALS['organizrPages'][] = 'settings_image_manager';
+function get_page_settings_image_manager($Organizr)
+{
+	if (!$Organizr) {
+		$Organizr = new Organizr();
+	}
+	if ((!$Organizr->hasDB())) {
+		return false;
+	}
+	if (!$Organizr->qualifyRequest(1, true)) {
+		return false;
+	}
+	return '
 <script>
 	buildImageManagerView();
     var myDropzone = new Dropzone("#new-image-form", {
-      url: "api/?v1/settings/image/manager/view",
+      url: "api/v2/image",
       headers:{ "formKey": local("g","formKey") },
       init: function() {
         this.on("complete", function(file) {
@@ -32,3 +44,4 @@ $pageSettingsImageManager = '
     <div class="clearfix"></div>
 </form>
 ';
+}

+ 13 - 2
api/pages/settings-plugins.php

@@ -1,6 +1,17 @@
 <?php
-if (file_exists($GLOBALS['userConfigPath'])) {
-	$pageSettingsPlugins = '
+$GLOBALS['organizrPages'][] = 'settings_plugins';
+function get_page_settings_plugins($Organizr)
+{
+	if (!$Organizr) {
+		$Organizr = new Organizr();
+	}
+	if ((!$Organizr->hasDB())) {
+		return false;
+	}
+	if (!$Organizr->qualifyRequest(1, true)) {
+		return false;
+	}
+	return '
 <script>
 	buildPlugins();
 </script>

+ 51 - 8
api/pages/settings-settings-logs.php

@@ -1,8 +1,30 @@
 <?php
-if (file_exists($GLOBALS['userConfigPath'])) {
-	$pageSettingsSettingsLogs = '
+$GLOBALS['organizrPages'][] = 'settings_settings_logs';
+function get_page_settings_settings_logs($Organizr)
+{
+	if (!$Organizr) {
+		$Organizr = new Organizr();
+	}
+	if ((!$Organizr->hasDB())) {
+		return false;
+	}
+	if (!$Organizr->qualifyRequest(1, true)) {
+		return false;
+	}
+	return '
     <script>
     $(document).on("click", ".swapLog", function(e) {
+    	switch ($(this).attr(\'data-name\')){
+    	case \'loginLog\':
+    		loginLogTable.ajax.reload(null, false);
+    	break;
+    	case \'orgLog\':
+    		organizrLogTable.ajax.reload(null, false);
+    	break;
+    	default:
+    		//nada
+    		//loginLogTable
+    	}
         var log = $(this).attr(\'data-name\')+\'Div\';
         $(\'.logTable\').addClass(\'hidden\');
         $(\'.\'+log).addClass(\'show\').removeClass(\'hidden\');
@@ -11,8 +33,8 @@ if (file_exists($GLOBALS['userConfigPath'])) {
     });
     </script>
     <div class="btn-group m-b-20 pull-left">
-        <button type="button" class="btn btn-default btn-outline waves-effect bg-org swapLog active" data-name="loginLog" data-path="' . $GLOBALS['organizrLoginLog'] . '" lang="en">Login Log</button>
-        <button type="button" class="btn btn-default btn-outline waves-effect bg-org swapLog" data-name="orgLog" data-path="' . $GLOBALS['organizrLog'] . '" lang="en">Organizr Log</button>
+        <button type="button" class="btn btn-default btn-outline waves-effect bg-org swapLog active" data-name="loginLog" data-path="' . $Organizr->organizrLoginLog . '" lang="en">Login Log</button>
+        <button type="button" class="btn btn-default btn-outline waves-effect bg-org swapLog" data-name="orgLog" data-path="' . $Organizr->organizrLog . '" lang="en">Organizr Log</button>
     </div>
     <button class="btn btn-danger btn-sm waves-effect waves-light pull-right purgeLog" type="button"><span class="btn-label"><i class="fa fa-trash"></i></span>Purge Log</button>
     <div class="clearfix"></div>
@@ -69,8 +91,19 @@ if (file_exists($GLOBALS['userConfigPath'])) {
     <!-- /.container-fluid -->
     <script>
     //$.fn.dataTable.moment(\'DD-MMM-Y HH:mm:ss\');
-    $("#loginLogTable").DataTable( {
-            "ajax": "api/?v1/login_log",
+    $.fn.dataTable.ext.errMode = \'none\';
+    var loginLogTable = $("#loginLogTable")
+    .on( \'error.dt\', function ( e, settings, techNote, message ) {
+        console.log( \'An error has been reported by DataTables: \', message );
+        loginLogTable.draw();
+    } )
+    .DataTable( {
+    		"ajax": {
+				"url": "api/v2/log/login",
+				"dataSrc": function ( json ) {
+					return json.response.data;
+				}
+			},
             "columns": [
                 { data: \'utc_date\',
                     render: function ( data, type, row ) {
@@ -98,8 +131,18 @@ if (file_exists($GLOBALS['userConfigPath'])) {
             ],
             "order": [[ 0, \'desc\' ]],
     } );
-    $("#organizrLogTable").DataTable( {
-            "ajax": "api/?v1/organizr_log",
+    var organizrLogTable = $("#organizrLogTable")
+    .on( \'error.dt\', function ( e, settings, techNote, message ) {
+        console.log( \'An error has been reported by DataTables: \', message );
+        organizrLogTable.draw();
+    } )
+    .DataTable( {
+            "ajax": {
+				"url": "api/v2/log/organizr",
+				"dataSrc": function ( json ) {
+					return json.response.data;
+				}
+			},
                 "columns": [
                 { data: \'utc_date\',
                     render: function ( data, type, row ) {

+ 15 - 2
api/pages/settings-settings-main.php

@@ -1,5 +1,17 @@
 <?php
-$pageSettingsSettingsMain = '
+$GLOBALS['organizrPages'][] = 'settings_settings_main';
+function get_page_settings_settings_main($Organizr)
+{
+	if (!$Organizr) {
+		$Organizr = new Organizr();
+	}
+	if ((!$Organizr->hasDB())) {
+		return false;
+	}
+	if (!$Organizr->qualifyRequest(1, true)) {
+		return false;
+	}
+	return '
 <script>
 	buildSettingsMain();
 </script>
@@ -10,7 +22,7 @@ $pageSettingsSettingsMain = '
 	</div>
     <div class="panel-wrapper collapse in" aria-expanded="true">
         <div class="panel-body bg-org">
-            <form id="settings-main-form" class="addFormTick" onsbumit="return false;"></form>
+            <form id="settings-main-form" class="addFormTick" onsubmit="return false;"></form>
         </div>
     </div>
 </div>
@@ -46,3 +58,4 @@ $pageSettingsSettingsMain = '
     <div class="clearfix"></div>
 </form>
 ';
+}

+ 15 - 2
api/pages/settings-settings-sso.php

@@ -1,5 +1,17 @@
 <?php
-$pageSettingsSettingsSSO = '
+$GLOBALS['organizrPages'][] = 'settings_settings_sso';
+function get_page_settings_settings_sso($Organizr)
+{
+	if (!$Organizr) {
+		$Organizr = new Organizr();
+	}
+	if ((!$Organizr->hasDB())) {
+		return false;
+	}
+	if (!$Organizr->qualifyRequest(1, true)) {
+		return false;
+	}
+	return '
 <script>
 	buildSSO();
 </script>
@@ -10,7 +22,7 @@ $pageSettingsSettingsSSO = '
 	</div>
     <div class="panel-wrapper collapse in" aria-expanded="true">
         <div class="panel-body bg-org">
-            <form id="sso-form" class="addFormTick" onsbumit="return false;"></form>
+            <form id="sso-form" class="addFormTick" onsubmit="return false;"></form>
         </div>
     </div>
 </div>
@@ -46,3 +58,4 @@ $pageSettingsSettingsSSO = '
     <div class="clearfix"></div>
 </form>
 ';
+}

+ 17 - 5
api/pages/settings-tab-editor-categories.php

@@ -1,13 +1,24 @@
 <?php
-
-$pageSettingsTabEditorCategories = '
+$GLOBALS['organizrPages'][] = 'settings_tab_editor_categories';
+function get_page_settings_tab_editor_categories($Organizr)
+{
+	if (!$Organizr) {
+		$Organizr = new Organizr();
+	}
+	if ((!$Organizr->hasDB())) {
+		return false;
+	}
+	if (!$Organizr->qualifyRequest(1, true)) {
+		return false;
+	}
+	return '
 <script>
 buildCategoryEditor();
 $( \'#categoryEditorTable\' ).sortable({
     stop: function () {
         var inputs = $(\'input.order\');
         var nbElems = inputs.length;
-        $(\'input.order\').each(function(idx) {
+        inputs.each(function(idx) {
             $(this).val(idx + 1);
         });
         submitCategoryOrder();
@@ -42,7 +53,7 @@ $( \'#categoryEditorTable\' ).sortable({
     <fieldset style="border:0;">
         <div class="form-group">
             <label class="control-label" for="new-category-form-inputNameNew" lang="en">Category Name</label>
-            <input type="text" class="form-control" id="new-category-form-inputNameNew" name="name" required="" autofocus>
+            <input type="text" class="form-control" id="new-category-form-inputNameNew" name="category" required="" autofocus>
         </div>
         <div class="form-group">
             <label class="control-label" for="new-category-form-inputImageNew" lang="en">Category Image</label>
@@ -58,7 +69,7 @@ $( \'#categoryEditorTable\' ).sortable({
     <fieldset style="border:0;">
         <div class="form-group">
             <label class="control-label" for="edit-category-form-inputName" lang="en">Category Name</label>
-            <input type="text" class="form-control" id="edit-category-form-inputName" name="name" required="" autofocus>
+            <input type="text" class="form-control" id="edit-category-form-inputName" name="category" required="" autofocus>
         </div>
         <div class="form-group">
             <label class="control-label" for="edit-category-form-inputImage" lang="en">Category Image</label>
@@ -82,3 +93,4 @@ $( \'#categoryEditorTable\' ).sortable({
     <div class="clearfix"></div>
 </form>
 ';
+}

+ 14 - 3
api/pages/settings-tab-editor-homepage-order.php

@@ -1,6 +1,17 @@
 <?php
-if (file_exists($GLOBALS['userConfigPath'])) {
-	$pageSettingsTabEditorHomepageOrder = '
+$GLOBALS['organizrPages'][] = 'settings_tab_editor_homepage_order';
+function get_page_settings_tab_editor_homepage_order($Organizr)
+{
+	if (!$Organizr) {
+		$Organizr = new Organizr();
+	}
+	if ((!$Organizr->hasDB())) {
+		return false;
+	}
+	if (!$Organizr->qualifyRequest(1, true)) {
+		return false;
+	}
+	return '
 <script>
     $("#homepage-items-sort").sortable({
 	    placeholder:    "sort-placeholder col-md-3 col-xs-12 m-t-10 clearfix",
@@ -41,7 +52,7 @@ if (file_exists($GLOBALS['userConfigPath'])) {
 	</div>
     <div class="panel-wrapper collapse in" aria-expanded="true">
         <div class="panel-body bg-org" >
-        <div class="row el-element-overlay m-b-40" id="settings-homepage-order">' . buildHomepageSettings() . '</div>
+        <div class="row el-element-overlay m-b-40" id="settings-homepage-order">' . $Organizr->buildHomepageSettings() . '</div>
         </div>
     </div>
 </div>

+ 14 - 2
api/pages/settings-tab-editor-homepage.php

@@ -1,6 +1,17 @@
 <?php
-
-$pageSettingsTabEditorHomepage = '
+$GLOBALS['organizrPages'][] = 'settings_tab_editor_homepage';
+function get_page_settings_tab_editor_homepage($Organizr)
+{
+	if (!$Organizr) {
+		$Organizr = new Organizr();
+	}
+	if ((!$Organizr->hasDB())) {
+		return false;
+	}
+	if (!$Organizr->qualifyRequest(1, true)) {
+		return false;
+	}
+	return '
 <script>
 	buildHomepage();
 </script>
@@ -17,3 +28,4 @@ $pageSettingsTabEditorHomepage = '
 </div>
 
 ';
+}

+ 31 - 20
api/pages/settings-tab-editor-tabs.php

@@ -1,6 +1,17 @@
 <?php
-if (file_exists($GLOBALS['userConfigPath'])) {
-	$pageSettingsTabEditorTabsPerformanceIcon = $GLOBALS['performanceDisableIconDropdown'] ? '' : '
+$GLOBALS['organizrPages'][] = 'settings_tab_editor_tabs';
+function get_page_settings_tab_editor_tabs($Organizr)
+{
+	if (!$Organizr) {
+		$Organizr = new Organizr();
+	}
+	if ((!$Organizr->hasDB())) {
+		return false;
+	}
+	if (!$Organizr->qualifyRequest(1, true)) {
+		return false;
+	}
+	$pageSettingsTabEditorTabsPerformanceIcon = $Organizr->config['performanceDisableIconDropdown'] ? '' : '
 	allIcons().success(function(data) {
 	    $(".tabIconIconList").select2({
 			data: data,
@@ -13,13 +24,13 @@ if (file_exists($GLOBALS['userConfigPath'])) {
 		templateSelection: formatImage,
 	});
 	';
-	$pageSettingsTabEditorTabsPerformanceImage = $GLOBALS['performanceDisableImageDropdown'] ? '' : '
+	$pageSettingsTabEditorTabsPerformanceImage = $Organizr->config['performanceDisableImageDropdown'] ? '' : '
 	$(".tabIconImageList").select2({
 		templateResult: formatImage,
 		templateSelection: formatImage,
 	});
 	';
-	$pageSettingsTabEditorTabs = '
+	return '
 	<script>
 	buildTabEditor();
 	!function(a){function f(a,b){if(!(a.originalEvent.touches.length>1)){a.preventDefault();var c=a.originalEvent.changedTouches[0],d=document.createEvent("MouseEvents");d.initMouseEvent(b,!0,!0,window,1,c.screenX,c.screenY,c.clientX,c.clientY,!1,!1,!1,!1,0,null),a.target.dispatchEvent(d)}}if(a.support.touch="ontouchend"in document,a.support.touch){var e,b=a.ui.mouse.prototype,c=b._mouseInit,d=b._mouseDestroy;b._touchStart=function(a){var b=this;!e&&b._mouseCapture(a.originalEvent.changedTouches[0])&&(e=!0,b._touchMoved=!1,f(a,"mouseover"),f(a,"mousemove"),f(a,"mousedown"))},b._touchMove=function(a){e&&(this._touchMoved=!0,f(a,"mousemove"))},b._touchEnd=function(a){e&&(f(a,"mouseup"),f(a,"mouseout"),this._touchMoved||f(a,"click"),e=!1)},b._mouseInit=function(){var b=this;b.element.bind({touchstart:a.proxy(b,"_touchStart"),touchmove:a.proxy(b,"_touchMove"),touchend:a.proxy(b,"_touchEnd")}),c.call(b)},b._mouseDestroy=function(){var b=this;b.element.unbind({touchstart:a.proxy(b,"_touchStart"),touchmove:a.proxy(b,"_touchMove"),touchend:a.proxy(b,"_touchEnd")}),d.call(b)}}}(jQuery);
@@ -81,24 +92,24 @@ if (file_exists($GLOBALS['userConfigPath'])) {
 	        </div>
 	        <div class="form-group">
 	            <label class="control-label" for="new-tab-form-inputNameNew" lang="en">Tab Name</label>
-	            <input type="text" class="form-control" id="new-tab-form-inputNameNew" name="tabName" required="" autofocus>
+	            <input type="text" class="form-control" id="new-tab-form-inputNameNew" name="name" required="" autofocus>
 	        </div>
 	        <div class="form-group">
 	            <label class="control-label" for="new-tab-form-inputURLNew" lang="en">Tab URL</label>
-	            <input type="text" class="form-control" id="new-tab-form-inputURLNew" name="tabURL"  required="">
+	            <input type="text" class="form-control" id="new-tab-form-inputURLNew" name="url"  required="">
 	        </div>
 	        <div class="form-group">
 	            <label class="control-label" for="new-tab-form-inputURLLocalNew" lang="en">Tab Local URL</label>
-	            <input type="text" class="form-control" id="new-tab-form-inputURLLocalNew" name="tabLocalURL">
+	            <input type="text" class="form-control" id="new-tab-form-inputURLLocalNew" name="url_local">
 	        </div>
 	        <div class="form-group">
 	            <label class="control-label" for="new-tab-form-inputPingURLNew" lang="en">Ping URL</label>
-	            <input type="text" class="form-control" id="new-tab-form-inputPingURLNew" name="pingURL"  placeholder="host/ip:port">
+	            <input type="text" class="form-control" id="new-tab-form-inputPingURLNew" name="ping_url"  placeholder="host/ip:port">
 	        </div>
 	        <div class="row">
 		        <div class="form-group col-lg-6">
 		            <label class="control-label" for="new-tab-form-inputTabActionTypeNew" lang="en">Tab Auto Action</label>
-		                <select class="form-control" id="new-tab-form-inputTabActionTypeNew" name="tabActionType">
+		                <select class="form-control" id="new-tab-form-inputTabActionTypeNew" name="timeout">
 		                    <option value="null">None</option>
 		                    <option value="1">Auto Close</option>
 		                    <option value="2">Auto Reload</option>
@@ -106,13 +117,13 @@ if (file_exists($GLOBALS['userConfigPath'])) {
 		        </div>
 		        <div class="form-group col-lg-6">
 		            <label class="control-label" for="new-tab-form-inputTabActionTimeNew" lang="en">Tab Auto Action Minutes</label>
-		                <input type="number" class="form-control" id="new-tab-form-inputTabActionTimeNew" name="tabActionTime"  placeholder="0">
+		                <input type="number" class="form-control" id="new-tab-form-inputTabActionTimeNew" name="timeout_ms"  placeholder="0">
 		        </div>
 		    </div>
 	        <div class="row">
 		        <div class="form-group col-lg-6">
 		            <label class="control-label" for="new-tab-form-chooseImage" lang="en">Choose Image</label>
-		            ' . imageSelect("new-tab-form") . '
+		            ' . $Organizr->imageSelect("new-tab-form") . '
 		        </div>
 		        <div class="form-group col-lg-6">
 		            <label class="control-label" for="new-tab-form-chooseIcon" lang="en">Choose Icon</label>
@@ -121,7 +132,7 @@ if (file_exists($GLOBALS['userConfigPath'])) {
 		    </div>
 	        <div class="form-group">
 	            <label class="control-label" for="new-tab-form-inputImageNew" lang="en">Tab Image</label>
-	            <input type="text" class="form-control" id="new-tab-form-inputImageNew" name="tabImage"  required="">
+	            <input type="text" class="form-control" id="new-tab-form-inputImageNew" name="image"  required="">
 	        </div>
 	    </fieldset>
 	    <button class="btn btn-sm btn-info btn-rounded waves-effect waves-light row b-none testTab" type="button"><span class="btn-label"><i class="fa fa-flask"></i></span><span lang="en">Test Tab</span></button>
@@ -143,24 +154,24 @@ if (file_exists($GLOBALS['userConfigPath'])) {
 	        </div>
 	        <div class="form-group">
 	            <label class="control-label" for="edit-tab-form-inputName" lang="en">Tab Name</label>
-	            <input type="text" class="form-control" id="edit-tab-form-inputName" name="tabName" required="" autofocus>
+	            <input type="text" class="form-control" id="edit-tab-form-inputName" name="name" required="" autofocus>
 	        </div>
 	        <div class="form-group">
 	            <label class="control-label" for="edit-tab-form-inputURL" lang="en">Tab URL</label>
-	            <input type="text" class="form-control" id="edit-tab-form-inputURL" name="tabURL"  required="">
+	            <input type="text" class="form-control" id="edit-tab-form-inputURL" name="url"  required="">
 	        </div>
 	        <div class="form-group">
 	            <label class="control-label" for="edit-tab-form-inputLocalURL" lang="en">Tab Local URL</label>
-	            <input type="text" class="form-control" id="edit-tab-form-inputLocalURL" name="tabLocalURL">
+	            <input type="text" class="form-control" id="edit-tab-form-inputLocalURL" name="url_local">
 	        </div>
 	        <div class="form-group">
 	            <label class="control-label" for="edit-tab-form-pingURL" lang="en">Ping URL</label>
-	            <input type="text" class="form-control" id="edit-tab-form-pingURL" name="pingURL" placeholder="host/ip:port">
+	            <input type="text" class="form-control" id="edit-tab-form-pingURL" name="ping_url" placeholder="host/ip:port">
 	        </div>
 	        <div class="row">
 		        <div class="form-group col-lg-6">
 		            <label class="control-label" for="edit-tab-form-inputTabActionTypeNew" lang="en">Tab Auto Action</label>
-		                <select class="form-control" id="edit-tab-form-inputTabActionTypeNew" name="tabActionType">
+		                <select class="form-control" id="edit-tab-form-inputTabActionTypeNew" name="timeout">
 		                    <option value="null">None</option>
 		                    <option value="1">Auto Close</option>
 		                    <option value="2">Auto Reload</option>
@@ -168,13 +179,13 @@ if (file_exists($GLOBALS['userConfigPath'])) {
 		        </div>
 		        <div class="form-group col-lg-6">
 		            <label class="control-label" for="edit-tab-form-inputTabActionTimeNew" lang="en">Tab Auto Action Minutes</label>
-		                <input type="number" class="form-control" id="edit-tab-form-inputTabActionTimeNew" name="tabActionTime">
+		                <input type="number" class="form-control" id="edit-tab-form-inputTabActionTimeNew" name="timeout_ms">
 		        </div>
 		    </div>
 	        <div class="row">
 		        <div class="form-group col-lg-6">
 		            <label class="control-label" for="edit-tab-form-chooseImage" lang="en">Choose Image</label>
-		            ' . imageSelect("edit-tab-form") . '
+		            ' . $Organizr->imageSelect("edit-tab-form") . '
 		        </div>
 		        <div class="form-group col-lg-6">
 		            <label class="control-label" for="edit-tab-form-chooseIcon" lang="en">Choose Icon</label>
@@ -183,7 +194,7 @@ if (file_exists($GLOBALS['userConfigPath'])) {
 		    </div>
 	        <div class="form-group">
 	            <label class="control-label" for="edit-tab-form-inputImage" lang="en">Tab Image</label>
-	            <input type="text" class="form-control" id="edit-tab-form-inputImage" name="tabImage"  required="">
+	            <input type="text" class="form-control" id="edit-tab-form-inputImage" name="image"  required="">
 	        </div>
 	    </fieldset>
 	    <button class="btn btn-sm btn-info btn-rounded waves-effect waves-light row b-none testEditTab" type="button"><span class="btn-label"><i class="fa fa-flask"></i></span><span lang="en">Test Tab</span></button>

+ 21 - 3
api/pages/settings-template.php

@@ -1,8 +1,25 @@
 <?php
-
-$pageSettingsTemplate = '
+$GLOBALS['organizrPages'][] = 'settings_template';
+function get_page_settings_template($Organizr)
+{
+	if (!$Organizr) {
+		$Organizr = new Organizr();
+	}
+	/*
+	 * Take this out if you dont care if DB as been created
+	 */
+	if ((!$Organizr->hasDB())) {
+		return false;
+	}
+	/*
+	 * Take this out if you dont want to be for admin only
+	 */
+	if (!$Organizr->qualifyRequest(1, true)) {
+		return false;
+	}
+	return '
 <script>
-	//buildCustomizeAppearance();
+	// Custom JS here
 </script>
 <div class="panel bg-org panel-info">
     <div class="panel-heading">
@@ -14,3 +31,4 @@ $pageSettingsTemplate = '
     </div>
 </div>
 ';
+}

+ 18 - 9
api/pages/settings-user-manage-groups.php

@@ -1,6 +1,17 @@
 <?php
-
-$pageSettingsUserManageGroups = '
+$GLOBALS['organizrPages'][] = 'settings_user_manage_groups';
+function get_page_settings_user_manage_groups($Organizr)
+{
+	if (!$Organizr) {
+		$Organizr = new Organizr();
+	}
+	if ((!$Organizr->hasDB())) {
+		return false;
+	}
+	if (!$Organizr->qualifyRequest(1, true)) {
+		return false;
+	}
+	return '
 <script>
     buildGroupManagement();
 </script>
@@ -26,35 +37,33 @@ $pageSettingsUserManageGroups = '
     </div>
 </div>
 <form id="new-group-form" class="mfp-hide white-popup-block mfp-with-anim">
-    <input type="hidden" id="newGroupID" name="groupID" value="0">
-    <input type="hidden" name="groupDefault" value="0" required="">
     <h1 lang="en">Add New Group</h1>
     <fieldset style="border:0;">
         <div class="form-group">
             <label class="control-label" for="new-group-form-inputName" lang="en">Group Name</label>
-            <input type="text" class="form-control" id="new-group-form-inputName" name="groupName" required="" autofocus> </div>
+            <input type="text" class="form-control" id="new-group-form-inputName" name="group" required="" autofocus> </div>
         <div class="form-group">
             <label class="control-label" for="new-group-form-inputImage" lang="en">Group Image</label>
-            <input type="text" class="form-control" id="new-group-form-inputImage" name="groupImage" required=""> </div>
+            <input type="text" class="form-control" id="new-group-form-inputImage" name="image" required=""> </div>
     </fieldset>
     <button class="btn btn-sm btn-info btn-rounded waves-effect waves-light pull-right row b-none addNewGroup" type="button"><span class="btn-label"><i class="fa fa-plus"></i></span><span lang="en">Add Group</span></button>
     <div class="clearfix"></div>
 </form>
 <form id="edit-group-form" class="mfp-hide white-popup-block mfp-with-anim">
     <input type="hidden" name="id" value="x">
-    <input type="hidden" name="oldGroupName" value="x">
     <h1 lang="en">Edit Group</h1>
     <fieldset style="border:0;">
         <div class="form-group">
             <label class="control-label" for="edit-group-form-inputEditGroupName" lang="en">Group Name</label>
-            <input type="text" class="form-control" id="edit-group-form-inputEditGroupName" name="groupName" required="" autofocus>
+            <input type="text" class="form-control" id="edit-group-form-inputEditGroupName" name="group" required="" autofocus>
         </div>
         <div class="form-group">
             <label class="control-label" for="edit-group-form-inputEditGroupImage" lang="en">Group Image</label>
-            <input type="text" class="form-control" id="edit-group-form-inputEditGroupImage" name="groupImage"  required="">
+            <input type="text" class="form-control" id="edit-group-form-inputEditGroupImage" name="image"  required="">
         </div>
     </fieldset>
     <button class="btn btn-sm btn-info btn-rounded waves-effect waves-light pull-right row b-none editGroup" type="button"><span class="btn-label"><i class="fa fa-plus"></i></span><span lang="en">Edit Group</span></button>
     <div class="clearfix"></div>
 </form>
 ';
+}

+ 14 - 2
api/pages/settings-user-manage-users.php

@@ -1,6 +1,17 @@
 <?php
-
-$pageSettingsUserManageUsers = '
+$GLOBALS['organizrPages'][] = 'settings_user_manage_users';
+function get_page_settings_user_manage_users($Organizr)
+{
+	if (!$Organizr) {
+		$Organizr = new Organizr();
+	}
+	if ((!$Organizr->hasDB())) {
+		return false;
+	}
+	if (!$Organizr->qualifyRequest(1, true)) {
+		return false;
+	}
+	return '
 <script>
     buildUserManagement();
 </script>
@@ -70,3 +81,4 @@ $pageSettingsUserManageUsers = '
     <div class="clearfix"></div>
 </form>
 ';
+}

+ 32 - 20
api/pages/settings.php

@@ -1,6 +1,18 @@
 <?php
-if (file_exists($GLOBALS['userConfigPath'])) {
-	$pageSettings = '
+$GLOBALS['organizrPages'][] = 'settings';
+function get_page_settings($Organizr)
+{
+	if (!$Organizr) {
+		$Organizr = new Organizr();
+	}
+	if ((!$Organizr->hasDB())) {
+		return false;
+	}
+	if (!$Organizr->qualifyRequest(1, true)) {
+		return false;
+	}
+	$Organizr->writeLog('success', 'Admin Function -  Accessed Settings Page', $Organizr->user['username']);
+	return '
 <script>
     (function() {
         updateCheck();
@@ -36,8 +48,8 @@ if (file_exists($GLOBALS['userConfigPath'])) {
                         <li onclick="changeSettingsMenu(\'Settings::Tab Editor\')" id="settings-main-tab-editor-anchor"><a href="#settings-main-tab-editor" class="sticon ti-layout-tab-v"><span lang="en">Tab Editor</span></a></li>
                         <li onclick="changeSettingsMenu(\'Settings::Customize\')" id="settings-main-customize-anchor"><a href="#settings-main-customize" class="sticon ti-paint-bucket"><span lang="en">Customize</span></a></li>
                         <li onclick="changeSettingsMenu(\'Settings::User Management\')" id="settings-main-user-management-anchor"><a href="#settings-main-user-management" class="sticon ti-user"><span lang="en">User Management</span></a></li>
-                        <li onclick="changeSettingsMenu(\'Settings::Image Manager\');loadSettingsPage(\'api/?v1/settings/image/manager/view\',\'#settings-image-manager-view\',\'Image Viewer\');" id="settings-main-image-manager-anchor"><a href="#settings-main-image-manager" class="sticon ti-image"><span lang="en">Image Manager</span></a></li>
-    					<li onclick="changeSettingsMenu(\'Settings::Plugins\');loadSettingsPage(\'api/?v1/settings/plugins\',\'#settings-main-plugins\',\'Plugins\');" id="settings-main-plugins-anchor"><a href="#settings-main-plugins" class="sticon ti-plug"><span lang="en">Plugins</span></a></li>
+                        <li onclick="changeSettingsMenu(\'Settings::Image Manager\');loadSettingsPage2(\'api/v2/page/settings_image_manager\',\'#settings-image-manager-view\',\'Image Viewer\');" id="settings-main-image-manager-anchor"><a href="#settings-main-image-manager" class="sticon ti-image"><span lang="en">Image Manager</span></a></li>
+    					<li onclick="changeSettingsMenu(\'Settings::Plugins\');loadSettingsPage2(\'api/v2/page/settings_plugins\',\'#settings-main-plugins\',\'Plugins\');" id="settings-main-plugins-anchor"><a href="#settings-main-plugins" class="sticon ti-plug"><span lang="en">Plugins</span></a></li>
                         <li onclick="changeSettingsMenu(\'Settings::System Settings\');authDebugCheck();" id="settings-main-system-settings-anchor"><a href="#settings-main-system-settings" class="sticon ti-settings"><span lang="en">System Settings</span></a></li>
                     </ul>
                 </nav>
@@ -45,13 +57,13 @@ if (file_exists($GLOBALS['userConfigPath'])) {
                     <! -- TAB EDITOR -->
                     <section id="settings-main-tab-editor">
                         <ul class="nav customtab2 nav-tabs" role="tablist">
-                            <li onclick="changeSettingsMenu(\'Settings::Tab Editor::Tabs\');loadSettingsPage(\'api/?v1/settings/tab/editor/tabs\',\'#settings-tab-editor-tabs\',\'Tab Editor\');" role="presentation" class=""><a id="settings-tab-editor-tabs-anchor" href="#settings-tab-editor-tabs" aria-controls="home" role="tab" data-toggle="tab" aria-expanded="false"><span class="visible-xs"><i class="ti-layout-tab-v"></i></span><span class="hidden-xs" lang="en">Tabs</span></a>
+                            <li onclick="changeSettingsMenu(\'Settings::Tab Editor::Tabs\');loadSettingsPage2(\'api/v2/page/settings_tab_editor_tabs\',\'#settings-tab-editor-tabs\',\'Tab Editor\');" role="presentation" class=""><a id="settings-tab-editor-tabs-anchor" href="#settings-tab-editor-tabs" aria-controls="home" role="tab" data-toggle="tab" aria-expanded="false"><span class="visible-xs"><i class="ti-layout-tab-v"></i></span><span class="hidden-xs" lang="en">Tabs</span></a>
                             </li>
-                            <li onclick="changeSettingsMenu(\'Settings::Tab Editor::Categories\');loadSettingsPage(\'api/?v1/settings/tab/editor/categories\',\'#settings-tab-editor-categories\',\'Category Editor\');" role="presentation" class=""><a id="settings-tab-editor-categories-anchor" href="#settings-tab-editor-categories" aria-controls="home" role="tab" data-toggle="tab" aria-expanded="false"><span class="visible-xs"><i class="ti-layout-list-thumb"></i></span><span class="hidden-xs" lang="en">Categories</span></a>
+                            <li onclick="changeSettingsMenu(\'Settings::Tab Editor::Categories\');loadSettingsPage2(\'api/v2/page/settings_tab_editor_categories\',\'#settings-tab-editor-categories\',\'Category Editor\');" role="presentation" class=""><a id="settings-tab-editor-categories-anchor" href="#settings-tab-editor-categories" aria-controls="home" role="tab" data-toggle="tab" aria-expanded="false"><span class="visible-xs"><i class="ti-layout-list-thumb"></i></span><span class="hidden-xs" lang="en">Categories</span></a>
                             </li>
-                            <li onclick="changeSettingsMenu(\'Settings::Tab Editor::Homepage Items\');loadSettingsPage(\'api/?v1/settings/tab/editor/homepage\',\'#settings-tab-editor-homepage\',\'Homepage Items\');" role="presentation" class=""><a id="settings-tab-editor-homepage-anchor" href="#settings-tab-editor-homepage" aria-controls="home" role="tab" data-toggle="tab" aria-expanded="false"><span class="visible-xs"><i class="ti-home"></i></span><span class="hidden-xs" lang="en">Homepage Items</span></a>
+                            <li onclick="changeSettingsMenu(\'Settings::Tab Editor::Homepage Items\');loadSettingsPage2(\'api/v2/page/settings_tab_editor_homepage\',\'#settings-tab-editor-homepage\',\'Homepage Items\');" role="presentation" class=""><a id="settings-tab-editor-homepage-anchor" href="#settings-tab-editor-homepage" aria-controls="home" role="tab" data-toggle="tab" aria-expanded="false"><span class="visible-xs"><i class="ti-home"></i></span><span class="hidden-xs" lang="en">Homepage Items</span></a>
                             </li>
-                            <li onclick="changeSettingsMenu(\'Settings::Tab Editor::Homepage Order\');loadSettingsPage(\'api/?v1/settings/tab/editor/homepage/order\',\'#settings-tab-editor-homepage-order\',\'Homepage Order\');" role="presentation" class=""><a id="settings-tab-editor-homepage-order-anchor" href="#settings-tab-editor-homepage-order" aria-controls="home" role="tab" data-toggle="tab" aria-expanded="false"><span class="visible-xs"><i class="ti-exchange-vertical"></i></span><span class="hidden-xs" lang="en">Homepage Order</span></a>
+                            <li onclick="changeSettingsMenu(\'Settings::Tab Editor::Homepage Order\');loadSettingsPage2(\'api/v2/page/settings_tab_editor_homepage_order\',\'#settings-tab-editor-homepage-order\',\'Homepage Order\');" role="presentation" class=""><a id="settings-tab-editor-homepage-order-anchor" href="#settings-tab-editor-homepage-order" aria-controls="home" role="tab" data-toggle="tab" aria-expanded="false"><span class="visible-xs"><i class="ti-exchange-vertical"></i></span><span class="hidden-xs" lang="en">Homepage Order</span></a>
                             </li>
                         </ul>
                         <!-- Tab panes -->
@@ -74,7 +86,7 @@ if (file_exists($GLOBALS['userConfigPath'])) {
                     <! -- Customize -->
                     <section id="settings-main-customize">
                         <ul class="nav customtab2 nav-tabs" role="tablist">
-                            <li onclick="changeSettingsMenu(\'Settings::Customize::Appearance\');loadSettingsPage(\'api/?v1/settings/customize/appearance\',\'#settings-customize-appearance\',\'Customize Appearance\');" role="presentation" class=""><a id="settings-customize-appearance-anchor" href="#settings-customize-appearance" aria-controls="home" role="tab" data-toggle="tab" aria-expanded="false"><span class="visible-xs"><i class="ti-eye"></i></span><span class="hidden-xs" lang="en">Appearance</span></a>
+                            <li onclick="changeSettingsMenu(\'Settings::Customize::Appearance\');loadSettingsPage2(\'api/v2/page/settings_customize_appearance\',\'#settings-customize-appearance\',\'Customize Appearance\');" role="presentation" class=""><a id="settings-customize-appearance-anchor" href="#settings-customize-appearance" aria-controls="home" role="tab" data-toggle="tab" aria-expanded="false"><span class="visible-xs"><i class="ti-eye"></i></span><span class="hidden-xs" lang="en">Appearance</span></a>
                             </li>
                             <li onclick="changeSettingsMenu(\'Settings::Customize::Marketplace\');loadMarketplace(\'themes\');" role="presentation" class=""><a id="settings-customize-marketplace-anchor" href="#settings-customize-marketplace" aria-controls="home" role="tab" data-toggle="tab" aria-expanded="false"><span class="visible-xs"><i class="ti-shopping-cart-full"></i></span><span class="hidden-xs" lang="en">Marketplace</span></a></li>
                         </ul>
@@ -114,9 +126,9 @@ if (file_exists($GLOBALS['userConfigPath'])) {
                     <! -- USER MANAGEMENT -->
                     <section id="settings-main-user-management">
                         <ul class="nav customtab2 nav-tabs" role="tablist">
-                            <li onclick="changeSettingsMenu(\'Settings::User Management::Manage Users\');loadSettingsPage(\'api/?v1/settings/user/manage/users\',\'#settings-user-manage-users\',\'User Management\');" role="presentation" class=""><a id="settings-user-manage-users-anchor" href="#settings-user-manage-users" aria-controls="home" role="tab" data-toggle="tab" aria-expanded="false"><span class="visible-xs"><i class="ti-id-badge"></i></span><span class="hidden-xs" lang="en">Users</span></a>
+                            <li onclick="changeSettingsMenu(\'Settings::User Management::Manage Users\');loadSettingsPage2(\'api/v2/page/settings_user_manage_users\',\'#settings-user-manage-users\',\'User Management\');" role="presentation" class=""><a id="settings-user-manage-users-anchor" href="#settings-user-manage-users" aria-controls="home" role="tab" data-toggle="tab" aria-expanded="false"><span class="visible-xs"><i class="ti-id-badge"></i></span><span class="hidden-xs" lang="en">Users</span></a>
                             </li>
-                            <li onclick="changeSettingsMenu(\'Settings::User Management::Manage Groups\');loadSettingsPage(\'api/?v1/settings/user/manage/groups\',\'#settings-user-manage-groups\',\'Group Management\');" role="presentation" class=""><a id="settings-user-manage-groups-anchor" href="#settings-user-manage-groups" aria-controls="home" role="tab" data-toggle="tab" aria-expanded="false"><span class="visible-xs"><i class="ti-briefcase"></i></span><span class="hidden-xs" lang="en">Groups</span></a>
+                            <li onclick="changeSettingsMenu(\'Settings::User Management::Manage Groups\');loadSettingsPage2(\'api/v2/page/settings_user_manage_groups\',\'#settings-user-manage-groups\',\'Group Management\');" role="presentation" class=""><a id="settings-user-manage-groups-anchor" href="#settings-user-manage-groups" aria-controls="home" role="tab" data-toggle="tab" aria-expanded="false"><span class="visible-xs"><i class="ti-briefcase"></i></span><span class="hidden-xs" lang="en">Groups</span></a>
                             </li>
                             <li onclick="changeSettingsMenu(\'Settings::User Management::Import Users\');" role="presentation" class=""><a id="settings-user-import-users-anchor" href="#settings-user-import-users" aria-controls="home" role="tab" data-toggle="tab" aria-expanded="false"><span class="visible-xs"><i class="ti-import"></i></span><span class="hidden-xs" lang="en">Import</span></a>
                             </li>
@@ -132,7 +144,7 @@ if (file_exists($GLOBALS['userConfigPath'])) {
                                 <div class="clearfix"></div>
                             </div>
                             <div role="tabpanel" class="tab-pane fade" id="settings-user-import-users">
-                                ' . importUserButtons() . '
+                                ' . $Organizr->importUserButtons() . '
                                 <div class="clearfix"></div>
                             </div>
                         </div>
@@ -156,11 +168,11 @@ if (file_exists($GLOBALS['userConfigPath'])) {
                         <ul class="nav customtab2 nav-tabs" role="tablist">
                             <li onclick="changeSettingsMenu(\'Settings::System Settings::About\')" role="presentation" class="active"><a id="settings-settings-about-anchor" href="#settings-settings-about" aria-controls="home" role="tab" data-toggle="tab" aria-expanded="true"><span class="visible-xs"><i class="ti-info-alt"></i></span><span class="hidden-xs" lang="en">About</span></a>
                             </li>
-                            <li onclick="changeSettingsMenu(\'Settings::System Settings::Main\');loadSettingsPage(\'api/?v1/settings/settings/main\',\'#settings-settings-main\',\'Main Settings\');" role="presentation" class=""><a id="settings-settings-main-anchor" href="#settings-settings-main" aria-controls="home" role="tab" data-toggle="tab" aria-expanded="false"><span class="visible-xs"><i class="ti-settings"></i></span><span class="hidden-xs" lang="en">Main</span></a>
+                            <li onclick="changeSettingsMenu(\'Settings::System Settings::Main\');loadSettingsPage2(\'api/v2/page/settings_settings_main\',\'#settings-settings-main\',\'Main Settings\');" role="presentation" class=""><a id="settings-settings-main-anchor" href="#settings-settings-main" aria-controls="home" role="tab" data-toggle="tab" aria-expanded="false"><span class="visible-xs"><i class="ti-settings"></i></span><span class="hidden-xs" lang="en">Main</span></a>
                             </li>
-                            <li onclick="changeSettingsMenu(\'Settings::System Settings::SSO\');loadSettingsPage(\'api/?v1/settings/settings/sso\',\'#settings-settings-sso\',\'SSO\');" role="presentation" class=""><a id="settings-settings-sso-anchor" href="#settings-settings-sso" aria-controls="home" role="tab" data-toggle="tab" aria-expanded="false"><span class="visible-xs"><i class="ti-key"></i></span><span class="hidden-xs" lang="en">Single Sign-On</span></a>
+                            <li onclick="changeSettingsMenu(\'Settings::System Settings::SSO\');loadSettingsPage2(\'api/v2/page/settings_settings_sso\',\'#settings-settings-sso\',\'SSO\');" role="presentation" class=""><a id="settings-settings-sso-anchor" href="#settings-settings-sso" aria-controls="home" role="tab" data-toggle="tab" aria-expanded="false"><span class="visible-xs"><i class="ti-key"></i></span><span class="hidden-xs" lang="en">Single Sign-On</span></a>
                             </li>
-                            <li onclick="changeSettingsMenu(\'Settings::System Settings::Logs\');loadSettingsPage(\'api/?v1/settings/settings/logs\',\'#settings-settings-logs\',\'Log Viewer\');" role="presentation" class=""><a id="settings-settings-logs-anchor" href="#settings-settings-logs" aria-controls="home" role="tab" data-toggle="tab" aria-expanded="false"><span class="visible-xs"><i class="ti-receipt"></i></span><span class="hidden-xs" lang="en">Logs</span></a>
+                            <li onclick="changeSettingsMenu(\'Settings::System Settings::Logs\');loadSettingsPage2(\'api/v2/page/settings_settings_logs\',\'#settings-settings-logs\',\'Log Viewer\');" role="presentation" class=""><a id="settings-settings-logs-anchor" href="#settings-settings-logs" aria-controls="home" role="tab" data-toggle="tab" aria-expanded="false"><span class="visible-xs"><i class="ti-receipt"></i></span><span class="hidden-xs" lang="en">Logs</span></a>
                             </li>
                             <li onclick="changeSettingsMenu(\'Settings::System Settings::Updates\')" role="presentation" class=""><a id="update-button" href="#settings-settings-updates" aria-controls="profile" role="tab" data-toggle="tab" aria-expanded="false"><span class="visible-xs"><i class="ti-package"></i></span> <span class="hidden-xs" lang="en">Updates</span></a>
                             </li>
@@ -230,15 +242,15 @@ if (file_exists($GLOBALS['userConfigPath'])) {
                                         <div class="white-box bg-org">
                                             <h3 class="box-title" lang="en">Information</h3>
                                             <ul class="feeds">
-                                                <li><div class="bg-info"><i class="mdi mdi-webpack mdi-24px text-white"></i></div><span class="text-muted hidden-xs m-t-10" lang="en">Organizr Version</span> ' . $GLOBALS['installedVersion'] . '</li>
-                                                <li><div class="bg-info"><i class="mdi mdi-github-box mdi-24px text-white"></i></div><span class="text-muted hidden-xs m-t-10" lang="en">Organizr Branch</span><a href="https://github.com/causefx/Organizr/commits/' . $GLOBALS['branch'] . '" target="_blank"> ' . $GLOBALS['branch'] . '</a></li>
-                                                <li><div class="bg-info"><i class="mdi mdi-database mdi-24px text-white"></i></div><span class="text-muted hidden-xs m-t-10" lang="en">Database Location</span> ' . $GLOBALS['dbLocation'] . $GLOBALS['dbName'] . '</li>
-                                                ' . settingsDocker() . settingsPathChecks() . '
+                                                <li><div class="bg-info"><i class="mdi mdi-webpack mdi-24px text-white"></i></div><span class="text-muted hidden-xs m-t-10" lang="en">Organizr Version</span> ' . $Organizr->version . '</li>
+                                                <li><div class="bg-info"><i class="mdi mdi-github-box mdi-24px text-white"></i></div><span class="text-muted hidden-xs m-t-10" lang="en">Organizr Branch</span><a href="https://github.com/causefx/Organizr/commits/' . $Organizr->config['branch'] . '" target="_blank"> ' . $Organizr->config['branch'] . '</a></li>
+                                                <li><div class="bg-info"><i class="mdi mdi-database mdi-24px text-white"></i></div><span class="text-muted hidden-xs m-t-10" lang="en">Database Location</span> ' . $Organizr->config['dbLocation'] . $Organizr->config['dbName'] . '</li>
+                                                ' . $Organizr->settingsDocker() . $Organizr->settingsPathChecks() . '
                                                 <hr class="m-t-10">
                                                 <li><div class="bg-info"><i class="mdi mdi-language-php mdi-24px text-white"></i></div><span class="text-muted hidden-xs m-t-10" lang="en">PHP Version</span> ' . phpversion() . '</li>
                                                 <li><div class="bg-info"><i class="mdi mdi-package-variant-closed mdi-24px text-white"></i></div><span class="text-muted hidden-xs m-t-10" lang="en">Webserver Version</span> ' . $_SERVER['SERVER_SOFTWARE'] . '</li>
                                                 <hr class="m-t-10">
-                                                <li><div class="bg-info"><i class="mdi mdi-account-card-details mdi-24px text-white"></i></div><span class="text-muted hidden-xs m-t-10" lang="en">License</span> ' . ucwords($GLOBALS['license']) . '</li>
+                                                <li><div class="bg-info"><i class="mdi mdi-account-card-details mdi-24px text-white"></i></div><span class="text-muted hidden-xs m-t-10" lang="en">License</span> ' . ucwords($Organizr->config['license']) . '</li>
                                             </ul>
                                         </div>
                                     </div>

+ 18 - 29
api/pages/wizard.php

@@ -1,5 +1,11 @@
 <?php
-$pageWizard = '
+$GLOBALS['organizrPages'][] = 'settings_wizard';
+function get_page_wizard($Organizr)
+{
+	if (!$Organizr) {
+		$Organizr = new Organizr();
+	}
+	return '
 <script>
     (function() {
         $(\'#adminValidator\').wizard({
@@ -53,7 +59,7 @@ $pageWizard = '
                                 }
                             }
                         },
-                        location: {
+                        dbPath: {
                             validators: {
                                 notEmpty: {
                                     message: \'The database location is required\'
@@ -121,31 +127,13 @@ $pageWizard = '
                 return true;
             },
             onFinish: function() {
-                //$(\'#validation\').submit();
-                var post = $( \'#validation\' ).serializeArray();
-                console.log( post );
-                organizrAPI(\'POST\',\'api/?v1/wizard_config\',post).success(function(data) {
-            		var html = JSON.parse(data);
-                    if(html.data == true){
-                        location.reload();
-                    }else if(html.data == \'token\'){
-                        message("",window.lang.translate(\'Could not create Token\'),activeInfo.settings.notifications.position,"#FFF","error","3500");
-						console.error(\'Organizr Function: Could not create Token\');
-					}else if(html.data == \'db\'){
-						message("",window.lang.translate(\'Could not create DB - check permissions\'),activeInfo.settings.notifications.position,"#FFF","error","3500");
-						console.error(\'Organizr Function: Could not create DB - check permissions\');
-					}else if(html.data == \'admin\'){
-						message("",window.lang.translate(\'Could not create admin acct\'),activeInfo.settings.notifications.position,"#FFF","error","3500");
-						console.error(\'Organizr Function: Could not create admin acct\');
-					}else if(html.data == \'config\'){
-						message("",window.lang.translate(\'Could not create config files - check permissions\'),activeInfo.settings.notifications.position,"#FFF","error","3500");
-						console.error(\'Organizr Function: Could not create config files - check permissions\');
-					}else{
-						message("",window.lang.translate(\'Sign-up Error Occurred\'),activeInfo.settings.notifications.position,"#FFF","error","3500");
-                        console.error(\'Organizr Function: Sign-up Error Occurred\');
-                    }
+                var post = $( \'#validation\' ).serializeToJSON();
+                organizrAPI2(\'POST\',\'api/v2/wizard\',post).success(function(data) {
+            		var html = data.response;
+                    location.reload();
             	}).fail(function(xhr) {
-            		console.error("Organizr Function: Connection Failed");
+            	    messageSingle(\'API Error\', xhr.responseJSON.response.message, activeInfo.settings.notifications.position, \'#FFF\', \'error\', \'10000\');
+            		console.error("Organizr Function: API Connection Failed | Error: " + xhr.responseJSON.response.message);
             	});
             }
         });
@@ -309,10 +297,10 @@ $pageWizard = '
                                     </div>
                                 </div>
                                 <div class="form-group">
-                                    <label for="location" lang="en">Database Location</label>
+                                    <label for="dbPath" lang="en">Database Location</label>
                                     <div class="input-group">
                                         <div class="input-group-addon"><i class="ti-server"></i></div>
-                                        <input type="text" class="form-control wizardInput" name="location" id="form-location" placeholder="Enter path or copy from above">
+                                        <input type="text" class="form-control wizardInput" name="dbPath" id="form-dbPath" placeholder="Enter path or copy from above">
                                         <span class="input-group-btn"><button class="btn btn-info testPath" lang="en" type="button">Test / Create Path</button></span>
                                     </div>
                                 </div>
@@ -375,7 +363,7 @@ $pageWizard = '
                                         <div class="form-group">
                                             <label class="control-label col-md-3" lang="en">Database Location:</label>
                                             <div class="col-md-9">
-                                                <p class="form-control-static" id="verify-location">  </p>
+                                                <p class="form-control-static" id="verify-dbPath">  </p>
                                             </div>
                                         </div>
                                         <div class="form-group">
@@ -399,3 +387,4 @@ $pageWizard = '
 </div>
 <!-- /.container-fluid -->
 ';
+}