diff options
Diffstat (limited to 'h-source/Application')
-rw-r--r-- | h-source/Application/Controllers/SearchController.php | 39 | ||||
-rw-r--r-- | h-source/Application/Include/hardware.php | 12 | ||||
-rw-r--r-- | h-source/Application/Include/languages.php | 4 | ||||
-rw-r--r-- | h-source/Application/Views/Search/form.php | 4 | ||||
-rw-r--r-- | h-source/Application/Views/Search/lspci_results.php | 68 | ||||
-rw-r--r-- | h-source/Application/Views/Search/results.php | 2 |
6 files changed, 110 insertions, 19 deletions
diff --git a/h-source/Application/Controllers/SearchController.php b/h-source/Application/Controllers/SearchController.php index b35ee45..21b3a2e 100644 --- a/h-source/Application/Controllers/SearchController.php +++ b/h-source/Application/Controllers/SearchController.php @@ -110,13 +110,13 @@ class SearchController extends BaseController $data['notice'] = null; $lspci = $this->request->post('lspci','','sanitizeHtml'); + $lspciResult = array(); + $flag = false; + if (strlen($lspci)<10000) { - $flag = false; - $lspci = nl2br($lspci); $lspciArray = explode('<br />',$lspci); - $lspciResult = array(); reset($lspciArray); while(current($lspciArray) !== false) { @@ -208,25 +208,38 @@ class SearchController extends BaseController } next($lspciArray); } + if (count($lspciResult) === 0) + { + $data['notice'] = "<div class='alert'>".gtext('the text submitted by you does not seem the lspci -vmmnn output. Please check the text and try again')."</div>\n"; + } } else { $data['notice'] = "<div class='alert'>the lspci output is too long</div>\n"; } + + $data['flag'] = $flag; + + $data['table'] = array(); if ($flag) { - echo "<pre>"; - print_r($lspciResult); - echo "</pre>"; + $lspciFiltered = array(); + $vendorIDProductIDArray = array(); + foreach ($lspciResult as $device) + { + if (array_key_exists($device['classId'],Hardware::$deviceClasses)) + { + $vendorIDProductIDArray[] = sanitizePciid($device['vendorId'].":".$device['deviceId']); + $lspciFiltered[] = $device; + } + } + $whereString = "'".implode("','",$vendorIDProductIDArray)."'"; + $data['table'] = $this->m['HardwareModel']->select()->where(array('pci_id'=>"in($whereString)"))->send(); } -// $clean['pciid'] = $this->request->post('lspci','','sanitizePciid'); -// $data['table'] = $this->m['HardwareModel']->clear()->select()->where(array('pci_id'=>$clean['pciid']))->send(); -// $data['recordNumber'] = 0; -// -// $this->append($data); -// $this->cleverLoad('results'); -// $this->right(); + $this->append($data); + $this->cleverLoad('lspci_results'); + $this->right(); } } }
\ No newline at end of file diff --git a/h-source/Application/Include/hardware.php b/h-source/Application/Include/hardware.php index 3f19ebc..11d12df 100644 --- a/h-source/Application/Include/hardware.php +++ b/h-source/Application/Include/hardware.php @@ -26,11 +26,17 @@ class Hardware public static $controllers = array('notebooks','wifi','videocards','printers','scanners','threegcards','soundcards'); //used by UsersController::login() + public static $deviceClasses = array( + '0403' => 'soundcards', + '0280' => 'wifi', + '0300' => 'videocards', + ); + public static $commYear = 'not-specified,2010,2009,2008,2007,2006,2005,2004,2003,2002,2001,2000,1999,1998,1997,1996,1995,1994,1993,1992'; } -class Printer extends hardware +class Printer extends Hardware { public static $vendors = array( "brother" => "brother", @@ -69,7 +75,7 @@ class Printer extends hardware } -class Wifi extends hardware +class Wifi extends Hardware { public static $vendors = array( "A-LINK" => "A-LINK", @@ -126,7 +132,7 @@ class Wifi extends hardware } } -class Videocard extends hardware +class Videocard extends Hardware { public static $vendors = array( "ATI" => "ATI", diff --git a/h-source/Application/Include/languages.php b/h-source/Application/Include/languages.php index 602e13d..831cdd4 100644 --- a/h-source/Application/Include/languages.php +++ b/h-source/Application/Include/languages.php @@ -147,6 +147,10 @@ class Lang "search by" => "cerca per", "analyze the output of the lspci command" => "analizza l'output del comando lscpi", "paste the output of the lspci command" => "incolla l'output del comand lspci", + "works, but without 3D acceleration" => "funziona, ma senza accelerazione 3D", + "the text submitted by you does not seem the lspci -vmmnn output. Please check the text and try again" => "il testo che hai inviato non sembra l'output del comando lspci -vmmnn. Per favore ricontrolla il testo e riprova", + "Search form" => "Form della ricerca", + "write here the output of lspci -vmmnn" => "scrivi qui l'output del comando lspci -vmmnn", ), 'es' => array ( diff --git a/h-source/Application/Views/Search/form.php b/h-source/Application/Views/Search/form.php index cd5b00a..58b33dd 100644 --- a/h-source/Application/Views/Search/form.php +++ b/h-source/Application/Views/Search/form.php @@ -45,7 +45,7 @@ <div id="left"> <div class="position_tree_box"> - <a href="<?php echo $this->baseUrl."/home/index/$lang";?>">Home</a> » search form + <a href="<?php echo $this->baseUrl."/home/index/$lang";?>">Home</a> » <?php echo gtext('Search form');?> </div> <div class="notebook_view_title"> @@ -100,7 +100,7 @@ <table> <tr> <td valign="top"><?php echo gtext("paste the output of the lspci command");?>:<div class="lspci_notice">lspci -vmmnn</div></td> - <td><?php echo Html_Form::textarea('lspci','insert the output of lspci -vmmnn','textarea_entry_search');?></td> + <td><?php echo Html_Form::textarea('lspci',gtext('write here the output of lspci -vmmnn'),'textarea_entry_search');?></td> </tr> <tr> <td><input type="submit" name="search_pci" value="search"></td> diff --git a/h-source/Application/Views/Search/lspci_results.php b/h-source/Application/Views/Search/lspci_results.php new file mode 100644 index 0000000..b460021 --- /dev/null +++ b/h-source/Application/Views/Search/lspci_results.php @@ -0,0 +1,68 @@ +<?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 id="left"> + + <div class="position_tree_box"> + <a href="<?php echo $this->baseUrl."/home/index/$lang";?>">Home</a> » <a href="<?php echo $this->baseUrl."/search/form/$lang";?>"><?php echo gtext('Search form');?></a> » <?php echo gtext('Results of the search');?> + </div> + + <div class="notebook_view_title"> + <?php echo gtext("Results of the search");?>: + </div> + + <div class="search_form"> + + <?php if (!$flag) { ?> + <?php echo $notice;?> + <div> + <a href="<?php echo $this->baseUrl."/search/form/$lang";?>">back</a> + </div> + <?php } ?> + + <?php foreach ($table as $row) { ?> + <div class="lspci_item_found"> + <div class="lspci_item_found_model"> + <?php echo $row['hardware']['model'];?> + </div> + <div class="lspci_item_found_compat"> + <?php + switch ($row['hardware']['type']) + { + case 'wifi': + echo gtext("does it work with free software?"). " <b>".$row['hardware']['wifi_works']."</b>"; + break; + case 'videocard': + echo gtext("does it work with free software?"). " <b>".gtext(Videocard::$videoReverse[$row['hardware']['video_card_works']])."</b>"; + break; + case 'soundcard': + echo gtext("does it work with free software?"). " <b>".$row['hardware']['sound_card_works']."</b>"; + break; + } + ?> + </div> + </div> + <?php } ?> + + </div> + + </div> diff --git a/h-source/Application/Views/Search/results.php b/h-source/Application/Views/Search/results.php index 1b6a27d..dfe0ab9 100644 --- a/h-source/Application/Views/Search/results.php +++ b/h-source/Application/Views/Search/results.php @@ -23,7 +23,7 @@ <div id="left"> <div class="position_tree_box"> - <a href="<?php echo $this->baseUrl."/home/index/$lang";?>">Home</a> » <a href="<?php echo $this->baseUrl."/search/form/$lang";?>">search form</a> » results + <a href="<?php echo $this->baseUrl."/home/index/$lang";?>">Home</a> » <a href="<?php echo $this->baseUrl."/search/form/$lang";?>"><?php echo gtext('Search form');?></a> » <?php echo gtext('Results of the search');?> </div> <div class="notebook_view_title"> |