From 1fbb5bc0f855da2b6c7597969936e483dc80141b Mon Sep 17 00:00:00 2001
From: Isaac Connor <isaac@zoneminder.com>
Date: Wed, 17 Jan 2018 14:22:04 -0500
Subject: [PATCH] Fix zmaudit.pl => zmaudit, etc.

---
 web/includes/Server.php             | 27 +++++++++++++++++++++++----
 web/skins/classic/views/options.php |  6 +++---
 web/skins/classic/views/server.php  | 12 ++++++------
 3 files changed, 32 insertions(+), 13 deletions(-)

diff --git a/web/includes/Server.php b/web/includes/Server.php
index a6d2b06a5..aa93f309c 100644
--- a/web/includes/Server.php
+++ b/web/includes/Server.php
@@ -2,6 +2,14 @@
 require_once( 'database.php' );
 
 class Server {
+  private $defaults = array(
+    'Id'        =>  null,
+    'Name'      =>  '',
+    'Hostname'  =>  '',
+    'zmaudit'   =>  1,
+    'zmstats'   =>  1,
+    'zmtrigger' =>  0,
+  );
   public function __construct( $IdOrRow = NULL ) {
     $row = NULL;
     if ( $IdOrRow ) {
@@ -70,13 +78,24 @@ class Server {
 		}
 		return $this->{'Name'};
 	}
-	public function __call( $fn, array $args= NULL){
-    if( array_key_exists( $fn, $this) ) {
+  public function __call($fn, array $args){
+    if ( count($args) ) {
+      $this->{$fn} = $args[0];
+    }
+    if ( array_key_exists($fn, $this) ) {
       return $this->{$fn};
-#array_unshift($args, $this);
-#call_user_func_array( $this->{$fn}, $args);
+    } else {
+      if ( array_key_exists( $fn, $this->defaults ) ) {
+        return $this->defaults{$fn};
+      } else {
+        $backTrace = debug_backtrace();
+        $file = $backTrace[1]['file'];
+        $line = $backTrace[1]['line'];
+        Warning( "Unknown function call Server->$fn from $file:$line" );
+      }
     }
   }
+
   public static function find( $parameters = array(), $limit = NULL ) {
     $sql = 'SELECT * FROM Servers';
     $values = array();
diff --git a/web/skins/classic/views/options.php b/web/skins/classic/views/options.php
index 7bc563c85..2a38dbbd4 100644
--- a/web/skins/classic/views/options.php
+++ b/web/skins/classic/views/options.php
@@ -228,9 +228,9 @@ foreach( array_map( 'basename', glob('skins/'.$current_skin.'/css/*',GLOB_ONLYDI
               <td class="colCpuLoad"><?php echo makePopupLink( '?view=server&amp;id='.$row['Id'], 'zmServer', 'server',$row['CpuLoad'], $canEdit ) ?></td>
               <td class="colMemory"><?php echo makePopupLink( '?view=server&amp;id='.$row['Id'], 'zmServer', 'server', human_filesize($row['FreeMem']) . ' / ' . human_filesize($row['TotalMem']), $canEdit ) ?></td>
               <td class="colSwap"><?php echo makePopupLink( '?view=server&amp;id='.$row['Id'], 'zmServer', 'server', human_filesize($row['FreeSwap']) . ' / ' . human_filesize($row['TotalSwap']) , $canEdit ) ?></td>
-              <td class="colStats"><?php echo makePopupLink( '?view=server&amp;id='.$row['Id'], 'zmServer', 'server', $row['zmstats.pl'] ? 'yes' : 'no', $canEdit ) ?></td>
-              <td class="colAudit"><?php echo makePopupLink( '?view=server&amp;id='.$row['Id'], 'zmServer', 'server', $row['zmaudit.pl'] ? 'yes' : 'no', $canEdit ) ?></td>
-              <td class="colTrigger"><?php echo makePopupLink( '?view=server&amp;id='.$row['Id'], 'zmServer', 'server', $row['zmtrigger.pl'] ? 'yes' : 'no', $canEdit ) ?></td>
+              <td class="colStats"><?php echo makePopupLink( '?view=server&amp;id='.$row['Id'], 'zmServer', 'server', $row['zmstats'] ? 'yes' : 'no', $canEdit ) ?></td>
+              <td class="colAudit"><?php echo makePopupLink( '?view=server&amp;id='.$row['Id'], 'zmServer', 'server', $row['zmaudit'] ? 'yes' : 'no', $canEdit ) ?></td>
+              <td class="colTrigger"><?php echo makePopupLink( '?view=server&amp;id='.$row['Id'], 'zmServer', 'server', $row['zmtrigger'] ? 'yes' : 'no', $canEdit ) ?></td>
 
               <td class="colMark"><input type="checkbox" name="markIds[]" value="<?php echo $row['Id'] ?>" onclick="configureDeleteButton( this );"<?php if ( !$canEdit ) { ?> disabled="disabled"<?php } ?>/></td>
 			</tr>
diff --git a/web/skins/classic/views/server.php b/web/skins/classic/views/server.php
index 46b4fd77b..24f849c22 100644
--- a/web/skins/classic/views/server.php
+++ b/web/skins/classic/views/server.php
@@ -61,22 +61,22 @@ xhtmlHeaders(__FILE__, translate('Server').' - '.$newServer['Name'] );
             <tr>
               <th scope="row"><?php echo translate('RunStats') ?></th>
               <td>
-                <input type="radio" name="newServer[zmstats.pl]" value="1"<?php echo $newServer['zmstats.pl'] ? ' checked="checked"' : '' ?>/> Yes
-                <input type="radio" name="newServer[zmstats.pl]" value="0"<?php echo $newServer['zmstats.pl'] ? '' : ' checked="checked"' ?>/> No
+                <input type="radio" name="newServer[zmstats]" value="1"<?php echo $newServer['zmstats'] ? ' checked="checked"' : '' ?>/> Yes
+                <input type="radio" name="newServer[zmstats]" value="0"<?php echo $newServer['zmstats'] ? '' : ' checked="checked"' ?>/> No
               </td>
             </tr>
             <tr>
               <th scope="row"><?php echo translate('RunAudit') ?></th>
               <td>
-                <input type="radio" name="newServer[zmaudit.pl]" value="1"<?php echo $newServer['zmaudit.pl'] ? ' checked="checked"' : '' ?>/> Yes
-                <input type="radio" name="newServer[zmaudit.pl]" value="0"<?php echo $newServer['zmaudit.pl'] ? '' : ' checked="checked"' ?>/> No
+                <input type="radio" name="newServer[zmaudit]" value="1"<?php echo $newServer['zmaudit'] ? ' checked="checked"' : '' ?>/> Yes
+                <input type="radio" name="newServer[zmaudit]" value="0"<?php echo $newServer['zmaudit'] ? '' : ' checked="checked"' ?>/> No
               </td>
             </tr>
             <tr>
               <th scope="row"><?php echo translate('RunTrigger') ?></th>
               <td>
-                <input type="radio" name="newServer[zmtrigger.pl]" value="1"<?php echo $newServer['zmtrigger.pl'] ? ' checked="checked"' : '' ?>/> Yes
-                <input type="radio" name="newServer[zmtrigger.pl]" value="0"<?php echo $newServer['zmtrigger.pl'] ? '' : ' checked="checked"' ?>/> No
+                <input type="radio" name="newServer[zmtrigger]" value="1"<?php echo $newServer['zmtrigger'] ? ' checked="checked"' : '' ?>/> Yes
+                <input type="radio" name="newServer[zmtrigger]" value="0"<?php echo $newServer['zmtrigger'] ? '' : ' checked="checked"' ?>/> No
               </td>
             </tr>
           </tbody>