tbrehm
2011-04-12 ce9867c8b69abeaade113b7355baba6662c5a2cb
Merged revisions 2292,2296,2299 from satble branch.
1 files added
4 files modified
76 ■■■■■ changed files
install/tpl/system.ini.master 1 ●●●● patch | view | raw | blame | history
interface/web/admin/form/system_config.tform.php 6 ●●●●● patch | view | raw | blame | history
interface/web/admin/lib/lang/en_system_config.lng 5 ●●●●● patch | view | raw | blame | history
interface/web/admin/templates/system_config_misc_edit.htm 4 ●●●● patch | view | raw | blame | history
interface/web/remote/monitor.php 60 ●●●●● patch | view | raw | blame | history
install/tpl/system.ini.master
@@ -30,3 +30,4 @@
[misc]
dashboard_atom_url=http://www.ispconfig.org/atom
monitor_key=
interface/web/admin/form/system_config.tform.php
@@ -260,6 +260,12 @@
            'default'    => 'http://www.ispconfig.org/atom',
            'value'        => ''
        ),
        'monitor_key' => array (
            'datatype'    => 'VARCHAR',
            'formtype'    => 'TEXT',
            'default'    => '',
            'value'        => ''
        ),
    ##################################
    # ENDE Datatable fields
    ##################################
interface/web/admin/lib/lang/en_system_config.lng
@@ -21,6 +21,7 @@
$wb["use_domain_module_hint"] = 'If you use this module, your customers can only select one of the domains the admin creates for them. They cannot free edit the domain-field.You have to re-login after changing this value, to make the changes visible.';
$wb["new_domain_txt"] = 'HTML to create a new domain';
$wb["webftp_url_txt"] = 'WebFTP URL';
$wb['admin_mail_txt'] = 'Administrator\'s e-mail';
$wb['admin_name_txt'] = 'Administrator\'s name';
$wb['admin_mail_txt'] = 'Administrator\'s e-mail';
$wb["monitor_key_txt"] = 'Monitor keyword';
$wb['admin_name_txt'] = 'Administrator\'s name';
?>
interface/web/admin/templates/system_config_misc_edit.htm
@@ -9,6 +9,10 @@
          <label for="dashboard_atom_url">{tmpl_var name='dashboard_atom_url_txt'}</label>
        <input name="dashboard_atom_url" id="dashboard_atom_url" value="{tmpl_var name='dashboard_atom_url'}" size="" maxlength="" type="text" class="textInput" />
            </div>
      <div class="ctrlHolder">
          <label for="monitor_key">{tmpl_var name='monitor_key_txt'}</label>
        <input name="monitor_key" id="monitor_key" value="{tmpl_var name='monitor_key'}" size="" maxlength="" type="text" class="textInput" />
            </div>
    </fieldset>
    <input type="hidden" name="id" value="{tmpl_var name='id'}">
interface/web/remote/monitor.php
New file
@@ -0,0 +1,60 @@
<?php
require_once('../../lib/config.inc.php');
$conf['start_session'] = false;
require_once('../../lib/app.inc.php');
if($conf['demo_mode'] == true) $app->error('This function is disabled in demo mode.');
header('Content-Type: application/json; charset=utf-8');
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Headers: X-Requested-With');
header('Cache-Control: no-cache, must-revalidate'); // HTTP/1.1
header('Expires: Sat, 26 Jul 1997 05:00:00 GMT'); // Date in the past
$type = addslashes($_GET['type']);
$token = addslashes($_GET['token']);
$server_id = intval($_GET['server']);
$app->uses('getconf');
$interface_config = $app->getconf->get_global_config('misc');
$secret = $interface_config['monitor_key'];
$out = array();
if($token == '' or $secret == '' or $token != $secret) {
    $out['state'] = 'syserror';
    $out['data'] = 'Password empty or incorrect.';
    $out['time'] = date('Y-m-d H:i');
} else {
    if($type == 'serverlist') {
        $sql = 'SELECT server_id, server_name FROM server WHERE 1 ORDER BY server_id';
        $records = $app->db->queryAllRecords($sql);
        $out['state'] = 'ok';
        $out['data'] = $records;
        $out['time'] = date('Y-m-d H:i',$rec['created']);
    } else {
        $rec = $app->db->queryOneRecord("SELECT * FROM monitor_data WHERE type = '$type' AND server_id = $server_id");
        if(is_array($rec)) {
            $out['state'] = $rec['state'];
            $out['data'] = unserialize(stripslashes($rec['data']));
            if(is_array($out['data']) && sizeof($out['data']) > 0){
                foreach($out['data'] as $key => $val){
                    if(!$val) $out['data'][$key] = "&nbsp;";
                }
            }
            $out['time'] = date('Y-m-d H:i',$rec['created']);
        } else {
            $out['state'] = 'syserror';
            $out['data'] = 'No monitor record found.';
            $out['time'] = date('Y-m-d H:i');
        }
        $sql = 'SELECT server_id, server_name FROM server WHERE 1 ORDER BY server_id';
        $records = $app->db->queryAllRecords($sql);
        $out['serverlist'] = $records;
    }
}
$out['type'] = $type;
echo json_encode($out);
exit;
?>