causefx 7 лет назад
Родитель
Сommit
30d71608a6

+ 17 - 0
api/functions/api-functions.php

@@ -728,6 +728,23 @@ function editTabs($array)
 				return false;
 			}
 			break;
+		case 'changePreload':
+			try {
+				$connect = new Dibi\Connection([
+					'driver' => 'sqlite3',
+					'database' => $GLOBALS['dbLocation'] . $GLOBALS['dbName'],
+				]);
+				$connect->query('
+                        UPDATE tabs SET', [
+					'preload' => $array['data']['tabPreload'],
+				], '
+                        WHERE id=?', $array['data']['id']);
+				writeLog('success', 'Tab Editor Function - Tab: ' . $array['data']['tab'] . '\'s preload status was changed to [' . $array['data']['tabPreloadWord'] . ']', $GLOBALS['organizrUser']['username']);
+				return true;
+			} catch (Dibi\Exception $e) {
+				return false;
+			}
+			break;
 		case 'changeDefault':
 			try {
 				$connect = new Dibi\Connection([

+ 1 - 1
api/functions/normal-functions.php

@@ -602,7 +602,7 @@ function localIPRanges()
 		),
 		array(
 			'from' => '127.0.0.1',
-			'to' => '127.0.0.1'
+			'to' => '127.255.255.255'
 		),
 	);
 }

+ 1 - 0
api/pages/settings-tab-editor-tabs.php

@@ -44,6 +44,7 @@ allIcons().success(function(data) {
                         <th lang="en" style="text-align:center">ACTIVE</th>
                         <th lang="en" style="text-align:center">SPLASH</th>
                         <th lang="en" style="text-align:center">PING</th>
+                        <th lang="en" style="text-align:center">PRELOAD</th>
                         <th lang="en" style="text-align:center">EDIT</th>
                         <th lang="en" style="text-align:center">DELETE</th>
                     </tr>

+ 18 - 0
js/custom.js

@@ -770,6 +770,24 @@ $(document).on("change", ".pingSwitch", function () {
     callbacks.add( buildTabEditor );
     settingsAPI(post,callbacks);
 });
+// CHANGE PRELOAD TAB
+$(document).on("change", ".preloadSwitch", function () {
+    //Create POST Array
+    var post = {
+        action:'changePreload',
+        api:'api/?v1/settings/tab/editor/tabs',
+        id:$(this).parent().parent().attr("data-id"),
+        tab:$(this).parent().parent().attr("data-name"),
+        tabPreload:$(this).prop("checked") ? 1 : 0,
+        tabPreloadWord:$(this).prop("checked") ? "On" : "Off",
+        messageTitle:'',
+        messageBody:'Tab Info updated for '+$(this).parent().parent().attr("data-name"),
+        error:'Organizr Function: Tab API Connection Failed'
+    };
+    var callbacks = $.Callbacks();
+    callbacks.add( buildTabEditor );
+    settingsAPI(post,callbacks);
+});
 // CHANGE DEFAULT TAB
 $(document).on("change", ".defaultSwitch", function () {
     //Create POST Array

Разница между файлами не показана из-за своего большого размера
+ 0 - 0
js/custom.min.js


+ 17 - 11
js/functions.js

@@ -2121,22 +2121,27 @@ function tabProcess(arrayItems) {
 					case 'internal':
 						internalList = buildInternalContainer(v.name,v.access_url,v.type);
 						$(internalList).appendTo($('.internal-listing'));
+                        if(v.preload){
+                            var newTab = $('#internal-'+cleanClass(v.name));
+                            console.log('Tab Function: Preloading new tab for: '+cleanClass(v.name));
+                            $('#menu-'+cleanClass(v.name)+' a').children().addClass('tabLoaded');
+                            newTab.addClass("loaded");
+                            loadInternal(v.access_url,cleanClass(v.name));
+                        }
 						break;
 					case 1:
 					case '1':
-					case 'iframe':
+                    case 'iframe':
 						iFrameList = buildFrameContainer(v.name,v.access_url,v.type);
 						$(iFrameList).appendTo($('.iFrame-listing'));
-						//Auto load tabs (soon)
-                        /*
-                        var newTab = $('#container-'+cleanClass(v.name));
-                        var tabURL = newTab.attr('data-url');
-
-                        console.log('Tab Function: Preloading new tab for: '+cleanClass(v.name));
-                        $('#menu-'+cleanClass(v.name)+' a').children().addClass('tabLoaded');
-                        newTab.addClass("loaded");
-                        $(buildFrame(cleanClass(v.name),tabURL)).appendTo(newTab);
-                        */
+                        if(v.preload){
+                            var newTab = $('#container-'+cleanClass(v.name));
+                            var tabURL = newTab.attr('data-url');
+                            console.log('Tab Function: Preloading new tab for: '+cleanClass(v.name));
+                            $('#menu-'+cleanClass(v.name)+' a').children().addClass('tabLoaded');
+                            newTab.addClass("loaded");
+                            $(buildFrame(cleanClass(v.name),tabURL)).appendTo(newTab);
+                        }
 						break;
 					case 2:
 					case 3:
@@ -2438,6 +2443,7 @@ function buildTabEditorItem(array){
 			<td style="text-align:center"><input `+buttonDisabled+` type="checkbox" class="js-switch enabledSwitch `+buttonDisabled+`" data-size="small" data-color="#99d683" data-secondary-color="#f96262" name="tab[`+v.id+`].enabled" value="true" `+tof(v.enabled,'c')+`/><input type="hidden" class="form-control" name="tab[`+v.id+`].enabled" value="false"></td>
 			<td style="text-align:center"><input type="checkbox" class="js-switch splashSwitch" data-size="small" data-color="#99d683" data-secondary-color="#f96262" name="tab[`+v.id+`].splash" value="true" `+tof(v.splash,'c')+`/><input type="hidden" class="form-control" name="tab[`+v.id+`].splash" value="false"></td>
 			<td style="text-align:center"><input type="checkbox" class="js-switch pingSwitch" data-size="small" data-color="#99d683" data-secondary-color="#f96262" name="tab[`+v.id+`].ping" value="true" `+tof(v.ping,'c')+`/><input type="hidden" class="form-control" name="tab[`+v.id+`].ping" value="false"></td>
+			<td style="text-align:center"><input type="checkbox" class="js-switch preloadSwitch" data-size="small" data-color="#99d683" data-secondary-color="#f96262" name="tab[`+v.id+`].preload" value="true" `+tof(v.preload,'c')+`/><input type="hidden" class="form-control" name="tab[`+v.id+`].preload" value="false"></td>
 			<td style="text-align:center"><button type="button" class="btn btn-info btn-outline btn-circle btn-lg m-r-5 editTabButton popup-with-form" href="#edit-tab-form" data-effect="mfp-3d-unfold"><i class="ti-pencil-alt"></i></button></td>
 			<td style="text-align:center"><button type="button" class="btn btn-danger btn-outline btn-circle btn-lg m-r-5 `+deleteDisabled+`"><i class="ti-trash"></i></button></td>
 		</tr>

Некоторые файлы не были показаны из-за большого количества измененных файлов