aboutsummaryrefslogtreecommitdiff
path: root/h-source/Application/Include/hardware.php
diff options
context:
space:
mode:
authorYuchen Pei <hi@ypei.me>2021-10-14 15:16:42 +1100
committerYuchen Pei <hi@ypei.me>2021-10-14 15:16:42 +1100
commit07f5140771388c9e0c8a99b0dd2e5d950bdb173b (patch)
tree323c00faef1edc7dea2e88ff581cc2258b2b6432 /h-source/Application/Include/hardware.php
parente119be145500700f3c465e12664403a07530a421 (diff)
moving h-source subdir out.
Diffstat (limited to 'h-source/Application/Include/hardware.php')
-rw-r--r--h-source/Application/Include/hardware.php576
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));
- }
-
-}