diff options
author | Yuchen Pei <hi@ypei.me> | 2021-10-14 15:16:42 +1100 |
---|---|---|
committer | Yuchen Pei <hi@ypei.me> | 2021-10-14 15:16:42 +1100 |
commit | 07f5140771388c9e0c8a99b0dd2e5d950bdb173b (patch) | |
tree | 323c00faef1edc7dea2e88ff581cc2258b2b6432 /h-source/Application/Include/hardware.php | |
parent | e119be145500700f3c465e12664403a07530a421 (diff) |
moving h-source subdir out.
Diffstat (limited to 'h-source/Application/Include/hardware.php')
-rw-r--r-- | h-source/Application/Include/hardware.php | 576 |
1 files changed, 0 insertions, 576 deletions
diff --git a/h-source/Application/Include/hardware.php b/h-source/Application/Include/hardware.php deleted file mode 100644 index bd83987..0000000 --- a/h-source/Application/Include/hardware.php +++ /dev/null @@ -1,576 +0,0 @@ -<?php - -// h-source, a web software to build a community of people that want to share their hardware information. -// Copyright (C) 2010 Antonio Gallo (h-source-copyright.txt) -// -// This file is part of h-source -// -// h-source is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// h-source is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with h-source. If not, see <http://www.gnu.org/licenses/>. - -if (!defined('EG')) die('Direct access not allowed!'); - - -function translate($string) -{ - return Hardware::translate($string); -} - -function translate_and_gtext($string) -{ - return gtext(translate($string)); -} - -class Hardware -{ - - public static $translations = array( - "amd64" => 'x86-64/amd64', - "PC-Card" => 'PCMCIA/PC-Card', - "works_with_3D" => "works with 3D acceleration", - "works_without_3D" => "works, but without 3D acceleration", - "does_not_work" => "it does not work", - "can-be-installed" => "can be installed", - "pcmcia-controller" => "PCMCIA Controller", - "usb-controller" => "USB Controller", - "firewire-controller" => "Firewire Controller", - "heci-controller" => "HECI Controller", - ); - - public static $regExpressions = array( - "kernel" => "/^[a-zA-Z0-9\-\_\.\+\s\(\)\,]+$/", - "driver" => "/^[a-zA-Z0-9\-\_\.\+\s\/\,\:\;\(\)\[\]]+$/", - "vendorid_productid" => "/^[a-zA-Z0-9]{4}(\:)[a-zA-Z0-9]{4}$/", - "model" => "/^[a-zA-Z0-9\-\_\.\+\s\(\)\@\[\]\/\,\']+$/", - ); - - public static function translate($string) - { - if (array_key_exists($string,self::$translations)) - { - return self::$translations[$string]; - } - return $string; - } - - //classId => controller - public static $deviceClasses = array( - '0403' => 'soundcards', - '0280' => 'wifi', - '0300' => 'videocards', - '0200' => 'ethernetcards', - '0400' => 'acquisitioncards', - '0401' => 'acquisitioncards', - '0480' => 'acquisitioncards', - '0805' => 'sdcardreaders', - '0703' => 'modems', - '0104' => 'raidadapters', - '0c00' => 'hostcontrollers', - '0c03' => 'hostcontrollers', - '0780' => 'hostcontrollers', - '0607' => 'hostcontrollers', - '0e00' => 'raidadapters', - ); - - public static $icons = array( - 'notebook' => 'H2O/computer-laptop_22.png', - 'wifi' => 'H2O/network-wireless_22.png', - 'videocard' => 'Crystal/1282042976_hardware.png', - 'printer' => 'H2O/printer_22.png', - 'scanner' => 'H2O/scanner_22.png', - '3G-card' => 'Crystal/usb_22.png', - 'soundcard' => 'H2O/audio-card_22.png', - 'webcam' => 'H2O/camera-web_22.png', - 'bluetooth' => 'H2O/preferences-system-bluetooth-22.png', - 'acquisition-card' => 'Crystal/cam_mount-22.png', - 'fingerprint-reader' => 'fingerprint_icon-22.png', - 'ethernet-card' => 'H2O/network-wired_22.png', - 'sd-card-reader' => 'H2O/media-flash-sd-mmc_22.png', - 'modem' => 'Crystal/modem_22.png', - 'RAID-adapter' => 'Crystal/1282042976_hardware.png', - 'host-controller' => 'Crystal/1282042976_hardware.png', - ); - - public static $typeToController = array( - 'notebook' => 'notebooks', - 'wifi' => 'wifi', - 'videocard' => 'videocards', - 'printer' => 'printers', - 'scanner' => 'scanners', - '3G-card' => 'threegcards', - 'soundcard' => 'soundcards', - 'webcam' => 'webcams', - 'bluetooth' => 'bluetooth', - 'acquisition-card' => 'acquisitioncards', - 'fingerprint-reader' => 'fingerprintreaders', - 'ethernet-card' => 'ethernetcards', - 'sd-card-reader' => 'sdcardreaders', - 'modem' => 'modems', - 'RAID-adapter' => 'raidadapters', - 'host-controller' => 'hostcontrollers', - ); - - public static $typeToWorksField = array( - 'notebook' => 'compatibility', - 'wifi' => 'wifi_works', - 'videocard' => 'video_card_works', - 'printer' => 'compatibility', - 'scanner' => 'compatibility', - '3G-card' => 'wifi_works', - 'soundcard' => 'sound_card_works', - 'webcam' => 'webcam_works', - 'bluetooth' => 'bluetooth_works', - 'acquisition-card' => 'compatibility', - 'fingerprint-reader' => 'fingerprint_works', - 'ethernet-card' => 'ethernet_card_works', - 'sd-card-reader' => 'sd_card_works', - 'modem' => 'compatibility', - 'RAID-adapter' => 'compatibility', - 'host-controller' => 'compatibility', - ); - - public static function getTypes() - { - return implode(',',array_keys(self::$typeToController)); - } - - public static function getControllerFromType($type) - { - if (array_key_exists($type,self::$typeToController)) - { - return self::$typeToController[$type]; - } - return null; - } - - public static function getWorksFieldFromType($type) - { - if (array_key_exists($type,self::$typeToWorksField)) - { - return self::$typeToWorksField[$type]; - } - return null; - } - - //get the type from the controller - public static function getTypeFromController($controller) - { - $temp = array_flip(self::$typeToController); - if (array_key_exists($controller,$temp)) - { - return $temp[$controller]; - } - return null; - } - - public static function getTypeFromClass($class) - { - if (array_key_exists($class,self::$deviceClasses)) - { - return self::getTypeFromController(self::$deviceClasses[$class]); - } - return null; - } - - public static function getIconFromType($type) - { - if (array_key_exists($type,self::$icons)) - { - return Url::getRoot()."Public/Img/".self::$icons[$type]; - } - return null; - } - - public static function getIconFromController($controller) - { - if ($type = self::getTypeFromController($controller)) - { - return self::getIconFromType($type); - } - return null; - } - - public static function getIconFromClass($class) - { - if (array_key_exists($class,self::$deviceClasses)) - { - return self::getIconFromController(self::$deviceClasses[$class]); - } - return null; - } - - //get the list of the allowed years of commercialization - public static function getCommYears() - { - $currentYear = (int)date("Y"); - $allowed = 'not-specified'; - - for ($i=$currentYear;$i>1991;$i--) - { - $allowed .= ",$i"; - } - return $allowed; - } - - public static $trackSelect = 'not-specified,no,yes'; - -} - -class Printer extends Hardware -{ - - public static $compatibility = array( - "A-Full" => "A-Full", - "B-Partial" => "B-Partial", - "C-None" => "C-None", - ); - - public static $interface = "not-specified,USB,Serial,Parallel,Firewire,SCSI,Ethernet"; - - public static $subtype = "not-specified,laser,inkjet,other"; - - public static function compatibilityList() - { - return implode(',',array_values(self::$compatibility)); - } - -} - -class Wifi extends Hardware -{ - - public static $interface = array( - "not-specified" => "not-specified", - "USB" => "USB", - "PCI" => "PCI", - "PCI-E" => "PCI-E", - "mini-PCI" => "mini-PCI", - "mini-PCI-E" => "mini-PCI-E", - "ExpressCard" => "ExpressCard", - "Ethernet" => "Ethernet", - "PCMCIA/PC-Card" => "PC-Card", - ); - - public static $interfaceReverse = array( - "not-specified" => "not-specified", - "USB" => "USB", - "PCI" => "PCI", - "PCI-E" => "PCI-E", - "mini-PCI" => "mini-PCI", - "mini-PCI-E" => "mini-PCI-E", - "ExpressCard" => "ExpressCard", - "Ethernet" => "Ethernet", - "PC-Card" => "PCMCIA/PC-Card", - ); - - public static $wifiSelect = 'yes,no'; - - public static function interfaceList() - { - return implode(',',array_values(self::$interface)); - } -} - -class Videocard extends Hardware -{ - - public static $videoSelect = array( - "works with 3D acceleration" => "works_with_3D", - "works, but without 3D acceleration" => "works_without_3D", - "it does not work" => "does_not_work", - ); - - public static $videoReverse = array( - "works_with_3D" => "works with 3D acceleration", - "works_without_3D" => "works, but without 3D acceleration", - "does_not_work" => "it does not work", - ); - - public static $interface = "not-specified,PCI,AGP,PCI-E,ISA,MCA,VLB"; - - public static function videoList() - { - return implode(',',array_values(self::$videoSelect)); - } -} - - -class Notebooks extends Hardware -{ - - public static $vendors = array( - "Acer" => "Acer", - "Apple" => "Apple", - "Asus" => "Asus", - "BenQ" => "BenQ", - "Blue Light" => "Blue-Light", - "CLEVO CO." => "CLEVO-CO", - "Compal Electronics" => "Compal-Electronics", - "COMPAQ" => "COMPAQ", - "Dell" => "Dell", - "emachines" => "emachines", - "FUJITSU" => "FUJITSU", - "Garlach44" => "Garlach44", - "Gateway" => "Gateway", - "Google" => "Google", - "Hasee" => "Hasee", - "Hewlett Packard" => "Hewlett-Packard", - "IBM" => "IBM", - "Intel" => "Intel", - "Lanix" => "Lanix", - "Lemote" => "Lemote", - "Lenovo" => "Lenovo", - "LG" => "LG", - "Libiquity" => "Libiquity", - "Minifree" => "Minifree", - "msi" => "msi", - "Olimex" => "Olimex", - "One Laptop per Child (Non-Profit)" => "One-Laptop-per-Child-Non-Profit", - "Openpandora Ltd." => "Openpandora-Ltd", - "Oracle" => "Oracle", - "Packard Bell" => "Packard-Bell", - "Panasonic" => "Panasonic", - "Philco" => "Philco", - "Philips" => "Philips", - "Positivo" => "Positivo", - "Purism" => "Purism", - "Qbex" => "Qbex", - "SAMSUNG" => "SAMSUNG", - "Slimbook" => "Slimbook", - "Sony" => "Sony", - "System76" => "System76", - "ThinkPenguin" => "ThinkPenguin", - "Thomson" => "Thomson", - "TOSHIBA" => "TOSHIBA", - "ZaReason, Inc" => "ZaReason-Inc", - ); - - public static $compatibility = array( - "A Platinum" => "A-platinum", - "B Gold" => "B-gold", - "C Silver" => "C-silver", - "D Bronze" => "D-bronze", - "E Garbage" => "E-garbage" - ); - - public static $subtypeSelect = 'notebook,netbook,tablet,not-specified'; - - public static $architectureSelect = array( - "not specified" => 'not-specified', - "x86" => 'x86', - "x86-64/amd64" => 'amd64', - "MIPS" => 'MIPS', - "ARM" => 'ARM', - ); - - public static $biosSelect = array( - "not specified" => 'not-specified', - "no" => 'no', - "yes" => 'yes', - "can be installed" => 'can-be-installed', - ); - - public static $preventWifiSelect = array( - "not specified" => 'not-specified', - "no" => 'no', - "yes (please specify in the description entry)" => 'yes', - ); - - public static $installableSelect = array( - "not specified" => 'not-specified', - "no (please specify in the description entry)" => 'no', - "yes" => 'yes', - ); - -// public static $installableSelect = 'not-specified,no,yes'; - - public static $videoSelect = array( - "not specified" => 'not-specified', - "yes, with 3D acceleration" => "yes_with_3D", - "yes, but without 3D acceleration" => "yes_without_3D", - "it does not work" => "no", - ); - - public static $videoReverse = array( - "yes_with_3D" => "works with 3D acceleration", - "yes_without_3D" => "works, but without 3D acceleration", - "no" => "it does not work", - 'not-specified' => "not specified how it works", - "" => "" - ); - - public static $wifiSelect = array( - "not specified" => 'not-specified', - 'yes' => 'yes', - 'no' => 'no', - 'there is no wifi card' => 'no-wifi-card', - ); - - public static $wifiReverse = array( - "yes" => "it works", - "no" => "it does not work", - 'not-specified' => "not specified how it works", - 'no-wifi-card' => 'there is no wifi card', - "" => "" - ); - - public static $webcamSelect = array( - 'not specified' => 'not-specified', - 'it works' => 'yes', - 'it does not work' => 'no', - 'there is no webcam' => 'there-is-no-webcam', - ); - - public static $webcamReverse = array( - "yes" => "it works", - "no" => "it does not work", - 'not-specified' => "not specified how it works", - 'there-is-no-webcam' => 'there is no webcam', - ); - - public static function videoList() - { - return implode(',',array_values(self::$videoSelect)); - } - - public static function wifiList() - { - return implode(',',array_values(self::$wifiSelect)); - } - - public static function webcamList() - { - return implode(',',array_values(self::$webcamSelect)); - } - - public static function vendorsList() - { - return implode(',',array_values(self::$vendors)); - } - - public static function compatibilityList() - { - return implode(',',array_values(self::$compatibility)); - } - - public static function architectureList() - { - return implode(',',array_values(self::$architectureSelect)); - } - - public static function biosList() - { - return implode(',',array_values(self::$biosSelect)); - } - - public static function preventWifiList() - { - return implode(',',array_values(self::$preventWifiSelect)); - } - - public static function installableList() - { - return implode(',',array_values(self::$installableSelect)); - } -} - -class ThreeGcards extends Wifi -{ - - public static $select = 'yes,no'; - - -} - -class Soundcards extends Hardware -{ - - public static $audioSelect = 'yes,no'; - - public static $interface = "not-specified,PCI,ISA,USB,Firewire,Parallel,PCI-E,PCMCIA"; - -} - -class Webcams extends Hardware -{ - - public static $select = 'yes,no'; - - public static $interface = "not-specified,USB,Firewire,Parallel,Wifi,Serial"; - -} - -class Bluetooth extends Hardware -{ - - public static $select = 'yes,no'; - - public static $interface = "not-specified,USB,PCI,PCI-E,mini-PCI,mini-PCI-E,ExpressCard,PC-Card"; - -} - -class Acquisitioncards extends Hardware -{ - - public static $select = 'yes,no'; - - public static $interface = "not-specified,USB,PCI,PCI-E,mini-PCI,mini-PCI-E,ExpressCard,PC-Card,Firewire,Parallel,Serial"; - -} - -class Fingerprintreaders extends Acquisitioncards -{ - -} - -class Ethernetcards extends Acquisitioncards -{ - -} - -class Sdcardreaders extends Acquisitioncards -{ - -} - -class Modems extends Acquisitioncards -{ - -} - -class Raidadapters extends Acquisitioncards -{ - -} - -class PCMCIAControllers extends Acquisitioncards -{ - -} - -class Hostcontrollers extends Acquisitioncards -{ - - public static $subtype = array( - "PCMCIA Controller" => "pcmcia-controller", - "USB Controller" => "usb-controller", - "Firewire Controller" => "firewire-controller", - "HECI Controller" => "heci-controller", - ); - - public static function subtypeList() - { - return implode(',',array_values(self::$subtype)); - } - -} |