diff options
| -rw-r--r-- | h-source/Application/Controllers/BluetoothController.php | 160 | ||||
| -rw-r--r-- | h-source/Application/Controllers/DownloadController.php | 2 | ||||
| -rw-r--r-- | h-source/Application/Include/hardware.php | 20 | ||||
| -rw-r--r-- | h-source/Application/Include/languages.php | 20 | ||||
| -rw-r--r-- | h-source/Application/Models/BluetoothModel.php | 74 | ||||
| -rw-r--r-- | h-source/Application/Views/Bluetooth/catalogue.php | 82 | ||||
| -rw-r--r-- | h-source/Application/Views/Bluetooth/form.php | 106 | ||||
| -rw-r--r-- | h-source/Application/Views/Bluetooth/page.php | 94 | ||||
| -rw-r--r-- | h-source/Application/Views/Hardware/left.php | 4 | ||||
| -rw-r--r-- | h-source/Config/Route.php | 9 | ||||
| -rwxr-xr-x | h-source/Public/Img/H2O/preferences-system-bluetooth-22.png | bin | 0 -> 1046 bytes | |||
| -rwxr-xr-x | h-source/Public/Img/H2O/preferences-system-bluetooth.png | bin | 0 -> 4558 bytes | |||
| -rw-r--r-- | h-source/tables.sql | 4 | 
13 files changed, 571 insertions, 4 deletions
diff --git a/h-source/Application/Controllers/BluetoothController.php b/h-source/Application/Controllers/BluetoothController.php new file mode 100644 index 0000000..c763aa6 --- /dev/null +++ b/h-source/Application/Controllers/BluetoothController.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 BluetoothController 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('BluetoothModel'); +		$this->model('TalkModel'); +		 +		$this->mod = $this->m['BluetoothModel']; +		 +		$this->m['HardwareModel']->id_user = $this->s['registered']->status['id_user']; +		$this->m['HardwareModel']->type = 'bluetooth'; + +		//hardware conditions +		$this->m['HardwareModel']->strongConditions['update'] = array( +			"checkIsStrings|".Bluetooth::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|".Wifi::$commYear	=> 	"comm_year", +			"+++checkIsStrings|".Bluetooth::$select 	=> 	"bluetooth_works", +			"++++checkIsStrings|".Bluetooth::$interface	=> 	"interface", +		); + +		$this->m['HardwareModel']->strongConditions['insert'] = array( +			"checkIsStrings|".Bluetooth::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|".Wifi::$commYear	=> 	"comm_year", +			"+++checkIsStrings|".Bluetooth::$select 	=> 	"bluetooth_works", +			"++++checkIsStrings|".Bluetooth::$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,bluetooth_works,pci_id,interface,driver','sanitizeAll'); +		 +		$argKeys = array( +			'page:forceNat'						=>	1, +			'history_page:forceNat'				=>	1, +			'vendor:sanitizeString'				=>	'undef', +			'comm_year:sanitizeString'			=>	'undef', +			'bluetooth_works:sanitizeString'	=>	'undef', +			'interface:sanitizeString'			=>	'undef', +			'sort-by:sanitizeString'			=>	'undef' +		); + +		$this->setArgKeys($argKeys); +		 +		$data['title'] = 'Soundcard'; +		$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'], +			'bluetooth_works'	=>	$this->viewArgs['bluetooth_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/DownloadController.php b/h-source/Application/Controllers/DownloadController.php index 6ad04dc..72292f6 100644 --- a/h-source/Application/Controllers/DownloadController.php +++ b/h-source/Application/Controllers/DownloadController.php @@ -123,7 +123,7 @@ class DownloadController extends BaseController  				$xml .= "\t\t<it_works>".$row['hardware']['video_card_works']."</it_works>\n";  			} -			if ($type === 'printer' or $type === 'scanner' or $type === 'soundcard') +			if ($type === 'printer' or $type === 'scanner' or $type === 'soundcard' or $type === 'webcam')  			{  				$xml .= "\t\t<driver>".$row['hardware']['driver']."</driver>\n";  			} diff --git a/h-source/Application/Include/hardware.php b/h-source/Application/Include/hardware.php index f10993b..2ea5dd5 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','webcams'); //used by UsersController::login() +	public static $controllers = array('notebooks','wifi','videocards','printers','scanners','threegcards','soundcards','webcams','bluetooth'); //used by UsersController::login()  	//classId => controller  	public static $deviceClasses = array( @@ -42,6 +42,7 @@ class Hardware  		'3G-card'	=>	'Crystal/usb_22.png',  		'soundcard'	=>	'H2O/audio-card_22.png',  		'webcam'	=>	'H2O/camera-web_22.png', +		'bluetooth'	=>	'H2O/preferences-system-bluetooth-22.png',  	);  	public static $typeToController = array( @@ -53,6 +54,7 @@ class Hardware  		'3G-card'	=>	'threegcards',  		'soundcard'	=>	'soundcards',  		'webcam'	=>	'webcams', +		'bluetooth'	=>	'bluetooth',  	);  	public static function getControllerFromType($type) @@ -533,4 +535,20 @@ class Webcams extends Hardware  	{  		return implode(',',array_values(self::$vendors));  	} +} + +class Bluetooth extends Hardware +{ +	public static $vendors = array( +		"Samsung"	=>	"Samsung", +	); + +	public static $select = 'yes,no'; + +	public static $interface = "not-specified,USB"; + +	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 ee4fdcc..8ce107c 100644 --- a/h-source/Application/Include/languages.php +++ b/h-source/Application/Include/languages.php @@ -211,7 +211,8 @@ class Lang  				"delete the wiki page"	=>	"cancella la pagina",  				"list of blocked pages"	=>	"lista delle pagine bloccate",  				"special pages"	=>	"pagine speciali", -				"Watch all the actions carried out by administrators"	=>	"Guarda tutte le azioni compiute dagli amministratori" +				"Watch all the actions carried out by administrators"	=>	"Guarda tutte le azioni compiute dagli amministratori", +				"No bluetooth devices found"	=>	"Non รจ stato trovato alcun dispositivo bluetooth",  			),  		'es'	=>	array  			( @@ -596,6 +597,10 @@ class MyStrings  			'webcams' => array(  				'element' => 'webcam',  			), + +			'bluetooth' => array( +				'element' => 'bluetooth', +			),  		),  		'fr' =>	array( @@ -631,6 +636,10 @@ class MyStrings  			'webcams' => array(  				'element' => 'webcam',  			), + +			'bluetooth' => array( +				'element' => 'bluetooth', +			),  		),  		'it' =>	array( @@ -666,6 +675,10 @@ class MyStrings  			'webcams' => array(  				'element' => 'webcam',  			), + +			'bluetooth' => array( +				'element' => 'bluetooth', +			),  		),  		'es' =>	array( @@ -701,6 +714,10 @@ class MyStrings  			'webcams' => array(  				'element' => 'webcam',  			), + +			'bluetooth' => array( +				'element' => 'bluetooth', +			),  		),  	); @@ -714,6 +731,7 @@ class MyStrings  		'3G-card'	=>	'threegcards',  		'soundcard'	=>	'soundcards',  		'webcam'	=>	'webcams', +		'bluetooth'	=>	'bluetooth',  	);  	public static function getTypes() diff --git a/h-source/Application/Models/BluetoothModel.php b/h-source/Application/Models/BluetoothModel.php new file mode 100644 index 0000000..39445bf --- /dev/null +++ b/h-source/Application/Models/BluetoothModel.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 BluetoothModel extends GenericModel +{ + +	public $type = 'bluetooth'; //device type +	 +	public function __construct() +	{ +    +		$this->_popupItemNames = array( +			'vendor'		=>	'vendor', +			'comm_year'		=>	'comm_year', +			'bluetooth_works'	=>	'bluetooth_works', +			'interface'		=>	'interface', +		); +    +		$this->_popupLabels = array( +			'vendor'		=>	gtext("vendor"), +			'comm_year'		=>	gtext("year"), +			'bluetooth_works'	=>	gtext("does it work?"), +			'interface'		=>	gtext("interface"), +		); +		 +		$this->_popupFunctions = array( +			'vendor'		=>	'betterVendor', +		); +		 +		$this->_popupWhere = array( +			'vendor'		=>	'type="bluetooth" and deleted="no"', +			'comm_year'		=>	'type="bluetooth" and deleted="no"', +			'bluetooth_works'	=>	'type="bluetooth" and deleted="no"', +			'interface'		=>	'type="bluetooth" 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'), +			'bluetooth_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/Bluetooth/catalogue.php b/h-source/Application/Views/Bluetooth/catalogue.php new file mode 100644 index 0000000..0d5897d --- /dev/null +++ b/h-source/Application/Views/Bluetooth/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['bluetooth_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 bluetooth 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> + +			<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']['bluetooth_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/Bluetooth/form.php b/h-source/Application/Views/Bluetooth/form.php new file mode 100644 index 0000000..6de2ece --- /dev/null +++ b/h-source/Application/Views/Bluetooth/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'],Bluetooth::$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'],Bluetooth::$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('bluetooth_works',$values['bluetooth_works'],Bluetooth::$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/Bluetooth/page.php b/h-source/Application/Views/Bluetooth/page.php new file mode 100644 index 0000000..87a0bf0 --- /dev/null +++ b/h-source/Application/Views/Bluetooth/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]['bluetooth_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/Hardware/left.php b/h-source/Application/Views/Hardware/left.php index 133b581..fbd6585 100644 --- a/h-source/Application/Views/Hardware/left.php +++ b/h-source/Application/Views/Hardware/left.php @@ -57,5 +57,9 @@  		<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 class="hardware_element"> +			<img align="middle" class="hardware_element_image" src="<?php echo $this->baseUrl;?>/Public/Img/H2O/preferences-system-bluetooth.png"><a class="hardware_element_link" href="<?php echo $this->baseUrl?>/bluetooth/catalogue/<?php echo $lang;?>">Bluetooth devices</a> +		</div>  	</div>
\ No newline at end of file diff --git a/h-source/Config/Route.php b/h-source/Config/Route.php index 6f25cfa..48521b5 100644 --- a/h-source/Config/Route.php +++ b/h-source/Config/Route.php @@ -153,6 +153,15 @@ class Route  		'wiki,pages',  		'wiki,deleted',  		'wiki,blocked', +		'bluetooth,catalogue', +		'bluetooth,view', +		'bluetooth,history', +		'bluetooth,revision', +		'bluetooth,insert', +		'bluetooth,update', +		'bluetooth,differences', +		'bluetooth,climb', +		'bluetooth,talk',  	);  	//it can be 'yes' or 'no' diff --git a/h-source/Public/Img/H2O/preferences-system-bluetooth-22.png b/h-source/Public/Img/H2O/preferences-system-bluetooth-22.png Binary files differnew file mode 100755 index 0000000..c0b3f06 --- /dev/null +++ b/h-source/Public/Img/H2O/preferences-system-bluetooth-22.png diff --git a/h-source/Public/Img/H2O/preferences-system-bluetooth.png b/h-source/Public/Img/H2O/preferences-system-bluetooth.png Binary files differnew file mode 100755 index 0000000..f64ecb0 --- /dev/null +++ b/h-source/Public/Img/H2O/preferences-system-bluetooth.png diff --git a/h-source/tables.sql b/h-source/tables.sql index c04e4d3..e914867 100644 --- a/h-source/tables.sql +++ b/h-source/tables.sql @@ -95,7 +95,8 @@ create table hardware (  	bios char(15) not null default 'not-specified',  	webcam_type varchar(100) CHARACTER SET utf8 not null,  	webcam_works varchar(30) CHARACTER SET utf8 not null default 'not-specified', -	sound_card_works varchar(30) CHARACTER SET utf8 not null default 'not-specified' +	sound_card_works varchar(30) CHARACTER SET utf8 not null default 'not-specified', +	bluetooth_works varchar(30) CHARACTER SET utf8 not null default 'not-specified'  )engine=innodb;  create table revisions ( @@ -124,6 +125,7 @@ create table revisions (  	webcam_type varchar(100) CHARACTER SET utf8 not null,  	webcam_works varchar(30) CHARACTER SET utf8 not null default 'not-specified',  	sound_card_works varchar(30) CHARACTER SET utf8 not null default 'not-specified', +	bluetooth_works varchar(30) CHARACTER SET utf8 not null default 'not-specified',  	id_hard INT UNSIGNED NOT NULL  )engine=innodb;  | 
