Browse Source

Minor Changes

Don't display files which don't have any value in the `<file>` element.
Allow the module to create the config file if it doesn't exist.
Show a back link on the config list page - going back to the gamemanager
page.
Adjokip 8 years ago
parent
commit
abb1bfa5ce

+ 1 - 1
lang/English/modules/editConfigFiles.php

@@ -11,7 +11,7 @@ define('description', "Description");
 define('invalid_file', "The specified file may not be edited.");
 define('wrote_changes', "Successfully saved the file.");
 define('failed_write', "Failed to save the file.");
-define('file_not_found', "The file was not found.");
 define('failed_read', "Failed to read the file.");
 define('save', "Save");
 define('go_back', "Go Back");
+define('new_file', "New File");

+ 8 - 1
modules/editConfigFiles/configFileList.php

@@ -79,4 +79,11 @@ function exec_ogp_module()
         
         echo '</table>';
     }
-}
+
+    $modKey = key($server_home['mods']);
+    $IpPorts = $db->getHomeIpPorts($home_id);
+    
+    echo '<div style="margin-top:12px">
+            <a href="?m=gamemanager&p=game_monitor&home_id-mod_id-ip-port='. $home_id .'-'. $server_home['mods'][$modKey]['mod_id'] .'-'. $IpPorts[0]['ip'] .'-'. $IpPorts[0]['port'] .'">'.get_lang('go_back').'</a>
+    </div>';
+}

+ 5 - 1
modules/editConfigFiles/functions.php

@@ -6,6 +6,10 @@ function getFilesInXML($files)
 
     if (isset($files->file)) {
         foreach ($files->file as $file) {
+            if (empty((string)$file)) {
+                continue;
+            }
+
             $values[] = array(
                 'name'            =>    (string)$file,
                 'description'    =>    $file['description'],
@@ -15,4 +19,4 @@ function getFilesInXML($files)
     }
     
     return $values;
-}
+}

+ 29 - 40
modules/editConfigFiles/modify.php

@@ -66,50 +66,39 @@ function exec_ogp_module()
         
         return;
     }
-    
-    if ($remote->rfile_exists($server_home['home_path'] . '/' . $file) == 1) {
-        if ($_SERVER['REQUEST_METHOD'] === 'POST') {
-            $file_info = $remote->remote_writefile($server_home['home_path'] . '/' . $file, strip_real_escape_string($_POST['file_content']));
+
+    if ($_SERVER['REQUEST_METHOD'] === 'POST') {
+        $file_info = $remote->remote_writefile($server_home['home_path'] . '/' . $file, strip_real_escape_string($_POST['file_content']));
             
-            if ($file_info === 1) {
-                print_success(get_lang('wrote_changes'));
-                $view->refresh("?m=editConfigFiles&home_id=". (int)$server_home['home_id']);
+        if ($file_info === 1) {
+            print_success(get_lang('wrote_changes'));
+            $view->refresh("?m=editConfigFiles&home_id=". (int)$server_home['home_id']);
                 
-                return;
-            } else {
-                print_failure(get_lang('failed_write'));
-                $view->refresh("?m=editConfigFiles&home_id=". (int)$server_home['home_id']);
-                
-                return;
-            }
+            return;
         } else {
-            $file_info = $remote->remote_readfile($server_home['home_path'] . '/' . $file, $data);
-        
-            if ($file_info === 0) {
-                print_failure(get_lang('file_not_found'));
-                $view->refresh("?m=editConfigFiles");
+            print_failure(get_lang('failed_write'));
+            $view->refresh("?m=editConfigFiles&home_id=". (int)$server_home['home_id']);
                 
-                return;
-            } elseif ($file_info === -2) {
-                print_failure(get_lang('failed_read'));
-                $view->refresh("?m=editConfigFiles");
-                
-                return;
-            }
-            
-            echo '<h2>'.get_lang('editing_file').'</h2><p><b>'.htmlentities($file).'</b></p>';
-            echo '<form action="?m=editConfigFiles&p=modify&home_id='.$server_home['home_id'].'" method="POST">';
-            echo '<input type="hidden" name="file" value="'.rawurlencode($_GET['file']).'">';
-            echo '<input type="hidden" name="action" value="save">';
-            echo '<textarea name="file_content" style="width:98%;" rows="40">'. $data .'</textarea>';
-            echo '<p><input type="submit" name="write" value="'. get_lang('save') . '" /></p>';
-            echo '</form>';
-            echo '<table class="center" style="width:100%;""><a href="?m=editConfigFiles&home_id='. (int)$server_home['home_id'].'">'.get_lang('go_back').'</a></table>';
+            return;
         }
     } else {
-        print_failure(get_lang('file_not_found'));
-        $view->refresh("?m=gamemanager&p=game_monitor");
-
-        return;
+        $newFile = ($remote->rfile_exists($server_home['home_path'] . '/' . $file) == 0 ? true : false);
+        $file_info = $remote->remote_readfile($server_home['home_path'] . '/' . $file, $data);
+        
+        if ($file_info !== 1) {
+            print_failure(get_lang('failed_read'));
+            $view->refresh("?m=editConfigFiles");
+                
+            return;
+        }
+            
+        echo '<h2>'.get_lang('editing_file').'</h2><p><b>'.($newFile ? get_lang('new_file').':' : '') .' '. htmlentities($file).'</b></p>';
+        echo '<form action="?m=editConfigFiles&p=modify&home_id='.$server_home['home_id'].'" method="POST">';
+        echo '<input type="hidden" name="file" value="'.rawurlencode($_GET['file']).'">';
+        echo '<input type="hidden" name="action" value="save">';
+        echo '<textarea name="file_content" style="width:98%;" rows="40">'. $data .'</textarea>';
+        echo '<p><input type="submit" name="write" value="'. get_lang('save') . '" /></p>';
+        echo '</form>';
+        echo '<div><a href="?m=editConfigFiles&home_id='. (int)$server_home['home_id'].'">'.get_lang('go_back').'</a></div>';
     }
-}
+}