aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAntonio Gallo <tonicucoz@gmail.com>2010-10-24 19:30:13 +0000
committerAntonio Gallo <tonicucoz@gmail.com>2010-10-24 19:30:13 +0000
commit4641de870cfa9c5d4c41a94328a8fb1f4adfdc78 (patch)
tree10ba2ad1ca50c4a91d605858d054fdd948927c2f
parent871d4231da58aff1902cdf260e887e1ee52d1716 (diff)
added 3G cards
-rw-r--r--h-source/Application/Controllers/DownloadController.php20
-rw-r--r--h-source/Application/Controllers/GenericController.php2
-rw-r--r--h-source/Application/Controllers/SearchController.php4
-rw-r--r--h-source/Application/Controllers/ThreegcardsController.php154
-rw-r--r--h-source/Application/Include/hardware.php29
-rw-r--r--h-source/Application/Include/languages.php60
-rw-r--r--h-source/Application/Include/myFunctions.php15
-rw-r--r--h-source/Application/Models/ThreegcardsModel.php71
-rw-r--r--h-source/Application/Views/Download/index.php4
-rw-r--r--h-source/Application/Views/Download/index_es.php4
-rw-r--r--h-source/Application/Views/Download/index_fr.php72
-rw-r--r--h-source/Application/Views/Download/index_it.php4
-rw-r--r--h-source/Application/Views/Hardware/left.php4
-rw-r--r--h-source/Application/Views/Threegcards/catalogue.php80
-rw-r--r--h-source/Application/Views/Threegcards/form.php100
-rw-r--r--h-source/Application/Views/Threegcards/page.php87
-rw-r--r--h-source/Config/Route.php10
-rwxr-xr-xh-source/Public/Css/website.css8
-rw-r--r--h-source/Public/Img/Acun/book.pngbin11591 -> 0 bytes
-rw-r--r--h-source/Public/Img/Acun/document_properties.pngbin8274 -> 0 bytes
-rw-r--r--h-source/Public/Img/Acun/filenew.pngbin9174 -> 0 bytes
-rw-r--r--h-source/Public/Img/Acun/go_previous.pngbin10751 -> 0 bytes
-rw-r--r--h-source/Public/Img/Acun/note.pngbin6045 -> 0 bytes
-rwxr-xr-xh-source/Public/Img/Crystal/usb.pngbin0 -> 8059 bytes
-rwxr-xr-xh-source/Public/Img/Crystal/usb_22.pngbin0 -> 1123 bytes
25 files changed, 682 insertions, 46 deletions
diff --git a/h-source/Application/Controllers/DownloadController.php b/h-source/Application/Controllers/DownloadController.php
index 4952456..d37cf36 100644
--- a/h-source/Application/Controllers/DownloadController.php
+++ b/h-source/Application/Controllers/DownloadController.php
@@ -93,11 +93,16 @@ class DownloadController extends BaseController
$xml .= "\t\t<videocard>".$row['hardware']['video_card_type']."</videocard>\n";
}
- if ($type === 'notebook' or $type === 'wifi')
+ if ($type === 'notebook')
{
$xml .= "\t\t<wifi_works>".$row['hardware']['wifi_works']."</wifi_works>\n";
}
+ if ($type === '3G-card' or $type === 'wifi')
+ {
+ $xml .= "\t\t<it_works>".$row['hardware']['wifi_works']."</it_works>\n";
+ }
+
if ($type === 'notebook' or $type === 'videocard')
{
$xml .= "\t\t<videocard_works>".$row['hardware']['video_card_works']."</videocard_works>\n";
@@ -196,4 +201,17 @@ class DownloadController extends BaseController
$this->clean();
$this->load('xml');
}
+
+ public function threegcards($lang = 'en')
+ {
+ header ("Content-Type:text/xml");
+
+ $res = $this->m['HardwareModel']->clear()->select()->where(array('type'=>'3G-card','-deleted'=>'no'))->orderBy("type,hardware.id_hard")->send();
+
+ $data['xml'] = $this->getXml($res);
+
+ $this->append($data);
+ $this->clean();
+ $this->load('xml');
+ }
} \ No newline at end of file
diff --git a/h-source/Application/Controllers/GenericController.php b/h-source/Application/Controllers/GenericController.php
index 1b9e64a..de2a470 100644
--- a/h-source/Application/Controllers/GenericController.php
+++ b/h-source/Application/Controllers/GenericController.php
@@ -352,7 +352,7 @@ class GenericController extends BaseController
$data['name'] = null;
$data['tree'] = null;
$data['isDeleted'] = 'no';
-
+
if ($this->mod->checkType($clean['id_hard']))
{
$this->mod->setWhereQueryClause(array("id_hard" => $clean['id_hard']));
diff --git a/h-source/Application/Controllers/SearchController.php b/h-source/Application/Controllers/SearchController.php
index 2d8a1a8..fe7a5bd 100644
--- a/h-source/Application/Controllers/SearchController.php
+++ b/h-source/Application/Controllers/SearchController.php
@@ -47,7 +47,7 @@ class SearchController extends BaseController
$argKeys = array(
'page:forceNat' => 1,
'action:sanitizeAlphanum' => 'search',
- 'type:sanitizeAlphanum' => 'notebook',
+ 'type:sanitizeString' => 'notebook',
'model:sanitizeString' => 'undef',
);
@@ -65,6 +65,8 @@ class SearchController extends BaseController
'-deleted' => "no",
);
+// echo $this->viewArgs['type'];
+
$recordNumber = $this->m['HardwareModel']->clear()->where($whereClause)->orderBy("id_hard desc")->rowNumber();
$data['recordNumber'] = $recordNumber;
diff --git a/h-source/Application/Controllers/ThreegcardsController.php b/h-source/Application/Controllers/ThreegcardsController.php
new file mode 100644
index 0000000..7d76023
--- /dev/null
+++ b/h-source/Application/Controllers/ThreegcardsController.php
@@ -0,0 +1,154 @@
+<?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 program 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.
+//
+// This program 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 this program. If not, see <http://www.gnu.org/licenses/>.
+
+if (!defined('EG')) die('Direct access not allowed!');
+
+class ThreegcardsController 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('ThreegcardsModel');
+ $this->model('TalkModel');
+
+ $this->mod = $this->m['ThreegcardsModel'];
+
+ $this->m['HardwareModel']->id_user = $this->s['registered']->status['id_user'];
+ $this->m['HardwareModel']->type = '3G-card';
+
+ //hardware conditions
+ $this->m['HardwareModel']->strongConditions['update'] = array(
+ "checkIsStrings|".ThreeGcards::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|".ThreeGcards::$commYear => "comm_year",
+ "+++checkIsStrings|".ThreeGcards::$select => "wifi_works",
+ "++++checkIsStrings|".ThreeGcards::$interface => "interface",
+ );
+
+ $this->m['HardwareModel']->strongConditions['insert'] = array(
+ "checkIsStrings|".ThreeGcards::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|".ThreeGcards::$commYear => "comm_year",
+ "+++checkIsStrings|".ThreeGcards::$select => "wifi_works",
+ "++++checkIsStrings|".ThreeGcards::$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",
+ "+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}",
+ );
+
+ $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",
+ "+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}",
+ );
+
+ $this->m['HardwareModel']->setFields('vendor,model,kernel,description,distribution,comm_year,wifi_works,pci_id,interface','sanitizeAll');
+
+ $argKeys = array(
+ 'page:forceNat' => 1,
+ 'history_page:forceNat' => 1,
+ 'vendor:sanitizeString' => 'undef',
+ 'comm_year:sanitizeString' => 'undef',
+ 'wifi_works:sanitizeString' => 'undef',
+ 'interface:sanitizeString' => 'undef',
+ 'sort-by:sanitizeString' => 'undef'
+ );
+
+ $this->setArgKeys($argKeys);
+
+ $data['title'] = '3G card';
+ $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'],
+ 'wifi_works' => $this->viewArgs['wifi_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/hardware.php b/h-source/Application/Include/hardware.php
index 67df1f6..828585f 100644
--- a/h-source/Application/Include/hardware.php
+++ b/h-source/Application/Include/hardware.php
@@ -22,7 +22,7 @@ if (!defined('EG')) die('Direct access not allowed!');
class Hardware
{
- public static $controllers = array('notebooks','wifi','videocards','printers','scanners'); //used by UsersController::login()
+ public static $controllers = array('notebooks','wifi','videocards','printers','scanners','threegcards'); //used by UsersController::login()
public static $commYear = 'not-specified,2010,2009,2008,2007,2006,2005,2004,2003,2002,2001,2000,1999,1998,1997,1996,1995,1994,1993,1992';
@@ -216,4 +216,31 @@ class Notebooks extends Hardware
return implode(',',array_values(self::$compatibility));
}
+}
+
+class ThreeGcards extends hardware
+{
+ public static $vendors = array(
+ "AT&T" => "AT-T",
+ "BandRich" => "BandRich",
+ "Franklin Wireless Corporation" => "Franklin-Wireless-Corporation",
+ "Huawei" => "Huawei",
+ "Novatel Wireless" => "Novatel-Wireless",
+ "Option" => "Option",
+ "Sierra Wireless" => "Sierra-Wireless",
+ "T-Mobile" => "T-Mobile",
+ "UTStarcom" => "UTStarcom",
+ "verizon" => "verizon",
+ "Vodafone" => "Vodafone",
+ "ZTE" => "ZTE",
+ );
+
+ public static $interface = "not-specified,USB,PCI,PCI-E,mini-PCI,mini-PCI-E,ExpressCard,PC-Card";
+
+ public static $select = 'yes,no';
+
+ 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 8351a88..e442c33 100644
--- a/h-source/Application/Include/languages.php
+++ b/h-source/Application/Include/languages.php
@@ -94,6 +94,8 @@ class Lang
"No wifi cards found" => "Non è stata trovata alcuna scheda wifi",
"does it work with free software?" => "funziona con il software libero?",
"differences in the entry" => "differenze nel campo",
+ "No 3G cards found" => "Non è stata trovata alcuna scheda 3G",
+ "Please specify in the below description entry the Internet Service Provider (ISP) and the country where the service is provided" => "Per favore specifica nel sottostante campo descrizione l'Internet Service Provider (ISP) e il Paese dove il servizio viene fornito",
),
'es' => array
(
@@ -173,134 +175,109 @@ class MyStrings
public static $view = array(
'en' => array(
-
'notebooks' => array(
-
'element' => 'notebook'
-
),
'wifi' => array(
-
'element' => 'wifi card'
-
),
'videocards'=> array(
-
'element' => 'video card'
-
),
'printers'=> array(
-
'element' => 'printer'
-
),
'scanners'=> array(
-
'element' => 'scanner'
-
+ ),
+
+ 'threegcards' => array(
+ 'element' => '3G-card',
),
),
'fr' => array(
'notebooks' => array(
-
'element' => 'notebook'
-
),
'wifi' => array(
-
'element' => 'wifi card'
-
),
'videocards'=> array(
-
'element' => 'video card'
-
),
'printers'=> array(
-
'element' => 'printer'
-
),
'scanners'=> array(
-
'element' => 'scanner'
-
+ ),
+
+ 'threegcards' => array(
+ 'element' => '3G-card',
),
),
'it' => array(
'notebooks' => array(
-
'element' => 'notebook'
-
),
'wifi' => array(
-
'element' => 'wifi card'
-
),
'videocards'=> array(
-
'element' => 'video card'
-
),
'printers'=> array(
-
'element' => 'printer'
-
),
'scanners'=> array(
-
'element' => 'scanner'
-
+ ),
+
+ 'threegcards' => array(
+ 'element' => '3G-card',
),
),
'es' => array(
'notebooks' => array(
-
'element' => 'notebook'
-
),
'wifi' => array(
-
'element' => 'wifi card'
-
),
'videocards'=> array(
-
'element' => 'video card'
-
),
'printers'=> array(
-
'element' => 'printer'
-
),
'scanners'=> array(
-
'element' => 'scanner'
-
+ ),
+
+ 'threegcards' => array(
+ 'element' => '3G-card',
),
),
);
@@ -312,6 +289,7 @@ class MyStrings
'videocard' => 'videocards',
'printer' => 'printers',
'scanner' => 'scanners',
+ '3G-card' => 'threegcards'
);
public static function getTypes()
diff --git a/h-source/Application/Include/myFunctions.php b/h-source/Application/Include/myFunctions.php
index a5e3934..b72be6c 100644
--- a/h-source/Application/Include/myFunctions.php
+++ b/h-source/Application/Include/myFunctions.php
@@ -327,4 +327,17 @@ function gtext($string)
return Lang::$i18n[Lang::$current][$string];
}
return $string;
-} \ No newline at end of file
+}
+
+//rewrite the vendor name
+function betterVendor($string)
+{
+ $names = array(
+ "AT-T" => "AT&T",
+ "Franklin-Wireless-Corporation" => "Franklin Wireless Corporation",
+ "Novatel-Wireless" => "Novatel Wireless",
+ "Sierra-Wireless" => "Sierra Wireless",
+ );
+
+ return (array_key_exists($string,$names)) ? $names[$string] : $string;
+}
diff --git a/h-source/Application/Models/ThreegcardsModel.php b/h-source/Application/Models/ThreegcardsModel.php
new file mode 100644
index 0000000..764587d
--- /dev/null
+++ b/h-source/Application/Models/ThreegcardsModel.php
@@ -0,0 +1,71 @@
+<?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 program 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.
+//
+// This program 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 this program. If not, see <http://www.gnu.org/licenses/>.
+
+if (!defined('EG')) die('Direct access not allowed!');
+
+class ThreegcardsModel extends BaseModel
+{
+
+ public $type = '3G-card'; //device type
+
+ public function __construct()
+ {
+
+ $this->_popupItemNames = array(
+ 'vendor' => 'vendor',
+ 'comm_year' => 'comm_year',
+ 'wifi_works' => 'wifi_works',
+ 'interface' => 'interface',
+ );
+
+ $this->_popupLabels = array(
+ 'vendor' => gtext("vendor"),
+ 'comm_year' => gtext("year"),
+ 'wifi_works' => gtext("does it work?"),
+ 'interface' => gtext("interface"),
+ );
+
+ $this->_popupFunctions = array(
+ 'vendor' => 'betterVendor',
+ );
+
+ $this->_popupWhere = array(
+ 'vendor' => 'type="3G-card" and deleted="no"',
+ 'comm_year' => 'type="3G-card" and deleted="no"',
+ 'wifi_works' => 'type="3G-card" and deleted="no"',
+ 'interface' => 'type="3G-card" 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'),
+ 'wifi_works' => gtext("does it work with free software?"),
+ 'description' => gtext('Description'),
+ );
+
+ $this->fieldsWithBreaks = array(gtext('Description'));
+
+ 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 e296711..403d7ed 100644
--- a/h-source/Application/Views/Download/index.php
+++ b/h-source/Application/Views/Download/index.php
@@ -59,6 +59,10 @@
<td>Download the xml file of all the <b>scanners</b> in the database</td>
<td><a href="<?php echo $this->baseUrl."/download/scanners/$lang";?>"><img src="<?php echo $this->baseUrl?>/Public/Img/H2O/download.png"></a></td>
</tr>
+ <tr>
+ <td>Download the xml file of all the <b>3G cards</b> in the database</td>
+ <td><a href="<?php echo $this->baseUrl."/download/threegcards/$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/Download/index_es.php b/h-source/Application/Views/Download/index_es.php
index b181b23..4d66a28 100644
--- a/h-source/Application/Views/Download/index_es.php
+++ b/h-source/Application/Views/Download/index_es.php
@@ -59,6 +59,10 @@
<td>Download the xml file of all the <b>scanners</b> in the database</td>
<td><a href="<?php echo $this->baseUrl."/download/scanners/$lang";?>"><img src="<?php echo $this->baseUrl?>/Public/Img/H2O/download.png"></a></td>
</tr>
+ <tr>
+ <td>Download the xml file of all the <b>3G cards</b> in the database</td>
+ <td><a href="<?php echo $this->baseUrl."/download/threegcards/$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/Download/index_fr.php b/h-source/Application/Views/Download/index_fr.php
new file mode 100644
index 0000000..0db4c49
--- /dev/null
+++ b/h-source/Application/Views/Download/index_fr.php
@@ -0,0 +1,72 @@
+<?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 program 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.
+//
+// This program 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 this program. If not, see <http://www.gnu.org/licenses/>.
+?>
+
+ <div id="left">
+
+ <div class="position_tree_box">
+ <a href="<?php echo $this->baseUrl."/home/index/$lang";?>">Home</a> &raquo; download
+ </div>
+
+ <div class="credits_external_box">
+
+ <div class="credits_item_title">
+ Télécharger la base de donnée h-node au format XML:
+ </div>
+
+ <div class="credits_item_description">
+ Vous pouvez télécharger toute la base de donnée de h-node dans un unique fichier xml afin de gérer son contenus avec des scripts (Par exemple un script python perl ou php)
+
+ <div class="download_table">
+ <table width="95%">
+ <tr>
+ <td>Télécharger toute la base de donnée au format XML</td>
+ <td><a href="<?php echo $this->baseUrl."/download/all/$lang";?>"><img src="<?php echo $this->baseUrl?>/Public/Img/H2O/download.png"></a></td>
+ </tr>
+ <tr>
+ <td>Télécharger la base de donnée de <b>notebooks</b> au format XML</td>
+ <td><a href="<?php echo $this->baseUrl."/download/notebooks/$lang";?>"><img src="<?php echo $this->baseUrl?>/Public/Img/H2O/download.png"></a></td>
+ </tr>
+ <tr>
+ <td>Télécharger la base de donnée de <b>cartes wifi</b> au format XML</td>
+ <td><a href="<?php echo $this->baseUrl."/download/wifi/$lang";?>"><img src="<?php echo $this->baseUrl?>/Public/Img/H2O/download.png"></a></td>
+ </tr>
+ <tr>
+ <td>Télécharger la base de donnée de <b>cartes graphique</b> au format XML</td>
+ <td><a href="<?php echo $this->baseUrl."/download/videocards/$lang";?>"><img src="<?php echo $this->baseUrl?>/Public/Img/H2O/download.png"></a></td>
+ </tr>
+ <tr>
+ <td>Télécharger la base de donnée <b>d’imprimantes</b> au format XML</td>
+ <td><a href="<?php echo $this->baseUrl."/download/printers/$lang";?>"><img src="<?php echo $this->baseUrl?>/Public/Img/H2O/download.png"></a></td>
+ </tr>
+ <tr>
+ <td>Télécharger la base de donnée de <b>scanners</b> au format XML</td>
+ <td><a href="<?php echo $this->baseUrl."/download/scanners/$lang";?>"><img src="<?php echo $this->baseUrl?>/Public/Img/H2O/download.png"></a></td>
+ </tr>
+ <tr>
+ <td>Download the xml file of all the <b>3G cards</b> in the database</td>
+ <td><a href="<?php echo $this->baseUrl."/download/threegcards/$lang";?>"><img src="<?php echo $this->baseUrl?>/Public/Img/H2O/download.png"></a></td>
+ </tr>
+ </table>
+ </div>
+ </div>
+
+ </div>
+
+ </div>
diff --git a/h-source/Application/Views/Download/index_it.php b/h-source/Application/Views/Download/index_it.php
index 16fb40a..1d34619 100644
--- a/h-source/Application/Views/Download/index_it.php
+++ b/h-source/Application/Views/Download/index_it.php
@@ -59,6 +59,10 @@
<td>Scarica il file xml di tutti gli <b>scanner</b> del database</td>
<td><a href="<?php echo $this->baseUrl."/download/scanners/$lang";?>"><img src="<?php echo $this->baseUrl?>/Public/Img/H2O/download.png"></a></td>
</tr>
+ <tr>
+ <td>Scarica il file xml di tutte le schede <b>3G cards</b> del database</td>
+ <td><a href="<?php echo $this->baseUrl."/download/threegcards/$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/Hardware/left.php b/h-source/Application/Views/Hardware/left.php
index 974340d..3a6d8c2 100644
--- a/h-source/Application/Views/Hardware/left.php
+++ b/h-source/Application/Views/Hardware/left.php
@@ -44,4 +44,8 @@
<img align="middle" class="hardware_element_image" src="<?php echo $this->baseUrl;?>/Public/Img/H2O/scanner.png"><a class="hardware_element_link" href="<?php echo $this->baseUrl?>/scanners/catalogue/<?php echo $lang;?>">Scanners</a>
</div>
+ <div class="hardware_element">
+ <img align="middle" class="hardware_element_image" src="<?php echo $this->baseUrl;?>/Public/Img/Crystal/usb.png"><a class="hardware_element_link" href="<?php echo $this->baseUrl?>/threegcards/catalogue/<?php echo $lang;?>">3G cards</a>
+ </div>
+
</div> \ No newline at end of file
diff --git a/h-source/Application/Views/Threegcards/catalogue.php b/h-source/Application/Views/Threegcards/catalogue.php
new file mode 100644
index 0000000..765a36f
--- /dev/null
+++ b/h-source/Application/Views/Threegcards/catalogue.php
@@ -0,0 +1,80 @@
+<?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 program 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.
+//
+// This program 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 this program. 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['wifi_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 3G cards 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 $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>
+ </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']['wifi_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/Threegcards/form.php b/h-source/Application/Views/Threegcards/form.php
new file mode 100644
index 0000000..fdaf477
--- /dev/null
+++ b/h-source/Application/Views/Threegcards/form.php
@@ -0,0 +1,100 @@
+<?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 program 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.
+//
+// This program 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 this program. 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'],ThreeGcards::$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'],Notebooks::$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'],ThreeGcards::$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('wifi_works',$values['wifi_works'],ThreeGcards::$select,"select_entry hidden_x_explorer");?>
+ </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>
+ <div class="isp_notice"><?php echo gtext("Please specify in the below description entry the Internet Service Provider (ISP) and the country where the service is provided");?></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/Threegcards/page.php b/h-source/Application/Views/Threegcards/page.php
new file mode 100644
index 0000000..bfc974f
--- /dev/null
+++ b/h-source/Application/Views/Threegcards/page.php
@@ -0,0 +1,87 @@
+<?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 program 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.
+//
+// This program 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 this program. 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 $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>
+ <?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]['wifi_works'];?></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/Config/Route.php b/h-source/Config/Route.php
index cc0dcaf..fd31718 100644
--- a/h-source/Config/Route.php
+++ b/h-source/Config/Route.php
@@ -90,9 +90,19 @@ class Route
'download,videocards',
'download,printers',
'download,scanners',
+ 'download,threegcards',
'history,hide',
'history,show',
'history,viewall',
+ 'threegcards,catalogue',
+ 'threegcards,view',
+ 'threegcards,history',
+ 'threegcards,revision',
+ 'threegcards,insert',
+ 'threegcards,update',
+ 'threegcards,differences',
+ 'threegcards,climb',
+ 'threegcards,talk',
);
//it can be 'yes' or 'no'
diff --git a/h-source/Public/Css/website.css b/h-source/Public/Css/website.css
index 75509e3..04e3c97 100755
--- a/h-source/Public/Css/website.css
+++ b/h-source/Public/Css/website.css
@@ -1428,4 +1428,12 @@ ins
.noscript_dist_alert span
{
color:#6495ED;
+}
+
+.isp_notice
+{
+ background:#dff1f8;
+ border:1px solid #6495ED;
+ padding:5px;
+ font:normal 14px/1.5 sans-serif,arial,Verdana;
} \ No newline at end of file
diff --git a/h-source/Public/Img/Acun/book.png b/h-source/Public/Img/Acun/book.png
deleted file mode 100644
index 0245944..0000000
--- a/h-source/Public/Img/Acun/book.png
+++ /dev/null
Binary files differ
diff --git a/h-source/Public/Img/Acun/document_properties.png b/h-source/Public/Img/Acun/document_properties.png
deleted file mode 100644
index bf4686f..0000000
--- a/h-source/Public/Img/Acun/document_properties.png
+++ /dev/null
Binary files differ
diff --git a/h-source/Public/Img/Acun/filenew.png b/h-source/Public/Img/Acun/filenew.png
deleted file mode 100644
index 66d34b3..0000000
--- a/h-source/Public/Img/Acun/filenew.png
+++ /dev/null
Binary files differ
diff --git a/h-source/Public/Img/Acun/go_previous.png b/h-source/Public/Img/Acun/go_previous.png
deleted file mode 100644
index 39685ad..0000000
--- a/h-source/Public/Img/Acun/go_previous.png
+++ /dev/null
Binary files differ
diff --git a/h-source/Public/Img/Acun/note.png b/h-source/Public/Img/Acun/note.png
deleted file mode 100644
index 5b4b248..0000000
--- a/h-source/Public/Img/Acun/note.png
+++ /dev/null
Binary files differ
diff --git a/h-source/Public/Img/Crystal/usb.png b/h-source/Public/Img/Crystal/usb.png
new file mode 100755
index 0000000..88c7c80
--- /dev/null
+++ b/h-source/Public/Img/Crystal/usb.png
Binary files differ
diff --git a/h-source/Public/Img/Crystal/usb_22.png b/h-source/Public/Img/Crystal/usb_22.png
new file mode 100755
index 0000000..97da84a
--- /dev/null
+++ b/h-source/Public/Img/Crystal/usb_22.png
Binary files differ