aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAntonio Gallo <tonicucoz@gmail.com>2011-02-03 23:44:48 +0000
committerAntonio Gallo <tonicucoz@gmail.com>2011-02-03 23:44:48 +0000
commit190ded0397f9434a1fadd0f06775edb6dcf60272 (patch)
treee3f4ec0f53d26d185e5c0b043e3b3fdbe1643db9
parent67f94bb059506bf617d69a8af67e96a7f62632e8 (diff)
added webcams - part 1
-rw-r--r--h-source/Application/Controllers/DownloadController.php5
-rw-r--r--h-source/Application/Controllers/WebcamsController.php160
-rw-r--r--h-source/Application/Include/distributions.php1
-rw-r--r--h-source/Application/Include/hardware.php65
-rw-r--r--h-source/Application/Include/languages.php18
-rw-r--r--h-source/Application/Include/myFunctions.php29
-rw-r--r--h-source/Application/Models/WebcamsModel.php74
-rw-r--r--h-source/Application/Views/Hardware/left.php4
-rw-r--r--h-source/Application/Views/Notebooks/catalogue.php2
-rw-r--r--h-source/Application/Views/Notebooks/page.php2
-rw-r--r--h-source/Application/Views/Printers/catalogue.php2
-rw-r--r--h-source/Application/Views/Printers/page.php2
-rw-r--r--h-source/Application/Views/Scanners/catalogue.php2
-rw-r--r--h-source/Application/Views/Scanners/page.php2
-rw-r--r--h-source/Application/Views/Soundcards/catalogue.php2
-rw-r--r--h-source/Application/Views/Soundcards/form.php2
-rw-r--r--h-source/Application/Views/Soundcards/page.php2
-rw-r--r--h-source/Application/Views/Threegcards/catalogue.php2
-rw-r--r--h-source/Application/Views/Threegcards/page.php2
-rw-r--r--h-source/Application/Views/Videocards/catalogue.php2
-rw-r--r--h-source/Application/Views/Videocards/page.php2
-rw-r--r--h-source/Application/Views/Webcams/catalogue.php82
-rw-r--r--h-source/Application/Views/Webcams/form.php106
-rw-r--r--h-source/Application/Views/Webcams/page.php94
-rw-r--r--h-source/Application/Views/Wifi/catalogue.php4
-rw-r--r--h-source/Application/Views/Wifi/page.php4
-rw-r--r--h-source/Config/Route.php9
-rwxr-xr-xh-source/Public/Img/H2O/camera-web.pngbin0 -> 4956 bytes
-rwxr-xr-xh-source/Public/Img/H2O/camera-web_22.pngbin0 -> 1236 bytes
29 files changed, 661 insertions, 20 deletions
diff --git a/h-source/Application/Controllers/DownloadController.php b/h-source/Application/Controllers/DownloadController.php
index c3a9661..cf5aa3c 100644
--- a/h-source/Application/Controllers/DownloadController.php
+++ b/h-source/Application/Controllers/DownloadController.php
@@ -63,9 +63,12 @@ class DownloadController extends BaseController
$xml .= "\t\t<id>".$row['hardware']['id_hard']."</id>\n";
$xml .= "\t\t<type>".$row['hardware']['type']."</type>\n";
- if ($type === 'notebook')
+ if ($type === 'notebook' or $type === 'printer')
{
$xml .= "\t\t<subtype>".$row['hardware']['subtype']."</subtype>\n";
+ }
+ if ($type === 'notebook')
+ {
$xml .= "\t\t<free_bios>".$row['hardware']['bios']."</free_bios>\n";
}
diff --git a/h-source/Application/Controllers/WebcamsController.php b/h-source/Application/Controllers/WebcamsController.php
new file mode 100644
index 0000000..74425a2
--- /dev/null
+++ b/h-source/Application/Controllers/WebcamsController.php
@@ -0,0 +1,160 @@
+<?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!');
+
+class WebcamsController extends GenericController
+{
+
+ public function __construct($model, $controller, $queryString)
+ {
+
+ $this->_topMenuClasses['hardware'] = " class='currentitem'";
+
+ parent::__construct($model, $controller, $queryString);
+
+ //load the model
+ $this->model('HardwareModel');
+ $this->model('RevisionsModel');
+ $this->model('WebcamsModel');
+ $this->model('TalkModel');
+
+ $this->mod = $this->m['WebcamsModel'];
+
+ $this->m['HardwareModel']->id_user = $this->s['registered']->status['id_user'];
+ $this->m['HardwareModel']->type = 'webcam';
+
+ //hardware conditions
+ $this->m['HardwareModel']->strongConditions['update'] = array(
+ "checkIsStrings|".Webcams::vendorsList() => "vendor",
+ "checkNotEmpty" => "model|you have to fill the <i>model name</i> entry",
+ "checkMatch|/^[a-zA-Z0-9\-\_\.\+\s\(\)\@\[\]\/]+$/" => "model|characters not allowed in the <i>model name</i> entry",
+ "checkLength|99" => "model",
+ "+checkLength|299" => "distribution",
+ "++checkIsStrings|".Webcams::$commYear => "comm_year",
+ "+++checkIsStrings|".Webcams::$select => "webcam_works",
+ "++++checkIsStrings|".Webcams::$interface => "interface",
+ );
+
+ $this->m['HardwareModel']->strongConditions['insert'] = array(
+ "checkIsStrings|".Webcams::vendorsList() => "vendor",
+ "checkNotEmpty" => "model|you have to fill the <i>model name</i> entry",
+ "checkMatch|/^[a-zA-Z0-9\-\_\.\+\s\(\)\@\[\]\/]+$/" => "model|characters not allowed in the <i>model name</i> entry",
+ "checkLength|99" => "model",
+ "+checkLength|299" => "distribution",
+ "++checkIsStrings|".Webcams::$commYear => "comm_year",
+ "+++checkIsStrings|".Webcams::$select => "webcam_works",
+ "++++checkIsStrings|".Webcams::$interface => "interface",
+ );
+
+ $this->m['HardwareModel']->softConditions['update'] = array(
+ "checkMatch|/^[a-zA-Z0-9\-\_\.\+\s]+$/" => "kernel|characters not allowed in the <i>kernel</i> entry",
+ "checkLength|20000" => "description",
+ "+checkLength|49" => "kernel",
+ "++checkLength|49" => "driver",
+ "+checkMatch|/^[a-zA-Z0-9]{4}(\:)[a-zA-Z0-9]{4}$/" => "pci_id|<i>VendorID:ProductID</i> has to have the following format: [a-zA-Z0-9]{4}(\:)[a-zA-Z0-9]{4}",
+ "++checkMatch|/^[a-zA-Z0-9\-\_\.\+\s\/\,\:\;\(\)\[\]]+$/" => "driver|only the following characters are allowed for the <i>driver</i> entry: a-z A-Z 0-9 - _ . + s / , : ; ( ) [ ]",
+ );
+
+ $this->m['HardwareModel']->softConditions['insert'] = array(
+ "checkMatch|/^[a-zA-Z0-9\-\_\.\+\s]+$/" => "kernel|characters not allowed in the <i>kernel</i> entry",
+ "checkLength|20000" => "description",
+ "+checkLength|49" => "kernel",
+ "++checkLength|49" => "driver",
+ "+checkMatch|/^[a-zA-Z0-9]{4}(\:)[a-zA-Z0-9]{4}$/" => "pci_id|<i>VendorID:ProductID</i> has to have the following format: [a-zA-Z0-9]{4}(\:)[a-zA-Z0-9]{4}",
+ "++checkMatch|/^[a-zA-Z0-9\-\_\.\+\s\/\,\:\;\(\)\[\]]+$/" => "driver|only the following characters are allowed for the <i>driver</i> entry: a-z A-Z 0-9 - _ . + s / , : ; ( ) [ ]",
+ );
+
+ $this->m['HardwareModel']->setFields('vendor,model,kernel,description,distribution,comm_year,webcam_works,pci_id,interface,driver','sanitizeAll');
+
+ $argKeys = array(
+ 'page:forceNat' => 1,
+ 'history_page:forceNat' => 1,
+ 'vendor:sanitizeString' => 'undef',
+ 'comm_year:sanitizeString' => 'undef',
+ 'webcam_works:sanitizeString' => 'undef',
+ 'interface:sanitizeString' => 'undef',
+ 'sort-by:sanitizeString' => 'undef'
+ );
+
+ $this->setArgKeys($argKeys);
+
+ $data['title'] = 'Webcam';
+ $this->append($data);
+ }
+
+ public function catalogue($lang = 'en')
+ {
+ $this->shift(1);
+
+ $whereArray = array(
+ 'type' => $this->mod->type,
+ 'vendor' => $this->viewArgs['vendor'],
+ 'comm_year' => $this->viewArgs['comm_year'],
+ 'webcam_works' => $this->viewArgs['webcam_works'],
+ 'interface' => $this->viewArgs['interface'],
+ );
+
+ $this->mod->setWhereQueryClause($whereArray);
+
+ parent::catalogue($lang);
+ }
+
+ public function view($lang = 'en', $id = 0, $name = null)
+ {
+ parent::view($lang, $id, $name);
+ }
+
+ public function history($lang = 'en', $id = 0)
+ {
+ parent::history($lang, $id);
+ }
+
+ public function revision($lang = 'en', $id_rev = 0)
+ {
+ parent::revision($lang, $id_rev);
+ }
+
+ public function insert($lang = 'en', $token = '')
+ {
+ parent::insert($lang, $token);
+ }
+
+ public function update($lang = 'en', $token = '')
+ {
+ parent::update($lang, $token);
+ }
+
+ public function differences($lang = 'en', $id_hard = 0, $id_rev = 0)
+ {
+ parent::differences($lang, $id_hard, $id_rev);
+ }
+
+ public function climb($lang = 'en', $id_rev = 0, $token = '')
+ {
+ parent::climb($lang, $id_rev, $token);
+ }
+
+ public function talk($lang = 'en', $id_hard = 0, $token = '')
+ {
+ parent::talk($lang, $id_hard, $token);
+ }
+
+} \ No newline at end of file
diff --git a/h-source/Application/Include/distributions.php b/h-source/Application/Include/distributions.php
index acfed40..5b91346 100644
--- a/h-source/Application/Include/distributions.php
+++ b/h-source/Application/Include/distributions.php
@@ -38,6 +38,7 @@ class Distributions
'ututo_xs_2009' => 'UTUTO XS 2009',
'ututo_xs_2010' => 'UTUTO XS 2010',
'venenux_0_8' => 'VENENUX 0.8',
+ 'venenux_0_8_2' => 'VENENUX-EC 0.8.2',
);
public static function getList()
diff --git a/h-source/Application/Include/hardware.php b/h-source/Application/Include/hardware.php
index e4fc3e2..2ad9056 100644
--- a/h-source/Application/Include/hardware.php
+++ b/h-source/Application/Include/hardware.php
@@ -24,7 +24,7 @@ if (!defined('EG')) die('Direct access not allowed!');
class Hardware
{
- public static $controllers = array('notebooks','wifi','videocards','printers','scanners','threegcards','soundcards'); //used by UsersController::login()
+ public static $controllers = array('notebooks','wifi','videocards','printers','scanners','threegcards','soundcards','webcams'); //used by UsersController::login()
//classId => controller
public static $deviceClasses = array(
@@ -41,6 +41,7 @@ class Hardware
'scanner' => 'H2O/scanner_22.png',
'3G-card' => 'Crystal/usb_22.png',
'soundcard' => 'H2O/audio-card_22.png',
+ 'webcam' => 'H2O/camera-web_22.png',
);
public static $typeToController = array(
@@ -51,6 +52,7 @@ class Hardware
'scanner' => 'scanners',
'3G-card' => 'threegcards',
'soundcard' => 'soundcards',
+ 'webcam' => 'webcams',
);
public static function getControllerFromType($type)
@@ -156,6 +158,7 @@ class Wifi extends Hardware
{
public static $vendors = array(
"A-LINK" => "A-LINK",
+ "Acer" => "Acer",
"Airlink101" => "Airlink101",
"Atheros" => "Atheros",
"Belkin" => "Belkin",
@@ -168,10 +171,12 @@ class Wifi extends Hardware
"Linksys" => "Linksys",
"NEC" => "NEC",
"Netgear" => "Netgear",
+ "Micro Star International" => "Micro-Star-International",
"Ralink" => "Ralink",
"Realtek" => "Realtek",
"TOSHIBA" => "TOSHIBA",
"TP-LINK" => "TP-LINK",
+ "VIA Technologies, Inc" => "VIA-Technologies-Inc",
);
public static $interface = array(
@@ -229,7 +234,7 @@ class Videocard extends Hardware
"does_not_work" => "it does not work",
);
- public static $interface = "not-specified,PCI,AGP,PCI-E,ISA";
+ public static $interface = "not-specified,PCI,AGP,PCI-E,ISA,MCA,VLB";
public static function vendorsList()
{
@@ -420,4 +425,60 @@ class Soundcards extends Hardware
{
return implode(',',array_values(self::$vendors));
}
+}
+
+class Webcams extends Hardware
+{
+ public static $vendors = array(
+ "Acer" => "Acer",
+ "Aiptek Inc" => "Aiptek-Inc",
+ "Arkmicro Technologies Inc" => "Arkmicro-Technologies-Inc",
+ "Askey Computer Corporation" => "Askey-Computer-Corporation",
+ "Chicony Electronics CO" => "Chicony-Electronics-CO",
+ "Conexant Systems, Inc" => "Conexant-Systems-Inc",
+ "Creative Technology, Ltd" => "Creative-Technology-Ltd",
+ "Divio" => "Divio",
+ "Dynex" => "Dynex",
+ "eMPIA Technology, Inc" => "eMPIA-Technology-Inc",
+ "Genesys Logic, Inc" => "Genesys-Logic-Inc",
+ "Hama Trading Co" => "Hama-Trading-Co",
+ "Hewlett Packard" => "Hewlett-Packard",
+ "IMC Networks" => "IMC-Networks",
+ "Importek" => "Importek",
+ "iPassion Technology Inc" => "iPassion-Technology-Inc",
+ "KYE Systems Corp" => "KYE-Systems-Corp",
+ "Kinstone" => "Kinstone",
+ "Lenovo" => "Lenovo",
+ "LG Electronics" => "LG-Electronics",
+ "Logitech" => "Logitech",
+ "Microdia-Ltd" => "Microdia-Ltd",
+ "OmniVision Technologies, Inc" => "OmniVision-Technologies-Inc",
+ "Panasonic" => "Panasonic",
+ "Philips" => "Philips",
+ "PixArt Imaging Inc" => "PixArt-Imaging-Inc",
+ "Primax Electronics Ltd" => "Primax-Electronics-Ltd",
+ "Quanta Computer Inc." => "Quanta-Computer-Inc",
+ "Ricoh Company, Ltd" => "Ricoh-Company-Ltd",
+ "Sony Corporation" => "Sony-Corporation",
+ "STMicroelectronics" => "STMicroelectronics",
+ "Syntek Semiconductor Ltd" => "Syntek-Semiconductor-Ltd",
+ "Sunplus Technology Co" => "Sunplus-Technology-Co",
+ "Suyin" => "Suyin",
+ "Tekom Technologies, Inc" => "Tekom-Technologies-Inc",
+ "Trust International" => "Trust-International",
+ "USRobotics" => "USRobotics",
+ "ViewQuest Technologies, Inc" => "ViewQuest-Technologies-Inc",
+ "Vista Imaging, Inc" => "Vista-Imaging-Inc",
+ "Xirlink" => "Xirlink",
+ "Z-Star Microelectronics Corporation" => "Z-Star-Microelectronics-Corporation",
+ );
+
+ public static $select = 'yes,no';
+
+ public static $interface = "not-specified,USB,Firewire,Parallel,Wifi,Serial";
+
+ public static function vendorsList()
+ {
+ return implode(',',array_values(self::$vendors));
+ }
} \ No newline at end of file
diff --git a/h-source/Application/Include/languages.php b/h-source/Application/Include/languages.php
index 00fbeec..a7498b7 100644
--- a/h-source/Application/Include/languages.php
+++ b/h-source/Application/Include/languages.php
@@ -156,6 +156,7 @@ class Lang
"no" => "no",
"The following devices has not been found in the database" => "I seguenti device non sono stati trovati nel database",
"can you please insert them?" => "puoi gentilmente inserirli?",
+ "No webcams found" => "Non รจ stata trovata alcuna webcam",
),
'es' => array
(
@@ -397,6 +398,10 @@ class MyStrings
'soundcards' => array(
'element' => 'sound card',
),
+
+ 'webcams' => array(
+ 'element' => 'webcam',
+ ),
),
'fr' => array(
@@ -428,6 +433,10 @@ class MyStrings
'soundcards' => array(
'element' => 'sound card',
),
+
+ 'webcams' => array(
+ 'element' => 'webcam',
+ ),
),
'it' => array(
@@ -459,6 +468,10 @@ class MyStrings
'soundcards' => array(
'element' => 'sound card',
),
+
+ 'webcams' => array(
+ 'element' => 'webcam',
+ ),
),
'es' => array(
@@ -490,6 +503,10 @@ class MyStrings
'soundcards' => array(
'element' => 'sound card',
),
+
+ 'webcams' => array(
+ 'element' => 'webcam',
+ ),
),
);
@@ -502,6 +519,7 @@ class MyStrings
'scanner' => 'scanners',
'3G-card' => 'threegcards',
'soundcard' => 'soundcards',
+ 'webcam' => 'webcams',
);
public static function getTypes()
diff --git a/h-source/Application/Include/myFunctions.php b/h-source/Application/Include/myFunctions.php
index a7ccf58..b7fe7e4 100644
--- a/h-source/Application/Include/myFunctions.php
+++ b/h-source/Application/Include/myFunctions.php
@@ -351,6 +351,35 @@ function betterVendor($string)
"VIA-Technologies-Inc" => "VIA Technologies Inc",
"Xilinx-Corporation" => "Xilinx Corporation",
"Yamaha-Corporation" => "Yamaha Corporation",
+ "Aiptek-Inc" => "Aiptek Inc",
+ "Arkmicro-Technologies-Inc" => "Arkmicro Technologies Inc",
+ "Askey-Computer-Corporation" => "Askey Computer Corporation",
+ "Chicony-Electronics-CO" => "Chicony Electronics CO",
+ "Conexant-Systems-Inc" => "Conexant Systems, Inc",
+ "Creative-Technology-Ltd" => "Creative Technology, Ltd",
+ "eMPIA-Technology-Inc" => "eMPIA Technology, Inc",
+ "Genesys-Logic-Inc" => "Genesys Logic, Inc",
+ "Hama-Trading-Co" => "Hama Trading Co",
+ "Hewlett-Packard" => "Hewlett Packard",
+ "IMC-Networks" => "IMC Networks",
+ "iPassion-Technology-Inc" => "iPassion Technology Inc",
+ "KYE-Systems-Corp" => "KYE Systems Corp",
+ "LG-Electronics" => "LG Electronics",
+ "OmniVision-Technologies-Inc" => "OmniVision Technologies, Inc",
+ "PixArt-Imaging-Inc" => "PixArt Imaging Inc",
+ "Primax-Electronics-Ltd" => "Primax Electronics Ltd",
+ "Quanta-Computer-Inc" => "Quanta Computer Inc.",
+ "Ricoh-Company-Ltd" => "Ricoh Company, Ltd",
+ "Sony-Corporation" => "Sony Corporation",
+ "Syntek-Semiconductor-Ltd" => "Syntek Semiconductor Ltd",
+ "Sunplus-Technology-Co" => "Sunplus Technology Co",
+ "Tekom-Technologies-Inc" => "Tekom Technologies, Inc",
+ "Trust-International" => "Trust International",
+ "ViewQuest-Technologies-Inc" => "ViewQuest Technologies, Inc",
+ "Vista-Imaging-Inc" => "Vista Imaging, Inc",
+ "Z-Star-Microelectronics-Corporation" => "Z-Star Microelectronics Corporation",
+ "Micro-Star-International" => "Micro Star International",
+ "VIA-Technologies-Inc" => "VIA Technologies, Inc",
);
return (array_key_exists($string,$names)) ? $names[$string] : $string;
diff --git a/h-source/Application/Models/WebcamsModel.php b/h-source/Application/Models/WebcamsModel.php
new file mode 100644
index 0000000..567bd2f
--- /dev/null
+++ b/h-source/Application/Models/WebcamsModel.php
@@ -0,0 +1,74 @@
+<?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!');
+
+class WebcamsModel extends BaseModel
+{
+
+ public $type = 'webcam'; //device type
+
+ public function __construct()
+ {
+
+ $this->_popupItemNames = array(
+ 'vendor' => 'vendor',
+ 'comm_year' => 'comm_year',
+ 'webcam_works' => 'webcam_works',
+ 'interface' => 'interface',
+ );
+
+ $this->_popupLabels = array(
+ 'vendor' => gtext("vendor"),
+ 'comm_year' => gtext("year"),
+ 'webcam_works' => gtext("does it work?"),
+ 'interface' => gtext("interface"),
+ );
+
+ $this->_popupFunctions = array(
+ 'vendor' => 'betterVendor',
+ );
+
+ $this->_popupWhere = array(
+ 'vendor' => 'type="webcam" and deleted="no"',
+ 'comm_year' => 'type="webcam" and deleted="no"',
+ 'webcam_works' => 'type="webcam" and deleted="no"',
+ 'interface' => 'type="webcam" and deleted="no"',
+ );
+
+ $this->diffFields = array(
+ 'vendor' => gtext("vendor"),
+ 'model' => gtext('model name'),
+ 'pci_id' => gtext("VendorID:ProductID code of the device"),
+ 'comm_year' => gtext('year of commercialization'),
+ 'interface' => gtext("interface"),
+ 'distribution' => gtext('GNU/Linux distribution used for the test'),
+ 'kernel' => gtext('tested with the following kernel libre'),
+ 'webcam_works' => gtext("does it work with free software?"),
+ 'driver' => gtext("free driver used"),
+ 'description' => gtext('Description'),
+ );
+
+ $this->fieldsWithBreaks = array(gtext('Description'));
+
+ parent::__construct();
+ }
+
+} \ No newline at end of file
diff --git a/h-source/Application/Views/Hardware/left.php b/h-source/Application/Views/Hardware/left.php
index 084838a..133b581 100644
--- a/h-source/Application/Views/Hardware/left.php
+++ b/h-source/Application/Views/Hardware/left.php
@@ -53,5 +53,9 @@
<div class="hardware_element">
<img align="middle" class="hardware_element_image" src="<?php echo $this->baseUrl;?>/Public/Img/H2O/audio-card.png"><a class="hardware_element_link" href="<?php echo $this->baseUrl?>/soundcards/catalogue/<?php echo $lang;?>">Sound cards</a>
</div>
+
+ <div class="hardware_element">
+ <img align="middle" class="hardware_element_image" src="<?php echo $this->baseUrl;?>/Public/Img/H2O/camera-web.png"><a class="hardware_element_link" href="<?php echo $this->baseUrl?>/webcams/catalogue/<?php echo $lang;?>">Webcams</a>
+ </div>
</div> \ No newline at end of file
diff --git a/h-source/Application/Views/Notebooks/catalogue.php b/h-source/Application/Views/Notebooks/catalogue.php
index 77d551c..d16b8de 100644
--- a/h-source/Application/Views/Notebooks/catalogue.php
+++ b/h-source/Application/Views/Notebooks/catalogue.php
@@ -45,7 +45,7 @@
<div class="model_viewall">
<div class="notebook_model">
- <img align="top" class="catalogue_item_icon" src="<?php echo $this->baseUrl."/Public/Img/H2O/computer-laptop_22.png";?>"><span class="span_model_name"><?php echo gtext("model");?>: <b><?php echo $item['hardware']['model'];?></b></span>
+ <img align="top" class="catalogue_item_icon" src="<?php echo Hardware::getIconFromType($item['hardware']['type']);?>"><span class="span_model_name"><?php echo gtext("model");?>: <b><?php echo $item['hardware']['model'];?></b></span>
</div>
<div class="notebook_vendor">
diff --git a/h-source/Application/Views/Notebooks/page.php b/h-source/Application/Views/Notebooks/page.php
index 3094e78..4de99ff 100644
--- a/h-source/Application/Views/Notebooks/page.php
+++ b/h-source/Application/Views/Notebooks/page.php
@@ -37,7 +37,7 @@
<?php } ?>
<div class="notebook_model">
- <img align="top" class="catalogue_item_icon" src="<?php echo $this->baseUrl."/Public/Img/H2O/computer-laptop_22.png";?>"> <span class="span_model_name"><?php echo gtext("model");?>: <b><?php echo $item[$tableName]['model'];?></b><span class="model_id">(<?php echo gtext("model id");?>: <?php echo $id_hard;?>)</span></span>
+ <img align="top" class="catalogue_item_icon" src="<?php echo Hardware::getIconFromType($item[$tableName]['type']);?>"> <span class="span_model_name"><?php echo gtext("model");?>: <b><?php echo $item[$tableName]['model'];?></b><span class="model_id">(<?php echo gtext("model id");?>: <?php echo $id_hard;?>)</span></span>
<?php if (strcmp($islogged,'yes') === 0 and strcmp($this->action,'view') === 0) { ?>
<span class="ask_for_removal_class"><a class="ask_for_removal_class_link" href="<?php echo $this->baseUrl;?>">ask for removal</a></span>
<?php } ?>
diff --git a/h-source/Application/Views/Printers/catalogue.php b/h-source/Application/Views/Printers/catalogue.php
index 6088bb0..3a166dd 100644
--- a/h-source/Application/Views/Printers/catalogue.php
+++ b/h-source/Application/Views/Printers/catalogue.php
@@ -45,7 +45,7 @@
<div class="model_viewall">
<div class="notebook_model">
- <img align="top" class="catalogue_item_icon" src="<?php echo $this->baseUrl."/Public/Img/H2O/printer_22.png";?>"> <span class="span_model_name"><?php echo gtext("model");?>: <b><?php echo $item['hardware']['model'];?></b></span>
+ <img align="top" class="catalogue_item_icon" src="<?php echo Hardware::getIconFromType($item['hardware']['type']);?>"> <span class="span_model_name"><?php echo gtext("model");?>: <b><?php echo $item['hardware']['model'];?></b></span>
</div>
<div class="notebook_vendor">
diff --git a/h-source/Application/Views/Printers/page.php b/h-source/Application/Views/Printers/page.php
index a84a695..8e3d463 100644
--- a/h-source/Application/Views/Printers/page.php
+++ b/h-source/Application/Views/Printers/page.php
@@ -37,7 +37,7 @@
<?php } ?>
<div class="notebook_model">
- <img align="top" class="catalogue_item_icon" src="<?php echo $this->baseUrl."/Public/Img/H2O/printer_22.png";?>"> <span class="span_model_name"><?php echo gtext("model");?>: <b><?php echo $item[$tableName]['model'];?></b><span class="model_id">(<?php echo gtext("model id");?>: <?php echo $id_hard;?>)</span></span>
+ <img align="top" class="catalogue_item_icon" src="<?php echo Hardware::getIconFromType($item[$tableName]['type']);?>"> <span class="span_model_name"><?php echo gtext("model");?>: <b><?php echo $item[$tableName]['model'];?></b><span class="model_id">(<?php echo gtext("model id");?>: <?php echo $id_hard;?>)</span></span>
<?php if (strcmp($islogged,'yes') === 0 and strcmp($this->action,'view') === 0) { ?>
<span class="ask_for_removal_class"><a class="ask_for_removal_class_link" href="<?php echo $this->baseUrl;?>">ask for removal</a></span>
<?php } ?>
diff --git a/h-source/Application/Views/Scanners/catalogue.php b/h-source/Application/Views/Scanners/catalogue.php
index ea2b665..d0a3c94 100644
--- a/h-source/Application/Views/Scanners/catalogue.php
+++ b/h-source/Application/Views/Scanners/catalogue.php
@@ -45,7 +45,7 @@
<div class="model_viewall">
<div class="notebook_model">
- <img align="top" class="catalogue_item_icon" src="<?php echo $this->baseUrl."/Public/Img/H2O/scanner_22.png";?>"> <span class="span_model_name"><?php echo gtext("model");?>: <b><?php echo $item['hardware']['model'];?></b></span>
+ <img align="top" class="catalogue_item_icon" src="<?php echo Hardware::getIconFromType($item['hardware']['type']);?>"> <span class="span_model_name"><?php echo gtext("model");?>: <b><?php echo $item['hardware']['model'];?></b></span>
</div>
<div class="notebook_vendor">
diff --git a/h-source/Application/Views/Scanners/page.php b/h-source/Application/Views/Scanners/page.php
index 4a181cd..1998377 100644
--- a/h-source/Application/Views/Scanners/page.php
+++ b/h-source/Application/Views/Scanners/page.php
@@ -37,7 +37,7 @@
<?php } ?>
<div class="notebook_model">
- <img align="top" class="catalogue_item_icon" src="<?php echo $this->baseUrl."/Public/Img/H2O/scanner_22.png";?>"> <span class="span_model_name"><?php echo gtext("model");?>: <b><?php echo $item[$tableName]['model'];?></b><span class="model_id">(<?php echo gtext("model id");?>: <?php echo $id_hard;?>)</span></span>
+ <img align="top" class="catalogue_item_icon" src="<?php echo Hardware::getIconFromType($item[$tableName]['type']);?>"> <span class="span_model_name"><?php echo gtext("model");?>: <b><?php echo $item[$tableName]['model'];?></b><span class="model_id">(<?php echo gtext("model id");?>: <?php echo $id_hard;?>)</span></span>
<?php if (strcmp($islogged,'yes') === 0 and strcmp($this->action,'view') === 0) { ?>
<span class="ask_for_removal_class"><a class="ask_for_removal_class_link" href="<?php echo $this->baseUrl;?>">ask for removal</a></span>
<?php } ?>
diff --git a/h-source/Application/Views/Soundcards/catalogue.php b/h-source/Application/Views/Soundcards/catalogue.php
index 61875c6..fd3daab 100644
--- a/h-source/Application/Views/Soundcards/catalogue.php
+++ b/h-source/Application/Views/Soundcards/catalogue.php
@@ -45,7 +45,7 @@
<div class="model_viewall">
<div class="notebook_model">
- <img align="top" class="catalogue_item_icon" src="<?php echo $this->baseUrl."/Public/Img/H2O/audio-card_22.png";?>"> <span class="span_model_name"><?php echo gtext("model");?>: <b><?php echo $item['hardware']['model'];?></b></span>
+ <img align="top" class="catalogue_item_icon" src="<?php echo Hardware::getIconFromType($item['hardware']['type']);?>"> <span class="span_model_name"><?php echo gtext("model");?>: <b><?php echo $item['hardware']['model'];?></b></span>
</div>
<div class="notebook_vendor">
diff --git a/h-source/Application/Views/Soundcards/form.php b/h-source/Application/Views/Soundcards/form.php
index ca57502..03858da 100644
--- a/h-source/Application/Views/Soundcards/form.php
+++ b/h-source/Application/Views/Soundcards/form.php
@@ -79,7 +79,7 @@
<div class="form_entry">
<div class="entry_label hidden_x_explorer"><?php echo gtext("does it work with free software?");?></div>
- <?php echo Html_Form::select('sound_card_works',$values['sound_card_works'],Wifi::$wifiSelect,"select_entry hidden_x_explorer");?>
+ <?php echo Html_Form::select('sound_card_works',$values['sound_card_works'],Soundcards::$audioSelect,"select_entry hidden_x_explorer");?>
</div>
<div class="form_entry">
diff --git a/h-source/Application/Views/Soundcards/page.php b/h-source/Application/Views/Soundcards/page.php
index a0ec548..75ea7e6 100644
--- a/h-source/Application/Views/Soundcards/page.php
+++ b/h-source/Application/Views/Soundcards/page.php
@@ -37,7 +37,7 @@
<?php } ?>
<div class="notebook_model">
- <img align="top" class="catalogue_item_icon" src="<?php echo $this->baseUrl."/Public/Img/H2O/audio-card_22.png";?>"> <span class="span_model_name"><?php echo gtext("model");?>: <b><?php echo $item[$tableName]['model'];?></b><span class="model_id">(<?php echo gtext("model id");?>: <?php echo $id_hard;?>)</span></span>
+ <img align="top" class="catalogue_item_icon" src="<?php echo Hardware::getIconFromType($item[$tableName]['type']);?>"> <span class="span_model_name"><?php echo gtext("model");?>: <b><?php echo $item[$tableName]['model'];?></b><span class="model_id">(<?php echo gtext("model id");?>: <?php echo $id_hard;?>)</span></span>
<?php if (strcmp($islogged,'yes') === 0 and strcmp($this->action,'view') === 0) { ?>
<span class="ask_for_removal_class"><a class="ask_for_removal_class_link" href="<?php echo $this->baseUrl;?>">ask for removal</a></span>
<?php } ?>
diff --git a/h-source/Application/Views/Threegcards/catalogue.php b/h-source/Application/Views/Threegcards/catalogue.php
index b61431d..dc22f8c 100644
--- a/h-source/Application/Views/Threegcards/catalogue.php
+++ b/h-source/Application/Views/Threegcards/catalogue.php
@@ -45,7 +45,7 @@
<div class="model_viewall">
<div class="notebook_model">
- <img align="top" class="catalogue_item_icon" src="<?php echo $this->baseUrl."/Public/Img/Crystal/usb_22.png";?>"> <span class="span_model_name"><?php echo gtext("model");?>: <b><?php echo $item['hardware']['model'];?></b></span>
+ <img align="top" class="catalogue_item_icon" src="<?php echo Hardware::getIconFromType($item['hardware']['type']);?>"> <span class="span_model_name"><?php echo gtext("model");?>: <b><?php echo $item['hardware']['model'];?></b></span>
</div>
<div class="notebook_vendor">
diff --git a/h-source/Application/Views/Threegcards/page.php b/h-source/Application/Views/Threegcards/page.php
index a0019bc..61752d8 100644
--- a/h-source/Application/Views/Threegcards/page.php
+++ b/h-source/Application/Views/Threegcards/page.php
@@ -37,7 +37,7 @@
<?php } ?>
<div class="notebook_model">
- <img align="top" class="catalogue_item_icon" src="<?php echo $this->baseUrl."/Public/Img/Crystal/usb_22.png";?>"> <span class="span_model_name"><?php echo gtext("model");?>: <b><?php echo $item[$tableName]['model'];?></b><span class="model_id">(<?php echo gtext("model id");?>: <?php echo $id_hard;?>)</span></span>
+ <img align="top" class="catalogue_item_icon" src="<?php echo Hardware::getIconFromType($item[$tableName]['type']);?>"> <span class="span_model_name"><?php echo gtext("model");?>: <b><?php echo $item[$tableName]['model'];?></b><span class="model_id">(<?php echo gtext("model id");?>: <?php echo $id_hard;?>)</span></span>
<?php if (strcmp($islogged,'yes') === 0 and strcmp($this->action,'view') === 0) { ?>
<span class="ask_for_removal_class"><a class="ask_for_removal_class_link" href="<?php echo $this->baseUrl;?>">ask for removal</a></span>
<?php } ?>
diff --git a/h-source/Application/Views/Videocards/catalogue.php b/h-source/Application/Views/Videocards/catalogue.php
index 2398735..ff9b7fd 100644
--- a/h-source/Application/Views/Videocards/catalogue.php
+++ b/h-source/Application/Views/Videocards/catalogue.php
@@ -45,7 +45,7 @@
<div class="model_viewall">
<div class="notebook_model">
- <img align="top" class="catalogue_item_icon" src="<?php echo $this->baseUrl."/Public/Img/Crystal/1282042976_hardware.png";?>"> <span class="span_model_name"><?php echo gtext("model");?>: <b><?php echo $item['hardware']['model'];?></b></span>
+ <img align="top" class="catalogue_item_icon" src="<?php echo Hardware::getIconFromType($item['hardware']['type']);?>"> <span class="span_model_name"><?php echo gtext("model");?>: <b><?php echo $item['hardware']['model'];?></b></span>
</div>
<div class="notebook_vendor">
diff --git a/h-source/Application/Views/Videocards/page.php b/h-source/Application/Views/Videocards/page.php
index 4e09c28..68612ad 100644
--- a/h-source/Application/Views/Videocards/page.php
+++ b/h-source/Application/Views/Videocards/page.php
@@ -37,7 +37,7 @@
<?php } ?>
<div class="notebook_model">
- <img align="top" class="catalogue_item_icon" src="<?php echo $this->baseUrl."/Public/Img/Crystal/1282042976_hardware.png";?>"> <span class="span_model_name"><?php echo gtext("model");?>: <b><?php echo $item[$tableName]['model'];?></b><span class="model_id">(<?php echo gtext("model id");?>: <?php echo $id_hard;?>)</span></span>
+ <img align="top" class="catalogue_item_icon" src="<?php echo Hardware::getIconFromType($item[$tableName]['type']);?>"> <span class="span_model_name"><?php echo gtext("model");?>: <b><?php echo $item[$tableName]['model'];?></b><span class="model_id">(<?php echo gtext("model id");?>: <?php echo $id_hard;?>)</span></span>
<?php if (strcmp($islogged,'yes') === 0 and strcmp($this->action,'view') === 0) { ?>
<span class="ask_for_removal_class"><a class="ask_for_removal_class_link" href="<?php echo $this->baseUrl;?>">ask for removal</a></span>
<?php } ?>
diff --git a/h-source/Application/Views/Webcams/catalogue.php b/h-source/Application/Views/Webcams/catalogue.php
new file mode 100644
index 0000000..52a33db
--- /dev/null
+++ b/h-source/Application/Views/Webcams/catalogue.php
@@ -0,0 +1,82 @@
+<?php if (!defined('EG')) die('Direct access not allowed!'); ?>
+
+<?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/>.
+?>
+
+ <div class="viewall_popup_menu_box_external">
+ <div class="viewall_popup_menu_box">
+ <?php echo $popup;?>
+ </div>
+ <div class="viewall_popup_menu_status">
+ <div class="viewall_popup_menu_status_item"><?php echo betterVendor($this->viewArgs['vendor'])?></div>
+ <div class="viewall_popup_menu_status_item"><?php echo $this->viewArgs['comm_year']?></div>
+ <div class="viewall_popup_menu_status_item"><?php echo $this->viewArgs['webcam_works']?></div>
+ <div class="viewall_popup_menu_status_item"><?php echo $this->viewArgs['interface']?></div>
+ <div class="viewall_popup_menu_status_item"><?php echo $this->viewArgs['sort-by']?></div>
+ </div>
+ </div>
+
+ <!--if no notebooks found-->
+ <?php if (strcmp($recordNumber,0) === 0) { ?>
+ <div class="viewall_no_items_found">
+ <?php echo gtext("No webcams found");?>..
+ </div>
+ <?php } ?>
+
+ <!--loop-->
+ <?php foreach ($table as $item) {?>
+ <div class="model_viewall">
+
+ <div class="notebook_model">
+ <img align="top" class="catalogue_item_icon" src="<?php echo Hardware::getIconFromType($item['hardware']['type']);?>"> <span class="span_model_name"><?php echo gtext("model");?>: <b><?php echo $item['hardware']['model'];?></b></span>
+ </div>
+
+ <div class="notebook_vendor">
+ <div class="inner_label"><?php echo gtext("vendor");?>:</div>
+ <div class="inner_value"><?php echo betterVendor($item['hardware']['vendor']);?></div>
+ </div>
+
+ <div class="notebook_vendor">
+ <div class="inner_label"><?php echo gtext("year of commercialization");?>:</div>
+ <div class="inner_value"><b><?php echo $item['hardware']['comm_year'];?></b></div>
+ </div>
+
+ <div class="notebook_vendor">
+ <div class="inner_label"><?php echo gtext("interface");?>:</div>
+ <div class="inner_value"><b><?php echo $item['hardware']['interface'];?></b></div>
+ </div>
+
+ <div class="notebook_kernel">
+ <div class="inner_label"><?php echo gtext("does it work with free software?");?></div>
+ <div class="inner_value"><b><?php echo $item['hardware']['webcam_works'];?></b></div>
+ </div>
+
+ <div class="notebook_view_link">
+ <a href="<?php echo $this->baseUrl."/".$this->controller."/view/$lang/".$item['hardware']['id_hard'].'/'.encodeUrl($item['hardware']['model']).$this->viewStatus;?>"><?php echo gtext("view the other specifications");?>..</a>
+ </div>
+
+ </div>
+ <?php } ?>
+
+ <?php if (strcmp($recordNumber,0) !== 0) { ?>
+ <div class="history_page_list">
+ <?php echo gtext("page list");?>: <?php echo $pageList;?>
+ </div>
+ <?php } ?> \ No newline at end of file
diff --git a/h-source/Application/Views/Webcams/form.php b/h-source/Application/Views/Webcams/form.php
new file mode 100644
index 0000000..e60ddcf
--- /dev/null
+++ b/h-source/Application/Views/Webcams/form.php
@@ -0,0 +1,106 @@
+<?php if (!defined('EG')) die('Direct access not allowed!'); ?>
+
+<?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/>.
+?>
+
+ <script>
+
+ $(document).ready(function() {
+
+ dist_list_helper();
+
+ $("#bb_code").markItUp(mySettings);
+
+ });
+
+ </script>
+
+ <?php echo $notice;?>
+
+ <div class="notebooks_insert_form">
+ <form action="<?php echo $this->baseUrl."/".$this->controller."/".$this->action."/$lang/$token".$this->viewStatus;?>" method="POST">
+
+ <div class="edit_form">
+
+ <div class="form_entry">
+ <div class="entry_label"><?php echo gtext("vendor");?>:</div>
+ <?php echo Html_Form::select('vendor',$values['vendor'],Webcams::$vendors,"select_entry");?>
+ <a href="<?php echo $this->baseUrl."/issues/viewall/$lang/1/$token";?>">Vendor not present?</a>
+ </div>
+
+ <div class="form_entry">
+ <div class="entry_label"><?php echo gtext("model name");?>: <b>*</b></div>
+ <?php echo Html_Form::input('model',$values['model'],'input_entry');?>
+ </div>
+
+ <div class="form_entry">
+ <div class="entry_label"><?php echo gtext("VendorID:ProductID code of the device");?>:</div>
+ <?php echo Html_Form::input('pci_id',$values['pci_id'],'input_entry');?>
+ </div>
+
+ <div class="form_entry">
+ <div class="entry_label"><?php echo gtext("year of commercialization");?></div>
+ <?php echo Html_Form::select('comm_year',$values['comm_year'],Webcams::$commYear,"select_entry");?>
+ </div>
+
+ <div class="form_entry">
+ <div class="entry_label"><?php echo gtext("interface");?> (<?php echo gtext("set not-specified if not sure");?>)</div>
+ <?php echo Html_Form::select('interface',$values['interface'],Webcams::$interface,"select_entry");?>
+ </div>
+
+ <div class="form_entry td_with_distribution_checkboxes">
+ <div class="entry_label"><?php echo gtext("GNU/Linux distribution used for the test");?>: <b>*</b></div>
+ <?php include(ROOT . DS . APPLICATION_PATH . DS . 'Views' . DS . 'noscript_distributions.php');?>
+ <?php echo Html_Form::input('distribution',$values['distribution'],'input_entry input_distribution');?>
+ <?php echo Distributions::getFormHtml();?>
+ </div>
+
+ <div class="form_entry">
+ <div class="entry_label"><?php echo gtext("tested with the following kernel libre");?>:</div>
+ <?php echo Html_Form::input('kernel',$values['kernel'],'input_entry');?>
+ </div>
+
+ <div class="form_entry">
+ <div class="entry_label hidden_x_explorer"><?php echo gtext("does it work with free software?");?></div>
+ <?php echo Html_Form::select('webcam_works',$values['webcam_works'],Webcams::$select,"select_entry hidden_x_explorer");?>
+ </div>
+
+ <div class="form_entry">
+ <div class="entry_label hidden_x_explorer"><?php echo gtext("free driver used");?> (<?php echo gtext("see the help page or leave blank if you are not sure");?>):</div>
+ <?php echo Html_Form::input('driver',$values['driver'],'input_entry');?>
+ </div>
+
+ <div class="form_entry">
+ <div class="entry_label"><?php echo gtext("Description: (write here all the useful information)");?><br /><a href="<?php echo $this->baseUrl."/help/index/$lang#wiki-syntax";?>"><?php echo gtext("discover all the wiki tags");?></a></div>
+ <?php echo Html_Form::textarea('description',$values['description'],'textarea_entry','bb_code');?>
+ </div>
+
+ <?php echo $hiddenInput;?>
+
+ <input type="submit" name="<?php echo $submitName;?>" value="Save">
+
+ <div class="mandatory_fields_notice">
+ <?php echo gtext("Fields marked with <b>*</b> are mandatory");?>
+ </div>
+
+ </div>
+
+ </form>
+ </div> \ No newline at end of file
diff --git a/h-source/Application/Views/Webcams/page.php b/h-source/Application/Views/Webcams/page.php
new file mode 100644
index 0000000..75ea7e6
--- /dev/null
+++ b/h-source/Application/Views/Webcams/page.php
@@ -0,0 +1,94 @@
+<?php if (!defined('EG')) die('Direct access not allowed!'); ?>
+
+<?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/>.
+?>
+
+ <?php if (strcmp($isDeleted,'no') === 0) { ?>
+
+ <?php
+ $tableName = (strcmp($this->action,'view') === 0) ? 'hardware' : 'revisions';
+ ?>
+
+ <?php foreach ($table as $item) { ?>
+ <div class="notebooks_viewall">
+
+ <!--if revision-->
+ <?php if (strcmp($this->action,'revision') === 0) { ?>
+ <div class="revision_alert">
+ This is an old revision of this page, as edited by <b><?php echo getLinkToUser($u->getUser($updated_by));?></b> at <b><?php echo smartDate($update_date); ?></b>. It may differ significantly from the <a href="<?php echo $this->baseUrl."/".$this->controller."/view/$lang/$id_hard/".$name.$this->viewStatus;?>">current revision</a>.
+ </div>
+ <?php } ?>
+
+ <div class="notebook_model">
+ <img align="top" class="catalogue_item_icon" src="<?php echo Hardware::getIconFromType($item[$tableName]['type']);?>"> <span class="span_model_name"><?php echo gtext("model");?>: <b><?php echo $item[$tableName]['model'];?></b><span class="model_id">(<?php echo gtext("model id");?>: <?php echo $id_hard;?>)</span></span>
+ <?php if (strcmp($islogged,'yes') === 0 and strcmp($this->action,'view') === 0) { ?>
+ <span class="ask_for_removal_class"><a class="ask_for_removal_class_link" href="<?php echo $this->baseUrl;?>">ask for removal</a></span>
+ <?php } ?>
+ </div>
+
+ <div class="notebook_vendor">
+ <div class="inner_label"><?php echo gtext("vendor");?>:</div>
+ <div class="inner_value"><b><?php echo betterVendor($item[$tableName]['vendor']);?></b></div>
+ </div>
+
+ <div class="notebook_vendor">
+ <div class="inner_label"><?php echo gtext("VendorID:ProductID code of the device");?>:</div>
+ <div class="inner_value"><b><?php echo $item[$tableName]['pci_id'];?></b></div>
+ </div>
+
+ <div class="notebook_vendor">
+ <div class="inner_label"><?php echo gtext("year of commercialization");?>:</div>
+ <div class="inner_value"><b><?php echo $item[$tableName]['comm_year'];?></b></div>
+ </div>
+
+ <div class="notebook_vendor">
+ <div class="inner_label"><?php echo gtext("interface");?>:</div>
+ <div class="inner_value"><b><?php echo $item[$tableName]['interface'];?></b></div>
+ </div>
+
+ <div class="model_tested_on">
+ <div class="inner_label"><?php echo gtext("tested on");?>:</div>
+ <div class="inner_value"><b><?php echo Distributions::getName($item[$tableName]['distribution']);?></b></div>
+ </div>
+
+ <div class="notebook_kernel">
+ <div class="inner_label"><?php echo gtext("tested with the following kernel libre");?>:</div>
+ <div class="inner_value"><b><?php echo $item[$tableName]['kernel'];?></b></div>
+ </div>
+
+ <div class="notebook_kernel">
+ <div class="inner_label"><?php echo gtext("does it work with free software?");?></div>
+ <div class="inner_value"><b><?php echo $item[$tableName]['sound_card_works'];?></b></div>
+ </div>
+
+ <div class="notebook_kernel">
+ <div class="inner_label"><?php echo gtext("free driver used");?>:</div>
+ <div class="inner_value"><b><?php echo $item[$tableName]['driver'];?></b></div>
+ </div>
+
+ <div class="notebook_description">
+ <div class="notebook_description_label"><?php echo gtext("Description");?>:</div>
+ <div class="notebook_description_value"><?php echo decodeWikiText($item[$tableName]['description']);?></div>
+ </div>
+
+ </div>
+ <?php } ?>
+
+ <?php } ?> \ No newline at end of file
diff --git a/h-source/Application/Views/Wifi/catalogue.php b/h-source/Application/Views/Wifi/catalogue.php
index 473b9d2..6a67c00 100644
--- a/h-source/Application/Views/Wifi/catalogue.php
+++ b/h-source/Application/Views/Wifi/catalogue.php
@@ -45,12 +45,12 @@
<div class="model_viewall">
<div class="notebook_model">
- <img align="top" class="catalogue_item_icon" src="<?php echo $this->baseUrl."/Public/Img/H2O/network-wireless_22.png";?>"> <span class="span_model_name"><?php echo gtext("model");?>: <b><?php echo $item['hardware']['model'];?></b></span>
+ <img align="top" class="catalogue_item_icon" src="<?php echo Hardware::getIconFromType($item['hardware']['type']);?>"> <span class="span_model_name"><?php echo gtext("model");?>: <b><?php echo $item['hardware']['model'];?></b></span>
</div>
<div class="notebook_vendor">
<div class="inner_label"><?php echo gtext("vendor");?>:</div>
- <div class="inner_value"><?php echo $item['hardware']['vendor'];?></div>
+ <div class="inner_value"><?php echo betterVendor($item['hardware']['vendor']);?></div>
</div>
<div class="notebook_vendor">
diff --git a/h-source/Application/Views/Wifi/page.php b/h-source/Application/Views/Wifi/page.php
index b0b7f88..6bf9e8f 100644
--- a/h-source/Application/Views/Wifi/page.php
+++ b/h-source/Application/Views/Wifi/page.php
@@ -37,7 +37,7 @@
<?php } ?>
<div class="notebook_model">
- <img align="top" class="catalogue_item_icon" src="<?php echo $this->baseUrl."/Public/Img/H2O/network-wireless_22.png";?>"> <span class="span_model_name"><?php echo gtext("model");?>: <b><?php echo $item[$tableName]['model'];?></b><span class="model_id">(<?php echo gtext("model id");?>: <?php echo $id_hard;?>)</span></span>
+ <img align="top" class="catalogue_item_icon" src="<?php echo Hardware::getIconFromType($item[$tableName]['type']);?>"> <span class="span_model_name"><?php echo gtext("model");?>: <b><?php echo $item[$tableName]['model'];?></b><span class="model_id">(<?php echo gtext("model id");?>: <?php echo $id_hard;?>)</span></span>
<?php if (strcmp($islogged,'yes') === 0 and strcmp($this->action,'view') === 0) { ?>
<span class="ask_for_removal_class"><a class="ask_for_removal_class_link" href="<?php echo $this->baseUrl;?>">ask for removal</a></span>
<?php } ?>
@@ -45,7 +45,7 @@
<div class="notebook_vendor">
<div class="inner_label"><?php echo gtext("vendor");?>:</div>
- <div class="inner_value"><b><?php echo $item[$tableName]['vendor'];?></b></div>
+ <div class="inner_value"><b><?php echo betterVendor($item[$tableName]['vendor']);?></b></div>
</div>
<div class="notebook_vendor">
diff --git a/h-source/Config/Route.php b/h-source/Config/Route.php
index f86faf0..967bdc4 100644
--- a/h-source/Config/Route.php
+++ b/h-source/Config/Route.php
@@ -124,6 +124,15 @@ class Route
'soundcards,differences',
'soundcards,climb',
'soundcards,talk',
+ 'webcams,catalogue',
+ 'webcams,view',
+ 'webcams,history',
+ 'webcams,revision',
+ 'webcams,insert',
+ 'webcams,update',
+ 'webcams,differences',
+ 'webcams,climb',
+ 'webcams,talk',
);
//it can be 'yes' or 'no'
diff --git a/h-source/Public/Img/H2O/camera-web.png b/h-source/Public/Img/H2O/camera-web.png
new file mode 100755
index 0000000..c95f65c
--- /dev/null
+++ b/h-source/Public/Img/H2O/camera-web.png
Binary files differ
diff --git a/h-source/Public/Img/H2O/camera-web_22.png b/h-source/Public/Img/H2O/camera-web_22.png
new file mode 100755
index 0000000..8a0b339
--- /dev/null
+++ b/h-source/Public/Img/H2O/camera-web_22.png
Binary files differ