C:\Program Files (x86)\Apache Software Foundation\Apache2.2\htdocs\heimam\phpmyserver\sysinfo.php


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
<?php
//----------------------------------//
//    Copyright by Matthias Speer   //
//----------------------------------//

include('./config.inc.php');

include(
'./auth.php');

$user=(isset($_GET['user']))?DecodeGET($_GET['user']):'';

?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<HEAD>
<TITLE>Sys-Info</TITLE>
<META http-equiv="Content-Type" content="text/html; charset=<?php echo GetLocText('charset'false); ?>">
<LINK href="style/global.css" rel="stylesheet" type="text/css">
<LINK href="style/form.css" rel="stylesheet" type="text/css">
<STYLE type="text/css">
<!--
a:link {
    text-decoration: underline;
}
a:visited {
    text-decoration: underline;
}
a:hover {
    text-decoration: none;
}
a:active {
    text-decoration: underline;
}
-->
</STYLE>
<SCRIPT language="JavaScript" src="./script/frames.js" type="text/JavaScript"></SCRIPT>
</HEAD>

<BODY class=body_form>
<?php
switch ($PMS['os'].'|'.$PMS['modus'])
{
    case 
'linux|PHPsys':
    case 
'linux|Python':
    case 
'linux|PerlCGI':    
    case 
'linux|Perl_htaccess'
    case 
'linux|SSI':            $mod=new PMSMod();
                                if (
$mod->Execute('cat /proc/cpuinfo'))
                                {    
                                    
$rs=$mod->Output2Array();
                                    
$data=Array();
                                    
reset($rs);
                                    while (list(
$key$val)=each($rs))
                                    {
                                        if (
preg_match('/^([^:]+):\s+(.*)/'trim($val), $match))
                                        {
                                            
$data[trim(strtolower(str_replace(' ','',$match[1])))][]=$match[2];
                                        }
                                    }
                                    if (!empty(
$data))
                                    {
                                        echo 
'<TABLE width=90% cellspacing=2 cellpadding=0 border=0 align=center class=frmframe>';
                                        echo 
'<TR><TD class=frmcaption>'.GetLocText('inf_cpu_info').'</TD></TR>';
                                        echo 
'<TR><TD>';                                        
                                        echo 
'<TABLE width=100% cellspacing=6 cellpadding=0 border=0 align=center class=clr1>';
                                        echo (isset(
$data['processor']))?'<TR class=frmmsg><TD colspan=2>'.GetLocText('inf_cnt').'</TD><TD>'.count($data['processor']).'</TD></TR>':'';
                                        for (
$i=0$i<count($data['processor']); $i++)
                                        {
                                            echo 
'<TR><TD colspan=3 class=clr3><IMG src=./img/1.gif width=1 height=1></TD></TR>';
                                            echo 
'<TR class=frmmsg><TD colspan=3 class=text2b>'.GetLocText('inf_cpu').' '.($i+1).'</TD></TR>';
                                            echo (isset(
$data['vendor_id'][$i]))?'<TR class=frmmsg><TD width=5%>&nbsp;</TD><TD width=45%>'.GetLocText('inf_ven').'</TD><TD width=*>'.$data['vendor_id'][$i].'</TD></TR>':'';
                                            echo (isset(
$data['modelname'][$i]))?'<TR class=frmmsg><TD>&nbsp;</TD><TD>'.GetLocText('inf_mod').'</TD><TD>'.$data['modelname'][$i].'</TD></TR>':'';
                                            echo (isset(
$data['cpumhz'][$i]))?'<TR class=frmmsg><TD>&nbsp;</TD><TD>'.GetLocText('inf_frq').'</TD><TD>'.$data['cpumhz'][$i].' '.GetLocText('inf_mhz').'</TD></TR>':'';
                                            echo (isset(
$data['cachesize'][$i]))?'<TR class=frmmsg><TD>&nbsp;</TD><TD>'.GetLocText('inf_cache').'</TD><TD>'.$data['cachesize'][$i].'</TD></TR>':'';
                                        }                                                                                                                        
                                        echo 
'</TABLE>';                                        
                                        echo 
'</TD></TR>';
                                        echo 
'</TABLE><BR>';
                                    }                                    
                                    unset(
$data);
                                }
                                
$mod->Destructor();
            
                                
$mod=new PMSMod();
                                if (
$mod->Execute('uptime'))
                                {                                
                                    
$rs=trim(implode(''$mod->Output2Array()));
                                    if (
preg_match('/^(\d+):(\d+):?(\d+|am|pm)?\s+(\S+)\s+((\d+)\s+day[s]?,?)?\s*(\d+):(\d+),\s+(\d+)\s+user[s]?,\s+load\s+average:\s+(\d+\.\d+),\s+(\d+\.\d+),\s+(\d+\.\d+).*/'$rs$match))
                                    {
                                        echo 
'<TABLE width=90% cellspacing=2 cellpadding=0 border=0 align=center class=frmframe>';
                                        echo 
'<TR><TD class=frmcaption>'.GetLocText('inf_rt_info').'</TD></TR>';
                                        echo 
'<TR><TD>';                                        
                                        echo 
'<TABLE width=100% cellspacing=6 cellpadding=0 border=0 align=center class=clr1>';
                                        echo 
'<TR class=frmmsg><TD width=50%>'.GetLocText('inf_time').'</TD><TD width=*>';
                                        echo 
date(GetLocText('inf_tfmt'false), mktime((($match[3]=='pm')?12:0)+$match[1], $match[2], is_int($match[3])?$match[3]:0));        
                                        echo 
'</TD></TR>';
                                        echo 
'<TR class=frmmsg><TD>'.GetLocText('inf_sys_rt').'</TD><TD>';
                                        echo (!empty(
$match[6]))?$match[6].' '.GetLocText(($match[6]==1)?'inf_day':'inf_days').', ':'';
                                        echo (
$match[7]!=0)?($match[7].' '.GetLocText(($match[7]==1)?'inf_hour':'inf_hours').', '):'';
                                        echo 
intval($match[8]).' '.GetLocText(($match[8]==1)?'inf_min':'inf_mins');        
                                        echo 
'</TD></TR>';
                                        echo 
'<TR class=frmmsg><TD>'.GetLocText('inf_user_log').'</TD><TD>'.$match[9].'</TD></TR>';
                                        echo 
'<TR class=frmmsg><TD>'.sprintf(GetLocText('inf_load_avg'), 5).'</TD><TD>'.($match[10]*100).' %</TD></TR>';
                                        echo 
'<TR class=frmmsg><TD>'.sprintf(GetLocText('inf_load_avg'), 10).'</TD><TD>'.($match[11]*100).' %</TD></TR>';
                                        echo 
'<TR class=frmmsg><TD>'.sprintf(GetLocText('inf_load_avg'), 15).'</TD><TD>'.($match[12]*100).' %</TD></TR>';                                                                                                                        
                                        echo 
'</TABLE>';                                        
                                        echo 
'</TD></TR>';
                                        echo 
'</TABLE><BR>';
                                    }
                                }
                                
$mod->Destructor();

                                
$mod=new PMSMod();
                                if (
$mod->Execute('last'))
                                {
                                    
$rs=$mod->Output2Array();                                
                                    
$data=Array();
                                    
reset($rs);
                                    while (list(
$key$val)=each($rs))
                                    {
                                        if (
preg_match('/^(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\d+)\s+(\d+:\d+)\s+(-\s+(\d+:\d+)\s+\((\d+:\d+)\))?(.*)/'trim($val), $match))
                                        {
                                            
$line=Array
                                            (
                                                
strtotime(sprintf('%s, %d %s '.date('Y').' %s'$match[4], $match[6], $match[5], $match[7])),
                                                
$match[3],
                                                
$match[2],
                                                
date('d.m.'strtotime($match[6].' '.$match[5])),
                                                
$match[7],
                                                
$match[9],
                                                
$match[10],
                                                
$match[11],                                                
                                            );
                                            
$data[trim($match[1])][]=$line;
                                        }
                                    }
                                    if (!empty(
$data))
                                    {
                                        
// sort
                                        
ksort($data);
                                        
reset($data);
                                        while (list(
$key$val) = each($data))
                                        {
                                            
$last=0;
                                            
reset($data[$key]);
                                            while (list(
$key1$val1) = each($val))
                                            {
                                                if (
$val1[0] > $data[$key][$last][0]) $last=$key1
                                            }
                                        }
                                    
                                        echo 
'<TABLE width=90% cellspacing=2 cellpadding=0 border=0 align=center class=frmframe>';
                                        echo 
'<TR><TD class=frmcaption>'.GetLocText('inf_lstlog').'</TD></TR>';
                                        echo 
'<TR><TD class=clr2>';                                        
                                        echo 
'<TABLE width=100% cellspacing=1 cellpadding=3 border=0 align=center>';
                                        echo 
'<TR class=text2b>';
                                        echo 
'<TD>'.GetLocText('inf_ll_user').'</TD>';
                                        echo 
'<TD>'.GetLocText('inf_ll_frm').'</TD>';
                                        echo 
'<TD>'.GetLocText('inf_ll_tml').'</TD>';
                                        echo 
'<TD>'.GetLocText('inf_ll_in').'</TD>';
                                        echo 
'<TD>'.GetLocText('inf_ll_out').'</TD>';
                                        echo 
'<TD>'.GetLocText('inf_ll_ln').'</TD>';
                                        echo 
'</TR>';
                                        
$start=true;
                                        
reset($data);
                                        while (list(
$key$val) = each($data))
                                        {
                                            
$encuser=EncodeGET($key);
                                            echo 
'<TR class=frmmsg>';
                                            echo 
'<TD class=clr'.(($user==$key)?'4':1).'><A href=sysinfo.php?user='.$encuser.'#'.$encuser.'>'.$key.'</A></TD>';
                                            echo 
'<TD class=clr'.(($user==$key)?'4':1).'>'.$val[0][1].'</TD>';
                                            echo 
'<TD class=clr'.(($user==$key)?'4':1).'>'.$val[0][2].'</TD>';
                                            echo 
'<TD class=clr'.(($user==$key)?'4':1).'>'.$val[0][3].' '.$val[0][4].'</TD>';
                                            if (empty(
$val[0][5]))
                                            {
                                                echo 
'<TD colspan=2 class=clr'.(($user==$key)?'4':1).'>'.$val[0][7].'</TD>';
                                            } else
                                            {
                                                echo 
'<TD class=clr'.(($user==$key)?'4':1).'>'.$val[0][5].'</TD>';
                                                echo 
'<TD class=clr'.(($user==$key)?'4':1).'>'.$val[0][6].'</TD>';
                                            }
                                            echo 
'</TR>';
                                            if (
$user==$key)
                                            {
                                                for (
$i=1$i<count($val); $i++)
                                                {
                                                    echo 
'<TR class=frmmsg>';
                                                    echo 
'<TD class=clr4>&nbsp;</TD>';
                                                    echo 
'<TD class=clr4>'.$val[$i][1].'</TD>';
                                                    echo 
'<TD class=clr4>'.$val[$i][2].'</TD>';
                                                    echo 
'<TD class=clr4>'.$val[$i][3].' '.$val[$i][4].'</TD>';
                                                    if (empty(
$val[$i][5]))
                                                    {
                                                        echo 
'<TD colspan=2 class=clr4>'.$val[$i][7].'</TD>';
                                                    } else
                                                    {
                                                        echo 
'<TD class=clr4>'.$val[$i][5].'</TD>';
                                                        echo 
'<TD class=clr4>'.$val[$i][6].'</TD>';
                                                    }
                                                    echo 
'</TR>';
                                                }
                                            }
                                        }
                                        echo 
'</TABLE>';                                        
                                        echo 
'</TD></TR>';
                                        echo 
'</TABLE>';
                                    }
                                }
                                
$mod->Destructor();
                                break;
                                
    default:                    
DisplayMessage(GetLocText('msg_func_na'));    
}
?>
</BODY>
</HTML>