fmsystem-commits
[Top][All Lists]
Advanced

[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. @@



reply via email to

[Prev in Thread] Current Thread [Next in Thread]