aboutsummaryrefslogtreecommitdiff
path: root/h-source/Application
diff options
context:
space:
mode:
authorAntonio Gallo <tonicucoz@gmail.com>2011-07-21 14:17:28 +0000
committerAntonio Gallo <tonicucoz@gmail.com>2011-07-21 14:17:28 +0000
commit32e60f1c2228e2a46707d15bec10cd54e476076c (patch)
treeb175c135564801c598bd20644edbfa85580ae220 /h-source/Application
parent5f551b2d89b02cd159bf35723695ab2343a87248 (diff)
added ethernet cards to the list of allowed hardware
Diffstat (limited to 'h-source/Application')
-rw-r--r--h-source/Application/Controllers/DownloadController.php5
-rw-r--r--h-source/Application/Controllers/EthernetcardsController.php164
-rw-r--r--h-source/Application/Controllers/GenericController.php14
-rw-r--r--h-source/Application/Include/hardware.php17
-rw-r--r--h-source/Application/Include/languages.php2
-rw-r--r--h-source/Application/Include/params.php2
-rw-r--r--h-source/Application/Models/EthernetcardsModel.php70
-rw-r--r--h-source/Application/Views/Download/index.php4
-rw-r--r--h-source/Application/Views/Ethernetcards/catalogue.php89
-rw-r--r--h-source/Application/Views/Hardware/left.php5
10 files changed, 363 insertions, 9 deletions
diff --git a/h-source/Application/Controllers/DownloadController.php b/h-source/Application/Controllers/DownloadController.php
index 2fcacfa..a51fc1d 100644
--- a/h-source/Application/Controllers/DownloadController.php
+++ b/h-source/Application/Controllers/DownloadController.php
@@ -231,4 +231,9 @@ class DownloadController extends BaseController
{
$this->printXml($lang, array('type'=>'fingerprint-reader','-deleted'=>'no'));
}
+
+ public function ethernetcards($lang = 'en')
+ {
+ $this->printXml($lang, array('type'=>'ethernet-card','-deleted'=>'no'));
+ }
} \ No newline at end of file
diff --git a/h-source/Application/Controllers/EthernetcardsController.php b/h-source/Application/Controllers/EthernetcardsController.php
new file mode 100644
index 0000000..40b90de
--- /dev/null
+++ b/h-source/Application/Controllers/EthernetcardsController.php
@@ -0,0 +1,164 @@
+<?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 EthernetcardsController 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('EthernetcardsModel');
+ $this->model('TalkModel');
+
+ $this->mod = $this->m['EthernetcardsModel'];
+
+ $this->m['HardwareModel']->id_user = $this->s['registered']->status['id_user'];
+ $this->m['HardwareModel']->type = 'ethernet-card';
+
+ //hardware conditions
+ $this->m['HardwareModel']->strongConditions['update'] = array(
+ "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",
+ "+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}",
+ "checkLength|99" => "model",
+ "+checkLength|299" => "distribution",
+ "++checkIsStrings|".Wifi::$commYear => "comm_year",
+ "+++checkIsStrings|".Ethernetcards::$select => "ethernet_card_works",
+ "++++checkIsStrings|".Ethernetcards::$interface => "interface",
+ );
+
+ $this->m['HardwareModel']->strongConditions['insert'] = array(
+ "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",
+ "+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}",
+ "checkLength|99" => "model",
+ "+checkLength|299" => "distribution",
+ "++checkIsStrings|".Wifi::$commYear => "comm_year",
+ "+++checkIsStrings|".Ethernetcards::$select => "ethernet_card_works",
+ "++++checkIsStrings|".Ethernetcards::$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\-\_\.\+\s\/\,\:\;\(\)\[\]]+$/" => "driver|only the following characters are allowed for the <i>driver</i> entry: a-z A-Z 0-9 - _ . + s / , : ; ( ) [ ]",
+ "+++checkLength|1000" => "other_names|the <i>other names</i> entry exceeds the value of 1000 characters",
+ );
+
+ $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\-\_\.\+\s\/\,\:\;\(\)\[\]]+$/" => "driver|only the following characters are allowed for the <i>driver</i> entry: a-z A-Z 0-9 - _ . + s / , : ; ( ) [ ]",
+ "+++checkLength|1000" => "other_names|the <i>other names</i> entry exceeds the value of 1000 characters",
+ );
+
+ $this->m['HardwareModel']->setFields('model,kernel,description,distribution,comm_year,ethernet_card_works,pci_id,interface,driver,other_names','sanitizeAll');
+
+ $argKeys = array(
+ 'page:forceNat' => 1,
+ 'history_page:forceNat' => 1,
+ 'vendor:sanitizeString' => 'undef',
+ 'comm_year:sanitizeString' => 'undef',
+ 'ethernet_card_works:sanitizeString' => 'undef',
+ 'interface:sanitizeString' => 'undef',
+ 'sort-by:sanitizeString' => 'undef'
+ );
+
+ $this->setArgKeys($argKeys);
+
+ $data['title'] = 'Ethernet cards';
+
+ $data['intefaceOptions'] = Ethernetcards::$interface;
+ $data['worksOptions'] = Ethernetcards::$select;
+ $data['worksField'] = 'ethernet_card_works';
+ $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'],
+ 'ethernet_card_works' => $this->viewArgs['ethernet_card_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/Controllers/GenericController.php b/h-source/Application/Controllers/GenericController.php
index 8ab98ba..f955820 100644
--- a/h-source/Application/Controllers/GenericController.php
+++ b/h-source/Application/Controllers/GenericController.php
@@ -75,8 +75,8 @@ class GenericController extends BaseController
$this->s['registered']->checkStatus();
-// if ($this->s['registered']->status['status'] === 'logged')
-// {
+ if ($this->s['registered']->status['status'] === 'logged' or Website::$allowAnonymousSubmission === "yes")
+ {
// if (!$this->s['registered']->checkCsrf($clean['token'])) $this->redirect($this->controller.'/catalogue/'.$this->lang,2,'wrong token..');
// if ($this->m['UsersModel']->isBlocked($this->s['registered']->status['id_user'])) $this->redirect('my/home/'.$this->lang,2,'your account has been blocked..');
@@ -145,11 +145,11 @@ class GenericController extends BaseController
$this->clean();
$this->load('xml_response');
}
-// }
-// else
-// {
-// $this->redirect("users/login/".$this->lang."?redirect=".$this->controller."/catalogue/".$this->lang,0);
-// }
+ }
+ else
+ {
+ $this->redirect("users/login/".$this->lang."?redirect=".$this->controller."/catalogue/".$this->lang,0);
+ }
}
public function del($lang = 'en', $token = '')
diff --git a/h-source/Application/Include/hardware.php b/h-source/Application/Include/hardware.php
index 5f6ea9b..999a540 100644
--- a/h-source/Application/Include/hardware.php
+++ b/h-source/Application/Include/hardware.php
@@ -24,13 +24,17 @@ if (!defined('EG')) die('Direct access not allowed!');
class Hardware
{
- public static $controllers = array('notebooks','wifi','videocards','printers','scanners','threegcards','soundcards','webcams','bluetooth','acquisitioncards','fingerprintreaders'); //used by UsersController::login()
+ public static $controllers = array('notebooks','wifi','videocards','printers','scanners','threegcards','soundcards','webcams','bluetooth','acquisitioncards','fingerprintreaders','ethernetcards'); //used by UsersController::login()
//classId => controller
public static $deviceClasses = array(
'0403' => 'soundcards',
'0280' => 'wifi',
'0300' => 'videocards',
+ '0200' => 'ethernetcards',
+ '0400' => 'acquisitioncards',
+ '0401' => 'acquisitioncards',
+ '0480' => 'acquisitioncards',
);
public static $icons = array(
@@ -45,6 +49,7 @@ class Hardware
'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',
);
public static $typeToController = array(
@@ -59,6 +64,7 @@ class Hardware
'bluetooth' => 'bluetooth',
'acquisition-card' => 'acquisitioncards',
'fingerprint-reader' => 'fingerprintreaders',
+ 'ethernet-card' => 'ethernetcards',
);
public static function getTypes()
@@ -369,4 +375,13 @@ class Fingerprintreaders extends Hardware
public static $interface = "not-specified,USB,PCI,PCI-E,mini-PCI,mini-PCI-E,ExpressCard,PC-Card,Firewire,Parallel,Serial";
+}
+
+class Ethernetcards 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";
+
} \ No newline at end of file
diff --git a/h-source/Application/Include/languages.php b/h-source/Application/Include/languages.php
index 940ea02..986f42a 100644
--- a/h-source/Application/Include/languages.php
+++ b/h-source/Application/Include/languages.php
@@ -244,6 +244,7 @@ class Lang
/*0206*/"The device page has to be approved by an administrator of the website" => "La pagina del dispositivo deve essere approvata da un amministratore del sito",
/*0207*/"permanently delete the device page" => "cancella definitivamente la pagina",
/*0208*/"This page has been permanently deleted by an administrator of the website" => "Questa pagina è stata definitivamente cancellata da un amministratore del sito",
+ /*0209*/"No ethernet devices found" => "Non è stata trovata alcuna scheda ethernet",
),
'es' => array
(
@@ -1011,6 +1012,7 @@ class MyStrings
'bluetooth' => 'bluetooth',
'acquisition-card' => 'acquisitioncards',
'fingerprint-reader' => 'fingerprintreaders',
+ 'ethernet-card' => 'ethernetcards',
);
public static function getTypes()
diff --git a/h-source/Application/Include/params.php b/h-source/Application/Include/params.php
index 1d3533b..ba4fef3 100644
--- a/h-source/Application/Include/params.php
+++ b/h-source/Application/Include/params.php
@@ -31,6 +31,8 @@ class Website
static public $mailServer = "";
static public $mailPassword = "";
+
+ static public $allowAnonymousSubmission = "yes";
}
class Account
diff --git a/h-source/Application/Models/EthernetcardsModel.php b/h-source/Application/Models/EthernetcardsModel.php
new file mode 100644
index 0000000..1727f71
--- /dev/null
+++ b/h-source/Application/Models/EthernetcardsModel.php
@@ -0,0 +1,70 @@
+<?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 EthernetcardsModel extends GenericModel
+{
+
+ public $type = 'ethernet-card'; //device type
+
+ public function __construct()
+ {
+
+ $this->_popupItemNames = array(
+ 'vendor' => 'vendor',
+ 'comm_year' => 'comm_year',
+ 'ethernet_card_works' => 'ethernet_card_works',
+ 'interface' => 'interface',
+ );
+
+ $this->_popupLabels = array(
+ 'vendor' => gtext("vendor"),
+ 'comm_year' => gtext("year"),
+ 'ethernet_card_works' => gtext("does it work?"),
+ 'interface' => gtext("interface"),
+ );
+
+ $this->_popupFunctions = array(
+ 'vendor' => 'betterVendor',
+ );
+
+ $this->createPopupWhere('vendor,ethernet_card_works,comm_year,interface');
+
+ $this->diffFields = array(
+ 'vendor' => gtext("vendor"),
+ 'model' => gtext('model name'),
+ 'other_names' => gtext('possible other names of the device'),
+ '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'),
+ 'ethernet_card_works' => gtext("does it work with free software?"),
+ 'driver' => gtext("free driver used"),
+ 'description' => gtext('Description'),
+ );
+
+ $this->fieldsWithBreaks = array(gtext('Description'),gtext('possible other names of the device'));
+
+ parent::__construct();
+ }
+
+} \ No newline at end of file
diff --git a/h-source/Application/Views/Download/index.php b/h-source/Application/Views/Download/index.php
index 5fbbef8..11d53c2 100644
--- a/h-source/Application/Views/Download/index.php
+++ b/h-source/Application/Views/Download/index.php
@@ -85,6 +85,10 @@
<td><?php echo gtext("Download the xml file of all the <b>fingerprint readers</b> in the database");?></td>
<td><a href="<?php echo $this->baseUrl."/download/fingerprintreaders/$lang";?>"><img src="<?php echo $this->baseUrl?>/Public/Img/H2O/download.png"></a></td>
</tr>
+ <tr>
+ <td><?php echo gtext("Download the xml file of all the <b>ethernet cards</b> in the database");?></td>
+ <td><a href="<?php echo $this->baseUrl."/download/ethernetcards/$lang";?>"><img src="<?php echo $this->baseUrl?>/Public/Img/H2O/download.png"></a></td>
+ </tr>
</table>
</div>
</div>
diff --git a/h-source/Application/Views/Ethernetcards/catalogue.php b/h-source/Application/Views/Ethernetcards/catalogue.php
new file mode 100644
index 0000000..09cad9a
--- /dev/null
+++ b/h-source/Application/Views/Ethernetcards/catalogue.php
@@ -0,0 +1,89 @@
+<?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['ethernet_card_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 ethernet devices 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>
+
+ <?php if ( strcmp($item['hardware']['other_names'],'') !== 0 ) { ?>
+ <div class="notebook_vendor">
+ <div class="inner_label"><?php echo gtext("possible other names of the device");?>:</div>
+ <div class="inner_value"><?php echo nl2br($item['hardware']['other_names']);?></div>
+ </div>
+ <?php } ?>
+
+ <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']['ethernet_card_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/Hardware/left.php b/h-source/Application/Views/Hardware/left.php
index 101a6ce..21fa3ec 100644
--- a/h-source/Application/Views/Hardware/left.php
+++ b/h-source/Application/Views/Hardware/left.php
@@ -69,5 +69,8 @@
<div class="hardware_element">
<img align="middle" class="hardware_element_image" src="<?php echo $this->baseUrl;?>/Public/Img/fingerprint_icon.png"><a class="hardware_element_link" href="<?php echo $this->baseUrl?>/fingerprintreaders/catalogue/<?php echo $lang;?>">Fingerprint readers</a>
</div>
-
+
+ <div class="hardware_element">
+ <img align="middle" class="hardware_element_image" src="<?php echo $this->baseUrl;?>/Public/Img/H2O/network-wired.png"><a class="hardware_element_link" href="<?php echo $this->baseUrl?>/ethernetcards/catalogue/<?php echo $lang;?>">Ethernet cards</a>
+ </div>
</div> \ No newline at end of file