diff options
| author | Antonio Gallo <tonicucoz@gmail.com> | 2011-03-03 16:48:20 +0000 | 
|---|---|---|
| committer | Antonio Gallo <tonicucoz@gmail.com> | 2011-03-03 16:48:20 +0000 | 
| commit | d6fc4f494bf9ceb326fc37679f16224b91a0fc26 (patch) | |
| tree | c95bbce02e5b7af62690c54cf3c5d0a36ba73c50 /h-source/Application/Controllers/GenericController.php | |
| parent | fdd5ccda63a6c6825035f99c3e6b6df93814cebe (diff) | |
improved the vendor selection
Diffstat (limited to 'h-source/Application/Controllers/GenericController.php')
| -rw-r--r-- | h-source/Application/Controllers/GenericController.php | 24 | 
1 files changed, 13 insertions, 11 deletions
diff --git a/h-source/Application/Controllers/GenericController.php b/h-source/Application/Controllers/GenericController.php index f58fa24..0bc3705 100644 --- a/h-source/Application/Controllers/GenericController.php +++ b/h-source/Application/Controllers/GenericController.php @@ -79,13 +79,14 @@ class GenericController extends BaseController  			{  				if ($this->checkDist())  				{ -					if ($this->checkVendorId()) +					$pci_id = $this->request->post('pci_id','','sanitizeAll'); +					$interface = $this->request->post('interface','not-defined','sanitizeAll'); +						 +					if ($this->checkVendorId($interface))  					{ -						$pci_id = $this->request->post('pci_id','','sanitizeAll'); -  						if (strcmp($this->m['HardwareModel']->type,'notebook') !== 0)  						{ -							$this->m['HardwareModel']->values['vendor'] = sanitizeAll(Vendors::getName($pci_id)); +							$this->m['HardwareModel']->values['vendor'] = sanitizeAll(Vendors::getName($pci_id,$interface));  							$this->m['HardwareModel']->databaseConditions['insert']['+checkUnique'] = 'pci_id|<i>VendorID:ProductID</i> is already present in the database. This means that the device you are trying to insert is already in the database';  						} @@ -222,13 +223,14 @@ class GenericController extends BaseController  					{  						if ($this->checkDist())  						{ -							if ($this->checkVendorId()) +							$pci_id = $this->request->post('pci_id','','sanitizeAll'); +							$interface = $this->request->post('interface','not-defined','sanitizeAll'); +								 +							if ($this->checkVendorId($interface))  							{ -								$pci_id = $this->request->post('pci_id','','sanitizeAll'); -  								if (strcmp($this->m['HardwareModel']->type,'notebook') !== 0)  								{ -									$this->m['HardwareModel']->values['vendor'] = sanitizeAll(Vendors::getName($pci_id)); +									$this->m['HardwareModel']->values['vendor'] = sanitizeAll(Vendors::getName($pci_id,$interface));  									$this->m['HardwareModel']->databaseConditions['update']['+checkUniqueCompl'] = 'pci_id|<i>VendorID:ProductID</i> is already present in the database. This means that the device you are trying to insert is already in the database';  								} @@ -273,7 +275,7 @@ class GenericController extends BaseController  		}  	} -	protected function checkVendorId() +	protected function checkVendorId($interface)  	{  		if (strcmp($this->m['HardwareModel']->type,'notebook') === 0) return true; @@ -283,14 +285,14 @@ class GenericController extends BaseController  			{  				if (preg_match('/^[a-zA-Z0-9]{4}(\:)[a-zA-Z0-9]{4}$/',$_POST['pci_id']))  				{ -					if (Vendors::check($_POST['pci_id'])) +					if (Vendors::check($_POST['pci_id'],$interface))  					{  						return true;  					}  					else  					{  						$this->m['HardwareModel']->result = false; -						$this->m['HardwareModel']->notice = "<div class='alert'>Vendorid code non present in the list, please open an issue <a href='".$this->baseUrl."/issues/viewall/".Lang::$current."'>here</a> in order to ask the insertion of your vendor</div>\n"; +						$this->m['HardwareModel']->notice = "<div class='alert'>Vendorid code non present in the list, please open an issue <a href='".$this->baseUrl."/issues/viewall/".Lang::$current."'>here</a> in order to ask the insertion of your vendor. NB: if it is a USB device, please choose the right interface. If it is not a USB device, and you are not sure about the right interface, choose not-defined, and it should work fine</div>\n";  						return false;  					}  				}  | 
