diff --git a/htdocs/lib/CMailFile.class.php b/htdocs/lib/CMailFile.class.php index cc3e574694f0d5ee26e253f5a2c780bcb5f611f3..20d02ac77ab46b4341de6efabe8ddb19afaf748b 100644 --- a/htdocs/lib/CMailFile.class.php +++ b/htdocs/lib/CMailFile.class.php @@ -104,8 +104,8 @@ class CMailFile // On definit fin de ligne $this->eol="\n"; - if (eregi('^win',PHP_OS)) $this->eol="\r\n"; - if (eregi('^mac',PHP_OS)) $this->eol="\r"; + if (preg_match('/^win/i',PHP_OS)) $this->eol="\r\n"; + if (preg_match('/^mac/i',PHP_OS)) $this->eol="\r"; // On defini mime_boundary $this->mime_boundary = md5(uniqid("dolibarr")); @@ -744,7 +744,7 @@ class CMailFile */ function checkIfHTML($msg) { - if (!eregi('^[ \t]*<html',$msg)) + if (!preg_match('/^[\s\t]*<html/i',$msg)) { $out = "<html><head><title></title>"; if (!empty($this->styleCSS)) $out.= $this->styleCSS; @@ -946,7 +946,7 @@ class CMailFile $i=0; foreach ($matches[1] as $full) { - eregi('file=([A-Za-z0-9_\-\/]+[.]?[A-Za-z0-9]+)?$',$full,$regs); + preg_match('/file=([A-Za-z0-9_\-\/]+[\.]?[A-Za-z0-9]+)?$/i',$full,$regs); $img = $regs[1]; if (file_exists($images_dir.'/'.$img)) @@ -961,13 +961,13 @@ class CMailFile $this->html_images[$i]["name"] = $img; // Content type - $ext = preg_replace('#^.*\.(\w{3,4})$#e', 'strtolower("$1")', $img); + $ext = preg_replace('/^.*\.(\w{3,4})$/e', 'strtolower("$1")', $img); $this->html_images[$i]["content_type"] = $this->image_types[$ext]; // cid $this->html_images[$i]["cid"] = md5(uniqid(time())); - $this->html = preg_replace("#src=\"$src\"|src='$src'#", "src=\"cid:".$this->html_images[$i]["cid"]."\"", $this->html); + $this->html = preg_replace("/src=\"$src\"|src='$src'/i", "src=\"cid:".$this->html_images[$i]["cid"]."\"", $this->html); } $i++; } @@ -989,7 +989,7 @@ class CMailFile if ($image = file_get_contents($fullpath)) { // On garde que le nom de l'image - eregi('([A-Za-z0-9_-]+[.]?[A-Za-z0-9]+)?$',$img["name"],$regs); + preg_match('/([A-Za-z0-9_-]+[\.]?[A-Za-z0-9]+)?$/i',$img["name"],$regs); $imgName = $regs[1]; $this->images_encoded[$i]['name'] = $imgName; @@ -1035,7 +1035,7 @@ class CMailFile // Boucle sur chaque composant de l'adresse foreach($arrayaddress as $val) { - if (eregi('^(.*)<(.*)>$',trim($val),$regs)) + if (preg_match('/^(.*)<(.*)>$/i',trim($val),$regs)) { $name = trim($regs[1]); $email = trim($regs[2]); diff --git a/htdocs/lib/admin.lib.php b/htdocs/lib/admin.lib.php index ac4bd9c4b924a4554851323e143a4555124d0398..9bcbbacc25be99aa85f0a06042c12ff997aacacf 100644 --- a/htdocs/lib/admin.lib.php +++ b/htdocs/lib/admin.lib.php @@ -55,8 +55,8 @@ function versioncompare($versionarray1,$versionarray2) { $operande1=isset($versionarray1[$level])?$versionarray1[$level]:0; $operande2=isset($versionarray2[$level])?$versionarray2[$level]:0; - if (eregi('beta|alpha',$operande1)) $operande1=-1; - if (eregi('beta|alpha',$operande2)) $operande2=-1; + if (preg_match('/beta|alpha/i',$operande1)) $operande1=-1; + if (preg_match('/beta|alpha/i',$operande2)) $operande2=-1; $level++; //print 'level '.$level.' '.$operande1.'-'.$operande2; if ($operande1 < $operande2) { $ret = -$level; break; } @@ -114,7 +114,7 @@ function run_sql($sqlfile,$silent=1) $buf = fgets($fp, 4096); // Cas special de lignes autorisees pour certaines versions uniquement - if (eregi('^-- V([0-9\.]+)',$buf,$reg)) + if (preg_match('/^--\sV([0-9\.]+)/i',$buf,$reg)) { $versioncommande=explode('.',$reg[1]); //print var_dump($versioncommande); @@ -123,13 +123,13 @@ function run_sql($sqlfile,$silent=1) && versioncompare($versioncommande,$versionarray) <= 0) { // Version qualified, delete SQL comments - $buf=preg_replace('/^-- V([0-9\.]+)/i','',$buf); + $buf=preg_replace('/^--\sV([0-9\.]+)/i','',$buf); //print "Ligne $i qualifi?e par version: ".$buf.'<br>'; } } // Ajout ligne si non commentaire - if (! preg_match('/^--/i',$buf)) $buffer .= $buf; + if (! preg_match('/^--/',$buf)) $buffer .= $buf; // print $buf.'<br>'; @@ -200,14 +200,14 @@ function run_sql($sqlfile,$silent=1) if (! $silent) print '<tr><td valign="top">'.$langs->trans("Request").' '.($i+1)." sql='".$newsql."'</td></tr>\n"; dol_syslog('Admin.lib::run_sql Request '.($i+1).' sql='.$newsql, LOG_DEBUG); - if (eregi('insert into ([^ ]+)',$newsql,$reg)) + if (preg_match('/insert into ([^\s]+)/i',$newsql,$reg)) { // It's an insert $cursorinsert++; } // Replace __x__ with rowid of insert nb x - while (eregi('__([0-9]+)__',$newsql,$reg)) + while (preg_match('/__([0-9]+)__/',$newsql,$reg)) { $cursor=$reg[1]; if (empty($listofinsertedrowid[$cursor])) @@ -225,7 +225,7 @@ function run_sql($sqlfile,$silent=1) } // Replace __ENTITY__ with current entity id - while (eregi('(__ENTITY__)',$newsql,$reg)) + while (preg_match('/(__ENTITY__)/i',$newsql,$reg)) { $from = $reg[1]; $to = $conf->entity; @@ -464,20 +464,20 @@ function listOfSessions() $dh = @opendir($sessPath); while(($file = @readdir($dh)) !== false) { - if (eregi('^sess_',$file) && $file != "." && $file != "..") + if (preg_match('/^sess_/i',$file) && $file != "." && $file != "..") { $fullpath = $sessPath.$file; if(! @is_dir($fullpath)) { $sessValues = file_get_contents($fullpath); // get raw session data - if (eregi('dol_login',$sessValues) && // limit to dolibarr session - eregi('dol_entity\|s:([0-9]+):"('.$conf->entity.')"',$sessValues) && // limit to current entity - eregi('dol_company\|s:([0-9]+):"('.$conf->global->MAIN_INFO_SOCIETE_NOM.')"',$sessValues)) // limit to company name + if (preg_match('/dol_login/i',$sessValues) && // limit to dolibarr session + preg_match('/dol_entity\|s:([0-9]+):"(/i'.$conf->entity.')"',$sessValues) && // limit to current entity + preg_match('/dol_company\|s:([0-9]+):"(/i'.$conf->global->MAIN_INFO_SOCIETE_NOM.')"',$sessValues)) // limit to company name { $tmp=explode('_', $file); $idsess=$tmp[1]; - $login = eregi('dol_login\|s:[0-9]+:"([A-Za-z0-9]+)"',$sessValues,$regs); + $login = preg_match('/dol_login\|s:[0-9]+:"([A-Za-z0-9]+)"/i',$sessValues,$regs); $arrayofSessions[$idsess]["login"] = $regs[1]; $arrayofSessions[$idsess]["age"] = time()-filectime( $fullpath ); $arrayofSessions[$idsess]["creation"] = filectime( $fullpath ); @@ -516,9 +516,9 @@ function purgeSessions($mysessionid) { $sessValues = file_get_contents($fullpath); // get raw session data - if (eregi('dol_login',$sessValues) && // limit to dolibarr session - eregi('dol_entity\|s:([0-9]+):"('.$conf->entity.')"',$sessValues) && // limit to current entity - eregi('dol_company\|s:([0-9]+):"('.$conf->global->MAIN_INFO_SOCIETE_NOM.')"',$sessValues)) // limit to company name + if (preg_match('/dol_login/i',$sessValues) && // limit to dolibarr session + preg_match('/dol_entity\|s:([0-9]+):"('.$conf->entity.')"/i',$sessValues) && // limit to current entity + preg_match('/dol_company\|s:([0-9]+):"('.$conf->global->MAIN_INFO_SOCIETE_NOM.')"/i',$sessValues)) // limit to company name { $tmp=explode('_', $file); $idsess=$tmp[1]; diff --git a/htdocs/lib/databases/mssql.lib.php b/htdocs/lib/databases/mssql.lib.php index b500eb8a9a729c5eb20f1d0283d88d8d435ab94e..e7b7503066cf68c2dec1f942974a7e07d50098ce 100644 --- a/htdocs/lib/databases/mssql.lib.php +++ b/htdocs/lib/databases/mssql.lib.php @@ -111,8 +111,8 @@ class DoliDb $this->db = $this->connect($host, $user, $pass, $name, $port); if ($this->db) { - // Si client connect� avec charset different de celui de la base Dolibarr - // (La base Dolibarr a �t� forc�e en this->forcecharset � l'install) + // Si client connecte avec charset different de celui de la base Dolibarr + // (La base Dolibarr a ete forcee en this->forcecharset a l'install) $this->connected = 1; $this->ok = 1; } @@ -125,7 +125,7 @@ class DoliDb dol_syslog("DoliDB::DoliDB : Erreur Connect mssql_get_last_message=".$this->error,LOG_ERR); } - // Si connexion serveur ok et si connexion base demand�e, on essaie connexion base + // Si connexion serveur ok et si connexion base demandee, on essaie connexion base if ($this->connected && $name) { if ($this->select_db($name)) @@ -179,7 +179,7 @@ class DoliDb \param passwd mot de passe \param name nom de la database (ne sert pas sous mysql, sert sous pgsql) \param port Port of database server - \return resource handler d'acc�s � la bas + \return resource handler d'acces a la base \seealso close */ function connect($host, $login, $passwd, $name, $port=0) @@ -188,9 +188,9 @@ class DoliDb $newhost=$host; if ($port) $newhost.=':'.$port; $this->db = @mssql_connect($newhost, $login, $passwd); - //force les enregistrement en latin1 si la base est en utf8 par d�faut - // Supprim� car plante sur mon PHP-Mysql. De plus, la base est forcement en latin1 avec - // les nouvelles version de Dolibarr car forc� par l'install Dolibarr. + //force les enregistrement en latin1 si la base est en utf8 par defaut + // Supprime car plante sur mon PHP-Mysql. De plus, la base est forcement en latin1 avec + // les nouvelles version de Dolibarr car force par l'install Dolibarr. //$this->query('SET NAMES '.$this->forcecharset); //print "Resultat fonction connect: ".$this->db; return $this->db; @@ -297,7 +297,7 @@ class DoliDb } /** - \brief Effectue une requete et renvoi le resultset de r�ponse de la base + \brief Effectue une requete et renvoi le resultset de reponse de la base \param query Contenu de la query \return resource Resultset de la reponse */ @@ -327,7 +327,7 @@ class DoliDb // Extraire le nombre limite $number = stristr($query, " limit "); $number = substr($number, 7); - // Ins�rer l'instruction TOP et le nombre limite + // Inserer l'instruction TOP et le nombre limite $query = str_ireplace("select ", "select top ".$number." ", $query); // Supprimer l'instruction MySql $query = str_ireplace(" limit ".$number, "", $query); @@ -335,20 +335,20 @@ class DoliDb $itemfound = stripos($query, " week("); if ($itemfound !== false) { - // Recr�er une requ�te sans instruction Mysql + // Recreer une requete sans instruction Mysql $positionMySql = stripos($query, " week("); $newquery = substr($query, 0, $positionMySql); - // R�cup�rer la date pass�e en param�tre + // Recuperer la date passee en parametre $extractvalue = stristr($query, " week("); $extractvalue = substr($extractvalue, 6); $positionMySql = stripos($extractvalue, ")"); - // Conserver la fin de la requ�te + // Conserver la fin de la requete $endofquery = substr($extractvalue, $positionMySql); $extractvalue = substr($extractvalue, 0, $positionMySql); // Remplacer l'instruction MySql en Sql Server - // Ins�rer la date en param�tre et le reste de la requ�te + // Inserer la date en parametre et le reste de la requete $query = $newquery." DATEPART(week, ".$extractvalue.$endofquery; } @@ -356,7 +356,7 @@ class DoliDb if (! $this->database_name) { - // Ordre SQL ne n�cessitant pas de connexion � une base (exemple: CREATE DATABASE) + // Ordre SQL ne necessitant pas de connexion a une base (exemple: CREATE DATABASE) $ret = mssql_query($query, $this->db); } else @@ -364,7 +364,7 @@ class DoliDb $ret = mssql_query($query, $this->db); } - if (! eregi("^COMMIT",$query) && ! eregi("^ROLLBACK",$query)) + if (! preg_match("/^COMMIT/i",$query) && ! preg_match("/^ROLLBACK/i",$query)) { // Si requete utilisateur, on la sauvegarde ainsi que son resultset if (! $ret) @@ -391,32 +391,32 @@ class DoliDb */ function fetch_object($resultset=0) { - // Si le resultset n'est pas fourni, on prend le dernier utilis� sur cette connexion + // Si le resultset n'est pas fourni, on prend le dernier utilise sur cette connexion if (! is_resource($resultset)) { $resultset=$this->results; } return mssql_fetch_object($resultset); } /** - \brief Renvoie les donn�es dans un tableau. + \brief Renvoie les donnees dans un tableau. \param resultset Curseur de la requete voulue \return array */ function fetch_array($resultset=0) { - // Si le resultset n'est pas fourni, on prend le dernier utilis� sur cette connexion + // Si le resultset n'est pas fourni, on prend le dernier utilise sur cette connexion if (! is_resource($resultset)) { $resultset=$this->results; } return mssql_fetch_array($resultset); } /** - \brief Renvoie les donn�es comme un tableau. + \brief Renvoie les donnees comme un tableau. \param resultset Curseur de la requete voulue \return array */ function fetch_row($resultset=0) { - // Si le resultset n'est pas fourni, on prend le dernier utilis� sur cette connexion + // Si le resultset n'est pas fourni, on prend le dernier utilise sur cette connexion if (! is_resource($resultset)) { $resultset=$this->results; } return @mssql_fetch_row($resultset); } @@ -429,7 +429,7 @@ class DoliDb */ function num_rows($resultset=0) { - // Si le resultset n'est pas fourni, on prend le dernier utilis� sur cette connexion + // Si le resultset n'est pas fourni, on prend le dernier utilise sur cette connexion if (! is_resource($resultset)) { $resultset=$this->results; } return mssql_num_rows($resultset); } @@ -481,7 +481,7 @@ class DoliDb /** - \brief D�fini le tri de la requ�te. + \brief Defini le tri de la requete. \param sortfield liste des champ de tri \param sortorder ordre du tri \return string chaine exprimant la syntax sql de l'ordre de tri @@ -565,7 +565,7 @@ class DoliDb * \param test chaine test * \param resok resultat si test egal * \param resko resultat si test non egal - * \return string chaine format� SQL + * \return string chaine formate SQL */ function ifsql($test,$resok,$resko) { @@ -674,8 +674,8 @@ class DoliDb } /** - \brief R�cup�re l'id gen�r� par le dernier INSERT. - \param tab Nom de la table concern�e par l'insert. Ne sert pas sous mssql mais requis pour compatibilit� avec Postgresql + \brief Recupere l'id genere par le dernier INSERT. + \param tab Nom de la table concernee par l'insert. Ne sert pas sous mssql mais requis pour compatibilite avec Postgresql \return int id */ function last_insert_id($tab) @@ -750,7 +750,7 @@ class DoliDb $ret=$this->query($sql); if (! $ret) { - // On r�essaie pour compatibilit� avec mssql < 5.0 + // On reessaie pour compatibilite avec mssql < 5.0 $sql = 'CREATE DATABASE '.$database; $ret=$this->query($sql); } @@ -770,19 +770,19 @@ class DoliDb } /** - \brief Cr�e une table + \brief Cree une table \param table Nom de la table \param fields Tableau associatif [nom champ][tableau des descriptions] \param primary_key Nom du champ qui sera la clef primaire \param unique_keys Tableau associatifs Nom de champs qui seront clef unique => valeur - \param fulltext Tableau des Nom de champs qui seront index�s en fulltext - \param key Tableau des champs cl�s noms => valeur + \param fulltext Tableau des Nom de champs qui seront indexes en fulltext + \param key Tableau des champs cles noms => valeur \param type Type de la table \return int <0 si KO, >=0 si OK */ function DDLCreateTable($table,$fields,$primary_key,$type,$unique_keys="",$fulltext_keys="",$keys="") { - // cl�s recherch�es dans le tableau des descriptions (fields) : type,value,attribute,null,default,extra + // cles recherchees dans le tableau des descriptions (fields) : type,value,attribute,null,default,extra // ex. : $fields['rowid'] = array('type'=>'int','value'=>'11','null'=>'not null','extra'=> 'auto_increment'); $sql = "create table ".$table."("; $i=0; @@ -790,21 +790,21 @@ class DoliDb { $sqlfields[$i] = $field_name." "; $sqlfields[$i] .= $field_desc['type']; - if( eregi("^[^ ]",$field_desc['value'])) + if( preg_match("/^[^\s]/i",$field_desc['value'])) $sqlfields[$i] .= "(".$field_desc['value'].")"; - else if( eregi("^[^ ]",$field_desc['attribute'])) + else if( preg_match("/^[^\s]/i",$field_desc['attribute'])) $sqlfields[$i] .= " ".$field_desc['attribute']; - else if( eregi("^[^ ]",$field_desc['default'])) + else if( preg_match("/^[^\s]/i",$field_desc['default'])) { - if(eregi("null",$field_desc['default'])) + if(preg_match("/null/i",$field_desc['default'])) $sqlfields[$i] .= " default ".$field_desc['default']; else $sqlfields[$i] .= " default '".$field_desc['default']."'"; } - else if( eregi("^[^ ]",$field_desc['null'])) + else if( preg_match("/^[^\s]/i",$field_desc['null'])) $sqlfields[$i] .= " ".$field_desc['null']; - else if( eregi("^[^ ]",$field_desc['extra'])) + else if( preg_match("/^[^\s]/i",$field_desc['extra'])) $sqlfields[$i] .= " ".$field_desc['extra']; $i++; } @@ -846,7 +846,7 @@ class DoliDb } /** - \brief d�crit une table dans une database. + \brief decrit une table dans une database. \param table Nom de la table \param field Optionnel : Nom du champ si l'on veut la desc d'un champ \return resource @@ -864,28 +864,28 @@ class DoliDb * \brief Insert a new field in table * \param table Nom de la table * \param field_name Nom du champ a inserer - * \param field_desc Tableau associatif de description du champ a inserer[nom du parametre][valeur du param�tre] + * \param field_desc Tableau associatif de description du champ a inserer[nom du parametre][valeur du parametre] * \param field_position Optionnel ex.: "after champtruc" * \return int <0 si KO, >0 si OK */ function DDLAddField($table,$field_name,$field_desc,$field_position="") { - // cl�s recherch�es dans le tableau des descriptions (field_desc) : type,value,attribute,null,default,extra + // cles recherchees dans le tableau des descriptions (field_desc) : type,value,attribute,null,default,extra // ex. : $field_desc = array('type'=>'int','value'=>'11','null'=>'not null','extra'=> 'auto_increment'); $sql= "ALTER TABLE ".$table." ADD ".$field_name." "; $sql .= $field_desc['type']; - if( eregi("^[^ ]",$field_desc['value'])) + if( preg_match("/^[^\s]/i",$field_desc['value'])) $sql .= "(".$field_desc['value'].")"; - if( eregi("^[^ ]",$field_desc['attribute'])) + if( preg_match("/^[^\s]/i",$field_desc['attribute'])) $sql .= " ".$field_desc['attribute']; - if( eregi("^[^ ]",$field_desc['null'])) + if( preg_match("/^[^\s]/i",$field_desc['null'])) $sql .= " ".$field_desc['null']; - if( eregi("^[^ ]",$field_desc['default'])) - if(eregi("null",$field_desc['default'])) + if( preg_match("/^[^\s]/i",$field_desc['default'])) + if(preg_match("/null/i",$field_desc['default'])) $sql .= " default ".$field_desc['default']; else $sql .= " default '".$field_desc['default']."'"; - if( eregi("^[^ ]",$field_desc['extra'])) + if( preg_match("/^[^\s]/i",$field_desc['extra'])) $sql .= " ".$field_desc['extra']; $sql .= " ".$field_position; @@ -978,7 +978,7 @@ class DoliDb } return $liste; */ - return ''; // attente d�bugage + return ''; // attente debugage } } diff --git a/htdocs/lib/databases/mysql.lib.php b/htdocs/lib/databases/mysql.lib.php index 256777555e81eaef1ce2dd084f26d7dd941d264d..50ea5b574a8647bb459fedb335cd304650a06db3 100644 --- a/htdocs/lib/databases/mysql.lib.php +++ b/htdocs/lib/databases/mysql.lib.php @@ -139,8 +139,8 @@ class DoliDb // If client connected with different charset than Dolibarr HTML output $clientmustbe=''; - if (eregi('UTF-8',$conf->file->character_set_client)) $clientmustbe='utf8'; - if (eregi('ISO-8859-1',$conf->file->character_set_client)) $clientmustbe='latin1'; + if (preg_match('/UTF-8/i',$conf->file->character_set_client)) $clientmustbe='utf8'; + if (preg_match('/ISO-8859-1/i',$conf->file->character_set_client)) $clientmustbe='latin1'; if (mysql_client_encoding($this->db) != $clientmustbe) { $this->query("SET NAMES '".$clientmustbe."'", $this->db); @@ -165,8 +165,8 @@ class DoliDb { // If client connected with different charset than Dolibarr HTML output $clientmustbe=''; - if (eregi('UTF-8',$conf->file->character_set_client)) $clientmustbe='utf8'; - if (eregi('ISO-8859-1',$conf->file->character_set_client)) $clientmustbe='latin1'; + if (preg_match('/UTF-8/i',$conf->file->character_set_client)) $clientmustbe='utf8'; + if (preg_match('/ISO-8859-1/i',$conf->file->character_set_client)) $clientmustbe='latin1'; if (mysql_client_encoding($this->db) != $clientmustbe) { $this->query("SET NAMES '".$clientmustbe."'", $this->db); @@ -361,7 +361,7 @@ class DoliDb $ret = mysql_db_query($this->database_name, $query, $this->db); } - if (! eregi("^COMMIT",$query) && ! eregi("^ROLLBACK",$query)) + if (! preg_match("/^COMMIT/i",$query) && ! preg_match("/^ROLLBACK/i",$query)) { // Si requete utilisateur, on la sauvegarde ainsi que son resultset if (! $ret) @@ -838,21 +838,21 @@ class DoliDb { $sqlfields[$i] = $field_name." "; $sqlfields[$i] .= $field_desc['type']; - if( eregi("^[^ ]",$field_desc['value'])) + if( preg_match("/^[^\s]/i",$field_desc['value'])) $sqlfields[$i] .= "(".$field_desc['value'].")"; - else if( eregi("^[^ ]",$field_desc['attribute'])) + else if( preg_match("/^[^\s]/i",$field_desc['attribute'])) $sqlfields[$i] .= " ".$field_desc['attribute']; - else if( eregi("^[^ ]",$field_desc['default'])) + else if( preg_match("/^[^\s]/i",$field_desc['default'])) { - if(eregi("null",$field_desc['default'])) + if(preg_match("/null/i",$field_desc['default'])) $sqlfields[$i] .= " default ".$field_desc['default']; else $sqlfields[$i] .= " default '".$field_desc['default']."'"; } - else if( eregi("^[^ ]",$field_desc['null'])) + else if( preg_match("/^[^\s]/i",$field_desc['null'])) $sqlfields[$i] .= " ".$field_desc['null']; - else if( eregi("^[^ ]",$field_desc['extra'])) + else if( preg_match("/^[^\s]/i",$field_desc['extra'])) $sqlfields[$i] .= " ".$field_desc['extra']; $i++; } @@ -922,18 +922,18 @@ class DoliDb // ex. : $field_desc = array('type'=>'int','value'=>'11','null'=>'not null','extra'=> 'auto_increment'); $sql= "ALTER TABLE ".$table." ADD ".$field_name." "; $sql .= $field_desc['type']; - if( eregi("^[^ ]",$field_desc['value'])) + if( preg_match("/^[^\s]/i",$field_desc['value'])) $sql .= "(".$field_desc['value'].")"; - if( eregi("^[^ ]",$field_desc['attribute'])) + if( preg_match("/^[^\s]/i",$field_desc['attribute'])) $sql .= " ".$field_desc['attribute']; - if( eregi("^[^ ]",$field_desc['null'])) + if( preg_match("/^[^\s]/i",$field_desc['null'])) $sql .= " ".$field_desc['null']; - if( eregi("^[^ ]",$field_desc['default'])) - if(eregi("null",$field_desc['default'])) + if( preg_match("/^[^\s]/i",$field_desc['default'])) + if(preg_match("/null/i",$field_desc['default'])) $sql .= " default ".$field_desc['default']; else $sql .= " default '".$field_desc['default']."'"; - if( eregi("^[^ ]",$field_desc['extra'])) + if( preg_match("/^[^\s]/i",$field_desc['extra'])) $sql .= " ".$field_desc['extra']; $sql .= " ".$field_position; diff --git a/htdocs/lib/databases/mysqli.lib.php b/htdocs/lib/databases/mysqli.lib.php index d0d9f3bfee8ee6d71b325dd164913fe8d809542d..4bd95298589ead5cd0564d84a080583a54f1dab1 100644 --- a/htdocs/lib/databases/mysqli.lib.php +++ b/htdocs/lib/databases/mysqli.lib.php @@ -142,8 +142,8 @@ class DoliDb // If client connected with different charset than Dolibarr HTML output $clientmustbe=''; - if (eregi('UTF-8',$conf->file->character_set_client)) $clientmustbe='utf8'; - if (eregi('ISO-8859-1',$conf->file->character_set_client)) $clientmustbe='latin1'; + if (preg_match('/UTF-8/i',$conf->file->character_set_client)) $clientmustbe='utf8'; + if (preg_match('/ISO-8859-1/i',$conf->file->character_set_client)) $clientmustbe='latin1'; if (mysqli_client_encoding($this->db) != $clientmustbe) { $this->query("SET NAMES '".$clientmustbe."'", $this->db); @@ -168,8 +168,8 @@ class DoliDb { // If client connected with different charset than Dolibarr HTML output $clientmustbe=''; - if (eregi('UTF-8',$conf->file->character_set_client)) $clientmustbe='utf8'; - if (eregi('ISO-8859-1',$conf->file->character_set_client)) $clientmustbe='latin1'; + if (preg_match('/UTF-8/i',$conf->file->character_set_client)) $clientmustbe='utf8'; + if (preg_match('/ISO-8859-1/i',$conf->file->character_set_client)) $clientmustbe='latin1'; if (mysqli_client_encoding($this->db) != $clientmustbe) { $this->query("SET NAMES '".$clientmustbe."'", $this->db); @@ -367,7 +367,7 @@ class DoliDb $ret = mysqli_query($this->db,$query); } - if (! eregi("^COMMIT",$query) && ! eregi("^ROLLBACK",$query)) + if (! preg_match("/^COMMIT/i",$query) && ! preg_match("/^ROLLBACK/i",$query)) { // Si requete utilisateur, on la sauvegarde ainsi que son resultset if (! $ret) @@ -850,21 +850,21 @@ class DoliDb { $sqlfields[$i] = $field_name." "; $sqlfields[$i] .= $field_desc['type']; - if( eregi("^[^ ]",$field_desc['value'])) + if( preg_match("/^[^\s]/i",$field_desc['value'])) $sqlfields[$i] .= "(".$field_desc['value'].")"; - else if( eregi("^[^ ]",$field_desc['attribute'])) + else if( preg_match("/^[^\s]/i",$field_desc['attribute'])) $sqlfields[$i] .= " ".$field_desc['attribute']; - else if( eregi("^[^ ]",$field_desc['default'])) + else if( preg_match("/^[^\s]/i",$field_desc['default'])) { - if(eregi("null",$field_desc['default'])) + if(preg_match("/null/i",$field_desc['default'])) $sqlfields[$i] .= " default ".$field_desc['default']; else $sqlfields[$i] .= " default '".$field_desc['default']."'"; } - else if( eregi("^[^ ]",$field_desc['null'])) + else if( preg_match("/^[^\s]/i",$field_desc['null'])) $sqlfields[$i] .= " ".$field_desc['null']; - else if( eregi("^[^ ]",$field_desc['extra'])) + else if( preg_match("/^[^\s]/i",$field_desc['extra'])) $sqlfields[$i] .= " ".$field_desc['extra']; $i++; } @@ -934,18 +934,18 @@ class DoliDb // ex. : $field_desc = array('type'=>'int','value'=>'11','null'=>'not null','extra'=> 'auto_increment'); $sql= "ALTER TABLE ".$table." ADD ".$field_name." "; $sql .= $field_desc['type']; - if( eregi("^[^ ]",$field_desc['value'])) + if( preg_match("/^[^\s]/i",$field_desc['value'])) $sql .= "(".$field_desc['value'].")"; - if( eregi("^[^ ]",$field_desc['attribute'])) + if( preg_match("/^[^\s]/i",$field_desc['attribute'])) $sql .= " ".$field_desc['attribute']; - if( eregi("^[^ ]",$field_desc['null'])) + if( preg_match("/^[^\s]/i",$field_desc['null'])) $sql .= " ".$field_desc['null']; - if( eregi("^[^ ]",$field_desc['default'])) - if(eregi("null",$field_desc['default'])) + if( preg_match("/^[^\s]/i",$field_desc['default'])) + if(preg_match("/null/i",$field_desc['default'])) $sql .= " default ".$field_desc['default']; else $sql .= " default '".$field_desc['default']."'"; - if( eregi("^[^ ]",$field_desc['extra'])) + if( preg_match("/^[^\s]/i",$field_desc['extra'])) $sql .= " ".$field_desc['extra']; $sql .= " ".$field_position; diff --git a/htdocs/lib/databases/pgsql.lib.php b/htdocs/lib/databases/pgsql.lib.php index 38d41b0a85f467f2dc6dd97781af28e2efdc8d43..ca03c4471d475156beed5152fdfd53c40a44a16e 100644 --- a/htdocs/lib/databases/pgsql.lib.php +++ b/htdocs/lib/databases/pgsql.lib.php @@ -152,7 +152,7 @@ class DoliDb function convertSQLFromMysql($line) { # comments or empty lines - if (eregi('^-- \$Id',$line)) { + if (preg_match('/^--\s\$Id/i',$line)) { return ''; } # comments or empty lines @@ -163,13 +163,13 @@ class DoliDb if ($line != "") { # we are inside create table statement so lets process datatypes if (preg_match('/(ISAM|innodb)/i',$line)) { # end of create table sequence - $line=preg_replace('/\) *type=(MyISAM|innodb);/i',');',$line); - $line=preg_replace('/\) *engine=(MyISAM|innodb);/i',');',$line); + $line=preg_replace('/\)[\s\t]*type=(MyISAM|innodb);/i',');',$line); + $line=preg_replace('/\)[\s\t]*engine=(MyISAM|innodb);/i',');',$line); $line=preg_replace('/,$/','',$line); } if (preg_match('/[\s\t]*(\w*)\s*.*int.*auto_increment/i',$line,$reg)) { - $line=preg_replace('/[\s\t]*([a-zA-Z_0-9]*)\s*.*int.*auto_increment[^,]*/i','\\1 SERIAL PRIMARY KEY',$line); + $line=preg_replace('/[\s\t]*([a-zA-Z_0-9]*)[\s\t]*.*int.*auto_increment[^,]*/i','\\1 SERIAL PRIMARY KEY',$line); } # int type conversion @@ -493,7 +493,7 @@ class DoliDb $query=$this->convertSQLFromMysql($query); $ret = pg_query($this->db, $query); - if (! eregi("^COMMIT",$query) && ! eregi("^ROLLBACK",$query)) + if (! preg_match("/^COMMIT/i",$query) && ! preg_match("/^ROLLBACK/i",$query)) { // Si requete utilisateur, on la sauvegarde ainsi que son resultset if (! $ret) @@ -965,18 +965,18 @@ class DoliDb // ex. : $field_desc = array('type'=>'int','value'=>'11','null'=>'not null','extra'=> 'auto_increment'); $sql= "ALTER TABLE ".$table." ADD ".$field_name." "; $sql .= $field_desc['type']; - if( eregi("^[^ ]",$field_desc['value'])) + if( preg_match("/^[^\s]/i",$field_desc['value'])) $sql .= "(".$field_desc['value'].")"; - if( eregi("^[^ ]",$field_desc['attribute'])) + if( preg_match("/^[^\s]/i",$field_desc['attribute'])) $sql .= " ".$field_desc['attribute']; - if( eregi("^[^ ]",$field_desc['null'])) + if( preg_match("/^[^\s]/i",$field_desc['null'])) $sql .= " ".$field_desc['null']; - if( eregi("^[^ ]",$field_desc['default'])) - if(eregi("null",$field_desc['default'])) + if( preg_match("/^[^\s]/i",$field_desc['default'])) + if(preg_match("/null/i",$field_desc['default'])) $sql .= " default ".$field_desc['default']; else $sql .= " default '".$field_desc['default']."'"; - if( eregi("^[^ ]",$field_desc['extra'])) + if( preg_match("/^[^\s]/i",$field_desc['extra'])) $sql .= " ".$field_desc['extra']; $sql .= " ".$field_position; diff --git a/htdocs/lib/files.lib.php b/htdocs/lib/files.lib.php index fe0e41c9674bacb449f999d403fd20a0063872b9..56d2844f1c7a54460b50121727bf8c00a3f2eb6f 100644 --- a/htdocs/lib/files.lib.php +++ b/htdocs/lib/files.lib.php @@ -60,8 +60,8 @@ function dol_dir_list($path, $types="all", $recursive=0, $filter="", $excludefil $qualified=1; // Check if file is qualified - if (eregi('^\.',$file)) $qualified=0; - if ($excludefilter && eregi($excludefilter,$file)) $qualified=0; + if (preg_match('/^\./',$file)) $qualified=0; + if ($excludefilter && preg_match('/'.$excludefilter.'/i',$file)) $qualified=0; if ($qualified) { @@ -72,7 +72,7 @@ function dol_dir_list($path, $types="all", $recursive=0, $filter="", $excludefil if ($loaddate || $sortcriteria == 'date') $filedate=dol_filemtime($path."/".$file); if ($loadsize || $sortcriteria == 'size') $filesize=dol_filesize($path."/".$file); - if (! $filter || eregi($filter,$path.'/'.$file)) + if (! $filter || preg_match('/'.$filter.'/i',$path.'/'.$file)) { $file_list[] = array( "name" => $file, @@ -94,7 +94,7 @@ function dol_dir_list($path, $types="all", $recursive=0, $filter="", $excludefil // Add file into file_list array if ($loaddate || $sortcriteria == 'date') $filedate=dol_filemtime($path."/".$file); if ($loadsize || $sortcriteria == 'size') $filesize=dol_filesize($path."/".$file); - if (! $filter || eregi($filter,$path.'/'.$file)) + if (! $filter || preg_match('/'.$filter.'/i',$path.'/'.$file)) { $file_list[] = array( "name" => $file, @@ -169,42 +169,45 @@ function dol_mimetype($file) { $mime='application/octet-stream'; // Text files - if (eregi('\.txt',$file)) $mime='text/plain'; - if (eregi('\.csv$',$file)) $mime='text/csv'; - if (eregi('\.tsv$',$file)) $mime='text/tab-separated-values'; + if (preg_match('/\.txt$/i',$file)) $mime='text/plain'; + if (preg_match('/\.csv$/i',$file)) $mime='text/csv'; + if (preg_match('/\.tsv$/i',$file)) $mime='text/tab-separated-values'; // MS office - if (eregi('\.mdb$',$file)) $mime='application/msaccess'; - if (eregi('\.doc$',$file)) $mime='application/msword'; - if (eregi('\.dot$',$file)) $mime='application/msword'; - if (eregi('\.xls$',$file)) $mime='application/vnd.ms-excel'; - if (eregi('\.ppt$',$file)) $mime='application/vnd.ms-powerpoint'; + if (preg_match('/\.mdb$/i',$file)) $mime='application/msaccess'; + if (preg_match('/\.doc(x|m)?$/i',$file)) $mime='application/msword'; + if (preg_match('/\.dot(x|m)?$/i',$file)) $mime='application/msword'; + if (preg_match('/\.xls(b|m|x)?$/i',$file)) $mime='application/vnd.ms-excel'; + if (preg_match('/\.xlt(x)?$/i',$file)) $mime='application/vnd.ms-excel'; + if (preg_match('/\.xla(m)?$/i',$file)) $mime='application/vnd.ms-excel'; + if (preg_match('/\.pps(m|x)?$/i',$file)) $mime='application/vnd.ms-powerpoint'; + if (preg_match('/\.ppt(m|x)?$/i',$file)) $mime='application/x-mspowerpoint'; // Open office - if (eregi('\.odp$',$file)) $mime='application/vnd.oasis.opendocument.presentation'; - if (eregi('\.ods$',$file)) $mime='application/vnd.oasis.opendocument.spreadsheet'; - if (eregi('\.odt$',$file)) $mime='application/vnd.oasis.opendocument.text'; + if (preg_match('/\.odp$/i',$file)) $mime='application/vnd.oasis.opendocument.presentation'; + if (preg_match('/\.ods$/i',$file)) $mime='application/vnd.oasis.opendocument.spreadsheet'; + if (preg_match('/\.odt$/i',$file)) $mime='application/vnd.oasis.opendocument.text'; // Mix - if (eregi('\.(html|htm)$',$file)) $mime='text/html'; - if (eregi('\.pdf$',$file)) $mime='application/pdf'; - if (eregi('\.sql$',$file)) $mime='text/plain'; - if (eregi('\.(sh|ksh|bash)$',$file)) $mime='text/plain'; + if (preg_match('/\.(html|htm)$/i',$file)) $mime='text/html'; + if (preg_match('/\.pdf$/i',$file)) $mime='application/pdf'; + if (preg_match('/\.sql$/i',$file)) $mime='text/plain'; + if (preg_match('/\.(sh|ksh|bash)$/i',$file)) $mime='text/plain'; // Images - if (eregi('\.jpg$',$file)) $mime='image/jpeg'; - if (eregi('\.jpeg$',$file)) $mime='image/jpeg'; - if (eregi('\.png$',$file)) $mime='image/png'; - if (eregi('\.gif$',$file)) $mime='image/gif'; - if (eregi('\.bmp$',$file)) $mime='image/bmp'; - if (eregi('\.tiff$',$file)) $mime='image/tiff'; + if (preg_match('/\.jpg$/i',$file)) $mime='image/jpeg'; + if (preg_match('/\.jpeg$/i',$file)) $mime='image/jpeg'; + if (preg_match('/\.png$/i',$file)) $mime='image/png'; + if (preg_match('/\.gif$/i',$file)) $mime='image/gif'; + if (preg_match('/\.bmp$/i',$file)) $mime='image/bmp'; + if (preg_match('/\.tiff$/i',$file)) $mime='image/tiff'; // Calendar - if (eregi('\.vcs$',$file)) $mime='text/calendar'; - if (eregi('\.ics$',$file)) $mime='text/calendar'; + if (preg_match('/\.vcs$/i',$file)) $mime='text/calendar'; + if (preg_match('/\.ics$/i',$file)) $mime='text/calendar'; // Other - if (eregi('\.torrent$',$file)) $mime='application/x-bittorrent'; + if (preg_match('/\.torrent$/i',$file)) $mime='application/x-bittorrent'; // Audio - if (eregi('\.(mp3|ogg|au)$',$file)) $mime='audio'; + if (preg_match('/\.(mp3|ogg|au|wav|wma|mid)$/i',$file)) $mime='audio'; // Video - if (eregi('\.(avi|mvw|divx|xvid)$',$file)) $mime='video'; + if (preg_match('/\.(avi|divx|xvid|wmv|mpg|mpeg)$/i',$file)) $mime='video'; // Archive - if (eregi('\.(zip|rar|gz|tgz|z|cab|bz2)$',$file)) $mime='archive'; + if (preg_match('/\.(zip|rar|gz|tgz|z|cab|bz2|7z)$/i',$file)) $mime='archive'; return $mime; }