Unverified Commit 326e8651 authored by Jerome Boucher's avatar Jerome Boucher
Browse files

fix/15041 : Not switching * for % in sql query

parent a60b7700
......@@ -21,6 +21,7 @@
- `Fixed` Gestion d'erreur lors des ressorties médona.
- `Fixed` Gestion des erreurs lors des accès à la page Echanges.
- `Fixed` Ergonomie lors d'une modification de service dans l'organigramme.
- `Fixed` Gestion du caractère spécial * dans le nom de dossier virtuel.
- `Fixed` Modification du calcul du hash du mot de passe utilisateur.
- `Changed` Nettoyage du stockage local des données du navigateur lors de la déconnexion.
- `Changed` Possibilité pour le service producteur de rechercher les journaux dans l'écran principal.
......@@ -89,7 +90,7 @@
### Sécurité
- `Fixed` Erreur courante `Attempt to access without a valid token` du module de protection CSRF, et traduction du message en français
- `Fixed` Impossibilité de rattacher un compte de service de niveau Administrateur Fonctionnel à une organisation (au lieu d'un service)
- `Fixed` Impossibilité de rattacher un compte de service de niveau Administrateur Fonctionnel à une organisation (au lieu d'un service)
- `Fixed` Faille XSS en faux positif sur la modale 404 "La page demandée n'existe pas"
- `Added` Gestion renforcée de la sécurité (option de configuration) : gestion de niveaux de sécurité sur les rôles et privilèges, en lien avec les niveaux d'utilisateur
- `Changed` Filtrage des comptes d'utilisateurs et comptes de service en fonction du niveau de sécurité, notamment pour le compte utilisé dans le planificateur de tâches (si activé)
......
......@@ -25,10 +25,10 @@ class Statement
\IteratorAggregate
{
/* Constants */
/* Properties */
/* Properties */
protected $pdoStatement;
/* Methods */
/**
* Constructor
......@@ -38,7 +38,7 @@ class Statement
{
$this->pdoStatement = $pdoStatement;
}
/* Statement methods */
/**
* Bind a parameter
......@@ -48,7 +48,7 @@ class Statement
* @param integer $length
* @param array $driver_options
* @param string $ref
*
*
* @return bool
*/
public function bindParam($name, &$variable, $type=\PDO::PARAM_STR, $length=null, $driver_options=array(), $ref=false)
......@@ -58,38 +58,38 @@ class Statement
return $this->pdoStatement->bindParam(':' . $name, $variable, $type, $length);
}
/**
* Bind a value
* @param string $name
* @param string $value
* @param string $type
*
*
* @return bool
*/
public function bindValue($name, $value, $type=\PDO::PARAM_STR)
{
$this->params[$name] = $value;
return $this->pdoStatement->bindValue(':' . $name, $value, $type);
}
/**
* Return error
*
*
* @return \core\Error
*/
public function getError()
{
$errInfo = $this->pdoStatement->errorInfo();
return new \core\Error($errInfo[2], null, $errInfo[0], null, null, $errInfo);
}
/**
* execute
* @param string $inputParameters
*
*
* @return bool
*/
public function execute($inputParameters=null)
......@@ -97,6 +97,7 @@ class Statement
if (!empty($inputParameters) && \laabs\is_assoc($inputParameters)) {
foreach ($inputParameters as $name => $value) {
$inputParameters[":" . $name] = str_replace("*", "%", $value);
$inputParameters[":" . $name] = $value;
unset($inputParameters[$name]);
}
} else {
......@@ -105,7 +106,7 @@ class Statement
return $this->pdoStatement->execute($inputParameters);
}
/**
* Get params
* @return string
......@@ -114,7 +115,7 @@ class Statement
{
return $this->params;
}
/**
* Debug params
* @return string
......@@ -126,10 +127,10 @@ class Statement
/**
* ResultSet methods
*
*
* @param string $class
* @param array $ctor_args
*
*
* @return object
*/
public function fetch($class="\stdClass", array $ctor_args=array())
......@@ -143,16 +144,16 @@ class Statement
}
}
}
return $object;
}
/**
* ResultSet all methods
*
*
* @param string $class
* @param array $ctor_args
*
*
* @return object
*/
public function fetchAll($class="\stdClass", array $ctor_args=array())
......@@ -171,61 +172,61 @@ class Statement
return $resultSet;
}
/**
* Fetch item
* @param integer $cursor_offset
* @param string $class
*
*
* @return string
*/
public function fetchItem($cursor_offset=0, $class="\stdClass")
{
$this->setFetchMode(\PDO::FETCH_CLASS, $class);
return $this->pdoStatement->fetch(\PDO::FETCH_CLASS, \PDO::FETCH_ORI_ABS, $cursor_offset);
}
/**
* Fetch column
* @param integer $offset
*
*
* @return string
*/
public function fetchColumn($offset=0)
{
return $this->pdoStatement->fetchColumn($offset);
}
/**
* Row count
*
*
* @return integer
*/
public function rowCount()
{
return $this->pdoStatement->rowCount();
}
/**
* Get query string
*
*
* @return string
*/
public function getQueryString()
{
return $this->pdoStatement->queryString;
}
/**
* Get iterator
*
*
* @return \dependency\datasource\Adapter\Database\ArrayIterator
*/
public function getIterator()
{
$DataSet = $this->fetchAll();
return new ArrayIterator($DataSet);
}
......@@ -233,4 +234,4 @@ class Statement
{
return array();
}
}
\ No newline at end of file
}
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment