[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Fmsystem-commits] [11813] bkbooking: stavanger phpsysinfo 2nd
From: |
Kjell Arne Espedal |
Subject: |
[Fmsystem-commits] [11813] bkbooking: stavanger phpsysinfo 2nd |
Date: |
Thu, 13 Mar 2014 14:58:22 +0000 |
Revision: 11813
http://svn.sv.gnu.org/viewvc/?view=rev&root=fmsystem&revision=11813
Author: kjell
Date: 2014-03-13 14:58:22 +0000 (Thu, 13 Mar 2014)
Log Message:
-----------
bkbooking: stavanger phpsysinfo 2nd
Added Paths:
-----------
branches/stavangerkommune/phpsysinfo/.gitignore
branches/stavangerkommune/phpsysinfo/.htaccess
branches/stavangerkommune/phpsysinfo/.travis.yml
branches/stavangerkommune/phpsysinfo/data/languages.ini
branches/stavangerkommune/phpsysinfo/gfx/favicon.png
branches/stavangerkommune/phpsysinfo/gfx/htmlwarn.gif
branches/stavangerkommune/phpsysinfo/gfx/images/AIX.png
branches/stavangerkommune/phpsysinfo/gfx/images/ALT.png
branches/stavangerkommune/phpsysinfo/gfx/images/Alpine.png
branches/stavangerkommune/phpsysinfo/gfx/images/Android.png
branches/stavangerkommune/phpsysinfo/gfx/images/Apple.png
branches/stavangerkommune/phpsysinfo/gfx/images/Chakra.png
branches/stavangerkommune/phpsysinfo/gfx/images/ClearOS.png
branches/stavangerkommune/phpsysinfo/gfx/images/CloudLinux.png
branches/stavangerkommune/phpsysinfo/gfx/images/Crux.png
branches/stavangerkommune/phpsysinfo/gfx/images/Deepin.png
branches/stavangerkommune/phpsysinfo/gfx/images/Eisfair.png
branches/stavangerkommune/phpsysinfo/gfx/images/Foresight.png
branches/stavangerkommune/phpsysinfo/gfx/images/Frugalware.png
branches/stavangerkommune/phpsysinfo/gfx/images/Fuduntu.png
branches/stavangerkommune/phpsysinfo/gfx/images/HPUX.png
branches/stavangerkommune/phpsysinfo/gfx/images/Haiku.png
branches/stavangerkommune/phpsysinfo/gfx/images/IPFire.png
branches/stavangerkommune/phpsysinfo/gfx/images/Linaro.png
branches/stavangerkommune/phpsysinfo/gfx/images/Mageia.png
branches/stavangerkommune/phpsysinfo/gfx/images/Manjaro.png
branches/stavangerkommune/phpsysinfo/gfx/images/Minix.png
branches/stavangerkommune/phpsysinfo/gfx/images/Mint.png
branches/stavangerkommune/phpsysinfo/gfx/images/Netrunner.png
branches/stavangerkommune/phpsysinfo/gfx/images/Oracle.png
branches/stavangerkommune/phpsysinfo/gfx/images/PCLinuxOS.png
branches/stavangerkommune/phpsysinfo/gfx/images/PLD.png
branches/stavangerkommune/phpsysinfo/gfx/images/Pear.png
branches/stavangerkommune/phpsysinfo/gfx/images/Peppermint.png
branches/stavangerkommune/phpsysinfo/gfx/images/Porteus.png
branches/stavangerkommune/phpsysinfo/gfx/images/Puppy.png
branches/stavangerkommune/phpsysinfo/gfx/images/ROSA.png
branches/stavangerkommune/phpsysinfo/gfx/images/SMS.png
branches/stavangerkommune/phpsysinfo/gfx/images/Sabayon.png
branches/stavangerkommune/phpsysinfo/gfx/images/Salix.png
branches/stavangerkommune/phpsysinfo/gfx/images/Scientific.png
branches/stavangerkommune/phpsysinfo/gfx/images/Slax.png
branches/stavangerkommune/phpsysinfo/gfx/images/SolusOS.png
branches/stavangerkommune/phpsysinfo/gfx/images/StartOS.png
branches/stavangerkommune/phpsysinfo/gfx/images/Tinycore.png
branches/stavangerkommune/phpsysinfo/gfx/images/Trisquel.png
branches/stavangerkommune/phpsysinfo/gfx/images/Turbo.png
branches/stavangerkommune/phpsysinfo/gfx/images/Vector.png
branches/stavangerkommune/phpsysinfo/gfx/images/Win2000.png
branches/stavangerkommune/phpsysinfo/gfx/images/Win8.png
branches/stavangerkommune/phpsysinfo/gfx/images/WinVista.png
branches/stavangerkommune/phpsysinfo/gfx/images/WinXP.png
branches/stavangerkommune/phpsysinfo/gfx/images/Zorin.png
branches/stavangerkommune/phpsysinfo/gfx/images/antiX.png
branches/stavangerkommune/phpsysinfo/gfx/images/elementaryOS.png
branches/stavangerkommune/phpsysinfo/gfx/images/gNewSense.png
branches/stavangerkommune/phpsysinfo/gfx/sort_asc.png
branches/stavangerkommune/phpsysinfo/gfx/sort_both.png
branches/stavangerkommune/phpsysinfo/gfx/sort_desc.png
branches/stavangerkommune/phpsysinfo/includes/js/README
branches/stavangerkommune/phpsysinfo/includes/mb/class.coretemp.inc.php
branches/stavangerkommune/phpsysinfo/includes/mb/class.hddtemp.inc.php
branches/stavangerkommune/phpsysinfo/includes/mb/class.healthd.inc.php
branches/stavangerkommune/phpsysinfo/includes/mb/class.hwsensors.inc.php
branches/stavangerkommune/phpsysinfo/includes/mb/class.ipmi.inc.php
branches/stavangerkommune/phpsysinfo/includes/mb/class.k8temp.inc.php
branches/stavangerkommune/phpsysinfo/includes/mb/class.lmsensors.inc.php
branches/stavangerkommune/phpsysinfo/includes/mb/class.mbm5.inc.php
branches/stavangerkommune/phpsysinfo/includes/mb/class.mbmon.inc.php
branches/stavangerkommune/phpsysinfo/includes/mb/class.pitemp.inc.php
branches/stavangerkommune/phpsysinfo/includes/mb/class.sensors.inc.php
branches/stavangerkommune/phpsysinfo/includes/os/class.AIX.inc.php
branches/stavangerkommune/phpsysinfo/includes/os/class.Android.inc.php
branches/stavangerkommune/phpsysinfo/includes/os/class.Haiku.inc.php
branches/stavangerkommune/phpsysinfo/includes/os/class.Minix.inc.php
branches/stavangerkommune/phpsysinfo/includes/output/class.Template.inc.php
branches/stavangerkommune/phpsysinfo/includes/ups/class.apcupsd.inc.php
branches/stavangerkommune/phpsysinfo/includes/ups/class.nut.inc.php
branches/stavangerkommune/phpsysinfo/includes/ups/class.ups.inc.php
branches/stavangerkommune/phpsysinfo/js/jQuery/jquery-1.js
branches/stavangerkommune/phpsysinfo/language/gr.xml
branches/stavangerkommune/phpsysinfo/language/pt-pt.xml
branches/stavangerkommune/phpsysinfo/language/th.xml
branches/stavangerkommune/phpsysinfo/language/tr.xml
branches/stavangerkommune/phpsysinfo/language/zh.xml
branches/stavangerkommune/phpsysinfo/plugins/bat/
branches/stavangerkommune/phpsysinfo/plugins/bat/class.bat.inc.php
branches/stavangerkommune/phpsysinfo/plugins/bat/js/
branches/stavangerkommune/phpsysinfo/plugins/bat/js/bat.js
branches/stavangerkommune/phpsysinfo/plugins/bat/lang/
branches/stavangerkommune/phpsysinfo/plugins/bat/lang/cz.xml
branches/stavangerkommune/phpsysinfo/plugins/bat/lang/en.xml
branches/stavangerkommune/phpsysinfo/plugins/bat/lang/fr.xml
branches/stavangerkommune/phpsysinfo/plugins/bat/lang/pl.xml
branches/stavangerkommune/phpsysinfo/plugins/bat/lang/ru.xml
branches/stavangerkommune/phpsysinfo/plugins/ipmiinfo/
branches/stavangerkommune/phpsysinfo/plugins/ipmiinfo/class.ipmiinfo.inc.php
branches/stavangerkommune/phpsysinfo/plugins/ipmiinfo/js/
branches/stavangerkommune/phpsysinfo/plugins/ipmiinfo/js/ipmiinfo.js
branches/stavangerkommune/phpsysinfo/plugins/ipmiinfo/lang/
branches/stavangerkommune/phpsysinfo/plugins/ipmiinfo/lang/cz.xml
branches/stavangerkommune/phpsysinfo/plugins/ipmiinfo/lang/en.xml
branches/stavangerkommune/phpsysinfo/plugins/ipmiinfo/lang/fr.xml
branches/stavangerkommune/phpsysinfo/plugins/ipmiinfo/lang/pl.xml
branches/stavangerkommune/phpsysinfo/plugins/ipmiinfo/lang/ru.xml
branches/stavangerkommune/phpsysinfo/plugins/mdstatus/
branches/stavangerkommune/phpsysinfo/plugins/mdstatus/class.mdstatus.inc.php
branches/stavangerkommune/phpsysinfo/plugins/mdstatus/css/
branches/stavangerkommune/phpsysinfo/plugins/mdstatus/css/mdstatus.css
branches/stavangerkommune/phpsysinfo/plugins/mdstatus/gfx/
branches/stavangerkommune/phpsysinfo/plugins/mdstatus/gfx/error.png
branches/stavangerkommune/phpsysinfo/plugins/mdstatus/gfx/harddrivefail.png
branches/stavangerkommune/phpsysinfo/plugins/mdstatus/gfx/harddriveok.png
branches/stavangerkommune/phpsysinfo/plugins/mdstatus/gfx/harddrivespare.png
branches/stavangerkommune/phpsysinfo/plugins/mdstatus/js/
branches/stavangerkommune/phpsysinfo/plugins/mdstatus/js/mdstatus.js
branches/stavangerkommune/phpsysinfo/plugins/mdstatus/lang/
branches/stavangerkommune/phpsysinfo/plugins/mdstatus/lang/cz.xml
branches/stavangerkommune/phpsysinfo/plugins/mdstatus/lang/de.xml
branches/stavangerkommune/phpsysinfo/plugins/mdstatus/lang/en.xml
branches/stavangerkommune/phpsysinfo/plugins/mdstatus/lang/fr.xml
branches/stavangerkommune/phpsysinfo/plugins/mdstatus/lang/gr.xml
branches/stavangerkommune/phpsysinfo/plugins/mdstatus/lang/ru.xml
branches/stavangerkommune/phpsysinfo/plugins/ps/
branches/stavangerkommune/phpsysinfo/plugins/ps/class.ps.inc.php
branches/stavangerkommune/phpsysinfo/plugins/ps/js/
branches/stavangerkommune/phpsysinfo/plugins/ps/js/ps.js
branches/stavangerkommune/phpsysinfo/plugins/ps/lang/
branches/stavangerkommune/phpsysinfo/plugins/ps/lang/cz.xml
branches/stavangerkommune/phpsysinfo/plugins/ps/lang/de.xml
branches/stavangerkommune/phpsysinfo/plugins/ps/lang/en.xml
branches/stavangerkommune/phpsysinfo/plugins/ps/lang/fr.xml
branches/stavangerkommune/phpsysinfo/plugins/ps/lang/gr.xml
branches/stavangerkommune/phpsysinfo/plugins/ps/lang/pl.xml
branches/stavangerkommune/phpsysinfo/plugins/ps/lang/ru.xml
branches/stavangerkommune/phpsysinfo/plugins/psstatus/
branches/stavangerkommune/phpsysinfo/plugins/psstatus/class.psstatus.inc.php
branches/stavangerkommune/phpsysinfo/plugins/psstatus/css/
branches/stavangerkommune/phpsysinfo/plugins/psstatus/css/psstatus.css
branches/stavangerkommune/phpsysinfo/plugins/psstatus/gfx/
branches/stavangerkommune/phpsysinfo/plugins/psstatus/gfx/offline.png
branches/stavangerkommune/phpsysinfo/plugins/psstatus/gfx/online.png
branches/stavangerkommune/phpsysinfo/plugins/psstatus/js/
branches/stavangerkommune/phpsysinfo/plugins/psstatus/js/psstatus.js
branches/stavangerkommune/phpsysinfo/plugins/psstatus/lang/
branches/stavangerkommune/phpsysinfo/plugins/psstatus/lang/cz.xml
branches/stavangerkommune/phpsysinfo/plugins/psstatus/lang/de.xml
branches/stavangerkommune/phpsysinfo/plugins/psstatus/lang/en.xml
branches/stavangerkommune/phpsysinfo/plugins/psstatus/lang/fr.xml
branches/stavangerkommune/phpsysinfo/plugins/psstatus/lang/gr.xml
branches/stavangerkommune/phpsysinfo/plugins/psstatus/lang/pl.xml
branches/stavangerkommune/phpsysinfo/plugins/psstatus/lang/ru.xml
branches/stavangerkommune/phpsysinfo/plugins/quotas/
branches/stavangerkommune/phpsysinfo/plugins/quotas/class.quotas.inc.php
branches/stavangerkommune/phpsysinfo/plugins/quotas/css/
branches/stavangerkommune/phpsysinfo/plugins/quotas/css/quotas.css
branches/stavangerkommune/phpsysinfo/plugins/quotas/js/
branches/stavangerkommune/phpsysinfo/plugins/quotas/js/quotas.js
branches/stavangerkommune/phpsysinfo/plugins/quotas/lang/
branches/stavangerkommune/phpsysinfo/plugins/quotas/lang/cz.xml
branches/stavangerkommune/phpsysinfo/plugins/quotas/lang/de.xml
branches/stavangerkommune/phpsysinfo/plugins/quotas/lang/en.xml
branches/stavangerkommune/phpsysinfo/plugins/quotas/lang/fr.xml
branches/stavangerkommune/phpsysinfo/plugins/quotas/lang/pl.xml
branches/stavangerkommune/phpsysinfo/plugins/quotas/lang/ru.xml
branches/stavangerkommune/phpsysinfo/plugins/smart/
branches/stavangerkommune/phpsysinfo/plugins/smart/class.smart.inc.php
branches/stavangerkommune/phpsysinfo/plugins/smart/css/
branches/stavangerkommune/phpsysinfo/plugins/smart/css/smart.css
branches/stavangerkommune/phpsysinfo/plugins/smart/js/
branches/stavangerkommune/phpsysinfo/plugins/smart/js/smart.js
branches/stavangerkommune/phpsysinfo/plugins/smart/lang/
branches/stavangerkommune/phpsysinfo/plugins/smart/lang/cz.xml
branches/stavangerkommune/phpsysinfo/plugins/smart/lang/en.xml
branches/stavangerkommune/phpsysinfo/plugins/smart/lang/fr.xml
branches/stavangerkommune/phpsysinfo/plugins/smart/lang/gr.xml
branches/stavangerkommune/phpsysinfo/plugins/smart/lang/pl.xml
branches/stavangerkommune/phpsysinfo/plugins/smart/lang/ru.xml
branches/stavangerkommune/phpsysinfo/plugins/snmppinfo/
branches/stavangerkommune/phpsysinfo/plugins/snmppinfo/class.snmppinfo.inc.php
branches/stavangerkommune/phpsysinfo/plugins/snmppinfo/js/
branches/stavangerkommune/phpsysinfo/plugins/snmppinfo/js/snmppinfo.js
branches/stavangerkommune/phpsysinfo/plugins/snmppinfo/lang/
branches/stavangerkommune/phpsysinfo/plugins/snmppinfo/lang/cz.xml
branches/stavangerkommune/phpsysinfo/plugins/snmppinfo/lang/en.xml
branches/stavangerkommune/phpsysinfo/plugins/snmppinfo/lang/pl.xml
branches/stavangerkommune/phpsysinfo/plugins/snmppinfo/lang/ru.xml
branches/stavangerkommune/phpsysinfo/plugins/updatenotifier/
branches/stavangerkommune/phpsysinfo/plugins/updatenotifier/class.updatenotifier.inc.php
branches/stavangerkommune/phpsysinfo/plugins/updatenotifier/js/
branches/stavangerkommune/phpsysinfo/plugins/updatenotifier/js/updatenotifier.js
branches/stavangerkommune/phpsysinfo/plugins/updatenotifier/lang/
branches/stavangerkommune/phpsysinfo/plugins/updatenotifier/lang/cz.xml
branches/stavangerkommune/phpsysinfo/plugins/updatenotifier/lang/en.xml
branches/stavangerkommune/phpsysinfo/plugins/updatenotifier/lang/fr.xml
branches/stavangerkommune/phpsysinfo/plugins/updatenotifier/lang/pl.xml
branches/stavangerkommune/phpsysinfo/plugins/updatenotifier/lang/ru.xml
branches/stavangerkommune/phpsysinfo/templates/html/
branches/stavangerkommune/phpsysinfo/templates/html/error_config.html
branches/stavangerkommune/phpsysinfo/templates/html/index_all.html
branches/stavangerkommune/phpsysinfo/templates/html/index_dynamic.html
branches/stavangerkommune/phpsysinfo/templates/nextgen/
branches/stavangerkommune/phpsysinfo/templates/nextgen/nextgen_bg.png
branches/stavangerkommune/phpsysinfo/templates/nextgen.css
Added: branches/stavangerkommune/phpsysinfo/.gitignore
===================================================================
--- branches/stavangerkommune/phpsysinfo/.gitignore
(rev 0)
+++ branches/stavangerkommune/phpsysinfo/.gitignore 2014-03-13 14:58:22 UTC
(rev 11813)
@@ -0,0 +1 @@
+phpsysinfo.ini
Added: branches/stavangerkommune/phpsysinfo/.htaccess
===================================================================
--- branches/stavangerkommune/phpsysinfo/.htaccess
(rev 0)
+++ branches/stavangerkommune/phpsysinfo/.htaccess 2014-03-13 14:58:22 UTC
(rev 11813)
@@ -0,0 +1,4 @@
+<files phpsysinfo.ini>
+ order deny,allow
+ deny from all
+</files>
Added: branches/stavangerkommune/phpsysinfo/.travis.yml
===================================================================
--- branches/stavangerkommune/phpsysinfo/.travis.yml
(rev 0)
+++ branches/stavangerkommune/phpsysinfo/.travis.yml 2014-03-13 14:58:22 UTC
(rev 11813)
@@ -0,0 +1,17 @@
+language: php
+
+php:
+ - 5.2
+ - 5.3
+ - 5.4
+ - 5.5
+
+script: for i in `find . -name "*.php"`; do php -l $i; done;
+
+branches:
+ only:
+ - "master"
+ - "stable"
+
+notifications:
+ email: false
Added: branches/stavangerkommune/phpsysinfo/data/languages.ini
===================================================================
--- branches/stavangerkommune/phpsysinfo/data/languages.ini
(rev 0)
+++ branches/stavangerkommune/phpsysinfo/data/languages.ini 2014-03-13
14:58:22 UTC (rev 11813)
@@ -0,0 +1,1025 @@
+[WINNT]
+1="Arabic"
+4="Simplified Chinese - China"
+9="English"
+1025="Arabic - Saudi Arabia"
+1026="Bulgarian"
+1027="Catalan"
+1028="Traditional Chinese - Taiwan"
+1029="Czech"
+1030="Danish"
+1031="German - Germany"
+1032="Greek"
+1033="English - United States"
+1034="Spanish - Traditional Sort"
+1035="Finnish"
+1036="French - France"
+1037="Hebrew"
+1038="Hungarian"
+1039="Icelandic"
+1040="Italian - Italy"
+1041="Japanese"
+1042="Korean"
+1043="Dutch - Netherlands"
+1044="Norwegian - Bokmal"
+1045="Polish"
+1046="Portuguese - Brazil"
+1047="Rhaeto-Romanic"
+1048="Romanian"
+1049="Russian"
+1050="Croatian"
+1051="Slovak"
+1052="Albanian"
+1053="Swedish"
+1054="Thai"
+1055="Turkish"
+1056="Urdu"
+1057="Indonesian"
+1058="Ukrainian"
+1059="Belarusian"
+1060="Slovenian"
+1061="Estonian"
+1062="Latvian"
+1063="Lithuanian"
+1065="Persion"
+1066="Vietnamese"
+1069="Basque"
+1070="Serbian"
+1071="Macedonian (FYROM)"
+1072="Sutu"
+1073="Tsonga"
+1074="Tswana"
+1076="Xhosa"
+1077="Zulu"
+1078="Afrikaans"
+1080="Faeroese"
+1081="Hindi"
+1082="Maltese"
+1084="Scottish Gaelic"
+1085="Yiddish"
+1086="Malay - Malaysia"
+2049="Arabic - Iraq"
+2052="Simplified Chinese - PRC"
+2055="German - Switzerland"
+2057="English - United Kingdom"
+2058="Spanish - Mexico"
+2060="French - Belgium"
+2064="Italian - Switzerland"
+2067="Dutch - Belgium"
+2068="Norwegian - Nynorsk"
+2070="Portuguese - Portugal"
+2072="Romanian - Moldova"
+2073="Russian - Moldova"
+2074="Serbian - Latin"
+2077="Swedish - Finland"
+3073="Arabic - Egypt"
+3076="Traditional Chinese - Hong Kong SAR"
+3079="German - Austria"
+3081="English - Australia"
+3082="Spanish - International Sort"
+3084="French - Canada"
+3098="Serbian - Cyrillic"
+4097="Arabic - Libya"
+4100="Simplified Chinese - Singapore"
+4103="German - Luxembourg"
+4105="English - Canada"
+4106="Spanish - Guatemala"
+4108="French - Switzerland"
+5121="Arabic - Algeria"
+5127="German - Liechtenstein"
+5129="English - New Zealand"
+5130="Spanish - Costa Rica"
+5132="French - Luxembourg"
+6145="Arabic - Morocco"
+6153="English - Ireland"
+6154="Spanish - Panama"
+7169="Arabic - Tunisia"
+7177="English - South Africa"
+7178="Spanish - Dominican Republic"
+8193="Arabic - Oman"
+8201="English - Jamaica"
+8202="Spanish - Venezuela"
+9217="Arabic - Yemen"
+9226="Spanish - Colombia"
+10241="Arabic - Syria"
+10249="English - Belize"
+10250="Spanish - Peru"
+11265="Arabic - Jordan"
+11273="English - Trinidad"
+11274="Spanish - Argentina"
+12289="Arabic - Lebanon"
+12298="Spanish - Ecuador"
+13313="Arabic - Kuwait"
+13322="Spanish - Chile"
+14337="Arabic - U.A.E."
+14346="Spanish - Uruguay"
+15361="Arabic - Bahrain"
+15370="Spanish - Paraguay"
+16385="Arabic - Qatar"
+16394="Spanish - Bolivia"
+17418="Spanish - El Salvador"
+18442="Spanish - Honduras"
+19466="Spanish - Nicaragua"
+20490="Spanish - Puerto Rico"
+
+[Linux]
+_aa="Afar"
+_aa_DJ="Afar Djibouti"
+_aa_ER="Afar Eritrea"
+_aa_ER_SAAHO="Afar Eritrea Saho"
+_aa_ET="Afar Ethiopia"
+_aar="Afar"
+_aar_DJ="Afar Djibouti"
+_aar_ER="Afar Eritrea"
+_aar_ER_SAAHO="Afar Eritrea Saho"
+_aar_ET="Afar Ethiopia"
+_af="Afrikaans"
+_af_NA="Afrikaans Namibia"
+_afr="Afrikaans"
+_afr_NA="Afrikaans Namibia"
+_afr_ZA="Afrikaans South Africa"
+_af_ZA="Afrikaans South Africa"
+_aka="Akan"
+_aka_GH="Akan Ghana"
+_ak="Akan"
+_ak_GH="Akan Ghana"
+_alb_AL="Albanian Albania"
+_alb="Albanian"
+_am="Amharic"
+_am_ET="Amharic Ethiopia"
+_amh="Amharic"
+_amh_ET="Amharic Ethiopia"
+_ara_AE="Arabic United Arab Emirates"
+_ara="Arabic"
+_ara_BH="Arabic Bahrain"
+_ara_DZ="Arabic Algeria"
+_ar_AE="Arabic United Arab Emirates"
+_ara_EG="Arabic Egypt"
+_ara_IQ="Arabic Iraq"
+_ara_JO="Arabic Jordan"
+_ara_KW="Arabic Kuwait"
+_ara_LB="Arabic Lebanon"
+_ara_LY="Arabic Libya"
+_ara_MA="Arabic Morocco"
+_ara_OM="Arabic Oman"
+_ara_QA="Arabic Qatar"
+_ar="Arabic"
+_ara_SA="Arabic Saudi Arabia"
+_ara_SD="Arabic Sudan"
+_ara_SY="Arabic Syria"
+_ara_TN="Arabic Tunisia"
+_ara_YE="Arabic Yemen"
+_ar_BH="Arabic Bahrain"
+_ar_DZ="Arabic Algeria"
+_ar_EG="Arabic Egypt"
+_ar_IQ="Arabic Iraq"
+_ar_JO="Arabic Jordan"
+_ar_KW="Arabic Kuwait"
+_ar_LB="Arabic Lebanon"
+_ar_LY="Arabic Libya"
+_ar_MA="Arabic Morocco"
+_arm_AM="Armenian Armenia"
+_arm_AM_REVISED="Armenian Armenia Revised Orthography"
+_arm="Armenian"
+_ar_OM="Arabic Oman"
+_ar_QA="Arabic Qatar"
+_ar_SA="Arabic Saudi Arabia"
+_ar_SD="Arabic Sudan"
+_ar_SY="Arabic Syria"
+_ar_TN="Arabic Tunisia"
+_ar_YE="Arabic Yemen"
+_as="Assamese"
+_as_IN="Assamese India"
+_asm="Assamese"
+_asm_IN="Assamese India"
+_az_AZ="Azerbaijani Azerbaijan"
+_az="Azerbaijani"
+_az_Cyrl_AZ="Azerbaijani Azerbaijan (Cyrillic)"
+_az_Cyrl="Azerbaijani (Cyrillic)"
+_aze_AZ="Azerbaijani Azerbaijan"
+_aze_AZ_Cyrl="Azerbaijani Azerbaijan (Cyrillic)"
+_aze="Azerbaijani"
+_aze_AZ_Latn="Azerbaijani Azerbaijan (Latin)"
+_aze_Cyrl="Azerbaijani (Cyrillic)"
+_aze_Latn="Azerbaijani (Latin)"
+_az_Latn_AZ="Azerbaijani Azerbaijan (Latin)"
+_az_Latn="Azerbaijani (Latin)"
+_baq="Basque"
+_baq_ES="Basque Spain"
+_be="Belarusian"
+_be_BY="Belarusian Belarus"
+_bel="Belarusian"
+_bel_BY="Belarusian Belarus"
+_ben_BD="Bengali Bangladesh"
+_ben="Bengali"
+_ben_IN="Bengali India"
+_bg_BG="Bulgarian Bulgaria"
+_bg="Bulgarian"
+_bn_BD="Bengali Bangladesh"
+_bn="Bengali"
+_bn_IN="Bengali India"
+_bokmal="Norwegian Bokmål"
+_bokmål="Norwegian Bokmål"
+_bos_BA="Bosnian Bosnia and Herzegovina"
+_bos="Bosnian"
+_bs_BA="Bosnian Bosnia and Herzegovina"
+_bs="Bosnian"
+_bul_BG="Bulgarian Bulgaria"
+_bul="Bulgarian"
+_bur="Burmese"
+_bur_MM="Burmese Myanmar"
+_byn="Blin"
+_byn_ER="Blin Eritrea"
+_ca="Catalan"
+_ca_ES="Catalan Spain"
+_catalan="Catalan Spain"
+_cat="Catalan"
+_cat_ES="Catalan Spain"
+_cch="Atsam"
+_cch_NG="Atsam Nigeria"
+_C="English United States Computer"
+_chi="Chinese"
+_chi_CN="Chinese China"
+_chi_CN_Hans="Chinese China (Simplified Han)"
+_chi_Hans="Chinese (Simplified Han)"
+_chi_Hant="Chinese (Traditional Han)"
+_chi_HK="Chinese Hong Kong SAR China"
+_chi_HK_Hans="Chinese Hong Kong SAR China (Simplified Han)"
+_chi_HK_Hant="Chinese Hong Kong SAR China (Traditional Han)"
+_chi_MO="Chinese Macau SAR China"
+_chi_MO_Hans="Chinese Macau SAR China (Simplified Han)"
+_chi_MO_Hant="Chinese Macau SAR China (Traditional Han)"
+_chi_SG="Chinese Singapore"
+_chi_SG_Hans="Chinese Singapore (Simplified Han)"
+_chi_TW="Chinese Taiwan"
+_chi_TW_Hant="Chinese Taiwan (Traditional Han)"
+_cop="Coptic"
+_cor="Cornish"
+_cor_GB="Cornish United Kingdom"
+_croatian="Croatian"
+_cs_CZ="Czech Czech Republic"
+_cs="Czech"
+_cy_GB="Welsh United Kingdom"
+_cy="Welsh"
+_czech="Czech"
+_cze_CZ="Czech Czech Republic"
+_cze="Czech"
+_da="Danish"
+_da_DK="Danish Denmark"
+_dan="Danish"
+_dan_DK="Danish Denmark"
+_danish="Danish"
+_dansk="Danish"
+_de_AT="German Austria"
+_de_BE="German Belgium"
+_de_CH="German Switzerland"
+_de_DE="German Germany"
+_de="German"
+_de_LI="German Liechtenstein"
+_de_LU="German Luxembourg"
+_deutsch="German"
+_div="Divehi"
+_div_MV="Divehi Maldives"
+_dut_BE="Dutch Belgium"
+_dutch="Dutch"
+_dut="Dutch"
+_dut_NL="Dutch Netherlands"
+_dv="Divehi"
+_dv_MV="Divehi Maldives"
+_dz_BT="Dzongkha Bhutan"
+_dz="Dzongkha"
+_dzo_BT="Dzongkha Bhutan"
+_dzo="Dzongkha"
+_ee="Ewe"
+_ee_GH="Ewe Ghana"
+_eesti="Estonian"
+_ee_TG="Ewe Togo"
+_el_CY="Greek Cyprus"
+_el="Greek"
+_el_GR="Greek Greece"
+_el_POLYTON="Greek"
+_en_AS="English American Samoa"
+_en_AU="English Australia"
+_en_BE="English Belgium"
+_en_BW="English Botswana"
+_en_BZ="English Belize"
+_en_CA="English Canada"
+_en_Dsrt="English (Deseret)"
+_en_Dsrt_US="English United States (Deseret)"
+_en="English"
+_eng_AS="English American Samoa"
+_eng_AU="English Australia"
+_eng_BE="English Belgium"
+_en_GB="English United Kingdom"
+_eng_BW="English Botswana"
+_eng_BZ="English Belize"
+_eng_CA="English Canada"
+_eng_Dsrt="English (Deseret)"
+_eng="English"
+_eng_GB="English United Kingdom"
+_eng_GU="English Guam"
+_eng_HK="English Hong Kong SAR China"
+_eng_IE="English Ireland"
+_eng_IN="English India"
+_eng_JM="English Jamaica"
+_eng_MH="English Marshall Islands"
+_eng_MP="English Northern Mariana Islands"
+_eng_MT="English Malta"
+_eng_NA="English Namibia"
+_eng_NZ="English New Zealand"
+_eng_PH="English Philippines"
+_eng_PK="English Pakistan"
+_eng_SG="English Singapore"
+_eng_Shaw="English (Shavian)"
+_eng_TT="English Trinidad and Tobago"
+_en_GU="English Guam"
+_eng_UM="English United States Minor Outlying Islands"
+_eng_US_Dsrt="English United States (Deseret)"
+_eng_US="English United States"
+_eng_US_POSIX="English United States Computer"
+_eng_VI="English U.S. Virgin Islands"
+_eng_ZA="English South Africa"
+_eng_ZW="English Zimbabwe"
+_en_HK="English Hong Kong SAR China"
+_en_IE="English Ireland"
+_en_IN="English India"
+_en_JM="English Jamaica"
+_en_MH="English Marshall Islands"
+_en_MP="English Northern Mariana Islands"
+_en_MT="English Malta"
+_en_NA="English Namibia"
+_en_NZ="English New Zealand"
+_en_PH="English Philippines"
+_en_PK="English Pakistan"
+_en_SG="English Singapore"
+_en_Shaw="English (Shavian)"
+_en_TT="English Trinidad and Tobago"
+_en_UM="English United States Minor Outlying Islands"
+_en_US="English United States"
+_en_US_POSIX="English United States Computer"
+_en_VI="English U.S. Virgin Islands"
+_en_ZA="English South Africa"
+_en_ZW="English Zimbabwe"
+_eo="Esperanto"
+_epo="Esperanto"
+_es_AR="Spanish Argentina"
+_es_BO="Spanish Bolivia"
+_es_CL="Spanish Chile"
+_es_CO="Spanish Colombia"
+_es_CR="Spanish Costa Rica"
+_es_DO="Spanish Dominican Republic"
+_es_EC="Spanish Ecuador"
+_es_ES="Spanish Spain"
+_es_GT="Spanish Guatemala"
+_es_HN="Spanish Honduras"
+_es_MX="Spanish Mexico"
+_es_NI="Spanish Nicaragua"
+_es_PA="Spanish Panama"
+_es_PE="Spanish Peru"
+_es_PR="Spanish Puerto Rico"
+_es_PY="Spanish Paraguay"
+_es="Spanish"
+_es_SV="Spanish El Salvador"
+_est_EE="Estonian Estonia"
+_est="Estonian"
+_estonian="Estonian"
+_es_US="Spanish United States"
+_es_UY="Spanish Uruguay"
+_es_VE="Spanish Venezuela"
+_et_EE="Estonian Estonia"
+_et="Estonian"
+_eu="Basque"
+_eu_ES="Basque Spain"
+_ewe="Ewe"
+_ewe_GH="Ewe Ghana"
+_ewe_TG="Ewe Togo"
+_fa_AF="Persian Afghanistan"
+_fa_IR="Persian Iran"
+_fao="Faroese"
+_fao_FO="Faroese Faroe Islands"
+_fa="Persian"
+_fi_FI="Finnish Finland"
+_fi="Finnish"
+_fil="Filipino"
+_fil_PH="Filipino Philippines"
+_fin_FI="Finnish Finland"
+_fin="Finnish"
+_finnish="finnish"
+_fo="Faroese"
+_fo_FO="Faroese Faroe Islands"
+_français="French"
+_fr_BE="French Belgium"
+_fr_CA="French Canada"
+_fr_CH="French Switzerland"
+_fre_BE="French Belgium"
+_fre_CA="French Canada"
+_fre_CH="French Switzerland"
+_fre="French"
+_fre_FR="French France"
+_fre_LU="French Luxembourg"
+_fre_MC="French Monaco"
+_french="French"
+_fre_SN="French Senegal"
+_fr="French"
+_fr_FR="French France"
+_fr_LU="French Luxembourg"
+_fr_MC="French Monaco"
+_fr_SN="French Senegal"
+_fur="Friulian"
+_fur_IT="Friulian Italy"
+_gaa="Ga"
+_gaa_GH="Ga Ghana"
+_ga_IE="Irish Ireland"
+_ga="Irish"
+_galego="Galician"
+_galician="Galician"
+_geo_GE="Georgian Georgia"
+_geo="Georgian"
+_ger_AT="German Austria"
+_ger_BE="German Belgium"
+_ger_CH="German Switzerland"
+_ger_DE="German Germany"
+_ger="German"
+_ger_LI="German Liechtenstein"
+_ger_LU="German Luxembourg"
+_german="German"
+_gez_ER="Geez Eritrea"
+_gez_ET="Geez Ethiopia"
+_gez="Geez"
+_gle_IE="Irish Ireland"
+_gle="Irish"
+_gl_ES="Galician Spain"
+_gl="Galician"
+_glg_ES="Galician Spain"
+_glg="Galician"
+_glv_GB="Manx United Kingdom"
+_glv="Manx"
+_gre_CY="Greek Cyprus"
+_greek="Greek"
+_gre="Greek"
+_gre_GR="Greek Greece"
+_gre_POLYTON="Greek"
+_gu="Gujarati"
+_gu_IN="Gujarati India"
+_guj="Gujarati"
+_guj_IN="Gujarati India"
+_gv_GB="Manx United Kingdom"
+_gv="Manx"
+_ha_Arab="Hausa (Arabic)"
+_ha_Arab_NG="Hausa Nigeria (Arabic)"
+_ha_Arab_SD="Hausa Sudan (Arabic)"
+_ha_GH="Hausa Ghana"
+_ha="Hausa"
+_ha_Latn_GH="Hausa Ghana (Latin)"
+_ha_Latn="Hausa (Latin)"
+_ha_Latn_NE="Hausa Niger (Latin)"
+_ha_Latn_NG="Hausa Nigeria (Latin)"
+_ha_NE="Hausa Niger"
+_ha_NG="Hausa Nigeria"
+_ha_SD="Hausa Sudan"
+_hau_Arab="Hausa (Arabic)"
+_hau_GH="Hausa Ghana"
+_hau_GH_Latn="Hausa Ghana (Latin)"
+_hau="Hausa"
+_hau_Latn="Hausa (Latin)"
+_hau_NE="Hausa Niger"
+_hau_NE_Latn="Hausa Niger (Latin)"
+_hau_NG_Arab="Hausa Nigeria (Arabic)"
+_hau_NG="Hausa Nigeria"
+_hau_NG_Latn="Hausa Nigeria (Latin)"
+_hau_SD_Arab="Hausa Sudan (Arabic)"
+_hau_SD="Hausa Sudan"
+_haw="Hawaiian"
+_haw_US="Hawaiian United States"
+_heb="Hebrew"
+_heb_IL="Hebrew Israel"
+_hebrew="Hebrew"
+_he="Hebrew"
+_he_IL="Hebrew Israel"
+_hi="Hindi"
+_hi_IN="Hindi India"
+_hin="Hindi"
+_hin_IN="Hindi India"
+_hr="Croatian"
+_hr_HR="Croatian Croatia"
+_hrvatski="Croatian"
+_hrv="Croatian"
+_hrv_HR="Croatian Croatia"
+_hu_HU="Hungarian Hungary"
+_hu="Hungarian"
+_hungarian="Hungarian"
+_hun_HU="Hungarian Hungary"
+_hun="Hungarian"
+_hy_AM="Armenian Armenia"
+_hy_AM_REVISED="Armenian Armenia Revised Orthography"
+_hy="Armenian"
+_ia="Interlingua"
+_ibo="Igbo"
+_ibo_NG="Igbo Nigeria"
+_ice="Icelandic"
+_ice_IS="Icelandic Iceland"
+_icelandic="Icelandic"
+_id_ID="Indonesian Indonesia"
+_id="Indonesian"
+_ig="Igbo"
+_ig_NG="Igbo Nigeria"
+_ii_CN="Sichuan Yi China"
+_iii_CN="Sichuan Yi China"
+_iii="Sichuan Yi"
+_ii="Sichuan Yi"
+_iku="Inuktitut"
+_ina="Interlingua"
+_ind_ID="Indonesian Indonesia"
+_ind="Indonesian"
+_is="Icelandic"
+_is_IS="Icelandic Iceland"
+_ita_CH="Italian Switzerland"
+_ita="Italian"
+_ita_IT="Italian Italy"
+_italian="Italian"
+_it_CH="Italian Switzerland"
+_it="Italian"
+_it_IT="Italian Italy"
+_iu="Inuktitut"
+_iw="Hebrew"
+_iw_IL="Hebrew Israel"
+_ja="Japanese"
+_ja_JP="Japanese Japan"
+_japanese="Japanese"
+_jpn="Japanese"
+_jpn_JP="Japanese Japan"
+_ka_GE="Georgian Georgia"
+_ka="Georgian"
+_kaj="Jju"
+_kaj_NG="Jju Nigeria"
+_kal_GL="Kalaallisut Greenland"
+_kal="Kalaallisut"
+_kam="Kamba"
+_kam_KE="Kamba Kenya"
+_kan_IN="Kannada India"
+_kan="Kannada"
+_kaz_Cyrl="Kazakh (Cyrillic)"
+_kaz="Kazakh"
+_kaz_KZ_Cyrl="Kazakh Kazakhstan (Cyrillic)"
+_kaz_KZ="Kazakh Kazakhstan"
+_kcg_NG="Tyap Nigeria"
+_kcg="Tyap"
+_kfo_CI="Koro Ivory Coast"
+_kfo="Koro"
+_khm_KH="Khmer Cambodia"
+_khm="Khmer"
+_kin="Kinyarwanda"
+_kin_RW="Kinyarwanda Rwanda"
+_kir_KG="Kirghiz Kyrgyzstan"
+_kir="Kirghiz"
+_kk_Cyrl="Kazakh (Cyrillic)"
+_kk_Cyrl_KZ="Kazakh Kazakhstan (Cyrillic)"
+_kk="Kazakh"
+_kk_KZ="Kazakh Kazakhstan"
+_kl_GL="Kalaallisut Greenland"
+_kl="Kalaallisut"
+_km_KH="Khmer Cambodia"
+_km="Khmer"
+_kn_IN="Kannada India"
+_kn="Kannada"
+_kok_IN="Konkani India"
+_kok="Konkani"
+_ko="Korean"
+_ko_KR="Korean South Korea"
+_korean="Korean"
+_kor="Korean"
+_kor_KR="Korean South Korea"
+_kpe_GN="Kpelle Guinea"
+_kpe="Kpelle"
+_kpe_LR="Kpelle Liberia"
+_ku_Arab="Kurdish (Arabic)"
+_ku="Kurdish"
+_ku_Latn="Kurdish (Latin)"
+_ku_Latn_TR="Kurdish Turkey (Latin)"
+_kur_Arab="Kurdish (Arabic)"
+_kur="Kurdish"
+_kur_Latn="Kurdish (Latin)"
+_kur_TR="Kurdish Turkey"
+_kur_TR_Latn="Kurdish Turkey (Latin)"
+_ku_TR="Kurdish Turkey"
+_kw="Cornish"
+_kw_GB="Cornish United Kingdom"
+_ky_KG="Kirghiz Kyrgyzstan"
+_ky="Kirghiz"
+_lao_LA="Lao Laos"
+_lao="Lao"
+_lav="Latvian"
+_lav_LV="Latvian Latvia"
+_lin_CD="Lingala Congo - Kinshasa"
+_lin_CG="Lingala Congo - Brazzaville"
+_lin="Lingala"
+_lithuanian="Lithuanian"
+_lit="Lithuanian"
+_lit_LT="Lithuanian Lithuania"
+_ln_CD="Lingala Congo - Kinshasa"
+_ln_CG="Lingala Congo - Brazzaville"
+_ln="Lingala"
+_lo_LA="Lao Laos"
+_lo="Lao"
+_lt="Lithuanian"
+_lt_LT="Lithuanian Lithuania"
+_lv="Latvian"
+_lv_LV="Latvian Latvia"
+_mac="Macedonian"
+_mac_MK="Macedonian Macedonia"
+_mal_IN="Malayalam India"
+_mal="Malayalam"
+_mar_IN="Marathi India"
+_mar="Marathi"
+_may_BN="Malay Brunei"
+_may="Malay"
+_may_MY="Malay Malaysia"
+_mk="Macedonian"
+_mk_MK="Macedonian Macedonia"
+_ml_IN="Malayalam India"
+_ml="Malayalam"
+_mlt="Maltese"
+_mlt_MT="Maltese Malta"
+_mn_CN="Mongolian China"
+_mn_Cyrl_MN="Mongolian Mongolia (Cyrillic)"
+_mn_Cyrl="Mongolian (Cyrillic)"
+_mn_MN="Mongolian Mongolia"
+_mn_Mong_CN="Mongolian China (Mongolian)"
+_mn_Mong="Mongolian (Mongolian)"
+_mn="Mongolian"
+_mol="Moldavian"
+_mo="Moldavian"
+_mon_CN_Mong="Mongolian China (Mongolian)"
+_mon_CN="Mongolian China"
+_mon_Cyrl="Mongolian (Cyrillic)"
+_mon_MN_Cyrl="Mongolian Mongolia (Cyrillic)"
+_mon_MN="Mongolian Mongolia"
+_mon_Mong="Mongolian (Mongolian)"
+_mon="Mongolian"
+_mr_IN="Marathi India"
+_mr="Marathi"
+_ms_BN="Malay Brunei"
+_ms="Malay"
+_ms_MY="Malay Malaysia"
+_mt="Maltese"
+_mt_MT="Maltese Malta"
+_my="Burmese"
+_my_MM="Burmese Myanmar"
+_nbl="South Ndebele"
+_nbl_ZA="South Ndebele South Africa"
+_nb_NO="Norwegian Bokmål Norway"
+_nb="Norwegian Bokmål"
+_ne_IN="Nepali India"
+_ne="Nepali"
+_ne_NP="Nepali Nepal"
+_nep_IN="Nepali India"
+_nep="Nepali"
+_nep_NP="Nepali Nepal"
+_nl_BE="Dutch Belgium"
+_nl="Dutch"
+_nl_NL="Dutch Netherlands"
+_nn_NO="Norwegian Nynorsk Norway"
+_nn="Norwegian Nynorsk"
+_nno_NO="Norwegian Nynorsk Norway"
+_nno="Norwegian Nynorsk"
+_nob_NO="Norwegian Bokmål Norway"
+_nob="Norwegian Bokmål"
+_no_NO="Norwegian Nynorsk Norway"
+_no_NO_NY="Norwegian Nynorsk Norway"
+_no="Norwegian"
+_no="Norwegian Nynorsk"
+_nor="Norwegian"
+_norwegian="Norwegian"
+_nr="South Ndebele"
+_nr_ZA="South Ndebele South Africa"
+_nso="Northern Sotho"
+_nso_ZA="Northern Sotho South Africa"
+_nya_MW="Nyanja Malawi"
+_nya="Nyanja"
+_ny_MW="Nyanja Malawi"
+_nynorsk="Norwegian Nynorsk"
+_ny="Nyanja"
+_om_ET="Oromo Ethiopia"
+_om_KE="Oromo Kenya"
+_om="Oromo"
+_ori_IN="Oriya India"
+_or_IN="Oriya India"
+_ori="Oriya"
+_orm_ET="Oromo Ethiopia"
+_orm_KE="Oromo Kenya"
+_orm="Oromo"
+_or="Oriya"
+_pa_Arab_PK="Punjabi Pakistan (Arabic)"
+_pa_Arab="Punjabi (Arabic)"
+_pa_Guru_IN="Punjabi India (Gurmukhi)"
+_pa_Guru="Punjabi (Gurmukhi)"
+_pa_IN="Punjabi India"
+_pan_Arab="Punjabi (Arabic)"
+_pan_Guru="Punjabi (Gurmukhi)"
+_pan_IN_Guru="Punjabi India (Gurmukhi)"
+_pan_IN="Punjabi India"
+_pan_PK_Arab="Punjabi Pakistan (Arabic)"
+_pan_PK="Punjabi Pakistan"
+_pan="Punjabi"
+_pa_PK="Punjabi Pakistan"
+_pa="Punjabi"
+_per_AF="Persian Afghanistan"
+_per_IR="Persian Iran"
+_per="Persian"
+_pl_PL="Polish Poland"
+_pl="Polish"
+_polish="Polish"
+_pol_PL="Polish Poland"
+_pol="Polish"
+_por_BR="Portuguese Brazil"
+_por="Portuguese"
+_por_PT="Portuguese Portugal"
+_portuguese="Portuguese"
+_POSIX="English United States Computer"
+_ps_AF="Pashto Afghanistan"
+_ps="Pashto"
+_pt_BR="Portuguese Brazil"
+_pt="Portuguese"
+_pt_PT="Portuguese Portugal"
+_pus_AF="Pashto Afghanistan"
+_pus="Pashto"
+_romanian="Romanian"
+_ro_MD="Romanian Moldova"
+_root="Root"
+_ro="Romanian"
+_ro_RO="Romanian Romania"
+_rum_MD="Romanian Moldova"
+_rum="Romanian"
+_rum_RO="Romanian Romania"
+_ru_RU="Russian Russia"
+_ru="Russian"
+_rus_RU="Russian Russia"
+_rus="Russian"
+_russian="Russian"
+_rus_UA="Russian Ukraine"
+_ru_UA="Russian Ukraine"
+_rw="Kinyarwanda"
+_rw_RW="Kinyarwanda Rwanda"
+_sa_IN="Sanskrit India"
+_san_IN="Sanskrit India"
+_san="Sanskrit"
+_sa="Sanskrit"
+_se_FI="Northern Sami Finland"
+_se_NO="Northern Sami Norway"
+_se="Northern Sami"
+_sh_BA="Serbo-Croatian Bosnia and Herzegovina"
+_sh_CS="Serbo-Croatian Serbia and Montenegro"
+_sh="Serbo-Croatian"
+_sh_YU="Serbo-Croatian"
+_sid_ET="Sidamo Ethiopia"
+_sid="Sidamo"
+_si_LK="Sinhala Sri Lanka"
+_sin_LK="Sinhala Sri Lanka"
+_sin="Sinhala"
+_si="Sinhala"
+_sk_SK="Slovak Slovakia"
+_sk="Slovak"
+_slo_SK="Slovak Slovakia"
+_slo="Slovak"
+_slovak="Slovak"
+_slovene="Slovenian"
+_slovenian="Slovenian"
+_sl_SI="Slovenian Slovenia"
+_sl="Slovenian"
+_slv_SI="Slovenian Slovenia"
+_slv="Slovenian"
+_sme_FI="Northern Sami Finland"
+_sme_NO="Northern Sami Norway"
+_sme="Northern Sami"
+_so_DJ="Somali Djibouti"
+_so_ET="Somali Ethiopia"
+_so_KE="Somali Kenya"
+_som_DJ="Somali Djibouti"
+_som_ET="Somali Ethiopia"
+_som_KE="Somali Kenya"
+_som="Somali"
+_som_SO="Somali Somalia"
+_so="Somali"
+_so_SO="Somali Somalia"
+_sot_LS="Southern Sotho Lesotho"
+_sot="Southern Sotho"
+_sot_ZA="Southern Sotho South Africa"
+_spa_AR="Spanish Argentina"
+_spa_BO="Spanish Bolivia"
+_spa_CL="Spanish Chile"
+_spa_CO="Spanish Colombia"
+_spa_CR="Spanish Costa Rica"
+_spa_DO="Spanish Dominican Republic"
+_spa_EC="Spanish Ecuador"
+_spa_ES="Spanish Spain"
+_spa_GT="Spanish Guatemala"
+_spa_HN="Spanish Honduras"
+_spa_MX="Spanish Mexico"
+_spanish="Spanish"
+_spa_NI="Spanish Nicaragua"
+_spa_PA="Spanish Panama"
+_spa_PE="Spanish Peru"
+_spa_PR="Spanish Puerto Rico"
+_spa_PY="Spanish Paraguay"
+_spa="Spanish"
+_spa_SV="Spanish El Salvador"
+_spa_US="Spanish United States"
+_spa_UY="Spanish Uruguay"
+_spa_VE="Spanish Venezuela"
+_sq_AL="Albanian Albania"
+_sq="Albanian"
+_sr_BA="Serbian Bosnia and Herzegovina"
+_sr_CS="Serbian Serbia and Montenegro"
+_sr_Cyrl_BA="Serbian Bosnia and Herzegovina (Cyrillic)"
+_sr_Cyrl_CS="Serbian Serbia and Montenegro (Cyrillic)"
+_sr_Cyrl_ME="Serbian Montenegro (Cyrillic)"
+_sr_Cyrl_RS="Serbian Serbia (Cyrillic)"
+_sr_Cyrl="Serbian (Cyrillic)"
+_sr_Cyrl_YU="Serbian (Cyrillic)"
+_sr_Latn_BA="Serbian Bosnia and Herzegovina (Latin)"
+_sr_Latn_CS="Serbian Serbia and Montenegro (Latin)"
+_sr_Latn_ME="Serbian Montenegro (Latin)"
+_sr_Latn_RS="Serbian Serbia (Latin)"
+_sr_Latn="Serbian (Latin)"
+_sr_Latn_YU="Serbian (Latin)"
+_sr_ME="Serbian Montenegro"
+_srp_BA_Cyrl="Serbian Bosnia and Herzegovina (Cyrillic)"
+_srp_BA_Latn="Serbian Bosnia and Herzegovina (Latin)"
+_srp_BA="Serbian Bosnia and Herzegovina"
+_srp_CS_Cyrl="Serbian Serbia and Montenegro (Cyrillic)"
+_srp_CS_Latn="Serbian Serbia and Montenegro (Latin)"
+_srp_CS="Serbian Serbia and Montenegro"
+_srp_Cyrl="Serbian (Cyrillic)"
+_srp_Latn="Serbian (Latin)"
+_srp_ME_Cyrl="Serbian Montenegro (Cyrillic)"
+_srp_ME_Latn="Serbian Montenegro (Latin)"
+_srp_ME="Serbian Montenegro"
+_srp_RS_Cyrl="Serbian Serbia (Cyrillic)"
+_srp_RS_Latn="Serbian Serbia (Latin)"
+_srp_RS="Serbian Serbia"
+_srp="Serbian"
+_srp_YU_Cyrl="Serbian (Cyrillic)"
+_srp_YU_Latn="Serbian (Latin)"
+_srp_YU="Serbian"
+_sr_RS="Serbian Serbia"
+_sr="Serbian"
+_sr_YU="Serbian"
+_ss="Swati"
+_ss_SZ="Swati Swaziland"
+_ssw="Swati"
+_ssw_SZ="Swati Swaziland"
+_ssw_ZA="Swati South Africa"
+_ss_ZA="Swati South Africa"
+_st_LS="Southern Sotho Lesotho"
+_st="Southern Sotho"
+_st_ZA="Southern Sotho South Africa"
+_sv_FI="Swedish Finland"
+_sv_SE="Swedish Sweden"
+_sv="Swedish"
+_swa_KE="Swahili Kenya"
+_swa="Swahili"
+_swa_TZ="Swahili Tanzania"
+_swedish="Swedish"
+_swe_FI="Swedish Finland"
+_swe_SE="Swedish Sweden"
+_swe="Swedish"
+_sw_KE="Swahili Kenya"
+_sw="Swahili"
+_sw_TZ="Swahili Tanzania"
+_syr="Syriac"
+_syr_SY="Syriac Syria"
+_ta_IN="Tamil India"
+_tam_IN="Tamil India"
+_tam="Tamil"
+_ta="Tamil"
+_tat_RU="Tatar Russia"
+_tat="Tatar"
+_te_IN="Telugu India"
+_tel_IN="Telugu India"
+_tel="Telugu"
+_te="Telugu"
+_tg_Cyrl="Tajik (Cyrillic)"
+_tg_Cyrl_TJ="Tajik Tajikistan (Cyrillic)"
+_tgk_Cyrl="Tajik (Cyrillic)"
+_tgk="Tajik"
+_tgk_TJ_Cyrl="Tajik Tajikistan (Cyrillic)"
+_tgk_TJ="Tajik Tajikistan"
+_tgl="Tagalog"
+_tg="Tajik"
+_tg_TJ="Tajik Tajikistan"
+_thai="Thai"
+_tha="Thai"
+_tha_TH="Thai Thailand"
+_th="Thai"
+_th_TH="Thai Thailand"
+_ti_ER="Tigrinya Eritrea"
+_ti_ET="Tigrinya Ethiopia"
+_tig_ER="Tigre Eritrea"
+_tig="Tigre"
+_tir_ER="Tigrinya Eritrea"
+_tir_ET="Tigrinya Ethiopia"
+_tir="Tigrinya"
+_ti="Tigrinya"
+_tl="Tagalog"
+_tn="Tswana"
+_tn_ZA="Tswana South Africa"
+_ton="Tonga"
+_ton_TO="Tonga Tonga"
+_to="Tonga"
+_to_TO="Tonga Tonga"
+_tr_TR="Turkish Turkey"
+_tr="Turkish"
+_tsn="Tswana"
+_tsn_ZA="Tswana South Africa"
+_tso="Tsonga"
+_tso_ZA="Tsonga South Africa"
+_ts="Tsonga"
+_ts_ZA="Tsonga South Africa"
+_tt_RU="Tatar Russia"
+_tt="Tatar"
+_turkish="Turkish"
+_tur_TR="Turkish Turkey"
+_tur="Turkish"
+_ug_Arab_CN="Uighur China (Arabic)"
+_ug_Arab="Uighur (Arabic)"
+_ug_CN="Uighur China"
+_ug="Uighur"
+_uig_Arab="Uighur (Arabic)"
+_uig_CN_Arab="Uighur China (Arabic)"
+_uig_CN="Uighur China"
+_uig="Uighur"
+_ukr_UA="Ukrainian Ukraine"
+_ukr="Ukrainian"
+_uk_UA="Ukrainian Ukraine"
+_uk="Ukrainian"
+_urd_IN="Urdu India"
+_urd_PK="Urdu Pakistan"
+_urd="Urdu"
+_ur_IN="Urdu India"
+_ur_PK="Urdu Pakistan"
+_ur="Urdu"
+_uz_AF="Uzbek Afghanistan"
+_uz_Arab_AF="Uzbek Afghanistan (Arabic)"
+_uz_Arab="Uzbek (Arabic)"
+_uzb_AF_Arab="Uzbek Afghanistan (Arabic)"
+_uzb_AF="Uzbek Afghanistan"
+_uzb_Arab="Uzbek (Arabic)"
+_uzb_Cyrl="Uzbek (Cyrillic)"
+_uzb_Latn="Uzbek (Latin)"
+_uzb="Uzbek"
+_uzb_UZ_Cyrl="Uzbek Uzbekistan (Cyrillic)"
+_uzb_UZ_Latn="Uzbek Uzbekistan (Latin)"
+_uzb_UZ="Uzbek Uzbekistan"
+_uz_Cyrl="Uzbek (Cyrillic)"
+_uz_Cyrl_UZ="Uzbek Uzbekistan (Cyrillic)"
+_uz_Latn="Uzbek (Latin)"
+_uz_Latn_UZ="Uzbek Uzbekistan (Latin)"
+_uz="Uzbek"
+_uz_UZ="Uzbek Uzbekistan"
+_ven="Venda"
+_ven_ZA="Venda South Africa"
+_ve="Venda"
+_ve_ZA="Venda South Africa"
+_vie="Vietnamese"
+_vie_VN="Vietnamese Vietnam"
+_vi="Vietnamese"
+_vi_VN="Vietnamese Vietnam"
+_wal_ET="Walamo Ethiopia"
+_wal="Walamo"
+_wel_GB="Welsh United Kingdom"
+_wel="Welsh"
+_wo_Latn_SN="Wolof Senegal (Latin)"
+_wo_Latn="Wolof (Latin)"
+_wol_Latn="Wolof (Latin)"
+_wol_SN_Latn="Wolof Senegal (Latin)"
+_wol_SN="Wolof Senegal"
+_wol="Wolof"
+_wo_SN="Wolof Senegal"
+_wo="Wolof"
+_xho="Xhosa"
+_xho_ZA="Xhosa South Africa"
+_xh="Xhosa"
+_xh_ZA="Xhosa South Africa"
+_yo_NG="Yoruba Nigeria"
+_yor_NG="Yoruba Nigeria"
+_yor="Yoruba"
+_yo="Yoruba"
+_zh="Chinese"
+_zh_CN="Chinese China"
+_zh_Hans="Chinese (Simplified Han)"
+_zh_Hans_CN="Chinese China (Simplified Han)"
+_zh_Hans_HK="Chinese Hong Kong SAR China (Simplified Han)"
+_zh_Hans_MO="Chinese Macau SAR China (Simplified Han)"
+_zh_Hans_SG="Chinese Singapore (Simplified Han)"
+_zh_Hant="Chinese (Traditional Han)"
+_zh_Hant_HK="Chinese Hong Kong SAR China (Traditional Han)"
+_zh_Hant_MO="Chinese Macau SAR China (Traditional Han)"
+_zh_Hant_TW="Chinese Taiwan (Traditional Han)"
+_zh_HK="Chinese Hong Kong SAR China"
+_zh_MO="Chinese Macau SAR China"
+_zh_SG="Chinese Singapore"
+_zh_TW="Chinese Taiwan"
+_zul_ZA="Zulu South Africa"
+_zul="Zulu"
+_zu_ZA="Zulu South Africa"
+_zu="Zulu"
Added: branches/stavangerkommune/phpsysinfo/gfx/favicon.png
===================================================================
(Binary files differ)
Property changes on: branches/stavangerkommune/phpsysinfo/gfx/favicon.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: branches/stavangerkommune/phpsysinfo/gfx/htmlwarn.gif
===================================================================
(Binary files differ)
Property changes on: branches/stavangerkommune/phpsysinfo/gfx/htmlwarn.gif
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: branches/stavangerkommune/phpsysinfo/gfx/images/AIX.png
===================================================================
(Binary files differ)
Property changes on: branches/stavangerkommune/phpsysinfo/gfx/images/AIX.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: branches/stavangerkommune/phpsysinfo/gfx/images/ALT.png
===================================================================
(Binary files differ)
Property changes on: branches/stavangerkommune/phpsysinfo/gfx/images/ALT.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: branches/stavangerkommune/phpsysinfo/gfx/images/Alpine.png
===================================================================
(Binary files differ)
Property changes on: branches/stavangerkommune/phpsysinfo/gfx/images/Alpine.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: branches/stavangerkommune/phpsysinfo/gfx/images/Android.png
===================================================================
(Binary files differ)
Property changes on: branches/stavangerkommune/phpsysinfo/gfx/images/Android.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: branches/stavangerkommune/phpsysinfo/gfx/images/Apple.png
===================================================================
(Binary files differ)
Property changes on: branches/stavangerkommune/phpsysinfo/gfx/images/Apple.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: branches/stavangerkommune/phpsysinfo/gfx/images/Chakra.png
===================================================================
(Binary files differ)
Property changes on: branches/stavangerkommune/phpsysinfo/gfx/images/Chakra.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: branches/stavangerkommune/phpsysinfo/gfx/images/ClearOS.png
===================================================================
(Binary files differ)
Property changes on: branches/stavangerkommune/phpsysinfo/gfx/images/ClearOS.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: branches/stavangerkommune/phpsysinfo/gfx/images/CloudLinux.png
===================================================================
(Binary files differ)
Property changes on:
branches/stavangerkommune/phpsysinfo/gfx/images/CloudLinux.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: branches/stavangerkommune/phpsysinfo/gfx/images/Crux.png
===================================================================
(Binary files differ)
Property changes on: branches/stavangerkommune/phpsysinfo/gfx/images/Crux.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: branches/stavangerkommune/phpsysinfo/gfx/images/Deepin.png
===================================================================
(Binary files differ)
Property changes on: branches/stavangerkommune/phpsysinfo/gfx/images/Deepin.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: branches/stavangerkommune/phpsysinfo/gfx/images/Eisfair.png
===================================================================
(Binary files differ)
Property changes on: branches/stavangerkommune/phpsysinfo/gfx/images/Eisfair.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: branches/stavangerkommune/phpsysinfo/gfx/images/Foresight.png
===================================================================
(Binary files differ)
Property changes on:
branches/stavangerkommune/phpsysinfo/gfx/images/Foresight.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: branches/stavangerkommune/phpsysinfo/gfx/images/Frugalware.png
===================================================================
(Binary files differ)
Property changes on:
branches/stavangerkommune/phpsysinfo/gfx/images/Frugalware.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: branches/stavangerkommune/phpsysinfo/gfx/images/Fuduntu.png
===================================================================
(Binary files differ)
Property changes on: branches/stavangerkommune/phpsysinfo/gfx/images/Fuduntu.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: branches/stavangerkommune/phpsysinfo/gfx/images/HPUX.png
===================================================================
(Binary files differ)
Property changes on: branches/stavangerkommune/phpsysinfo/gfx/images/HPUX.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: branches/stavangerkommune/phpsysinfo/gfx/images/Haiku.png
===================================================================
(Binary files differ)
Property changes on: branches/stavangerkommune/phpsysinfo/gfx/images/Haiku.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: branches/stavangerkommune/phpsysinfo/gfx/images/IPFire.png
===================================================================
(Binary files differ)
Property changes on: branches/stavangerkommune/phpsysinfo/gfx/images/IPFire.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: branches/stavangerkommune/phpsysinfo/gfx/images/Linaro.png
===================================================================
(Binary files differ)
Property changes on: branches/stavangerkommune/phpsysinfo/gfx/images/Linaro.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: branches/stavangerkommune/phpsysinfo/gfx/images/Mageia.png
===================================================================
(Binary files differ)
Property changes on: branches/stavangerkommune/phpsysinfo/gfx/images/Mageia.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: branches/stavangerkommune/phpsysinfo/gfx/images/Manjaro.png
===================================================================
(Binary files differ)
Property changes on: branches/stavangerkommune/phpsysinfo/gfx/images/Manjaro.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: branches/stavangerkommune/phpsysinfo/gfx/images/Minix.png
===================================================================
(Binary files differ)
Property changes on: branches/stavangerkommune/phpsysinfo/gfx/images/Minix.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: branches/stavangerkommune/phpsysinfo/gfx/images/Mint.png
===================================================================
(Binary files differ)
Property changes on: branches/stavangerkommune/phpsysinfo/gfx/images/Mint.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: branches/stavangerkommune/phpsysinfo/gfx/images/Netrunner.png
===================================================================
(Binary files differ)
Property changes on:
branches/stavangerkommune/phpsysinfo/gfx/images/Netrunner.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: branches/stavangerkommune/phpsysinfo/gfx/images/Oracle.png
===================================================================
(Binary files differ)
Property changes on: branches/stavangerkommune/phpsysinfo/gfx/images/Oracle.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: branches/stavangerkommune/phpsysinfo/gfx/images/PCLinuxOS.png
===================================================================
(Binary files differ)
Property changes on:
branches/stavangerkommune/phpsysinfo/gfx/images/PCLinuxOS.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: branches/stavangerkommune/phpsysinfo/gfx/images/PLD.png
===================================================================
(Binary files differ)
Property changes on: branches/stavangerkommune/phpsysinfo/gfx/images/PLD.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: branches/stavangerkommune/phpsysinfo/gfx/images/Pear.png
===================================================================
(Binary files differ)
Property changes on: branches/stavangerkommune/phpsysinfo/gfx/images/Pear.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: branches/stavangerkommune/phpsysinfo/gfx/images/Peppermint.png
===================================================================
(Binary files differ)
Property changes on:
branches/stavangerkommune/phpsysinfo/gfx/images/Peppermint.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: branches/stavangerkommune/phpsysinfo/gfx/images/Porteus.png
===================================================================
(Binary files differ)
Property changes on: branches/stavangerkommune/phpsysinfo/gfx/images/Porteus.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: branches/stavangerkommune/phpsysinfo/gfx/images/Puppy.png
===================================================================
(Binary files differ)
Property changes on: branches/stavangerkommune/phpsysinfo/gfx/images/Puppy.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: branches/stavangerkommune/phpsysinfo/gfx/images/ROSA.png
===================================================================
(Binary files differ)
Property changes on: branches/stavangerkommune/phpsysinfo/gfx/images/ROSA.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: branches/stavangerkommune/phpsysinfo/gfx/images/SMS.png
===================================================================
(Binary files differ)
Property changes on: branches/stavangerkommune/phpsysinfo/gfx/images/SMS.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: branches/stavangerkommune/phpsysinfo/gfx/images/Sabayon.png
===================================================================
(Binary files differ)
Property changes on: branches/stavangerkommune/phpsysinfo/gfx/images/Sabayon.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: branches/stavangerkommune/phpsysinfo/gfx/images/Salix.png
===================================================================
(Binary files differ)
Property changes on: branches/stavangerkommune/phpsysinfo/gfx/images/Salix.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: branches/stavangerkommune/phpsysinfo/gfx/images/Scientific.png
===================================================================
(Binary files differ)
Property changes on:
branches/stavangerkommune/phpsysinfo/gfx/images/Scientific.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: branches/stavangerkommune/phpsysinfo/gfx/images/Slax.png
===================================================================
(Binary files differ)
Property changes on: branches/stavangerkommune/phpsysinfo/gfx/images/Slax.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: branches/stavangerkommune/phpsysinfo/gfx/images/SolusOS.png
===================================================================
(Binary files differ)
Property changes on: branches/stavangerkommune/phpsysinfo/gfx/images/SolusOS.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: branches/stavangerkommune/phpsysinfo/gfx/images/StartOS.png
===================================================================
(Binary files differ)
Property changes on: branches/stavangerkommune/phpsysinfo/gfx/images/StartOS.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: branches/stavangerkommune/phpsysinfo/gfx/images/Tinycore.png
===================================================================
(Binary files differ)
Property changes on:
branches/stavangerkommune/phpsysinfo/gfx/images/Tinycore.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: branches/stavangerkommune/phpsysinfo/gfx/images/Trisquel.png
===================================================================
(Binary files differ)
Property changes on:
branches/stavangerkommune/phpsysinfo/gfx/images/Trisquel.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: branches/stavangerkommune/phpsysinfo/gfx/images/Turbo.png
===================================================================
(Binary files differ)
Property changes on: branches/stavangerkommune/phpsysinfo/gfx/images/Turbo.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: branches/stavangerkommune/phpsysinfo/gfx/images/Vector.png
===================================================================
(Binary files differ)
Property changes on: branches/stavangerkommune/phpsysinfo/gfx/images/Vector.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: branches/stavangerkommune/phpsysinfo/gfx/images/Win2000.png
===================================================================
(Binary files differ)
Property changes on: branches/stavangerkommune/phpsysinfo/gfx/images/Win2000.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: branches/stavangerkommune/phpsysinfo/gfx/images/Win8.png
===================================================================
(Binary files differ)
Property changes on: branches/stavangerkommune/phpsysinfo/gfx/images/Win8.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: branches/stavangerkommune/phpsysinfo/gfx/images/WinVista.png
===================================================================
(Binary files differ)
Property changes on:
branches/stavangerkommune/phpsysinfo/gfx/images/WinVista.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: branches/stavangerkommune/phpsysinfo/gfx/images/WinXP.png
===================================================================
(Binary files differ)
Property changes on: branches/stavangerkommune/phpsysinfo/gfx/images/WinXP.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: branches/stavangerkommune/phpsysinfo/gfx/images/Zorin.png
===================================================================
(Binary files differ)
Property changes on: branches/stavangerkommune/phpsysinfo/gfx/images/Zorin.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: branches/stavangerkommune/phpsysinfo/gfx/images/antiX.png
===================================================================
(Binary files differ)
Property changes on: branches/stavangerkommune/phpsysinfo/gfx/images/antiX.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: branches/stavangerkommune/phpsysinfo/gfx/images/elementaryOS.png
===================================================================
(Binary files differ)
Property changes on:
branches/stavangerkommune/phpsysinfo/gfx/images/elementaryOS.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: branches/stavangerkommune/phpsysinfo/gfx/images/gNewSense.png
===================================================================
(Binary files differ)
Property changes on:
branches/stavangerkommune/phpsysinfo/gfx/images/gNewSense.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: branches/stavangerkommune/phpsysinfo/gfx/sort_asc.png
===================================================================
(Binary files differ)
Property changes on: branches/stavangerkommune/phpsysinfo/gfx/sort_asc.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: branches/stavangerkommune/phpsysinfo/gfx/sort_both.png
===================================================================
(Binary files differ)
Property changes on: branches/stavangerkommune/phpsysinfo/gfx/sort_both.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: branches/stavangerkommune/phpsysinfo/gfx/sort_desc.png
===================================================================
(Binary files differ)
Property changes on: branches/stavangerkommune/phpsysinfo/gfx/sort_desc.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: branches/stavangerkommune/phpsysinfo/includes/js/README
===================================================================
--- branches/stavangerkommune/phpsysinfo/includes/js/README
(rev 0)
+++ branches/stavangerkommune/phpsysinfo/includes/js/README 2014-03-13
14:58:22 UTC (rev 11813)
@@ -0,0 +1,10 @@
+versions, links and simple description of used files
+===========================================================
+
+class.JavaScriptPacker.inc.php
+---------
+VERSION : 1.1+FF4
+URL : http://dean.edwards.name
+DESC : Downloaded from http://dean.edwards.name/download/
http://joliclic.free.fr/php/javascript-packer/en/ + Firefox 4 fix
+LICENSE : LGPL 2.1 (http://creativecommons.org/licenses/LGPL/2.1/)
+USED : define('PSI_JS_COMPRESSION', 'None'); or
define('PSI_JS_COMPRESSION', 'Normal');
Added: branches/stavangerkommune/phpsysinfo/includes/mb/class.coretemp.inc.php
===================================================================
--- branches/stavangerkommune/phpsysinfo/includes/mb/class.coretemp.inc.php
(rev 0)
+++ branches/stavangerkommune/phpsysinfo/includes/mb/class.coretemp.inc.php
2014-03-13 14:58:22 UTC (rev 11813)
@@ -0,0 +1,61 @@
+<?php
+/**
+ * coretemp sensor class
+ *
+ * PHP version 5
+ *
+ * @category PHP
+ * @package PSI_Sensor
+ * @author Michael Cramer <address@hidden>
+ * @copyright 2009 phpSysInfo
+ * @license http://opensource.org/licenses/gpl-2.0.php GNU General Public
License
+ * @version SVN: $Id: class.coretemp.inc.php 661 2012-08-27 11:26:39Z
namiltd $
+ * @link http://phpsysinfo.sourceforge.net
+ */
+ /**
+ * getting hardware temperature information through sysctl
+ *
+ * @category PHP
+ * @package PSI_Sensor
+ * @author Michael Cramer <address@hidden>
+ * @author William Johansson <address@hidden>
+ * @copyright 2009 phpSysInfo
+ * @license http://opensource.org/licenses/gpl-2.0.php GNU General Public
License
+ * @version Release: 3.0
+ * @link http://phpsysinfo.sourceforge.net
+ */
+class Coretemp extends Sensors
+{
+ /**
+ * get temperature information
+ *
+ * @return void
+ */
+ private function _temperature()
+ {
+ $smp = 1;
+ CommonFunctions::executeProgram('sysctl', '-n kern.smp.cpus', $smp);
+ for ($i = 0; $i < $smp; $i++) {
+ $temp = 0;
+ if (CommonFunctions::executeProgram('sysctl', '-n
dev.cpu.'.$i.'.temperature', $temp)) {
+ $dev = new SensorDevice();
+ $dev->setName("CPU ".($i + 1));
+ $dev->setValue($temp);
+ $dev->setMax(70);
+ $this->mbinfo->setMbTemp($dev);
+ }
+ }
+ }
+
+ /**
+ * get the information
+ *
+ * @see PSI_Interface_Sensor::build()
+ *
+ * @return Void
+ */
+ public function build()
+ {
+ $this->_temperature();
+ }
+}
Added: branches/stavangerkommune/phpsysinfo/includes/mb/class.hddtemp.inc.php
===================================================================
--- branches/stavangerkommune/phpsysinfo/includes/mb/class.hddtemp.inc.php
(rev 0)
+++ branches/stavangerkommune/phpsysinfo/includes/mb/class.hddtemp.inc.php
2014-03-13 14:58:22 UTC (rev 11813)
@@ -0,0 +1,135 @@
+<?php
+/**
+ * hddtemp sensor class
+ *
+ * PHP version 5
+ *
+ * @category PHP
+ * @package PSI_Sensor
+ * @author Michael Cramer <address@hidden>
+ * @copyright 2009 phpSysInfo
+ * @license http://opensource.org/licenses/gpl-2.0.php GNU General Public
License
+ * @version SVN: $Id: class.hddtemp.inc.php 661 2012-08-27 11:26:39Z namiltd
$
+ * @link http://phpsysinfo.sourceforge.net
+ */
+ /**
+ * getting information from hddtemp
+ *
+ * @category PHP
+ * @package PSI_Sensor
+ * @author Michael Cramer <address@hidden>
+ * @author T.A. van Roermund <address@hidden>
+ * @copyright 2009 phpSysInfo
+ * @license http://opensource.org/licenses/gpl-2.0.php GNU General Public
License
+ * @version Release: 3.0
+ * @link http://phpsysinfo.sourceforge.net
+ */
+class HDDTemp extends Sensors
+{
+ /**
+ * get the temperature information from hddtemp
+ * access is available through tcp or command
+ *
+ * @return array temperatures in array
+ */
+ private function _temperature()
+ {
+ $ar_buf = array();
+ switch (strtolower(PSI_HDD_TEMP)) {
+ case "tcp":
+ $lines = '';
+ // Timo van Roermund: connect to the hddtemp daemon, use a 5
second timeout.
+ $fp = @fsockopen('localhost', 7634, $errno, $errstr, 5);
+ // if connected, read the output of the hddtemp daemon
+ if ($fp) {
+ while (!feof($fp)) {
+ $lines .= fread($fp, 1024);
+ }
+ fclose($fp);
+ } else {
+ $this->error->addError("HDDTemp error", $errno.", ".$errstr);
+ }
+ $lines = str_replace("||", "|\n|", $lines);
+ $ar_buf = preg_split("/\n/", $lines, -1, PREG_SPLIT_NO_EMPTY);
+ break;
+ case "command":
+ $strDrives = "";
+ $strContent = "";
+ $hddtemp_value = "";
+ if (CommonFunctions::rfts("/proc/diskstats", $strContent, 0, 4096,
false)) {
+ $arrContent = preg_split("/\n/", $strContent, -1,
PREG_SPLIT_NO_EMPTY);
+ foreach ($arrContent as $strLine) {
+ preg_match("/^\s(.*)\s([a-z]*)\s(.*)/", $strLine,
$arrSplit);
+ if (! empty($arrSplit[2])) {
+ $strDrive = '/dev/'.$arrSplit[2];
+ if (file_exists($strDrive)) {
+ $strDrives = $strDrives.$strDrive.' ';
+ }
+ }
+ }
+ } else {
+ if (CommonFunctions::rfts("/proc/partitions", $strContent, 0,
4096, false)) {
+ $arrContent = preg_split("/\n/", $strContent, -1,
PREG_SPLIT_NO_EMPTY);
+ foreach ($arrContent as $strLine) {
+ if
(!preg_match("/^\s(.*)\s([\/a-z0-9]*(\/disc))\s(.*)/", $strLine, $arrSplit)) {
+ preg_match("/^\s(.*)\s([a-z]*)\s(.*)/", $strLine,
$arrSplit);
+ }
+ if (! empty($arrSplit[2])) {
+ $strDrive = '/dev/'.$arrSplit[2];
+ if (file_exists($strDrive)) {
+ $strDrives = $strDrives.$strDrive.' ';
+ }
+ }
+ }
+ }
+ }
+ if (trim($strDrives) == "") {
+ break;
+ }
+ if (CommonFunctions::executeProgram("hddtemp", $strDrives,
$hddtemp_value)) {
+ $hddtemp_value = preg_split("/\n/", $hddtemp_value, -1,
PREG_SPLIT_NO_EMPTY);
+ foreach ($hddtemp_value as $line) {
+ $temp = preg_split("/:\s/", $line, 3);
+ if (count($temp) == 3 && preg_match("/^[0-9]/", $temp[2]))
{
+ preg_match("/^([0-9]*)(.*)/", $temp[2], $ar_temp);
+ $temp[2] = trim($ar_temp[1]);
+ $temp[3] = trim($ar_temp[2]);
+ array_push($ar_buf, "|".implode("|", $temp)."|");
+ }
+ }
+ }
+ break;
+ default:
+ $this->error->addConfigError("temperature()", "PSI_HDD_TEMP");
+ break;
+ }
+ // Timo van Roermund: parse the info from the hddtemp daemon.
+ foreach ($ar_buf as $line) {
+ $data = array();
+ if (preg_match("/\|(.*)\|(.*)\|(.*)\|(.*)\|/", $line, $data)) {
+ if (trim($data[3]) != "ERR") {
+ // get the info we need
+ $dev = new SensorDevice();
+ $dev->setName($data[1] . ' (' . (strpos($data[2],"
")?substr($data[2],0,strpos($data[2]," ")):$data[2]) . ')');
+ if (is_numeric($data[3])) {
+ $dev->setValue($data[3]);
+ }
+ $dev->setMax(60);
+ $this->mbinfo->setMbTemp($dev);
+ }
+ }
+ }
+ }
+
+ /**
+ * get the information
+ *
+ * @see PSI_Interface_Sensor::build()
+ *
+ * @return Void
+ */
+ public function build()
+ {
+ $this->_temperature();
+ }
+}
Added: branches/stavangerkommune/phpsysinfo/includes/mb/class.healthd.inc.php
===================================================================
--- branches/stavangerkommune/phpsysinfo/includes/mb/class.healthd.inc.php
(rev 0)
+++ branches/stavangerkommune/phpsysinfo/includes/mb/class.healthd.inc.php
2014-03-13 14:58:22 UTC (rev 11813)
@@ -0,0 +1,154 @@
+<?php
+/**
+ * healthd sensor class
+ *
+ * PHP version 5
+ *
+ * @category PHP
+ * @package PSI_Sensor
+ * @author Michael Cramer <address@hidden>
+ * @copyright 2009 phpSysInfo
+ * @license http://opensource.org/licenses/gpl-2.0.php GNU General Public
License
+ * @version SVN: $Id: class.healthd.inc.php 661 2012-08-27 11:26:39Z namiltd
$
+ * @link http://phpsysinfo.sourceforge.net
+ */
+ /**
+ * getting information from healthd
+ *
+ * @category PHP
+ * @package PSI_Sensor
+ * @author Michael Cramer <address@hidden>
+ * @copyright 2009 phpSysInfo
+ * @license http://opensource.org/licenses/gpl-2.0.php GNU General Public
License
+ * @version Release: 3.0
+ * @link http://phpsysinfo.sourceforge.net
+ */
+class Healthd extends Sensors
+{
+ /**
+ * content to parse
+ *
+ * @var array
+ */
+ private $_lines = array();
+
+ /**
+ * fill the private content var through tcp or file access
+ */
+ public function __construct()
+ {
+ parent::__construct();
+ switch (strtolower(PSI_SENSOR_ACCESS)) {
+ case 'command':
+ $lines = "";
+ CommonFunctions::executeProgram('healthdc', '-t', $lines);
+ $this->_lines = preg_split("/\n/", $lines, -1,
PREG_SPLIT_NO_EMPTY);
+ break;
+ default:
+ $this->error->addConfigError('__construct()', 'PSI_SENSOR_ACCESS');
+ break;
+ }
+ }
+
+ /**
+ * get temperature information
+ *
+ * @return void
+ */
+ private function _temperature()
+ {
+ $ar_buf = preg_split("/\t+/", $this->_lines);
+ $dev1 = new SensorDevice();
+ $dev1->setName('temp1');
+ $dev1->setValue($ar_buf[1]);
+ $dev1->setMax(70);
+ $this->mbinfo->setMbTemp($dev1);
+ $dev2 = new SensorDevice();
+ $dev2->setName('temp1');
+ $dev2->setValue($ar_buf[2]);
+ $dev2->setMax(70);
+ $this->mbinfo->setMbTemp($dev2);
+ $dev3 = new SensorDevice();
+ $dev3->setName('temp1');
+ $dev3->setValue($ar_buf[3]);
+ $dev3->setMax(70);
+ $this->mbinfo->setMbTemp($dev3);
+ }
+
+ /**
+ * get fan information
+ *
+ * @return void
+ */
+ private function _fans()
+ {
+ $ar_buf = preg_split("/\t+/", $this->_lines);
+ $dev1 = new SensorDevice();
+ $dev1->setName('fan1');
+ $dev1->setValue($ar_buf[4]);
+ $dev1->setMin(3000);
+ $this->mbinfo->setMbFan($dev1);
+ $dev2 = new SensorDevice();
+ $dev2->setName('fan2');
+ $dev2->setValue($ar_buf[5]);
+ $dev2->setMin(3000);
+ $this->mbinfo->setMbFan($dev2);
+ $dev3 = new SensorDevice();
+ $dev3->setName('fan3');
+ $dev3->setValue($ar_buf[6]);
+ $dev3->setMin(3000);
+ $this->mbinfo->setMbFan($dev3);
+ }
+
+ /**
+ * get voltage information
+ *
+ * @return array voltage in array with lable
+ */
+ private function _voltage()
+ {
+ $ar_buf = preg_split("/\t+/", $this->_lines);
+ $dev1 = new SensorDevice();
+ $dev1->setName('Vcore1');
+ $dev1->setValue($ar_buf[7]);
+ $this->mbinfo->setMbVolt($dev1);
+ $dev2 = new SensorDevice();
+ $dev2->setName('Vcore2');
+ $dev2->setValue($ar_buf[8]);
+ $this->mbinfo->setMbVolt($dev2);
+ $dev3 = new SensorDevice();
+ $dev3->setName('3volt');
+ $dev3->setValue($ar_buf[9]);
+ $this->mbinfo->setMbVolt($dev3);
+ $dev4 = new SensorDevice();
+ $dev4->setName('+5Volt');
+ $dev4->setValue($ar_buf[10]);
+ $this->mbinfo->setMbVolt($dev4);
+ $dev5 = new SensorDevice();
+ $dev5->setName('+12Volt');
+ $dev5->setValue($ar_buf[11]);
+ $this->mbinfo->setMbVolt($dev5);
+ $dev6 = new SensorDevice();
+ $dev6->setName('-12Volt');
+ $dev6->setValue($ar_buf[12]);
+ $this->mbinfo->setMbVolt($dev6);
+ $dev7 = new SensorDevice();
+ $dev7->setName('-5Volt');
+ $dev7->setValue($ar_buf[13]);
+ $this->mbinfo->setMbVolt($dev7);
+ }
+
+ /**
+ * get the information
+ *
+ * @see PSI_Interface_Sensor::build()
+ *
+ * @return Void
+ */
+ public function build()
+ {
+ $this->_temperature();
+ $this->_fans();
+ $this->_voltage();
+ }
+}
Added: branches/stavangerkommune/phpsysinfo/includes/mb/class.hwsensors.inc.php
===================================================================
--- branches/stavangerkommune/phpsysinfo/includes/mb/class.hwsensors.inc.php
(rev 0)
+++ branches/stavangerkommune/phpsysinfo/includes/mb/class.hwsensors.inc.php
2014-03-13 14:58:22 UTC (rev 11813)
@@ -0,0 +1,163 @@
+<?php
+/**
+ * hwsensors sensor class
+ *
+ * PHP version 5
+ *
+ * @category PHP
+ * @package PSI_Sensor
+ * @author Michael Cramer <address@hidden>
+ * @copyright 2009 phpSysInfo
+ * @license http://opensource.org/licenses/gpl-2.0.php GNU General Public
License
+ * @version SVN: $Id: class.hwsensors.inc.php 661 2012-08-27 11:26:39Z
namiltd $
+ * @link http://phpsysinfo.sourceforge.net
+ */
+ /**
+ * getting information from hwsensors
+ *
+ * @category PHP
+ * @package PSI_Sensor
+ * @author Michael Cramer <address@hidden>
+ * @copyright 2009 phpSysInfo
+ * @license http://opensource.org/licenses/gpl-2.0.php GNU General Public
License
+ * @version Release: 3.0
+ * @link http://phpsysinfo.sourceforge.net
+ */
+class HWSensors extends Sensors
+{
+ /**
+ * content to parse
+ *
+ * @var array
+ */
+ private $_lines = array();
+
+ /**
+ * fill the private content var through tcp or file access
+ */
+ public function __construct()
+ {
+ parent::__construct();
+ switch (strtolower(PSI_SENSOR_ACCESS)) {
+ case 'command':
+ $lines = "";
+// CommonFunctions::executeProgram('sysctl', '-w hw.sensors',
$lines);
+ CommonFunctions::executeProgram('sysctl', 'hw.sensors', $lines);
+ $this->_lines = preg_split("/\n/", $lines, -1,
PREG_SPLIT_NO_EMPTY);
+ break;
+ default:
+ $this->error->addConfigError('__construct()', 'PSI_SENSOR_ACCESS');
+ break;
+ }
+ }
+
+ /**
+ * get temperature information
+ *
+ * @return void
+ */
+ private function _temperature()
+ {
+ foreach ($this->_lines as $line) {
+ if
(preg_match('/^hw\.sensors\.[0-9]+=[^\s,]+,\s+([^,]+),\s+temp,\s+([0-9\.]+)\s+degC.*$/',
$line, $ar_buf)) {
+ $dev = new SensorDevice();
+ $dev->setName($ar_buf[1]);
+ $dev->setValue($ar_buf[2]);
+ $this->mbinfo->setMbTemp($dev);
+ } elseif
(preg_match('/^hw\.sensors\.[0-9]+=[^\s,]+,\s+([^,]+),\s+([0-9\.]+)\s+degC$/',
$line, $ar_buf)) {
+ $dev = new SensorDevice();
+ $dev->setName($ar_buf[1]);
+ $dev->setValue($ar_buf[2]);
+ $this->mbinfo->setMbTemp($dev);
+ } elseif
(preg_match('/^hw\.sensors\.[^\.]+\.(.*)=([0-9\.]+)\s+degC\s+\((.*)\)$/',
$line, $ar_buf)) {
+ $dev = new SensorDevice();
+ $dev->setName($ar_buf[3]);
+ $dev->setValue($ar_buf[2]);
+ $this->mbinfo->setMbTemp($dev);
+ } elseif
(preg_match('/^hw\.sensors\.[^\.]+\.(.*)=([0-9\.]+)\s+degC$/', $line, $ar_buf))
{
+ $dev = new SensorDevice();
+ $dev->setName($ar_buf[1]);
+ $dev->setValue($ar_buf[2]);
+ $this->mbinfo->setMbTemp($dev);
+ }
+ }
+ }
+
+ /**
+ * get fan information
+ *
+ * @return void
+ */
+ private function _fans()
+ {
+ foreach ($this->_lines as $line) {
+ if
(preg_match('/^hw\.sensors\.[0-9]+=[^\s,]+,\s+([^,]+),\s+fanrpm,\s+([0-9\.]+)\s+RPM.*$/',
$line, $ar_buf)) {
+ $dev = new SensorDevice();
+ $dev->setName($ar_buf[1]);
+ $dev->setValue($ar_buf[2]);
+ $this->mbinfo->setMbFan($dev);
+ } elseif
(preg_match('/^hw\.sensors\.[0-9]+=[^\s,]+,\s+([^,]+),\s+([0-9\.]+)\s+RPM$/',
$line, $ar_buf)) {
+ $dev = new SensorDevice();
+ $dev->setName($ar_buf[1]);
+ $dev->setValue($ar_buf[2]);
+ $this->mbinfo->setMbFan($dev);
+ } elseif
(preg_match('/^hw\.sensors\.[^\.]+\.(.*)=([0-9\.]+)\s+RPM\s+\((.*)\)$/', $line,
$ar_buf)) {
+ $dev = new SensorDevice();
+ $dev->setName($ar_buf[3]);
+ $dev->setValue($ar_buf[2]);
+ $this->mbinfo->setMbFan($dev);
+ } elseif
(preg_match('/^hw\.sensors\.[^\.]+\.(.*)=([0-9\.]+)\s+RPM$/', $line, $ar_buf)) {
+ $dev = new SensorDevice();
+ $dev->setName($ar_buf[1]);
+ $dev->setValue($ar_buf[2]);
+ $this->mbinfo->setMbFan($dev);
+ }
+ }
+ }
+
+ /**
+ * get voltage information
+ *
+ * @return void
+ */
+ private function _voltage()
+ {
+ foreach ($this->_lines as $line) {
+ if
(preg_match('/^hw\.sensors\.[0-9]+=[^\s,]+,\s+([^,]+),\s+volts_dc,\s+([0-9\.]+)\s+V.*$/',
$line, $ar_buf)) {
+ $dev = new SensorDevice();
+ $dev->setName($ar_buf[1]);
+ $dev->setValue($ar_buf[2]);
+ $this->mbinfo->setMbVolt($dev);
+ } elseif
(preg_match('/^hw\.sensors\.[0-9]+=[^\s,]+,\s+([^,]+),\s+([0-9\.]+)\s+V\sDC$/',
$line, $ar_buf)) {
+ $dev = new SensorDevice();
+ $dev->setName($ar_buf[1]);
+ $dev->setValue($ar_buf[2]);
+ $this->mbinfo->setMbVolt($dev);
+ } elseif
(preg_match('/^hw\.sensors\.[^\.]+\.(.*)=([0-9\.]+)\s+VDC\s+\((.*)\)$/', $line,
$ar_buf)) {
+ $dev = new SensorDevice();
+ $dev->setName($ar_buf[3]);
+ $dev->setValue($ar_buf[2]);
+ $this->mbinfo->setMbVolt($dev);
+ } elseif
(preg_match('/^hw\.sensors\.[^\.]+\.(.*)=([0-9\.]+)\s+VDC$/', $line, $ar_buf)) {
+ $dev = new SensorDevice();
+ $dev->setName($ar_buf[1]);
+ $dev->setValue($ar_buf[2]);
+ $this->mbinfo->setMbVolt($dev);
+ }
+ }
+ }
+
+ /**
+ * get the information
+ *
+ * @see PSI_Interface_Sensor::build()
+ *
+ * @return Void
+ */
+ public function build()
+ {
+ $this->_temperature();
+ $this->_voltage();
+ $this->_fans();
+ }
+}
Added: branches/stavangerkommune/phpsysinfo/includes/mb/class.ipmi.inc.php
===================================================================
--- branches/stavangerkommune/phpsysinfo/includes/mb/class.ipmi.inc.php
(rev 0)
+++ branches/stavangerkommune/phpsysinfo/includes/mb/class.ipmi.inc.php
2014-03-13 14:58:22 UTC (rev 11813)
@@ -0,0 +1,127 @@
+<?php
+/**
+ * ipmi sensor class
+ *
+ * PHP version 5
+ *
+ * @category PHP
+ * @package PSI_Sensor
+ * @author Michael Cramer <address@hidden>
+ * @copyright 2009 phpSysInfo
+ * @license http://opensource.org/licenses/gpl-2.0.php GNU General Public
License
+ * @version SVN: $Id: class.ipmi.inc.php 661 2012-08-27 11:26:39Z namiltd $
+ * @link http://phpsysinfo.sourceforge.net
+ */
+ /**
+ * getting information from ipmitool
+ *
+ * @category PHP
+ * @package PSI_Sensor
+ * @author Michael Cramer <address@hidden>
+ * @copyright 2009 phpSysInfo
+ * @license http://opensource.org/licenses/gpl-2.0.php GNU General Public
License
+ * @version Release: 3.0
+ * @link http://phpsysinfo.sourceforge.net
+ */
+class IPMI extends Sensors
+{
+ /**
+ * content to parse
+ *
+ * @var array
+ */
+ private $_lines = array();
+
+ /**
+ * fill the private content var through tcp or file access
+ */
+ public function __construct()
+ {
+ parent::__construct();
+ switch (strtolower(PSI_SENSOR_ACCESS)) {
+ case 'command':
+ CommonFunctions::executeProgram('ipmitool', 'sensor', $lines);
+ $this->_lines = preg_split("/\n/", $lines, -1,
PREG_SPLIT_NO_EMPTY);
+ break;
+ case 'file':
+ if (CommonFunctions::rfts(APP_ROOT.'/data/ipmi.txt', $lines)) {
+ $this->_lines = preg_split("/\n/", $lines, -1,
PREG_SPLIT_NO_EMPTY);
+ }
+ break;
+ default:
+ $this->error->addConfigError('__construct()', 'PSI_SENSOR_ACCESS');
+ break;
+ }
+ }
+
+ /**
+ * get temperature information
+ *
+ * @return void
+ */
+ private function _temp()
+ {
+ foreach ($this->_lines as $line) {
+ $buffer = preg_split("/[ ]+\|[ ]+/", $line);
+ if ($buffer[2] == "degrees C" && $buffer[3] != "na") {
+ $dev = new SensorDevice();
+ $dev->setName($buffer[0]);
+ $dev->setValue($buffer[1]);
+ $dev->setMax($buffer[8]);
+ $this->mbinfo->setMbTemp($dev);
+ }
+ }
+ }
+
+ /**
+ * get voltage information
+ *
+ * @return void
+ */
+ private function _voltage()
+ {
+ foreach ($this->_lines as $line) {
+ $buffer = preg_split("/[ ]+\|[ ]+/", $line);
+ if ($buffer[2] == "Volts" && $buffer[3] != "na") {
+ $dev = new SensorDevice();
+ $dev->setName($buffer[0]);
+ $dev->setValue($buffer[1]);
+ $dev->setMin($buffer[5]);
+ $dev->setMax($buffer[8]);
+ $this->mbinfo->setMbVolt($dev);
+ }
+ }
+ }
+
+ /**
+ * get fan information
+ *
+ * @return void
+ */
+ private function _fans()
+ {
+ foreach ($this->_lines as $line) {
+ $buffer = preg_split("/[ ]+\|[ ]+/", $line);
+ if ($buffer[2] == "RPM" && $buffer[3] != "na") {
+ $dev = new SensorDevice();
+ $dev->setName($buffer[0]);
+ $dev->setValue($buffer[1]);
+ $dev->setMin($buffer[8]);
+ $this->mbinfo->setMbFan($dev);
+ }
+ }
+ }
+ /**
+ * get the information
+ *
+ * @see PSI_Interface_Sensor::build()
+ *
+ * @return Void
+ */
+ public function build()
+ {
+ $this->_temp();
+ $this->_voltage();
+ $this->_fans();
+ }
+}
Added: branches/stavangerkommune/phpsysinfo/includes/mb/class.k8temp.inc.php
===================================================================
--- branches/stavangerkommune/phpsysinfo/includes/mb/class.k8temp.inc.php
(rev 0)
+++ branches/stavangerkommune/phpsysinfo/includes/mb/class.k8temp.inc.php
2014-03-13 14:58:22 UTC (rev 11813)
@@ -0,0 +1,86 @@
+<?php
+/**
+ * K8Temp sensor class
+ *
+ * PHP version 5
+ *
+ * @category PHP
+ * @package PSI_Sensor
+ * @author Michael Cramer <address@hidden>
+ * @copyright 2009 phpSysInfo
+ * @license http://opensource.org/licenses/gpl-2.0.php GNU General Public
License
+ * @version SVN: $Id: class.k8temp.inc.php 661 2012-08-27 11:26:39Z namiltd $
+ * @link http://phpsysinfo.sourceforge.net
+ */
+ /**
+ * getting information from k8temp
+ *
+ * @category PHP
+ * @package PSI_Sensor
+ * @author Michael Cramer <address@hidden>
+ * @copyright 2009 phpSysInfo
+ * @license http://opensource.org/licenses/gpl-2.0.php GNU General Public
License
+ * @version Release: 3.0
+ * @link http://phpsysinfo.sourceforge.net
+ */
+class K8Temp extends Sensors
+{
+ /**
+ * content to parse
+ *
+ * @var array
+ */
+ private $_lines = array();
+
+ /**
+ * fill the private array
+ */
+ public function __construct()
+ {
+ parent::__construct();
+ switch (strtolower(PSI_SENSOR_ACCESS)) {
+ case 'command':
+ $lines = "";
+ CommonFunctions::executeProgram('k8temp', '', $lines);
+ $this->_lines = preg_split("/\n/", $lines, -1,
PREG_SPLIT_NO_EMPTY);
+ break;
+ default:
+ $this->error->addConfigError('__construct()', 'PSI_SENSOR_ACCESS');
+ break;
+ }
+ }
+
+ /**
+ * get temperature information
+ *
+ * @return void
+ */
+ private function _temperature()
+ {
+ foreach ($this->_lines as $line) {
+ if (preg_match('/(.*):\s*(\d*)/', $line, $data)) {
+ if ($data[2] > 0) {
+ $dev = new SensorDevice();
+ $dev->setName($data[1]);
+ $dev->setMax('70.0');
+ if ($data[2] < 250) {
+ $dev->setValue($data[2]);
+ }
+ $this->mbinfo->setMbTemp($dev);
+ }
+ }
+ }
+ }
+
+ /**
+ * get the information
+ *
+ * @see PSI_Interface_Sensor::build()
+ *
+ * @return Void
+ */
+ public function build()
+ {
+ $this->_temperature();
+ }
+}
Added: branches/stavangerkommune/phpsysinfo/includes/mb/class.lmsensors.inc.php
===================================================================
--- branches/stavangerkommune/phpsysinfo/includes/mb/class.lmsensors.inc.php
(rev 0)
+++ branches/stavangerkommune/phpsysinfo/includes/mb/class.lmsensors.inc.php
2014-03-13 14:58:22 UTC (rev 11813)
@@ -0,0 +1,312 @@
+<?php
+/**
+ * lmsensor sensor class
+ *
+ * PHP version 5
+ *
+ * @category PHP
+ * @package PSI_Sensor
+ * @author Michael Cramer <address@hidden>
+ * @copyright 2009 phpSysInfo
+ * @license http://opensource.org/licenses/gpl-2.0.php GNU General Public
License
+ * @version SVN: $Id: class.lmsensors.inc.php 661 2012-08-27 11:26:39Z
namiltd $
+ * @link http://phpsysinfo.sourceforge.net
+ */
+ /**
+ * getting information from lmsensor
+ *
+ * @category PHP
+ * @package PSI_Sensor
+ * @author Michael Cramer <address@hidden>
+ * @copyright 2009 phpSysInfo
+ * @license http://opensource.org/licenses/gpl-2.0.php GNU General Public
License
+ * @version Release: 3.0
+ * @link http://phpsysinfo.sourceforge.net
+ */
+class LMSensors extends Sensors
+{
+ /**
+ * content to parse
+ *
+ * @var array
+ */
+ private $_lines = array();
+
+ /**
+ * fill the private content var through tcp or file access
+ */
+ public function __construct()
+ {
+ parent::__construct();
+ switch (strtolower(PSI_SENSOR_ACCESS)) {
+ case 'command':
+ if (CommonFunctions::executeProgram("sensors", "", $lines)) {
+ // Martijn Stolk: Dirty fix for misinterpreted output of
sensors,
+ // where info could come on next line when the label is too
long.
+ $lines = str_replace(":\n", ":", $lines);
+ $lines = str_replace("\n\n", "\n", $lines);
+ $this->_lines = preg_split("/\n/", $lines, -1,
PREG_SPLIT_NO_EMPTY);
+ }
+ break;
+ case 'file':
+ if (CommonFunctions::rfts(APP_ROOT.'/data/lmsensors.txt', $lines))
{
+ $lines = str_replace(":\n", ":", $lines);
+ $lines = str_replace("\n\n", "\n", $lines);
+ $this->_lines = preg_split("/\n/", $lines, -1,
PREG_SPLIT_NO_EMPTY);
+ }
+ break;
+ default:
+ $this->error->addConfigError('__construct()', 'PSI_SENSOR_ACCESS');
+ break;
+ }
+ }
+
+ /**
+ * get temperature information
+ *
+ * @return void
+ */
+ private function _temperature()
+ {
+ $ar_buf = array();
+ foreach ($this->_lines as $line) {
+ $data = array();
+ if (preg_match("/(.*):(.*)\((.*)=(.*),(.*)=(.*)\)(.*)/", $line,
$data)) {
+ ;
+ } elseif (preg_match("/(.*):(.*)\((.*)=(.*)\)(.*)/", $line,
$data)) {
+ ;
+ } else {
+ (preg_match("/(.*):(.*)/", $line, $data));
+ }
+ if (count($data) > 1) {
+ $temp = substr(trim($data[2]), -1);
+ switch ($temp) {
+ case "C":
+ case "F":
+ array_push($ar_buf, $line);
+ }
+ }
+ }
+ foreach ($ar_buf as $line) {
+ $data = array();
+ if (preg_match("/(.*):(.*).C[
]*\((.*)=(.*).C,(.*)=(.*).C\)(.*)\)/", $line, $data)) {
+ ;
+ } elseif (preg_match("/(.*):(.*).C[
]*\((.*)=(.*).C,(.*)=(.*).C\)(.*)/", $line, $data)) {
+ ;
+ } elseif (preg_match("/(.*):(.*).C[ ]*\((.*)=(.*).C\)(.*)/",
$line, $data)) {
+ ;
+ } elseif (preg_match("/(.*):(.*).C[ \t]+/", $line, $data)) {
+ ;
+ } else {
+ preg_match("/(.*):(.*).C$/", $line, $data);
+ }
+ foreach ($data as $key=>$value) {
+ if (preg_match("/^\+?(-?[0-9\.]+).?$/", trim($value),
$newvalue)) {
+ $data[$key] = 0+trim($newvalue[1]);
+ } else {
+ $data[$key] = trim($value);
+ }
+ }
+ $dev = new SensorDevice();
+ $dev->setName($data[1]);
+ $dev->setValue($data[2]);
+
+ if (isset($data[6]) && $data[2] <= $data[6]) {
+ $dev->setMax(max($data[4],$data[6]));
+ } elseif (isset($data[4]) && $data[2] <= $data[4]) {
+ $dev->setMax($data[4]);
+ }
+ $this->mbinfo->setMbTemp($dev);
+ }
+ }
+
+ /**
+ * get fan information
+ *
+ * @return void
+ */
+ private function _fans()
+ {
+ $ar_buf = array();
+ foreach ($this->_lines as $line) {
+ $data = array();
+ if (preg_match("/(.*):(.*)\((.*)=(.*),(.*)=(.*)\)(.*)/", $line,
$data)) {
+ ;
+ } elseif (preg_match("/(.*):(.*)\((.*)=(.*)\)(.*)/", $line,
$data)) {
+ ;
+ } else {
+ preg_match("/(.*):(.*)/", $line, $data);
+ }
+ if (count($data) > 1) {
+ $temp = preg_split("/ /", trim($data[2]));
+ if (count($temp) == 1) {
+ $temp = preg_split("/\xb0/", trim($data[2]));
+ }
+ if (isset($temp[1])) {
+ switch ($temp[1]) {
+ case "RPM":
+ array_push($ar_buf, $line);
+ }
+ }
+ }
+ }
+ foreach ($ar_buf as $line) {
+ $data = array();
+ if (preg_match("/(.*):(.*) RPM[ ]*\((.*)=(.*)
RPM,(.*)=(.*)\)(.*)\)/", $line, $data)) {
+ ;
+ } elseif (preg_match("/(.*):(.*) RPM[ ]*\((.*)=(.*)
RPM,(.*)=(.*)\)(.*)/", $line, $data)) {
+ ;
+ } elseif (preg_match("/(.*):(.*) RPM[ ]*\((.*)=(.*) RPM\)(.*)/",
$line, $data)) {
+ ;
+ } elseif (preg_match("/(.*):(.*) RPM[ \t]+/", $line, $data)) {
+ ;
+ } else {
+ preg_match("/(.*):(.*) RPM$/", $line, $data);
+ }
+ $dev = new SensorDevice();
+ $dev->setName(trim($data[1]));
+ $dev->setValue(trim($data[2]));
+ if (isset($data[4])) {
+ $dev->setMin(trim($data[4]));
+ }
+ $this->mbinfo->setMbFan($dev);
+ }
+ }
+
+ /**
+ * get voltage information
+ *
+ * @return void
+ */
+ private function _voltage()
+ {
+ $ar_buf = array();
+ foreach ($this->_lines as $line) {
+ $data = array();
+ if (preg_match("/(.*):(.*)\((.*)=(.*),(.*)=(.*)\)(.*)/", $line,
$data)) {
+ ;
+ } else {
+ preg_match("/(.*):(.*)/", $line, $data);
+ }
+ if (count($data) > 1) {
+ $temp = preg_split("/ /", trim($data[2]));
+ if (count($temp) == 1) {
+ $temp = preg_split("/\xb0/", trim($data[2]));
+ }
+ if (isset($temp[1])) {
+ switch ($temp[1]) {
+ case "V":
+ array_push($ar_buf, $line);
+ }
+ }
+ }
+ }
+ foreach ($ar_buf as $line) {
+ $data = array();
+ if (preg_match("/(.*)\:(.*) V[ ]*\((.*)=(.*) V,(.*)=(.*)
V\)(.*)\)/", $line, $data)) {
+ ;
+ } elseif (preg_match("/(.*):(.*) V[ ]*\((.*)=(.*) V,(.*)=(.*)
V\)(.*)/", $line, $data)) {
+ ;
+ } elseif (preg_match("/(.*):(.*) V[ \t]+/", $line, $data)) {
+ ;
+ } else {
+ preg_match("/(.*):(.*) V$/", $line, $data);
+ }
+ foreach ($data as $key=>$value) {
+ if (preg_match("/^\+?(-?[0-9\.]+)$/", trim($value),
$newvalue)) {
+ $data[$key] = 0+trim($newvalue[1]);
+ } else {
+ $data[$key] = trim($value);
+ }
+ }
+ if (isset($data[1])) {
+ $dev = new SensorDevice();
+ $dev->setName($data[1]);
+ $dev->setValue($data[2]);
+ if (isset($data[4])) {
+ $dev->setMin($data[4]);
+ }
+ if (isset($data[6])) {
+ $dev->setMax($data[6]);
+ }
+ $this->mbinfo->setMbVolt($dev);
+ }
+ }
+ }
+
+ /**
+ * get power information
+ *
+ * @return void
+ */
+ private function _power()
+ {
+ $ar_buf = array();
+ foreach ($this->_lines as $line) {
+ $data = array();
+ //echo $line." <br> ";
+ if (preg_match("/(.*):(.*)\((.*)=(.*),(.*)=(.*)\)(.*)/", $line,
$data)) {
+ ;
+ } elseif (preg_match("/(.*):(.*)\((.*)=(.*)\)(.*)/", $line,
$data)) {
+ ;
+ } else {
+ (preg_match("/(.*):(.*)/", $line, $data));
+ }
+ if (count($data) > 1) {
+ $temp = substr(trim($data[2]), -1);
+ switch ($temp) {
+ case "W":
+ array_push($ar_buf, $line);
+ }
+ }
+ }
+ foreach ($ar_buf as $line) {
+ $data = array();
+/* not tested yet
+ if (preg_match("/(.*):(.*).W[
]*\((.*)=(.*).W,(.*)=(.*).W\)(.*)\)/", $line, $data)) {
+ ;
+ } elseif (preg_match("/(.*):(.*).W[
]*\((.*)=(.*).W,(.*)=(.*).W\)(.*)/", $line, $data)) {
+ ;
+ } else
+*/
+ if (preg_match("/(.*):(.*).W[ ]*\((.*)=(.*).W\)(.*)/", $line,
$data)) {
+ ;
+ } elseif (preg_match("/(.*):(.*).W[ \t]+/", $line, $data)) {
+ ;
+ } else {
+ preg_match("/(.*):(.*).W$/", $line, $data);
+ }
+ foreach ($data as $key=>$value) {
+ if (preg_match("/^\+?([0-9\.]+).?$/", trim($value),
$newvalue)) {
+ $data[$key] = trim($newvalue[1]);
+ } else {
+ $data[$key] = trim($value);
+ }
+ }
+ $dev = new SensorDevice();
+ $dev->setName($data[1]);
+ $dev->setValue($data[2]);
+
+ if (isset($data[6]) && $data[2] <= $data[6]) {
+ $dev->setMax(max($data[4],$data[6]));
+ } elseif (isset($data[4]) && $data[2] <= $data[4]) {
+ $dev->setMax($data[4]);
+ }
+ $this->mbinfo->setMbPower($dev);
+ }
+ }
+ /**
+ * get the information
+ *
+ * @see PSI_Interface_Sensor::build()
+ *
+ * @return Void
+ */
+ public function build()
+ {
+ $this->_temperature();
+ $this->_voltage();
+ $this->_fans();
+ $this->_power();
+ }
+}
Added: branches/stavangerkommune/phpsysinfo/includes/mb/class.mbm5.inc.php
===================================================================
--- branches/stavangerkommune/phpsysinfo/includes/mb/class.mbm5.inc.php
(rev 0)
+++ branches/stavangerkommune/phpsysinfo/includes/mb/class.mbm5.inc.php
2014-03-13 14:58:22 UTC (rev 11813)
@@ -0,0 +1,138 @@
+<?php
+/**
+ * MBM5 sensor class
+ *
+ * PHP version 5
+ *
+ * @category PHP
+ * @package PSI_Sensor
+ * @author Michael Cramer <address@hidden>
+ * @copyright 2009 phpSysInfo
+ * @license http://opensource.org/licenses/gpl-2.0.php GNU General Public
License
+ * @version SVN: $Id: class.mbm5.inc.php 661 2012-08-27 11:26:39Z namiltd $
+ * @link http://phpsysinfo.sourceforge.net
+ */
+ /**
+ * getting information from Motherboard Monitor 5
+ * information retrival through csv file
+ *
+ * @category PHP
+ * @package PSI_Sensor
+ * @author Michael Cramer <address@hidden>
+ * @copyright 2009 phpSysInfo
+ * @license http://opensource.org/licenses/gpl-2.0.php GNU General Public
License
+ * @version Release: 3.0
+ * @link http://phpsysinfo.sourceforge.net
+ */
+class MBM5 extends Sensors
+{
+ /**
+ * array with the names of the labels
+ *
+ * @var array
+ */
+ private $_buf_label = array();
+
+ /**
+ * array withe the values
+ *
+ * @var array
+ */
+ private $_buf_value = array();
+
+ /**
+ * read the MBM5.csv file and fill the private arrays
+ */
+ public function __construct()
+ {
+ parent::__construct();
+ switch (strtolower(PSI_SENSOR_ACCESS)) {
+ case 'file':
+ $delim = "/;/";
+ CommonFunctions::rfts(APP_ROOT."/data/MBM5.csv", $buffer);
+ if (strpos($buffer, ";") === false) {
+ $delim = "/,/";
+ }
+ $buffer = preg_split("/\n/", $buffer, -1, PREG_SPLIT_NO_EMPTY);
+ $this->_buf_label = preg_split($delim, substr($buffer[0], 0, -2),
-1, PREG_SPLIT_NO_EMPTY);
+ $this->_buf_value = preg_split($delim, substr($buffer[1], 0, -2),
-1, PREG_SPLIT_NO_EMPTY);
+ break;
+ default:
+ $this->error->addConfigError('__construct()', 'PSI_SENSOR_ACCESS');
+ break;
+ }
+ }
+
+ /**
+ * get temperature information
+ *
+ * @return void
+ */
+ private function _temperature()
+ {
+ for ($intPosi = 3; $intPosi < 6; $intPosi++) {
+ if ($this->_buf_value[$intPosi] == 0) {
+ continue;
+ }
+ preg_match("/([0-9\.])*/", str_replace(",", ".",
$this->_buf_value[$intPosi]), $hits);
+ $dev = new SensorDevice();
+ $dev->setName($this->_buf_label[$intPosi]);
+ $dev->setValue($hits[0]);
+ $dev->setMax(70);
+ $this->mbinfo->setMbTemp($dev);
+ }
+ }
+
+ /**
+ * get fan information
+ *
+ * @return void
+ */
+ private function _fans()
+ {
+ for ($intPosi = 13; $intPosi < 16; $intPosi++) {
+ if (!isset($this->_buf_value[$intPosi])) {
+ continue;
+ }
+ preg_match("/([0-9\.])*/", str_replace(",", ".",
$this->_buf_value[$intPosi]), $hits);
+ $dev = new SensorDevice();
+ $dev->setName($this->_buf_label[$intPosi]);
+ $dev->setValue($hits[0]);
+ $dev->setMin(3000);
+ $this->mbinfo->setMbFan($dev);
+ }
+ }
+
+ /**
+ * get voltage information
+ *
+ * @return void
+ */
+ private function _voltage()
+ {
+ for ($intPosi = 6; $intPosi < 13; $intPosi++) {
+ if ($this->_buf_value[$intPosi] == 0) {
+ continue;
+ }
+ preg_match("/([0-9\.])*/", str_replace(",", ".",
$this->_buf_value[$intPosi]), $hits);
+ $dev = new SensorDevice();
+ $dev->setName($this->_buf_label[$intPosi]);
+ $dev->setValue($hits[0]);
+ $this->mbinfo->setMbVolt($dev);
+ }
+ }
+
+ /**
+ * get the information
+ *
+ * @see PSI_Interface_Sensor::build()
+ *
+ * @return Void
+ */
+ public function build()
+ {
+ $this->_fans();
+ $this->_temperature();
+ $this->_voltage();
+ }
+}
Added: branches/stavangerkommune/phpsysinfo/includes/mb/class.mbmon.inc.php
===================================================================
--- branches/stavangerkommune/phpsysinfo/includes/mb/class.mbmon.inc.php
(rev 0)
+++ branches/stavangerkommune/phpsysinfo/includes/mb/class.mbmon.inc.php
2014-03-13 14:58:22 UTC (rev 11813)
@@ -0,0 +1,138 @@
+<?php
+/**
+ * mbmon sensor class
+ *
+ * PHP version 5
+ *
+ * @category PHP
+ * @package PSI_Sensor
+ * @author Michael Cramer <address@hidden>
+ * @copyright 2009 phpSysInfo
+ * @license http://opensource.org/licenses/gpl-2.0.php GNU General Public
License
+ * @version SVN: $Id: class.mbmon.inc.php 661 2012-08-27 11:26:39Z namiltd $
+ * @link http://phpsysinfo.sourceforge.net
+ */
+ /**
+ * getting information from mbmon
+ *
+ * @category PHP
+ * @package PSI_Sensor
+ * @author Michael Cramer <address@hidden>
+ * @copyright 2009 phpSysInfo
+ * @license http://opensource.org/licenses/gpl-2.0.php GNU General Public
License
+ * @version Release: 3.0
+ * @link http://phpsysinfo.sourceforge.net
+ */
+class MBMon extends Sensors
+{
+ /**
+ * content to parse
+ *
+ * @var array
+ */
+ private $_lines = array();
+
+ /**
+ * fill the private content var through tcp or file access
+ */
+ public function __construct()
+ {
+ parent::__construct();
+ switch (strtolower(PSI_SENSOR_ACCESS)) {
+ case 'tcp':
+ $fp = fsockopen("localhost", 411, $errno, $errstr, 5);
+ if ($fp) {
+ $lines = "";
+ while (!feof($fp)) {
+ $lines .= fread($fp, 1024);
+ }
+ $this->_lines = preg_split("/\n/", $lines, -1,
PREG_SPLIT_NO_EMPTY);
+ } else {
+ $this->error->addError("fsockopen()", $errno." ".$errstr);
+ }
+ break;
+ case 'command':
+ CommonFunctions::executeProgram('mbmon', '-c 1 -r', $lines,
PSI_DEBUG);
+ $this->_lines = preg_split("/\n/", $lines, -1,
PREG_SPLIT_NO_EMPTY);
+ break;
+ default:
+ $this->error->addConfigError('__construct()', 'PSI_SENSOR_ACCESS');
+ break;
+ }
+ }
+
+ /**
+ * get temperature information
+ *
+ * @return void
+ */
+ private function _temperature()
+ {
+ foreach ($this->_lines as $line) {
+ if (preg_match('/^(TEMP\d*)\s*:\s*(.*)$/D', $line, $data)) {
+ if ($data[2] <> '0') {
+ $dev = new SensorDevice();
+ $dev->setName($data[1]);
+ $dev->setMax(70);
+ if ($data[2] < 250) {
+ $dev->setValue($data[2]);
+ }
+ $this->mbinfo->setMbTemp($dev);
+ }
+ }
+ }
+ }
+
+ /**
+ * get fan information
+ *
+ * @return void
+ */
+ private function _fans()
+ {
+ foreach ($this->_lines as $line) {
+ if (preg_match('/^(FAN\d*)\s*:\s*(.*)$/D', $line, $data)) {
+ if ($data[2] <> '0') {
+ $dev = new SensorDevice();
+ $dev->setName($data[1]);
+ $dev->setValue($data[2]);
+ $dev->setMax(3000);
+ $this->mbinfo->setMbFan($dev);
+ }
+ }
+ }
+ }
+
+ /**
+ * get voltage information
+ *
+ * @return void
+ */
+ private function _voltage()
+ {
+ foreach ($this->_lines as $line) {
+ if (preg_match('/^(V.*)\s*:\s*(.*)$/D', $line, $data)) {
+ if ($data[2] <> '+0.00') {
+ $dev = new SensorDevice();
+ $dev->setName($data[1]);
+ $dev->setValue($data[2]);
+ $this->mbinfo->setMbVolt($dev);
+ }
+ }
+ }
+ }
+
+ /**
+ * get the information
+ *
+ * @see PSI_Interface_Sensor::build()
+ *
+ * @return void
+ */
+ public function build()
+ {
+ $this->_temperature();
+ $this->_voltage();
+ $this->_fans();
+ }
+}
Added: branches/stavangerkommune/phpsysinfo/includes/mb/class.pitemp.inc.php
===================================================================
--- branches/stavangerkommune/phpsysinfo/includes/mb/class.pitemp.inc.php
(rev 0)
+++ branches/stavangerkommune/phpsysinfo/includes/mb/class.pitemp.inc.php
2014-03-13 14:58:22 UTC (rev 11813)
@@ -0,0 +1,32 @@
+<?php
+/**
+ * pitemp sensor class
+ *
+ * PHP version 5
+ *
+ * @category PHP
+ * @package PSI_Sensor
+ * @author Marc Hillesheim <address@hidden>
+ * @copyright 2012 Marc Hillesheim
+ * @link http://pi.no-ip.biz
+ */
+class PiTemp extends Sensors
+{
+ private function _temperature()
+ {
+ $temp = file_get_contents('/sys/class/thermal/thermal_zone0/temp');
+ $temp_max =
file_get_contents('/sys/class/thermal/thermal_zone0/trip_point_0_temp');
+ $temp = $temp /1000;
+ $temp_max = $temp_max/1000;
+ $dev = new SensorDevice();
+ $dev->setName("CPU ".(1));
+ $dev->setValue($temp);
+ $dev->setMax($temp_max);
+ $this->mbinfo->setMbTemp($dev);
+ }
+
+ public function build()
+ {
+ $this->_temperature();
+ }
+}
Added: branches/stavangerkommune/phpsysinfo/includes/mb/class.sensors.inc.php
===================================================================
--- branches/stavangerkommune/phpsysinfo/includes/mb/class.sensors.inc.php
(rev 0)
+++ branches/stavangerkommune/phpsysinfo/includes/mb/class.sensors.inc.php
2014-03-13 14:58:22 UTC (rev 11813)
@@ -0,0 +1,64 @@
+<?php
+/**
+ * Basic OS Class
+ *
+ * PHP version 5
+ *
+ * @category PHP
+ * @package PSI sensors class
+ * @author Michael Cramer <address@hidden>
+ * @copyright 2009 phpSysInfo
+ * @license http://opensource.org/licenses/gpl-2.0.php GNU General Public
License
+ * @version SVN: $Id: class.sensors.inc.php 661 2012-08-27 11:26:39Z namiltd
$
+ * @link http://phpsysinfo.sourceforge.net
+ */
+ /**
+ * Basic OS functions for all OS classes
+ *
+ * @category PHP
+ * @package PSI sensors class
+ * @author Michael Cramer <address@hidden>
+ * @copyright 2009 phpSysInfo
+ * @license http://opensource.org/licenses/gpl-2.0.php GNU General Public
License
+ * @version Release: 3.0
+ * @link http://phpsysinfo.sourceforge.net
+ */
+abstract class Sensors implements PSI_Interface_Sensor
+{
+ /**
+ * object for error handling
+ *
+ * @var Error
+ */
+ protected $error;
+
+ /**
+ * object for the information
+ *
+ * @var MBInfo
+ */
+ protected $mbinfo;
+
+ /**
+ * build the global Error object
+ */
+ public function __construct()
+ {
+ $this->error = Error::singleton();
+ $this->mbinfo = new MBInfo();
+ }
+
+ /**
+ * get the filled or unfilled (with default values) MBInfo object
+ *
+ * @see PSI_Interface_Sensor::getMBInfo()
+ *
+ * @return MBInfo
+ */
+ final public function getMBInfo()
+ {
+ $this->build();
+
+ return $this->mbinfo;
+ }
+}
Added: branches/stavangerkommune/phpsysinfo/includes/os/class.AIX.inc.php
===================================================================
--- branches/stavangerkommune/phpsysinfo/includes/os/class.AIX.inc.php
(rev 0)
+++ branches/stavangerkommune/phpsysinfo/includes/os/class.AIX.inc.php
2014-03-13 14:58:22 UTC (rev 11813)
@@ -0,0 +1,353 @@
+<?php
+/**
+ * IBM AIX System Class
+ *
+ * PHP version 5
+ *
+ * @category PHP
+ * @package PSI AIX OS class
+ * @author Krzysztof Paz (address@hidden) based on HPUX of Michael Cramer
<address@hidden>
+ * @copyright 2011 Krzysztof Paz
+ * @license http://opensource.org/licenses/gpl-2.0.php GNU General Public
License
+ * @version SVN: $Id: class.AIX.inc.php 287 2009-06-26 12:11:59Z Krzysztof
Paz, IBM POLSKA
+ * @link http://phpsysinfo.sourceforge.net
+ */
+/**
+* IBM AIX sysinfo class
+* get all the required information from IBM AIX system
+*
+* @category PHP
+* @package PSI AIX OS class
+* @author Krzysztof Paz (address@hidden) based on Michael Cramer
<address@hidden>
+* @copyright 2011 Krzysztof Paz
+* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public
License
+* @version Release: 3.0
+* @link http://phpsysinfo.sourceforge.net
+*/
+class AIX extends OS
+{
+
+ private $myprtconf = array();
+
+ /**
+ * Virtual Host Name
+ * @return void
+ */
+ private function _hostname()
+ {
+ /* if (PSI_USE_VHOST === true) {
+ $this->sys->setHostname(getenv('SERVER_NAME'));
+ } else {
+ if (CommonFunctions::executeProgram('hostname', '', $ret)) {
+ $this->sys->setHostname($ret);
+ }
+ } */
+ $this->sys->setHostname(getenv('SERVER_NAME'));
+
+ }
+
+ /**
+ * IP of the Virtual Host Name
+ * @return void
+ */
+ private function _ip()
+ {
+ if (PSI_USE_VHOST === true) {
+ $this->sys->setIp(gethostbyname($this->sys->getHostname()));
+ } else {
+ if (!($result = getenv('SERVER_ADDR'))) {
+ $this->sys->setIp(gethostbyname($this->sys->getHostname()));
+ } else {
+ $this->sys->setIp($result);
+ }
+ }
+ }
+
+ /**
+ * IBM AIX Version
+ * @return void
+ */
+ private function _kernel()
+ {
+ if (CommonFunctions::executeProgram('oslevel', '', $ret1) &&
CommonFunctions::executeProgram('oslevel', '-s', $ret2)) {
+ $this->sys->setKernel($ret1 . ' (' . $ret2 . ')');
+ }
+ }
+
+ /**
+ * UpTime
+ * time the system is running
+ * @return void
+ */
+ private function _uptime()
+ {
+ if (CommonFunctions::executeProgram('uptime', '', $buf)) {
+ if (preg_match("/up (\d+) days,\s*(\d+):(\d+),/", $buf, $ar_buf)
|| preg_match("/up (\d+) day,\s*(\d+):(\d+),/", $buf, $ar_buf)) {
+ $min = $ar_buf[3];
+ $hours = $ar_buf[2];
+ $days = $ar_buf[1];
+ $this->sys->setUptime($days * 86400 + $hours * 3600 + $min *
60);
+ }
+ }
+ }
+
+ /**
+ * Number of Users
+ * @return void
+ */
+ private function _users()
+ {
+ if (CommonFunctions::executeProgram('who', '| wc -l', $buf,
PSI_DEBUG)) {
+ $this->sys->setUsers($buf);
+ }
+ }
+
+ /**
+ * Processor Load
+ * optionally create a loadbar
+ * @return void
+ */
+ private function _loadavg()
+ {
+ if (CommonFunctions::executeProgram('uptime', '', $buf)) {
+ if (preg_match("/average: (.*), (.*), (.*)$/", $buf, $ar_buf)) {
+ $this->sys->setLoad($ar_buf[1].' '.$ar_buf[2].' '.$ar_buf[3]);
+ }
+ }
+ }
+
+ /**
+ * CPU information
+ * All of the tags here are highly architecture dependant
+ * @return void
+ */
+ private function _cpuinfo()
+ {
+ $dev = new CpuDevice();
+ CommonFunctions::executeProgram('cat', '/tmp/webprtconf.txt |grep
Type', $cpudev);
+ $dev->setModel($cpudev);
+ CommonFunctions::executeProgram('cat', '/tmp/webprtconf.txt | grep
Speed | awk \'{print $4}\'', $cpuspeed);
+ $dev->setCpuSpeed($cpuspeed);
+ //$dev->setCache('512000'); //-don't know howto guess cache size
+ $this->sys->setCpus($dev);
+ }
+
+ /**
+ * PCI devices
+ * @return void
+ */
+ private function _pci()
+ {
+ // FIXME
+ CommonFunctions::executeProgram('cat', '/tmp/webprtconf.txt |grep
PCI', $bufr);
+ $lines = preg_split("/\n/", $bufr, -1, PREG_SPLIT_NO_EMPTY);
+ foreach ($lines as $line) {
+ $dev = new HWDevice();
+ $dev->setName($line);
+ $this->sys->setPciDevices($dev);
+ }
+ }
+
+ /**
+ * IDE devices
+ * @return void
+ */
+ private function _ide()
+ {
+ // FIXME
+ CommonFunctions::executeProgram('cat', '/tmp/webprtconf.txt |grep
IDE', $bufr);
+ $lines = preg_split("/\n/", $bufr, -1, PREG_SPLIT_NO_EMPTY);
+ foreach ($lines as $line) {
+ $dev = new HWDevice();
+ $dev->setName($line);
+ $this->sys->setIdeDevices($dev);
+ //$dev->setCapacity(trim($line???) * 512 / 1024);
+ }
+ }
+
+ /**
+ * SCSI devices
+ * @return void
+ */
+ private function _scsi()
+ {
+ // FIXME
+ CommonFunctions::executeProgram('cat', '/tmp/webprtconf.txt |grep
SCSI', $bufr);
+ $lines = preg_split("/\n/", $bufr, -1, PREG_SPLIT_NO_EMPTY);
+ foreach ($lines as $line) {
+ $dev = new HWDevice();
+ $dev->setName($line);
+ $this->sys->setScsiDevices($dev);
+ }
+ }
+
+ /**
+ * USB devices
+ * @return void
+ */
+ private function _usb()
+ {
+ // FIXME
+ CommonFunctions::executeProgram('cat', '/tmp/webprtconf.txt |grep
USB', $bufr);
+ $lines = preg_split("/\n/", $bufr, -1, PREG_SPLIT_NO_EMPTY);
+ foreach ($lines as $line) {
+ $dev = new HWDevice();
+ $dev->setName($line);
+ $this->sys->setUsbDevices($dev);
+ }
+ }
+
+ /**
+ * Network devices
+ * includes also rx/tx bytes
+ * @return void
+ */
+ private function _network()
+ {
+ if (CommonFunctions::executeProgram('netstat', '-ni | tail -n +2',
$netstat)) {
+ $lines = preg_split("/\n/", $netstat, -1, PREG_SPLIT_NO_EMPTY);
+ foreach ($lines as $line) {
+ $ar_buf = preg_split("/\s+/", $line);
+ if (! empty($ar_buf[0]) && ! empty($ar_buf[3])) {
+ $dev = new NetDevice();
+ $dev->setName($ar_buf[0]);
+ $dev->setRxBytes($ar_buf[4]);
+ $dev->setTxBytes($ar_buf[6]);
+ $dev->setErrors($ar_buf[5] + $ar_buf[7]);
+ //$dev->setDrops($ar_buf[8]);
+ $this->sys->setNetDevices($dev);
+ }
+ }
+ }
+ }
+
+ /**
+ * Physical memory information and Swap Space information
+ * @return void
+ */
+ private function _memory()
+ {
+ CommonFunctions::executeProgram('cat', '/tmp/webprtconf.txt |grep
Good|awk \'{print $4}\'', $mems);
+ $this->sys->setMemTotal($mems*1024*1024);
+ //FIXME
+ $mems = 0;
+ $this->sys->setMemUsed($mems);
+ $this->sys->setMemFree($mems);
+ $this->sys->setMemApplication($mems);
+ $this->sys->setMemBuffer($mems);
+ $this->sys->setMemCache($mems);
+
+ /*
+ if (CommonFunctions::rfts('/proc/meminfo', $bufr)) {
+ $bufe = preg_split("/\n/", $bufr, -1, PREG_SPLIT_NO_EMPTY);
+ foreach ($bufe as $buf) {
+ if (preg_match('/Mem:\s+(.*)$/', $buf, $ar_buf)) {
+ $ar_buf = preg_split('/\s+/', $ar_buf[1], 6);
+ $this->sys->setMemTotal($ar_buf[0]);
+ $this->sys->setMemUsed($ar_buf[1]);
+ $this->sys->setMemFree($ar_buf[2]);
+ $this->sys->setMemApplication($ar_buf[3]);
+ $this->sys->setMemBuffer($ar_buf[4]);
+ $this->sys->setMemCache($ar_buf[5]);
+ }
+ // Get info on individual swap files
+ if (CommonFunctions::rfts('/proc/swaps', $swaps)) {
+ $swapdevs = preg_split("/\n/", $swaps, -1,
PREG_SPLIT_NO_EMPTY);
+ for ($i = 1, $max = (sizeof($swapdevs) - 1); $i < $max;
$i++) {
+ $ar_buf = preg_split('/\s+/', $swapdevs[$i], 6);
+ $dev = new DiskDevice();
+ $dev->setMountPoint($ar_buf[0]);
+ $dev->setName("SWAP");
+ $dev->setFsType('swap');
+ $dev->setTotal($ar_buf[2] * 1024);
+ $dev->setUsed($ar_buf[3] * 1024);
+ $dev->setFree($dev->getTotal() - $dev->getUsed());
+ $this->sys->setSwapDevices($dev);
+ }
+ }
+ }
+ }
+ */
+ }
+
+ /**
+ * filesystem information
+ *
+ * @return void
+ */
+ private function _filesystems()
+ {
+ if (CommonFunctions::executeProgram('df', '-kP', $df, PSI_DEBUG)) {
+ $mounts = preg_split("/\n/", $df, -1, PREG_SPLIT_NO_EMPTY);
+ if (CommonFunctions::executeProgram('mount', '-v', $s, PSI_DEBUG))
{
+ $lines = preg_split("/\n/", $s, -1, PREG_SPLIT_NO_EMPTY);
+ while (list(, $line) = each($lines)) {
+ $a = preg_split('/ /', $line, -1, PREG_SPLIT_NO_EMPTY);
+ $fsdev[$a[0]] = $a[4];
+ }
+ }
+ foreach ($mounts as $mount) {
+ $ar_buf = preg_split("/\s+/", $mount, 6);
+ $dev = new DiskDevice();
+ $dev->setName($ar_buf[0]);
+ $dev->setTotal($ar_buf[1] * 1024);
+ $dev->setUsed($ar_buf[2] * 1024);
+ $dev->setFree($ar_buf[3] * 1024);
+ $dev->setMountPoint($ar_buf[5]);
+ if (isset($fsdev[$ar_buf[0]])) {
+ $dev->setFsType($fsdev[$ar_buf[0]]);
+ }
+ $this->sys->setDiskDevices($dev);
+ }
+ }
+ }
+
+ /**
+ * Distribution
+ *
+ * @return void
+ */
+ private function _distro()
+ {
+ $this->sys->setDistribution('IBM AIX');
+ $this->sys->setDistributionIcon('AIX.png');
+ }
+
+ /**
+ * IBM AIX INFORMATIONs by K.PAZ
+ * @return void
+ */
+ private function _myaixdata()
+ {
+ CommonFunctions::executeProgram('prtconf', '> /tmp/webprtconf.txt',
$confret);
+ CommonFunctions::rfts('/tmp/webprtconf.txt', $bufr);
+ $this->myprtconf = preg_split("/\n/", $bufr, -1, PREG_SPLIT_NO_EMPTY);
+ }
+
+ /**
+ * get the information
+ *
+ * @see PSI_Interface_OS::build()
+ *
+ * @return Void
+ */
+ public function build()
+ {
+ $this->_myaixdata();
+ $this->_distro();
+ $this->_hostname();
+ $this->_ip();
+ $this->_kernel();
+ $this->_uptime();
+ $this->_users();
+ $this->_loadavg();
+ $this->_cpuinfo();
+ $this->_pci();
+ $this->_ide();
+ $this->_scsi();
+ $this->_usb();
+ $this->_network();
+ $this->_memory();
+ $this->_filesystems();
+ }
+}
Added: branches/stavangerkommune/phpsysinfo/includes/os/class.Android.inc.php
===================================================================
--- branches/stavangerkommune/phpsysinfo/includes/os/class.Android.inc.php
(rev 0)
+++ branches/stavangerkommune/phpsysinfo/includes/os/class.Android.inc.php
2014-03-13 14:58:22 UTC (rev 11813)
@@ -0,0 +1,195 @@
+<?php
+/**
+ * Android System Class
+ *
+ * PHP version 5
+ *
+ * @category PHP
+ * @package PSI Android OS class
+ * @author Michael Cramer <address@hidden>
+ * @copyright 2009 phpSysInfo
+ * @license http://opensource.org/licenses/gpl-2.0.php GNU General Public
License
+ * @version SVN: $Id: class.Linux.inc.php 712 2012-12-05 14:09:18Z namiltd $
+ * @link http://phpsysinfo.sourceforge.net
+ */
+ /**
+ * Android sysinfo class
+ * get all the required information from Android system
+ *
+ * @category PHP
+ * @package PSI Android OS class
+ * @author Michael Cramer <address@hidden>
+ * @copyright 2009 phpSysInfo
+ * @license http://opensource.org/licenses/gpl-2.0.php GNU General Public
License
+ * @version Release: 3.0
+ * @link http://phpsysinfo.sourceforge.net
+ */
+class Android extends Linux
+{
+ /**
+ * call parent constructor
+ */
+ public function __construct()
+ {
+ parent::__construct();
+ }
+
+ /**
+ * Kernel Version
+ *
+ * @return void
+ */
+ private function _kernel()
+ {
+ if (CommonFunctions::rfts('/proc/version', $strBuf, 1)) {
+ if (preg_match('/version (.*?) /', $strBuf, $ar_buf)) {
+ $result = $ar_buf[1];
+ if (preg_match('/SMP/', $strBuf)) {
+ $result .= ' (SMP)';
+ }
+ $this->sys->setKernel($result);
+ }
+ }
+ }
+
+ /**
+ * Number of Users
+ *
+ * @return void
+ */
+ private function _users()
+ {
+ $this->sys->setUsers(1);
+ }
+
+ /**
+ * filesystem information
+ *
+ * @return void
+ */
+ private function _filesystems()
+ {
+ if (CommonFunctions::executeProgram('df', '2>/dev/null ', $df,
PSI_DEBUG)) {
+ $df = preg_split("/\n/", $df, -1, PREG_SPLIT_NO_EMPTY);
+ if (CommonFunctions::executeProgram('mount', '', $mount,
PSI_DEBUG)) {
+ $mount = preg_split("/\n/", $mount, -1, PREG_SPLIT_NO_EMPTY);
+ foreach ($mount as $mount_line) {
+ $mount_buf = preg_split('/\s+/', $mount_line);
+ if (count($mount_buf) == 6) {
+ $mount_parm[$mount_buf[1]]['fstype'] = $mount_buf[2];
+ if (PSI_SHOW_MOUNT_OPTION)
$mount_parm[$mount_buf[1]]['options'] = $mount_buf[3];
+ $mount_parm[$mount_buf[1]]['mountdev'] = $mount_buf[0];
+ }
+ }
+ foreach ($df as $df_line) {
+ if
(preg_match("/^(\/\S+)(\s+)(([0-9\.]+)([KMGT])(\s+)([0-9\.]+)([KMGT])(\s+)([0-9\.]+)([KMGT])(\s+))/",
$df_line, $df_buf) ||
+
preg_match("/^(\/[^\s\:]+)\:(\s+)(([0-9\.]+)([KMGT])(\s+total\,\s+)([0-9\.]+)([KMGT])(\s+used\,\s+)([0-9\.]+)([KMGT])(\s+available))/",
$df_line, $df_buf)) {
+ if (preg_match('/^\/mnt\/asec\/com\./', $df_buf[1]))
break;
+ $dev = new DiskDevice();
+ if (PSI_SHOW_MOUNT_POINT)
$dev->setMountPoint($df_buf[1]);
+
+ if ($df_buf[5] == 'K') $dev->setTotal($df_buf[4] *
1024);
+ elseif ($df_buf[5] == 'M') $dev->setTotal($df_buf[4] *
1024*1024);
+ elseif ($df_buf[5] == 'G') $dev->setTotal($df_buf[4] *
1024*1024*1024);
+ elseif ($df_buf[5] == 'T') $dev->setTotal($df_buf[4] *
1024*1024*1024*1024);
+
+ if ($df_buf[8] == 'K') $dev->setUsed($df_buf[7] *
1024);
+ elseif ($df_buf[8] == 'M') $dev->setUsed($df_buf[7] *
1024*1024);
+ elseif ($df_buf[8] == 'G') $dev->setUsed($df_buf[7] *
1024*1024*1024);
+ elseif ($df_buf[8] == 'T') $dev->setUsed($df_buf[7] *
1024*1024*1024*1024);
+
+ if ($df_buf[11] == 'K') $dev->setFree($df_buf[10] *
1024);
+ elseif ($df_buf[11] == 'M') $dev->setFree($df_buf[10]
* 1024*1024);
+ elseif ($df_buf[11] == 'G') $dev->setFree($df_buf[10]
* 1024*1024*1024);
+ elseif ($df_buf[11] == 'T') $dev->setFree($df_buf[10]
* 1024*1024*1024*1024);
+
+ if (isset($mount_parm[$df_buf[1]])) {
+ $dev->setFsType($mount_parm[$df_buf[1]]['fstype']);
+ $dev->setName($mount_parm[$df_buf[1]]['mountdev']);
+
+ if (PSI_SHOW_MOUNT_OPTION) {
+ if (PSI_SHOW_MOUNT_CREDENTIALS) {
+
$dev->setOptions($mount_parm[$df_buf[1]]['options']);
+ } else {
+ $mpo=$mount_parm[$df_buf[1]]['options'];
+
+
$mpo=preg_replace('/(^guest,)|(^guest$)|(,guest$)/i', '', $mpo);
+ $mpo=preg_replace('/,guest,/i', ',', $mpo);
+
+
$mpo=preg_replace('/(^user=[^,]*,)|(^user=[^,]*$)|(,user=[^,]*$)/i', '', $mpo);
+ $mpo=preg_replace('/,user=[^,]*,/i', ',',
$mpo);
+
+
$mpo=preg_replace('/(^username=[^,]*,)|(^username=[^,]*$)|(,username=[^,]*$)/i',
'', $mpo);
+ $mpo=preg_replace('/,username=[^,]*,/i',
',', $mpo);
+
+
$mpo=preg_replace('/(^password=[^,]*,)|(^password=[^,]*$)|(,password=[^,]*$)/i',
'', $mpo);
+ $mpo=preg_replace('/,password=[^,]*,/i',
',', $mpo);
+
+ $dev->setOptions($mpo);
+ }
+ }
+ }
+ $this->sys->setDiskDevices($dev);
+ }
+ }
+ }
+ }
+ }
+
+ /**
+ * Distribution
+ *
+ * @return void
+ */
+ private function _distro()
+ {
+ $list = @parse_ini_file(APP_ROOT."/data/distros.ini", true);
+ if (!$list) {
+ return;
+ }
+ $buf = "";
+ if (CommonFunctions::rfts('/system/build.prop', $lines, 0, 4096, false)
+ && preg_match('/^ro\.build\.version\.release=([^\n]+)/m', $lines,
$ar_buf)) {
+ $buf = $ar_buf[1];
+ }
+ if (isset($list['Android']['Image'])) {
+ $this->sys->setDistributionIcon($list['Android']['Image']);
+ }
+ if (isset($list['Android']['Name'])) {
+ if ( is_null($buf) || (trim($buf) == "")) {
+ $this->sys->setDistribution($list['Android']['Name']);
+ } else {
+ $this->sys->setDistribution($list['Android']['Name']."
".trim($buf));
+ }
+ } else {
+ if ( is_null($buf) || (trim($buf) == "") ) {
+ $this->sys->setDistribution('Android');
+ } else {
+ $this->sys->setDistribution(trim($buf));
+ }
+ }
+ }
+
+ /**
+ * get the information
+ *
+ * @see PSI_Interface_OS::build()
+ *
+ * @return Void
+ */
+ public function build()
+ {
+ $this->error->addError("WARN", "The Android version of phpSysInfo is a
work in progress, some things currently don't work");
+ $this->_distro();
+ $this->_hostname();
+ $this->_ip();
+ $this->_kernel();
+ $this->_uptime();
+ $this->_users();
+ $this->_cpuinfo();
+ $this->_network();
+ $this->_memory();
+ $this->_filesystems();
+ $this->_loadavg();
+ }
+}
Added: branches/stavangerkommune/phpsysinfo/includes/os/class.Haiku.inc.php
===================================================================
--- branches/stavangerkommune/phpsysinfo/includes/os/class.Haiku.inc.php
(rev 0)
+++ branches/stavangerkommune/phpsysinfo/includes/os/class.Haiku.inc.php
2014-03-13 14:58:22 UTC (rev 11813)
@@ -0,0 +1,380 @@
+<?php
+/**
+ * Haiku System Class
+ *
+ * PHP version 5
+ *
+ * @category PHP
+ * @package PSI Haiku OS class
+ * @author Mieczyslaw Nalewaj <address@hidden>
+ * @copyright 2012 phpSysInfo
+ * @license http://opensource.org/licenses/gpl-2.0.php GNU General Public
License
+ * @version SVN: $Id: class.Haiku.inc.php 687 2012-09-06 20:54:49Z namiltd $
+ * @link http://phpsysinfo.sourceforge.net
+ */
+ /**
+ * Haiku sysinfo class
+ * get all the required information from Haiku system
+ *
+ * @category PHP
+ * @package PSI Haiku OS class
+ * @author Mieczyslaw Nalewaj <address@hidden>
+ * @copyright 2012 phpSysInfo
+ * @license http://opensource.org/licenses/gpl-2.0.php GNU General Public
License
+ * @version Release: 3.0
+ * @link http://phpsysinfo.sourceforge.net
+ */
+class Haiku extends OS
+{
+ /**
+ * call parent constructor
+ */
+ public function __construct()
+ {
+ parent::__construct();
+ }
+
+ /**
+ * get the cpu information
+ *
+ * @return array
+ */
+ protected function _cpuinfo()
+ {
+
+ if (CommonFunctions::executeProgram('sysinfo', '-cpu', $bufr,
PSI_DEBUG)) {
+ $cpus = preg_split("/\nCPU #\d+/", $bufr, -1, PREG_SPLIT_NO_EMPTY);
+ $cpuspeed = "";
+ foreach ($cpus as $cpu) {
+ if (preg_match("/^.*running at (\d+)MHz/", $cpu, $ar_buf)) {
+ $cpuspeed = $ar_buf[1];
+ } elseif (preg_match("/^: \"(.*)\"/", $cpu, $ar_buf)) {
+ $dev = new CpuDevice();
+ $dev->setModel($ar_buf[1]);
+ $arrLines = preg_split("/\n/", $cpu, -1,
PREG_SPLIT_NO_EMPTY);
+ foreach ($arrLines as $Line) {
+ if (preg_match("/^\s+Data TLB:\s+(.*)K-byte/", $Line,
$Line_buf)) {
+
$dev->setCache(max($Line_buf[1]*1024,$dev->getCache()));
+ } elseif (preg_match("/^\s+Data TLB:\s+(.*)M-byte/",
$Line, $Line_buf)) {
+
$dev->setCache(max($Line_buf[1]*1024*1024,$dev->getCache()));
+ } elseif (preg_match("/^\s+Data TLB:\s+(.*)G-byte/",
$Line, $Line_buf)) {
+
$dev->setCache(max($Line_buf[1]*1024*1024*1024,$dev->getCache()));
+ } elseif (preg_match("/\s+VMX/", $Line, $Line_buf)) {
+ $dev->setVirt("vmx");
+ } elseif (preg_match("/\s+SVM/", $Line, $Line_buf)) {
+ $dev->setVirt("svm");
+ }
+ }
+ if ($cpuspeed != "" )$dev->setCpuSpeed($cpuspeed);
+ $this->sys->setCpus($dev);
+ //echo ">>>>>".$cpu;
+ }
+ }
+ }
+ }
+
+ /**
+ * PCI devices
+ * get the pci device information
+ *
+ * @return void
+ */
+ protected function _pci()
+ {
+ if (CommonFunctions::executeProgram('listdev', '', $bufr, PSI_DEBUG)) {
+// $devices = preg_split("/^device |\ndevice /", $bufr, -1,
PREG_SPLIT_NO_EMPTY);
+ $devices = preg_split("/^device /m", $bufr, -1,
PREG_SPLIT_NO_EMPTY);
+ foreach ($devices as $device) {
+ $ar_buf = preg_split("/\n/", $device);
+ if (count($ar_buf) >= 3) {
+ if (preg_match("/^([^\(\[\n]*)/", $device, $ar_buf2)) {
+ if (preg_match("/^[^\(]*\((.*)\)/", $device,
$ar_buf3)) {
+ $ar_buf2[1] = $ar_buf3[1];
+ }
+ $name = trim($ar_buf2[1]).": ";
+
+ if
(preg_match("/^\s+vendor\s+[0-9a-fA-F]{4}:\s+(.*)/", $ar_buf[1], $ar_buf3)) {
+ $name .=$ar_buf3[1]." ";
+ }
+ if
(preg_match("/^\s+device\s+[0-9a-fA-F]{4}:\s+(.*)/", $ar_buf[2], $ar_buf3)) {
+ $name .=$ar_buf3[1]." ";
+ }
+ $dev = new HWDevice();
+ $dev->setName(trim($name));
+ $this->sys->setPciDevices($dev);
+ }
+ }
+ }
+ }
+ }
+
+ /**
+ * USB devices
+ * get the usb device information
+ *
+ * @return void
+ */
+ protected function _usb()
+ {
+ if (CommonFunctions::executeProgram('listusb', '', $bufr, PSI_DEBUG)) {
+ $devices = preg_split("/\n/", $bufr);
+ foreach ($devices as $device) {
+ if (preg_match("/^\S+\s+\S+\s+\"(.*)\"\s+\"(.*)\"/", $device,
$ar_buf)) {
+ $dev = new HWDevice();
+ $dev->setName(trim($ar_buf[1]." ".$ar_buf[2]));
+ $this->sys->setUSBDevices($dev);
+ }
+ }
+ }
+ }
+
+ /**
+ * Haiku Version
+ *
+ * @return void
+ */
+ private function _kernel()
+ {
+ if (CommonFunctions::executeProgram('uname', '-rvm', $ret)) {
+ $this->sys->setKernel($ret);
+ }
+ }
+
+ /**
+ * Distribution
+ *
+ * @return void
+ */
+ protected function _distro()
+ {
+ if (CommonFunctions::executeProgram('uname', '-sr', $ret))
+ $this->sys->setDistribution($ret);
+ else
+ $this->sys->setDistribution('Haiku');
+
+ $this->sys->setDistributionIcon('Haiku.png');
+ }
+
+ /**
+ * UpTime
+ * time the system is running
+ *
+ * @return void
+ */
+ private function _uptime()
+ {
+ if (CommonFunctions::executeProgram('uptime', '-u', $buf)) {
+ if (preg_match("/^up (\d+) minute[s]?/", $buf, $ar_buf)) {
+ $min = $ar_buf[1];
+ $this->sys->setUptime($min * 60);
+ } elseif (preg_match("/^up (\d+) hour[s]?, (\d+) minute[s]?/",
$buf, $ar_buf)) {
+ $min = $ar_buf[2];
+ $hours = $ar_buf[1];
+ $this->sys->setUptime($hours * 3600 + $min * 60);
+ } elseif (preg_match("/^up (\d+) day[s]?, (\d+) hour[s]?, (\d+)
minute[s]?/", $buf, $ar_buf)) {
+ $min = $ar_buf[3];
+ $hours = $ar_buf[2];
+ $days = $ar_buf[1];
+ $this->sys->setUptime($days * 86400 + $hours * 3600 + $min *
60);
+ }
+ }
+ }
+
+ /**
+ * Processor Load
+ * optionally create a loadbar
+ *
+ * @return void
+ */
+ private function _loadavg()
+ {
+ if (CommonFunctions::executeProgram('top', '-n 1 -i 1', $buf)) {
+ if (preg_match("/\s+(\S+)%\s+TOTAL\s+\(\S+%\s+idle time/", $buf,
$ar_buf)) {
+ $this->sys->setLoad($ar_buf[1]);
+ if (PSI_LOAD_BAR) {
+ $this->sys->setLoadPercent(round($ar_buf[1]));
+ }
+ }
+ }
+ }
+
+ /**
+ * Number of Users
+ *
+ * @return void
+ */
+ private function _users()
+ {
+ $this->sys->setUsers(1);
+ }
+
+ /**
+ * Virtual Host Name
+ *
+ * @return void
+ */
+ private function _hostname()
+ {
+ if (PSI_USE_VHOST === true) {
+ $this->sys->setHostname(getenv('SERVER_NAME'));
+ } else {
+ if (CommonFunctions::executeProgram('uname', '-n', $result,
PSI_DEBUG)) {
+ $ip = gethostbyname($result);
+ if ($ip != $result) {
+ $this->sys->setHostname(gethostbyaddr($ip));
+ }
+ }
+ }
+ }
+
+ /**
+ * IP of the Virtual Host Name
+ *
+ * @return void
+ */
+ private function _ip()
+ {
+ if (PSI_USE_VHOST === true) {
+ $this->sys->setIp(gethostbyname($this->sys->getHostname()));
+ } else {
+ if (!($result = getenv('SERVER_ADDR'))) {
+ $this->sys->setIp(gethostbyname($this->sys->getHostname()));
+ } else {
+ $this->sys->setIp($result);
+ }
+ }
+ }
+
+ /**
+ * Physical memory information and Swap Space information
+ *
+ * @return void
+ */
+ private function _memory()
+ {
+ if (CommonFunctions::executeProgram('sysinfo', '-mem', $bufr,
PSI_DEBUG)) {
+ if (preg_match("/(.*)bytes
free\s+\(used\/max\s+(.*)\s+\/\s+(.*)\)\s*\n\s+\(cached\s+(.*)\)/", $bufr,
$ar_buf)) {
+ $this->sys->setMemTotal($ar_buf[3]);
+ $this->sys->setMemFree($ar_buf[1]);
+ $this->sys->setMemCache($ar_buf[4]);
+ $this->sys->setMemUsed($ar_buf[2]);
+ }
+ }
+ if (CommonFunctions::executeProgram('vmstat', '', $bufr, PSI_DEBUG)) {
+ if (preg_match("/max swap space:\s+(.*)\nfree swap
space:\s+(.*)\n/", $bufr, $ar_buf)) {
+ if ($ar_buf[1]>0) {
+ $dev = new DiskDevice();
+ $dev->setMountPoint("/boot/common/var/swap");
+ $dev->setName("SWAP");
+ $dev->setTotal($ar_buf[1]);
+ $dev->setFree($ar_buf[2]);
+ $dev->setUSed($ar_buf[1]-$ar_buf[2]);
+ $this->sys->setSwapDevices($dev);
+ }
+ }
+ }
+ }
+
+ /**
+ * filesystem information
+ *
+ * @return void
+ */
+ private function _filesystems()
+ {
+ if (CommonFunctions::executeProgram('df', '-b', $df, PSI_DEBUG)) {
+ $df = preg_split("/\n/", $df, -1, PREG_SPLIT_NO_EMPTY);
+ foreach ($df as $df_line) {
+ $ar_buf = preg_split("/\s+/", $df_line);
+ if ((substr($df_line,0 ,1 ) == "/") && (count($ar_buf) == 6 )) {
+ $dev = new DiskDevice();
+ $dev->setMountPoint($ar_buf[0]);
+ $dev->setName($ar_buf[5]);
+ $dev->setFsType($ar_buf[1]);
+ $dev->setOptions($ar_buf[4]);
+ $dev->setTotal($ar_buf[2] * 1024);
+ $dev->setFree($ar_buf[3] * 1024);
+ $dev->setUsed($dev->getTotal() - $dev->getFree());
+ $this->sys->setDiskDevices($dev);
+ }
+ }
+ }
+ }
+
+ /**
+ * network information
+ *
+ * @return void
+ */
+ private function _network()
+ {
+ if (CommonFunctions::executeProgram('ifconfig', '', $bufr, PSI_DEBUG))
{
+ $lines = preg_split("/\n/", $bufr, -1, PREG_SPLIT_NO_EMPTY);
+ $notwas = true;
+ foreach ($lines as $line) {
+ if (preg_match("/^(\S+)/", $line, $ar_buf)) {
+ if (!$notwas) {
+ $dev->setErrors($errors);
+ $dev->setDrops($drops);
+ $this->sys->setNetDevices($dev);
+ }
+ $errors = 0;
+ $drops = 0;
+ $dev = new NetDevice();
+ $dev->setName($ar_buf[1]);
+ $notwas = false;
+ } else {
+ if (!$notwas) {
+ if
(preg_match('/\sReceive:\s\d+\spackets,\s(\d+)\serrors,\s(\d+)\sbytes,\s\d+\smcasts,\s(\d+)\sdropped/i',
$line, $ar_buf2)) {
+ $errors +=$ar_buf2[1];
+ $drops +=$ar_buf2[3];
+ $dev->setRxBytes($ar_buf2[2]);
+ } elseif
(preg_match('/\sTransmit:\s\d+\spackets,\s(\d+)\serrors,\s(\d+)\sbytes,\s\d+\smcasts,\s(\d+)\sdropped/i',
$line, $ar_buf2)) {
+ $errors +=$ar_buf2[1];
+ $drops +=$ar_buf2[3];
+ $dev->setTxBytes($ar_buf2[2]);
+ }
+
+ if (defined('PSI_SHOW_NETWORK_INFOS') &&
(PSI_SHOW_NETWORK_INFOS)) {
+ if (preg_match('/\sEthernet,\s+Address:\s(\S*)/i',
$line, $ar_buf2))
+ $dev->setInfo(preg_replace('/:/', '-',
$ar_buf2[1]));
+ elseif (preg_match('/^\s+inet\saddr:\s(\S*),/i',
$line, $ar_buf2))
+
$dev->setInfo(($dev->getInfo()?$dev->getInfo().';':'').$ar_buf2[1]);
+ elseif
(preg_match('/^\s+inet6\saddr:\s(\S*),/i', $line, $ar_buf2))
+ if
(!preg_match('/^fe80::/i',$ar_buf2[1]))
+
$dev->setInfo(($dev->getInfo()?$dev->getInfo().';':'').$ar_buf2[1]);
+ }
+ }
+ }
+ }
+ if (!$notwas) {
+ $dev->setErrors($errors);
+ $dev->setDrops($drops);
+ $this->sys->setNetDevices($dev);
+ }
+ }
+ }
+
+ /**
+ * get the information
+ *
+ * @return Void
+ */
+ public function build()
+ {
+ $this->error->addError("WARN", "The Haiku version of phpSysInfo is a
work in progress, some things currently don't work");
+ $this->_hostname();
+ $this->_ip();
+ $this->_distro();
+ $this->_kernel();
+ $this->_uptime();
+ $this->_users();
+ $this->_loadavg();
+ $this->_pci();
+ $this->_usb();
+ $this->_cpuinfo();
+ $this->_memory();
+ $this->_filesystems();
+ $this->_network();
+ }
+}
Added: branches/stavangerkommune/phpsysinfo/includes/os/class.Minix.inc.php
===================================================================
--- branches/stavangerkommune/phpsysinfo/includes/os/class.Minix.inc.php
(rev 0)
+++ branches/stavangerkommune/phpsysinfo/includes/os/class.Minix.inc.php
2014-03-13 14:58:22 UTC (rev 11813)
@@ -0,0 +1,352 @@
+<?php
+/**
+ * Minix System Class
+ *
+ * PHP version 5
+ *
+ * @category PHP
+ * @package PSI Minix OS class
+ * @author Mieczyslaw Nalewaj <address@hidden>
+ * @copyright 2012 phpSysInfo
+ * @license http://opensource.org/licenses/gpl-2.0.php GNU General Public
License
+ * @version SVN: $Id: class.Minix.inc.php 687 2012-09-06 20:54:49Z namiltd $
+ * @link http://phpsysinfo.sourceforge.net
+ */
+ /**
+ * Minix sysinfo class
+ * get all the required information from Minix system
+ *
+ * @category PHP
+ * @package PSI Minix OS class
+ * @author Mieczyslaw Nalewaj <address@hidden>
+ * @copyright 2012 phpSysInfo
+ * @license http://opensource.org/licenses/gpl-2.0.php GNU General Public
License
+ * @version Release: 3.0
+ * @link http://phpsysinfo.sourceforge.net
+ */
+class Minix extends OS
+{
+ /**
+ * content of the syslog
+ *
+ * @var array
+ */
+ private $_dmesg = array();
+
+ /**
+ * call parent constructor
+ */
+ public function __construct()
+ {
+ parent::__construct();
+ }
+
+ /**
+ * read /var/log/messages, but only if we haven't already
+ *
+ * @return array
+ */
+ protected function readdmesg()
+ {
+ if (count($this->_dmesg) === 0) {
+ if (CommonFunctions::rfts('/var/log/messages', $buf)) {
+ $parts = preg_split("/kernel: APIC/", $buf, -1,
PREG_SPLIT_NO_EMPTY);
+// $parts = preg_split("/ syslogd: restart\n/", $buf, -1,
PREG_SPLIT_NO_EMPTY);
+ $this->_dmesg = preg_split("/\n/", $parts[count($parts) -
1], -1, PREG_SPLIT_NO_EMPTY);
+ }
+ }
+
+ return $this->_dmesg;
+ }
+
+ /**
+ * get the cpu information
+ *
+ * @return array
+ */
+ protected function _cpuinfo()
+ {
+ if (CommonFunctions::rfts('/proc/cpuinfo', $bufr, 0, 4096, false)) {
+ $processors = preg_split('/\s?\n\s?\n/', trim($bufr));
+ foreach ($processors as $processor) {
+ $_n = ""; $_f = ""; $_m = ""; $_s = "";
+ $dev = new CpuDevice();
+ $details = preg_split("/\n/", $processor, -1,
PREG_SPLIT_NO_EMPTY);
+ foreach ($details as $detail) {
+ $arrBuff = preg_split('/\s+:\s+/', trim($detail));
+ if (count($arrBuff) == 2) {
+ switch (strtolower($arrBuff[0])) {
+ case 'model name':
+ $_n = $arrBuff[1];
+ break;
+ case 'cpu mhz':
+ $dev->setCpuSpeed($arrBuff[1]);
+ break;
+ case 'cpu family':
+ $_f = $arrBuff[1];
+ break;
+ case 'model':
+ $_m = $arrBuff[1];
+ break;
+ case 'stepping':
+ $_s = $arrBuff[1];
+ break;
+ case 'flags':
+ if (preg_match("/ vmx/",$arrBuff[1])) {
+ $dev->setVirt("vmx");
+ } elseif (preg_match("/ svm/",$arrBuff[1])) {
+ $dev->setVirt("svm");
+ }
+ break;
+ }
+ }
+ }
+ if ($_n == "") $_n="CPU";
+ if ($_f != "") $_n.=" Family ".$_f;
+ if ($_m != "") $_n.=" Model ".$_m;
+ if ($_s != "") $_n.=" Stepping ".$_s;
+ $dev->SetModel($_n);
+ $this->sys->setCpus($dev);
+ }
+ } else
+ foreach ($this->readdmesg() as $line) {
+ if (preg_match('/kernel: (CPU .*) freq (.*) MHz/', $line, $ar_buf)) {
+ $dev = new CpuDevice();
+ $dev->setModel($ar_buf[1]);
+ $dev->setCpuSpeed($ar_buf[2]);
+ $this->sys->setCpus($dev);
+ }
+ }
+ }
+
+ /**
+ * PCI devices
+ * get the pci device information out of dmesg
+ *
+ * @return void
+ */
+ protected function _pci()
+ {
+ if (CommonFunctions::rfts('/proc/pci', $strBuf, 0, 4096, false)) {
+ $arrLines = preg_split("/\n/", $strBuf, -1, PREG_SPLIT_NO_EMPTY);
+ foreach ($arrLines as $strLine) {
+ $arrParams = preg_split('/\s+/', trim($strLine), 4);
+ if (count($arrParams) == 4)
+ $strName = $arrParams[3];
+ else
+ $strName = "unknown";
+ $strName = preg_replace('/\(.*\)/', '', $strName);
+ $dev = new HWDevice();
+ $dev->setName($strName);
+ $arrResults[] = $dev;
+ }
+ foreach ($arrResults as $dev) {
+ $this->sys->setPciDevices($dev);
+ }
+ }
+ if ( !(isset($arrResults) && is_array($arrResults)) &&
is_array($results = Parser::lspci())) {
+ /* if access error: chmod 4755 /usr/bin/lspci */
+ foreach ($results as $dev) {
+ $this->sys->setPciDevices($dev);
+ }
+ }
+ }
+
+ /**
+ * Minix Version
+ *
+ * @return void
+ */
+ private function _kernel()
+ {
+ foreach ($this->readdmesg() as $line) {
+ if (preg_match('/kernel: MINIX (.*) \((.*)\)/', $line, $ar_buf)) {
+ $branch = $ar_buf[2];
+ }
+ }
+ if (CommonFunctions::executeProgram('uname', '-rvm', $ret)) {
+ if (isset($branch))
+ $this->sys->setKernel($ret.' ('.$branch.')');
+ else
+ $this->sys->setKernel($ret);
+ }
+ }
+
+ /**
+ * Distribution
+ *
+ * @return void
+ */
+ protected function _distro()
+ {
+ if (CommonFunctions::executeProgram('uname', '-sr', $ret))
+ $this->sys->setDistribution($ret);
+ else
+ $this->sys->setDistribution('Minix');
+
+ $this->sys->setDistributionIcon('Minix.png');
+ }
+
+ /**
+ * UpTime
+ * time the system is running
+ *
+ * @return void
+ */
+ private function _uptime()
+ {
+ if (CommonFunctions::executeProgram('uptime', '', $buf)) {
+ if (preg_match("/up (\d+) days,\s*(\d+):(\d+),/", $buf, $ar_buf)) {
+ $min = $ar_buf[3];
+ $hours = $ar_buf[2];
+ $days = $ar_buf[1];
+ $this->sys->setUptime($days * 86400 + $hours * 3600 + $min *
60);
+ } elseif (preg_match("/up (\d+):(\d+),/", $buf, $ar_buf)) {
+ $min = $ar_buf[2];
+ $hours = $ar_buf[1];
+ $this->sys->setUptime($hours * 3600 + $min * 60);
+ }
+ }
+ }
+
+ /**
+ * Processor Load
+ * optionally create a loadbar
+ *
+ * @return void
+ */
+ private function _loadavg()
+ {
+ if (CommonFunctions::executeProgram('uptime', '', $buf)) {
+ if (preg_match("/load averages: (.*), (.*), (.*)$/", $buf,
$ar_buf)) {
+ $this->sys->setLoad($ar_buf[1].' '.$ar_buf[2].' '.$ar_buf[3]);
+ }
+ }
+ }
+
+ /**
+ * Number of Users
+ *
+ * @return void
+ */
+ private function _users()
+ {
+ if (CommonFunctions::executeProgram('uptime', '', $buf)) {
+ if (preg_match("/, (.*) users, load averages: (.*), (.*), (.*)$/",
$buf, $ar_buf)) {
+ $this->sys->setUsers($ar_buf[1]);
+ }
+ }
+ }
+
+ /**
+ * Virtual Host Name
+ *
+ * @return void
+ */
+ private function _hostname()
+ {
+ if (PSI_USE_VHOST === true) {
+ $this->sys->setHostname(getenv('SERVER_NAME'));
+ } else {
+ if (CommonFunctions::executeProgram('uname', '-n', $result,
PSI_DEBUG)) {
+ $ip = gethostbyname($result);
+ if ($ip != $result) {
+ $this->sys->setHostname(gethostbyaddr($ip));
+ }
+ }
+ }
+ }
+
+ /**
+ * IP of the Virtual Host Name
+ *
+ * @return void
+ */
+ private function _ip()
+ {
+ if (PSI_USE_VHOST === true) {
+ $this->sys->setIp(gethostbyname($this->sys->getHostname()));
+ } else {
+ if (!($result = getenv('SERVER_ADDR'))) {
+ $this->sys->setIp(gethostbyname($this->sys->getHostname()));
+ } else {
+ $this->sys->setIp($result);
+ }
+ }
+ }
+
+ /**
+ * Physical memory information and Swap Space information
+ *
+ * @return void
+ */
+ private function _memory()
+ {
+ if (CommonFunctions::rfts('/proc/meminfo', $bufr, 1, 4096, false)) {
+ $ar_buf = preg_split('/\s+/', trim($bufr));
+ if (count($ar_buf) >= 5 ) {
+ $this->sys->setMemTotal($ar_buf[0]*$ar_buf[1]);
+ $this->sys->setMemFree($ar_buf[0]*$ar_buf[2]);
+ $this->sys->setMemCache($ar_buf[0]*$ar_buf[4]);
+ $this->sys->setMemUsed($ar_buf[0]*($ar_buf[1]-$ar_buf[2]));
+ }
+ }
+ }
+
+ /**
+ * filesystem information
+ *
+ * @return void
+ */
+ private function _filesystems()
+ {
+ $arrResult = Parser::df("-P 2>/dev/null");
+ foreach ($arrResult as $dev) {
+ $this->sys->setDiskDevices($dev);
+ }
+ }
+
+ /**
+ * network information
+ *
+ * @return void
+ */
+ private function _network()
+ {
+ if (CommonFunctions::executeProgram('ifconfig', '-a', $bufr,
PSI_DEBUG)) {
+ $lines = preg_split("/\n/", $bufr, -1, PREG_SPLIT_NO_EMPTY);
+ foreach ($lines as $line) {
+ if (preg_match("/^([^\s:]+):\saddress\s(\S+)\snetmask/",
$line, $ar_buf)) {
+ $dev = new NetDevice();
+ $dev->setName($ar_buf[1]);
+ if (defined('PSI_SHOW_NETWORK_INFOS') &&
(PSI_SHOW_NETWORK_INFOS)) {
+ $dev->setInfo($ar_buf[2]);
+ }
+ $this->sys->setNetDevices($dev);
+ }
+ }
+ }
+ }
+
+ /**
+ * get the information
+ *
+ * @return Void
+ */
+ public function build()
+ {
+ $this->error->addError("WARN", "The Minix version of phpSysInfo is a
work in progress, some things currently don't work");
+ $this->_hostname();
+ $this->_ip();
+ $this->_distro();
+ $this->_kernel();
+ $this->_uptime();
+ $this->_users();
+ $this->_loadavg();
+ $this->_pci();
+ $this->_cpuinfo();
+ $this->_memory();
+ $this->_filesystems();
+ $this->_network();
+ }
+}
Added:
branches/stavangerkommune/phpsysinfo/includes/output/class.Template.inc.php
===================================================================
--- branches/stavangerkommune/phpsysinfo/includes/output/class.Template.inc.php
(rev 0)
+++ branches/stavangerkommune/phpsysinfo/includes/output/class.Template.inc.php
2014-03-13 14:58:22 UTC (rev 11813)
@@ -0,0 +1,93 @@
+<?php
+/**
+ * basic output functions
+ *
+ * PHP version 5
+ *
+ * @category PHP
+ * @package PSI_Output
+ * @author Damien Roth <address@hidden>
+ * @copyright 2009 phpSysInfo
+ * @license http://opensource.org/licenses/gpl-2.0.php GNU General Public
License
+ * @version SVN: $Id: class.Output.inc.php 315 2009-09-02 15:48:31Z
bigmichi1 $
+ * @link http://phpsysinfo.sourceforge.net
+ */
+/**
+ * basic output functions for all output formats
+ *
+ * @category PHP
+ * @package PSI_Output
+ * @author Damien Roth <address@hidden>
+ * @copyright 2009 phpSysInfo
+ * @license http://opensource.org/licenses/gpl-2.0.php GNU General Public
License
+ * @version Release: 3.0
+ * @link http://phpsysinfo.sourceforge.net
+ */
+class Template
+{
+ /**
+ * Vars used in the template
+ *
+ * @Array
+ */
+ private $_vars;
+
+ /**
+ * Template file
+ *
+ * @String
+ */
+ private $_file;
+
+ /**
+ * Constructor
+ *
+ * @param String $file the template file name
+ */
+ public function __construct($file=null)
+ {
+ $this->_file = $file;
+ $this->_vars = array();
+ }
+
+ /**
+ * Set a template variable.
+ *
+ * @param string variable name
+ * @param string variable value
+ */
+ public function set($name, $value)
+ {
+ $this->_vars[$name] = is_object($value) ? $value->fetch() : $value;
+ }
+
+ /**
+ * Open, parse, and return the template file.
+ *
+ * @param string $file
+ *
+ * @return string
+ */
+ public function fetch($file=null)
+ {
+ if (!$file) {
+ $file = $this->_file;
+ }
+
+ // Extract the vars to local namespace
+ extract($this->_vars);
+
+ // Start output buffering
+ ob_start();
+
+ include(APP_ROOT.$file);
+
+ // Get the contents of the buffer
+ $contents = ob_get_contents();
+
+ // End buffering and discard
+ ob_end_clean();
+
+ return $contents;
+ }
+}
Added: branches/stavangerkommune/phpsysinfo/includes/ups/class.apcupsd.inc.php
===================================================================
--- branches/stavangerkommune/phpsysinfo/includes/ups/class.apcupsd.inc.php
(rev 0)
+++ branches/stavangerkommune/phpsysinfo/includes/ups/class.apcupsd.inc.php
2014-03-13 14:58:22 UTC (rev 11813)
@@ -0,0 +1,137 @@
+<?php
+/**
+ * Apcupsd class
+ *
+ * PHP version 5
+ *
+ * @category PHP
+ * @package PSI_UPS
+ * @author Michael Cramer <address@hidden>
+ * @copyright 2009 phpSysInfo
+ * @license http://opensource.org/licenses/gpl-2.0.php GNU General Public
License
+ * @version SVN: $Id: class.apcupsd.inc.php 661 2012-08-27 11:26:39Z namiltd
$
+ * @link http://phpsysinfo.sourceforge.net
+ */
+ /**
+ * getting ups information from apcupsd program
+ *
+ * @category PHP
+ * @package PSI_UPS
+ * @author Michael Cramer <address@hidden>
+ * @author Artem Volk <address@hidden>
+ * @copyright 2009 phpSysInfo
+ * @license http://opensource.org/licenses/gpl-2.0.php GNU General Public
License
+ * @version Release: 3.0
+ * @link http://phpsysinfo.sourceforge.net
+ */
+class Apcupsd extends UPS
+{
+ /**
+ * internal storage for all gathered data
+ *
+ * @var Array
+ */
+ private $_output = array();
+
+ /**
+ * get all information from all configured ups in config.php and store
output in internal array
+ */
+ public function __construct()
+ {
+ parent::__construct();
+ if ( defined('PSI_UPS_APCUPSD_LIST') &&
is_string(PSI_UPS_APCUPSD_LIST) ) {
+ if (preg_match(ARRAY_EXP, PSI_UPS_APCUPSD_LIST)) {
+ $upses = eval(PSI_UPS_APCUPSD_LIST);
+ } else {
+ $upses = array(PSI_UPS_APCUPSD_LIST);
+ }
+ foreach ($upses as $ups) {
+ CommonFunctions::executeProgram('apcaccess', 'status
'.trim($ups), $temp);
+ if (! empty($temp)) {
+ $this->_output[] = $temp;
+ }
+ }
+ }
+ }
+
+ /**
+ * parse the input and store data in resultset for xml generation
+ *
+ * @return Void
+ */
+ private function _info()
+ {
+ foreach ($this->_output as $ups) {
+
+ $dev = new UPSDevice();
+
+ // General info
+ if (preg_match('/^UPSNAME\s*:\s*(.*)$/m', $ups, $data)) {
+ $dev->setName(trim($data[1]));
+ }
+ if (preg_match('/^MODEL\s*:\s*(.*)$/m', $ups, $data)) {
+ $model=trim($data[1]);
+ if (preg_match('/^APCMODEL\s*:\s*(.*)$/m', $ups, $data)) {
+ $dev->setModel($model.' ('.trim($data[1]).')');
+ } else {
+ $dev->setModel($model);
+ }
+ }
+ if (preg_match('/^UPSMODE\s*:\s*(.*)$/m', $ups, $data)) {
+ $dev->setMode(trim($data[1]));
+ }
+ if (preg_match('/^STARTTIME\s*:\s*(.*)$/m', $ups, $data)) {
+ $dev->setStartTime(trim($data[1]));
+ }
+ if (preg_match('/^STATUS\s*:\s*(.*)$/m', $ups, $data)) {
+ $dev->setStatus(trim($data[1]));
+ }
+ if (preg_match('/^ITEMP\s*:\s*(.*)$/m', $ups, $data)) {
+ $dev->setTemperatur(trim($data[1]));
+ }
+ // Outages
+ if (preg_match('/^NUMXFERS\s*:\s*(.*)$/m', $ups, $data)) {
+ $dev->setOutages(trim($data[1]));
+ }
+ if (preg_match('/^LASTXFER\s*:\s*(.*)$/m', $ups, $data)) {
+ $dev->setLastOutage(trim($data[1]));
+ }
+ if (preg_match('/^XOFFBATT\s*:\s*(.*)$/m', $ups, $data)) {
+ $dev->setLastOutageFinish(trim($data[1]));
+ }
+ // Line
+ if (preg_match('/^LINEV\s*:\s*(\d*\.\d*)(.*)$/m', $ups, $data)) {
+ $dev->setLineVoltage(trim($data[1]));
+ }
+ if (preg_match('/^LOADPCT\s*:\s*(\d*\.\d*)(.*)$/m', $ups, $data)) {
+ $dev->setLoad(trim($data[1]));
+ }
+ // Battery
+ if (preg_match('/^BATTDATE\s*:\s*(.*)$/m', $ups, $data)) {
+ $dev->setBatteryDate(trim($data[1]));
+ }
+ if (preg_match('/^BATTV\s*:\s*(\d*\.\d*)(.*)$/m', $ups, $data)) {
+ $dev->setBatteryVoltage(trim($data[1]));
+ }
+ if (preg_match('/^BCHARGE\s*:\s*(\d*\.\d*)(.*)$/m', $ups, $data)) {
+ $dev->setBatterCharge(trim($data[1]));
+ }
+ if (preg_match('/^TIMELEFT\s*:\s*(\d*\.\d*)(.*)$/m', $ups, $data))
{
+ $dev->setTimeLeft(trim($data[1]));
+ }
+ $this->upsinfo->setUpsDevices($dev);
+ }
+ }
+
+ /**
+ * get the information
+ *
+ * @see PSI_Interface_UPS::build()
+ *
+ * @return Void
+ */
+ public function build()
+ {
+ $this->_info();
+ }
+}
Added: branches/stavangerkommune/phpsysinfo/includes/ups/class.nut.inc.php
===================================================================
--- branches/stavangerkommune/phpsysinfo/includes/ups/class.nut.inc.php
(rev 0)
+++ branches/stavangerkommune/phpsysinfo/includes/ups/class.nut.inc.php
2014-03-13 14:58:22 UTC (rev 11813)
@@ -0,0 +1,110 @@
+<?php
+/**
+ * Nut class
+ *
+ * PHP version 5
+ *
+ * @category PHP
+ * @package PSI_UPS
+ * @author Artem Volk <address@hidden>
+ * @author Anders Häggström <address@hidden>
+ * @copyright 2009 phpSysInfo
+ * @license http://opensource.org/licenses/gpl-2.0.php GNU General Public
License
+ * @version SVN: $Id: class.nut.inc.php 661 2012-08-27 11:26:39Z namiltd $
+ * @link http://phpsysinfo.sourceforge.net
+ */
+ /**
+ * getting ups information from upsc program
+ *
+ * @category PHP
+ * @package PSI_UPS
+ * @author Artem Volk <address@hidden>
+ * @author Anders Häggström <address@hidden>
+ * @copyright 2009 phpSysInfo
+ * @license http://opensource.org/licenses/gpl-2.0.php GNU General Public
License
+ * @version Release: 3.0
+ * @link http://phpsysinfo.sourceforge.net
+ */
+class Nut extends UPS
+{
+ /**
+ * internal storage for all gathered data
+ *
+ * @var array
+ */
+ private $_output = array();
+
+ /**
+ * get all information from all configured ups and store output in
internal array
+ */
+ public function __construct()
+ {
+ parent::__construct();
+ CommonFunctions::executeProgram('upsc', '-l', $output);
+ $ups_names = preg_split("/\n/", $output, -1, PREG_SPLIT_NO_EMPTY);
+ foreach ($ups_names as $value) {
+ CommonFunctions::executeProgram('upsc', $value, $temp);
+ $this->_output[$value] = $temp;
+ }
+ }
+
+ /**
+ * check if a specific value is set in an array
+ *
+ * @param object $hash array in which a specific value should be found
+ * @param object $key key that is looked for in the array
+ *
+ * @return array
+ */
+ private function _checkIsSet($hash, $key)
+ {
+ return isset($hash[$key]) ? $hash[$key] : '';
+ }
+
+ /**
+ * parse the input and store data in resultset for xml generation
+ *
+ * @return array
+ */
+ private function _info()
+ {
+ if (! empty($this->_output)) {
+ foreach ($this->_output as $name=>$value) {
+ $temp = preg_split("/\n/", $value, -1, PREG_SPLIT_NO_EMPTY);
+ $ups_data = array();
+ foreach ($temp as $value) {
+ $line = preg_split('/: /', $value, 2);
+ $ups_data[$line[0]] = isset($line[1]) ? trim($line[1]) :
'';
+ }
+ $dev = new UPSDevice();
+ //General
+ $dev->setName($name);
+ $dev->setModel($this->_checkIsSet($ups_data, 'ups.model'));
+ $dev->setMode($this->_checkIsSet($ups_data, 'driver.name'));
+ $dev->setStatus($this->_checkIsSet($ups_data, 'ups.status'));
+
+ //Line
+ $dev->setLineVoltage($this->_checkIsSet($ups_data,
'input.voltage'));
+ $dev->setLoad($this->_checkIsSet($ups_data, 'ups.load'));
+
+ //Battery
+ $dev->setBatteryVoltage($this->_checkIsSet($ups_data,
'battery.voltage'));
+ $dev->setBatterCharge($this->_checkIsSet($ups_data,
'battery.charge'));
+
+ $this->upsinfo->setUpsDevices($dev);
+ }
+ }
+ }
+
+ /**
+ * get the information
+ *
+ * @see PSI_Interface_UPS::build()
+ *
+ * @return Void
+ */
+ public function build()
+ {
+ $this->_info();
+ }
+}
Added: branches/stavangerkommune/phpsysinfo/includes/ups/class.ups.inc.php
===================================================================
--- branches/stavangerkommune/phpsysinfo/includes/ups/class.ups.inc.php
(rev 0)
+++ branches/stavangerkommune/phpsysinfo/includes/ups/class.ups.inc.php
2014-03-13 14:58:22 UTC (rev 11813)
@@ -0,0 +1,64 @@
+<?php
+/**
+ * Basic UPS Class
+ *
+ * PHP version 5
+ *
+ * @category PHP
+ * @package PSI_UPS
+ * @author Michael Cramer <address@hidden>
+ * @copyright 2009 phpSysInfo
+ * @license http://opensource.org/licenses/gpl-2.0.php GNU General Public
License
+ * @version SVN: $Id: class.ups.inc.php 661 2012-08-27 11:26:39Z namiltd $
+ * @link http://phpsysinfo.sourceforge.net
+ */
+ /**
+ * Basic UPS functions for all UPS classes
+ *
+ * @category PHP
+ * @package PSI_UPS
+ * @author Michael Cramer <address@hidden>
+ * @copyright 2009 phpSysInfo
+ * @license http://opensource.org/licenses/gpl-2.0.php GNU General Public
License
+ * @version Release: 3.0
+ * @link http://phpsysinfo.sourceforge.net
+ */
+abstract class UPS implements PSI_Interface_UPS
+{
+ /**
+ * object for error handling
+ *
+ * @var Error
+ */
+ protected $error;
+
+ /**
+ * main object for ups information
+ *
+ * @var UPSInfo
+ */
+ protected $upsinfo;
+
+ /**
+ * build the global Error object
+ */
+ public function __construct()
+ {
+ $this->error = Error::singleton();
+ $this->upsinfo = new UPSInfo();
+ }
+
+ /**
+ * build and return the ups information
+ *
+ * @see PSI_Interface_UPS::getUPSInfo()
+ *
+ * @return UPSInfo
+ */
+ final public function getUPSInfo()
+ {
+ $this->build();
+
+ return $this->upsinfo;
+ }
+}
Added: branches/stavangerkommune/phpsysinfo/js/jQuery/jquery-1.js
===================================================================
--- branches/stavangerkommune/phpsysinfo/js/jQuery/jquery-1.js
(rev 0)
+++ branches/stavangerkommune/phpsysinfo/js/jQuery/jquery-1.js 2014-03-13
14:58:22 UTC (rev 11813)
@@ -0,0 +1,9789 @@
+/*!
+ * jQuery JavaScript Library v1.10.2
+ * http://jquery.com/
+ *
+ * Includes Sizzle.js
+ * http://sizzlejs.com/
+ *
+ * Copyright 2005, 2013 jQuery Foundation, Inc. and other contributors
+ * Released under the MIT license
+ * http://jquery.org/license
+ *
+ * Date: 2013-07-03T13:48Z
+ */
+(function( window, undefined ) {
+
+// Can't do this because several apps including ASP.NET trace
+// the stack via arguments.caller.callee and Firefox dies if
+// you try to trace through "use strict" call chains. (#13335)
+// Support: Firefox 18+
+//"use strict";
+var
+ // The deferred used on DOM ready
+ readyList,
+
+ // A central reference to the root jQuery(document)
+ rootjQuery,
+
+ // Support: IE<10
+ // For `typeof xmlNode.method` instead of `xmlNode.method !== undefined`
+ core_strundefined = typeof undefined,
+
+ // Use the correct document accordingly with window argument (sandbox)
+ location = window.location,
+ document = window.document,
+ docElem = document.documentElement,
+
+ // Map over jQuery in case of overwrite
+ _jQuery = window.jQuery,
+
+ // Map over the $ in case of overwrite
+ _$ = window.$,
+
+ // [[Class]] -> type pairs
+ class2type = {},
+
+ // List of deleted data cache ids, so we can reuse them
+ core_deletedIds = [],
+
+ core_version = "1.10.2",
+
+ // Save a reference to some core methods
+ core_concat = core_deletedIds.concat,
+ core_push = core_deletedIds.push,
+ core_slice = core_deletedIds.slice,
+ core_indexOf = core_deletedIds.indexOf,
+ core_toString = class2type.toString,
+ core_hasOwn = class2type.hasOwnProperty,
+ core_trim = core_version.trim,
+
+ // Define a local copy of jQuery
+ jQuery = function( selector, context ) {
+ // The jQuery object is actually just the init constructor
'enhanced'
+ return new jQuery.fn.init( selector, context, rootjQuery );
+ },
+
+ // Used for matching numbers
+ core_pnum = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,
+
+ // Used for splitting on whitespace
+ core_rnotwhite = /\S+/g,
+
+ // Make sure we trim BOM and NBSP (here's looking at you, Safari 5.0
and IE)
+ rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,
+
+ // A simple way to check for HTML strings
+ // Prioritize #id over <tag> to avoid XSS via location.hash (#9521)
+ // Strict HTML recognition (#11290: must start with <)
+ rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,
+
+ // Match a standalone tag
+ rsingleTag = /^<(\w+)\s*\/?>(?:<\/\1>|)$/,
+
+ // JSON RegExp
+ rvalidchars = /^[\],:{}\s]*$/,
+ rvalidbraces = /(?:^|:|,)(?:\s*\[)+/g,
+ rvalidescape = /\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,
+ rvalidtokens =
/"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g,
+
+ // Matches dashed string for camelizing
+ rmsPrefix = /^-ms-/,
+ rdashAlpha = /-([\da-z])/gi,
+
+ // Used by jQuery.camelCase as callback to replace()
+ fcamelCase = function( all, letter ) {
+ return letter.toUpperCase();
+ },
+
+ // The ready event handler
@@ Diff output truncated at 153600 characters. @@
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Fmsystem-commits] [11813] bkbooking: stavanger phpsysinfo 2nd,
Kjell Arne Espedal <=