From d1777a67830d934fb8dccd6b661874e9cd388a2c Mon Sep 17 00:00:00 2001
From: Laurent Destailleur <eldy@destailleur.fr>
Date: Sat, 5 Mar 2016 15:01:25 +0100
Subject: [PATCH] Replace function rand with mt_rand (prepare php 8)

---
 dev/initdata/generate-invoice.php                    |  8 ++++----
 dev/initdata/generate-order.php                      |  8 ++++----
 dev/initdata/generate-product.php                    |  4 ++--
 dev/initdata/generate-proposal.php                   |  8 ++++----
 dev/initdata/generate-thirdparty.php                 | 12 ++++++------
 htdocs/comm/propal/class/propal.class.php            |  2 +-
 htdocs/commande/class/commande.class.php             |  2 +-
 htdocs/compta/facture/class/facture.class.php        |  8 ++++----
 htdocs/contrat/class/contrat.class.php               |  2 +-
 htdocs/core/lib/functions.lib.php                    |  2 +-
 .../security/generate/modGeneratePassPerso.class.php |  8 ++++----
 htdocs/fourn/class/fournisseur.facture.class.php     |  2 +-
 htdocs/opensurvey/fonctions.php                      |  2 +-
 htdocs/projet/class/project.class.php                |  2 +-
 .../class/supplier_proposal.class.php                |  2 +-
 15 files changed, 36 insertions(+), 36 deletions(-)

diff --git a/dev/initdata/generate-invoice.php b/dev/initdata/generate-invoice.php
index 11d827e0dcf..e7c274040de 100755
--- a/dev/initdata/generate-invoice.php
+++ b/dev/initdata/generate-invoice.php
@@ -90,7 +90,7 @@ $result=0;
 while ($i < GEN_NUMBER_FACTURE && $result >= 0)
 {
 	$i++;
-	$socid = rand(1, $num_socs);
+	$socid = mt_rand(1, $num_socs);
 
 	print "Invoice ".$i." for socid ".$socid;
 
@@ -105,14 +105,14 @@ while ($i < GEN_NUMBER_FACTURE && $result >= 0)
 		$result=$facture->validate($user);
 		if ($result)
 		{
-			$nbp = rand(2, 5);
+			$nbp = mt_rand(2, 5);
 			$xnbp = 0;
 			while ($xnbp < $nbp)
 			{
-				$prodid = rand(1, $num_prods);
+				$prodid = mt_rand(1, $num_prods);
 				$product=new Product($db);
 				$result=$product->fetch($prodids[$prodid]);
-				$result=$facture->addline($product->description, $product->price, rand(1,5), 0, 0, 0, $prodids[$prodid], 0, '', '', 0, 0, '', $product->price_base_type, $product->price_ttc, $product->type);
+				$result=$facture->addline($product->description, $product->price, mt_rand(1,5), 0, 0, 0, $prodids[$prodid], 0, '', '', 0, 0, '', $product->price_base_type, $product->price_ttc, $product->type);
 			    if ($result < 0)
                 {
                     dol_print_error($db,$propal->error);
diff --git a/dev/initdata/generate-order.php b/dev/initdata/generate-order.php
index 082d5428c97..9e96bbd781b 100755
--- a/dev/initdata/generate-order.php
+++ b/dev/initdata/generate-order.php
@@ -165,7 +165,7 @@ for ($s = 0 ; $s < GEN_NUMBER_COMMANDE ; $s++)
     $com = new Commande($db);
 
     $com->socid         = 4;
-    $com->date_commande  = $dates[rand(1, count($dates)-1)];
+    $com->date_commande  = $dates[mt_rand(1, count($dates)-1)];
     $com->note           = 'A comment';
     $com->source         = 1;
     $com->fk_project     = 0;
@@ -179,14 +179,14 @@ for ($s = 0 ; $s < GEN_NUMBER_COMMANDE ; $s++)
 		$result=$com->valid($user);
 		if ($result > 0)
 		{
-            $nbp = rand(2, 5);
+            $nbp = mt_rand(2, 5);
             $xnbp = 0;
             while ($xnbp < $nbp)
             {
-                $prodid = rand(1, $num_prods);
+                $prodid = mt_rand(1, $num_prods);
                 $product=new Product($db);
                 $result=$product->fetch($prodids[$prodid]);
-                $result=$com->addline($product->description, $product->price, rand(1,5), 0, 0, 0, $prodids[$prodid], 0, 0, 0,  $product->price_base_type, $product->price_ttc, '', '', $product->type);
+                $result=$com->addline($product->description, $product->price, mt_rand(1,5), 0, 0, 0, $prodids[$prodid], 0, 0, 0,  $product->price_base_type, $product->price_ttc, '', '', $product->type);
                 if ($result < 0)
                 {
                     dol_print_error($db,$propal->error);
diff --git a/dev/initdata/generate-product.php b/dev/initdata/generate-product.php
index 975fc1ba33d..fbdde96f95a 100755
--- a/dev/initdata/generate-product.php
+++ b/dev/initdata/generate-product.php
@@ -85,12 +85,12 @@ for ($s = 0 ; $s < GEN_NUMBER_PRODUIT ; $s++)
 {
     print "Product ".$s;
     $produit = new Product($db);
-    $produit->type = rand(0,1);
+    $produit->type = mt_rand(0,1);
     $produit->status = 1;
     $produit->ref = ($produit->type?'S':'P').time().$s;
     $produit->label = 'Label '.time().$s;
     $produit->description = 'Description '.time().$s;
-    $produit->price = rand(1,1000);
+    $produit->price = mt_rand(1,1000);
     $produit->tva_tx = "19.6";
     $ret=$produit->create($user);
     if ($ret < 0) print "Error $ret - ".$produit->error."\n";
diff --git a/dev/initdata/generate-proposal.php b/dev/initdata/generate-proposal.php
index 8d413a518c1..071efc0298f 100755
--- a/dev/initdata/generate-proposal.php
+++ b/dev/initdata/generate-proposal.php
@@ -117,7 +117,7 @@ $result=0;
 while ($i < GEN_NUMBER_PROPAL && $result >= 0)
 {
 	$i++;
-	$socid = rand(1, $num_socs);
+	$socid = mt_rand(1, $num_socs);
 	print "Proposal ".$i." for socid ".$socid;
 
 	$soc = new Societe($db);
@@ -140,14 +140,14 @@ while ($i < GEN_NUMBER_PROPAL && $result >= 0)
 	$result=$propal->create($user);
 	if ($result >= 0)
 	{
-		$nbp = rand(2, 5);
+		$nbp = mt_rand(2, 5);
 		$xnbp = 0;
 		while ($xnbp < $nbp)
 		{
-			$prodid = rand(1, $num_prods);
+			$prodid = mt_rand(1, $num_prods);
 			$product=new Product($db);
 			$result=$product->fetch($prodids[$prodid]);
-			$result=$propal->addline($product->description, $product->price, rand(1,5), 0, 0, 0, $prodids[$prodid], 0);
+			$result=$propal->addline($product->description, $product->price, mt_rand(1,5), 0, 0, 0, $prodids[$prodid], 0);
 			if ($result < 0)
 			{
 				dol_print_error($db,$propal->error);
diff --git a/dev/initdata/generate-thirdparty.php b/dev/initdata/generate-thirdparty.php
index d6e9d4c9393..8c3a6e3e86e 100755
--- a/dev/initdata/generate-thirdparty.php
+++ b/dev/initdata/generate-thirdparty.php
@@ -90,30 +90,30 @@ for ($s = 0 ; $s < GEN_NUMBER_SOCIETE ; $s++)
     print "Company $s\n";
     $soc = new Societe($db);
     $soc->name = "Company num ".time()."$s";
-    $soc->town = $listoftown[rand(0, count($listoftown)-1)];
-    $soc->client = rand(1,2);		// Une societe sur 2 est prospect, l'autre client
-    $soc->fournisseur = rand(0,1);	// Une societe sur 2 est fournisseur
+    $soc->town = $listoftown[mt_rand(0, count($listoftown)-1)];
+    $soc->client = mt_rand(1,2);		// Une societe sur 2 est prospect, l'autre client
+    $soc->fournisseur = mt_rand(0,1);	// Une societe sur 2 est fournisseur
     $soc->code_client='CU'.time()."$s";
     $soc->code_fournisseur='SU'.time()."$s";
     $soc->tva_assuj=1;
     $soc->country_id=1;
     $soc->country_code='FR';
 	// Un client sur 3 a une remise de 5%
-    $user_remise=rand(1,3); if ($user_remise==3) $soc->remise_percent=5;
+    $user_remise=mt_rand(1,3); if ($user_remise==3) $soc->remise_percent=5;
 	print "> client=".$soc->client.", fournisseur=".$soc->fournisseur.", remise=".$soc->remise_percent."\n";
     $soc->note_private = 'Company created by the script generate-societe.php';
     $socid = $soc->create();
 
     if ($socid >= 0)
     {
-        $rand = rand(1,4);
+        $rand = mt_rand(1,4);
         print "> Generates $rand contact(s)\n";
         for ($c = 0 ; $c < $rand ; $c++)
         {
             $contact = new Contact($db);
             $contact->socid = $soc->id;
             $contact->lastname = "Lastname".$c;
-            $contact->firstname = $listoflastname[rand(0, count($listoflastname)-1)];
+            $contact->firstname = $listoflastname[mt_rand(0, count($listoflastname)-1)];
             if ( $contact->create($user) )
             {
 
diff --git a/htdocs/comm/propal/class/propal.class.php b/htdocs/comm/propal/class/propal.class.php
index 3bd52d98e5f..4242a23823c 100644
--- a/htdocs/comm/propal/class/propal.class.php
+++ b/htdocs/comm/propal/class/propal.class.php
@@ -2675,7 +2675,7 @@ class Propal extends CommonObject
                 $line->remise_percent=00;
             }
 
-            $prodid = rand(1, $num_prods);
+            $prodid = mt_rand(1, $num_prods);
             $line->fk_product=$prodids[$prodid];
 
             $this->lines[$xnbp]=$line;
diff --git a/htdocs/commande/class/commande.class.php b/htdocs/commande/class/commande.class.php
index 8f8edcf15a3..ed1947ec3ca 100644
--- a/htdocs/commande/class/commande.class.php
+++ b/htdocs/commande/class/commande.class.php
@@ -3224,7 +3224,7 @@ class Commande extends CommonOrder
                 $line->total_tva=19.6;
                 $line->remise_percent=0;
             }
-            $prodid = rand(1, $num_prods);
+            $prodid = mt_rand(1, $num_prods);
             $line->fk_product=$prodids[$prodid];
 
             $this->lines[$xnbp]=$line;
diff --git a/htdocs/compta/facture/class/facture.class.php b/htdocs/compta/facture/class/facture.class.php
index 95356149622..09b253e08a0 100644
--- a/htdocs/compta/facture/class/facture.class.php
+++ b/htdocs/compta/facture/class/facture.class.php
@@ -3566,7 +3566,7 @@ class Facture extends CommonInvoice
 				$line->remise_percent=0;
 				if ($xnbp == 1)        // Qty is negative (product line)
 				{
-					$prodid = rand(1, $num_prods);
+					$prodid = mt_rand(1, $num_prods);
 					$line->fk_product=$prodids[$prodid];
 					$line->qty=-1;
 					$line->total_ht=-100;
@@ -3583,7 +3583,7 @@ class Facture extends CommonInvoice
 				}
 				else if ($xnbp == 3)    // Discount is 50% (product line)
 				{
-					$prodid = rand(1, $num_prods);
+					$prodid = mt_rand(1, $num_prods);
 					$line->fk_product=$prodids[$prodid];
 					$line->total_ht=50;
 					$line->total_ttc=59.8;
@@ -3592,7 +3592,7 @@ class Facture extends CommonInvoice
 				}
 				else    // (product line)
 				{
-					$prodid = rand(1, $num_prods);
+					$prodid = mt_rand(1, $num_prods);
 					$line->fk_product=$prodids[$prodid];
 					$line->total_ht=100;
 					$line->total_ttc=119.6;
@@ -3621,7 +3621,7 @@ class Facture extends CommonInvoice
 			$line->total_ht=0;
 			$line->total_ttc=0;    // 90 * 1.196
 			$line->total_tva=0;
-			$prodid = rand(1, $num_prods);
+			$prodid = mt_rand(1, $num_prods);
 			$line->fk_product=$prodids[$prodid];
 
 			$this->lines[$xnbp]=$line;
diff --git a/htdocs/contrat/class/contrat.class.php b/htdocs/contrat/class/contrat.class.php
index 9e8b1de5d07..395e484075d 100644
--- a/htdocs/contrat/class/contrat.class.php
+++ b/htdocs/contrat/class/contrat.class.php
@@ -2147,7 +2147,7 @@ class Contrat extends CommonObject
 			$line->total_ht=90;
 			$line->total_ttc=107.64;	// 90 * 1.196
 			$line->total_tva=17.64;
-			$prodid = rand(1, $num_prods);
+			$prodid = mt_rand(1, $num_prods);
 			$line->fk_product=$prodids[$prodid];
 			$this->lines[$xnbp]=$line;
 			$xnbp++;
diff --git a/htdocs/core/lib/functions.lib.php b/htdocs/core/lib/functions.lib.php
index 493afb9e4cc..ebe5509078d 100644
--- a/htdocs/core/lib/functions.lib.php
+++ b/htdocs/core/lib/functions.lib.php
@@ -5393,7 +5393,7 @@ function dol_set_focus($selector)
 function dol_getmypid()
 {
     if (! function_exists('getmypid')) {
-        return rand(1,32768);
+        return mt_rand(1,32768);
     } else {
         return getmypid();
     }
diff --git a/htdocs/core/modules/security/generate/modGeneratePassPerso.class.php b/htdocs/core/modules/security/generate/modGeneratePassPerso.class.php
index 7440a357ea8..af08ae53392 100644
--- a/htdocs/core/modules/security/generate/modGeneratePassPerso.class.php
+++ b/htdocs/core/modules/security/generate/modGeneratePassPerso.class.php
@@ -134,19 +134,19 @@ class modGeneratePassPerso extends ModeleGenPassword
 	{
 		$pass = "";
 		for($i=0; $i<$this->NbMaj; $i++){ // Y
-			$pass .= $this->Maj[rand(0,strlen($this->Maj) - 1)];
+			$pass .= $this->Maj[mt_rand(0,strlen($this->Maj) - 1)];
 		}
 
 		for($i=0; $i<$this->NbNum; $i++){ // X
-			$pass .= $this->Nb[rand(0,strlen($this->Nb) - 1)];
+			$pass .= $this->Nb[mt_rand(0,strlen($this->Nb) - 1)];
 		}
 
 		for($i=0; $i<$this->NbSpe; $i++){ // @
-			$pass .= $this->Spe[rand(0,strlen($this->Spe) - 1)];
+			$pass .= $this->Spe[mt_rand(0,strlen($this->Spe) - 1)];
 		}
 
 		for($i=strlen($pass);$i<$this->length2; $i++){ // y
-			$pass .= $this->All[rand(0,strlen($this->All) -1)];
+			$pass .= $this->All[mt_rand(0,strlen($this->All) -1)];
 		}
 
 		$pass = str_shuffle($pass);
diff --git a/htdocs/fourn/class/fournisseur.facture.class.php b/htdocs/fourn/class/fournisseur.facture.class.php
index a6bfef7427b..95870df027e 100644
--- a/htdocs/fourn/class/fournisseur.facture.class.php
+++ b/htdocs/fourn/class/fournisseur.facture.class.php
@@ -1692,7 +1692,7 @@ class FactureFournisseur extends CommonInvoice
     			$line->remise_percent=0;
 			}
 
-			$prodid = rand(1, $num_prods);
+			$prodid = mt_rand(1, $num_prods);
             $line->fk_product=$prodids[$prodid];
             $line->product_type=0;
 
diff --git a/htdocs/opensurvey/fonctions.php b/htdocs/opensurvey/fonctions.php
index 5b11a821b7c..214fc9130db 100644
--- a/htdocs/opensurvey/fonctions.php
+++ b/htdocs/opensurvey/fonctions.php
@@ -192,7 +192,7 @@ function dol_survey_random($car)
 	$chaine = "abcdefghijklmnopqrstuvwxyz123456789";
 	srand((double) microtime()*1000000);
 	for($i=0; $i<$car; $i++) {
-		$string .= $chaine[rand()%strlen($chaine)];
+		$string .= $chaine[mt_rand() % strlen($chaine)];
 	}
 	return $string;
 }
diff --git a/htdocs/projet/class/project.class.php b/htdocs/projet/class/project.class.php
index b9a0e8ab55a..90a4d70130d 100644
--- a/htdocs/projet/class/project.class.php
+++ b/htdocs/projet/class/project.class.php
@@ -955,7 +955,7 @@ class Project extends CommonObject
         $this->budget_amount = 10000;
 
         /*
-        $nbp = rand(1, 9);
+        $nbp = mt_rand(1, 9);
         $xnbp = 0;
         while ($xnbp < $nbp)
         {
diff --git a/htdocs/supplier_proposal/class/supplier_proposal.class.php b/htdocs/supplier_proposal/class/supplier_proposal.class.php
index a6bf22a4b21..df634da27ae 100644
--- a/htdocs/supplier_proposal/class/supplier_proposal.class.php
+++ b/htdocs/supplier_proposal/class/supplier_proposal.class.php
@@ -2244,7 +2244,7 @@ class SupplierProposal extends CommonObject
                 $line->remise_percent=00;
             }
 
-            $prodid = rand(1, $num_prods);
+            $prodid = mt_rand(1, $num_prods);
             $line->fk_product=$prodids[$prodid];
 
             $this->lines[$xnbp]=$line;
-- 
GitLab