فهرست منبع

Fix can disable port on command line

Laurent Destailleur 1 سال پیش
والد
کامیت
72d84f546f
1فایلهای تغییر یافته به همراه59 افزوده شده و 53 حذف شده
  1. 59 53
      dev/initdemo/initdemopassword.sh

+ 59 - 53
dev/initdemo/initdemopassword.sh

@@ -5,15 +5,17 @@
 #
 # Laurent Destailleur - eldy@users.sourceforge.net
 #------------------------------------------------------
-# Usage: initdemopassword.sh confirm 
+# Usage: initdemopassword.sh confirm
 # usage: initdemopassword.sh confirm base port login pass
 #------------------------------------------------------
+# shellcheck disable=2006,2034,2046,2064,2068,2086,2155,2166,2186,2172,2268
+# shellcheck disable=2012,2016,2154
 
 
 export mydir=`echo "$0" | sed -e 's/initdemopassword.sh//'`;
 if [ "x$mydir" = 'x' -o "x$mydir" = 'x./' ]
 then
-    export mydir="."
+	export mydir="."
 fi
 export id=`id -u`;
 
@@ -56,103 +58,107 @@ then
 	fichtemp=`tempfile 2>/dev/null` || fichtemp=/tmp/test$$
 	trap "rm -f $fichtemp" 0 1 2 5 15
 	$DIALOG --title "Reset login password" --clear \
-	        --inputbox "Mysql database name :" 16 55 dolibarrdemo 2> $fichtemp
+		--inputbox "Mysql database name :" 16 55 dolibarrdemo 2> $fichtemp
 	valret=$?
 	case $valret in
-	  0)
-	base=`cat $fichtemp`;;
-	  1)
-	exit;;
-	  255)
-	exit;;
+		0)
+			base=`cat $fichtemp` ;;
+		1)
+			exit ;;
+		255)
+			exit ;;
 	esac
 	rm $fichtemp
-	
+
 	# ---------------------------- database port
 	DIALOG=${DIALOG=dialog}
 	fichtemp=`tempfile 2>/dev/null` || fichtemp=/tmp/test$$
 	trap "rm -f $fichtemp" 0 1 2 5 15
 	$DIALOG --title "Reset login password" --clear \
-	        --inputbox "Mysql port (ex: 3306):" 16 55 3306 2> $fichtemp
-	
+		--inputbox "Mysql port (ex: 3306):" 16 55 3306 2> $fichtemp
+
 	valret=$?
-	
+
 	case $valret in
-	  0)
-	port=`cat $fichtemp`;;
-	  1)
-	exit;;
-	  255)
-	exit;;
+		0)
+			port=`cat $fichtemp` ;;
+		1)
+			exit ;;
+		255)
+			exit ;;
 	esac
 	rm $fichtemp
-	
-	
+
+
 	# ----------------------------- demo login
 	DIALOG=${DIALOG=dialog}
 	DIALOG="$DIALOG --ascii-lines"
 	fichtemp=`tempfile 2>/dev/null` || fichtemp=/tmp/test$$
 	trap "rm -f $fichtemp" 0 1 2 5 15
 	$DIALOG --title "Reset login password" --clear \
-	        --inputbox "Login to reset :" 16 55 dolibarrdemologin 2> $fichtemp
+		--inputbox "Login to reset :" 16 55 dolibarrdemologin 2> $fichtemp
 	valret=$?
 	case $valret in
-	  0)
-	demologin=`cat $fichtemp`;;
-	  1)
-	exit;;
-	  255)
-	exit;;
+		0)
+			demologin=`cat $fichtemp` ;;
+		1)
+			exit ;;
+		255)
+			exit ;;
 	esac
 	rm fichtemp
-	
+
 	# ----------------------------- demo pass
 	DIALOG=${DIALOG=dialog}
 	DIALOG="$DIALOG --ascii-lines"
 	fichtemp=`tempfile 2>/dev/null` || fichtemp=/tmp/test$$
 	trap "rm -f $fichtemp" 0 1 2 5 15
 	$DIALOG --title "Reset login password" --clear \
-	        --inputbox "Pass to set :" 16 55 dolibarrdemopass 2> $fichtemp
+		--inputbox "Pass to set :" 16 55 dolibarrdemopass 2> $fichtemp
 	valret=$?
 	case $valret in
-	  0)
-	demopass=`cat $fichtemp`;;
-	  1)
-	exit;;
-	  255)
-	exit;;
+		0)
+			demopass=`cat $fichtemp` ;;
+		1)
+			exit ;;
+		255)
+			exit ;;
 	esac
 	rm fichtemp
-	
-	
+
+
 	export documentdir=`cat $mydir/../../htdocs/conf/conf.php | grep '^\$dolibarr_main_data_root' | sed -e 's/$dolibarr_main_data_root=//' | sed -e 's/;//' | sed -e "s/'//g" | sed -e 's/"//g' `
 
 
 	# ---------------------------- confirmation
 	DIALOG=${DIALOG=dialog}
 	$DIALOG --title "Reset login password" --clear \
-	        --yesno "Do you confirm ? \n Mysql database : '$base' \n Mysql port : '$port' \n Demo login: '$demologin' \n Demo password : '$demopass'" 15 55
-	
+		--yesno "Do you confirm ? \n Mysql database : '$base' \n Mysql port : '$port' \n Demo login: '$demologin' \n Demo password : '$demopass'" 15 55
+
 	case $? in
-	        0)      echo "Ok, start process...";;
-	        1)      exit;;
-	        255)    exit;;
+		0)      echo "Ok, start process..." ;;
+		1)      exit ;;
+		255)    exit ;;
 	esac
 
 fi
 
 
 # ---------------------------- run sql file
+if [ "x$port" != "x0" ]
+then
+	export Pport="-P$port"
+fi
 if [ "x$passwd" != "x" ]
 then
 	export passwd="-p$passwd"
 fi
-#echo "mysql -P$port -u$admin $passwd $base < $mydir/$dumpfile"
-#mysql -P$port -u$admin $passwd $base < $mydir/$dumpfile
+#echo "mysql $Pport -u$admin $passwd $base < $mydir/$dumpfile"
+#mysql $Pport -u$admin $passwd $base < $mydir/$dumpfile
 
 if [ "x${demopasshash}" != "xpassword_hash" ]
 then
-	echo '<?php echo MD5("'$demopass'"); ?>' > /tmp/tmp.php 
+	echo '<?php echo MD5("'$demopass'"); ?>' > /tmp/tmp.php
 	newpass=`php -f /tmp/tmp.php`
 else
 	echo '<?php echo password_hash("'$demopass'", PASSWORD_DEFAULT); ?>' > /tmp/tmp.php
@@ -160,22 +166,22 @@ else
 fi
 #rm /tmp/tmp.php
 
-echo "echo \"UPDATE llx_user SET pass_crypted = '$newpass' WHERE login = '$demologin';\" | mysql -P$port $base"
-echo "UPDATE llx_user SET pass_crypted = '$newpass' WHERE login = '$demologin';" | mysql -P$port $base
+echo "echo \"UPDATE llx_user SET pass_crypted = '$newpass' WHERE login = '$demologin';\" | mysql $Pport $base"
+echo "UPDATE llx_user SET pass_crypted = '$newpass' WHERE login = '$demologin';" | mysql $Pport $base
 export res=$?
 
 if [ $res -ne 0 ]; then
-	echo "Error to execute sql with mysql -P$port -u$admin -p***** $base"
+	echo "Error to execute sql with mysql $Pport -u$admin -p***** $base"
 	exit
-fi 
+fi
 
 if [ -s "$mydir/initdemopostsql.sql" ]; then
 	echo A file initdemopostsql.sql was found, we execute it.
-	echo "mysql -P$port $base < \"$mydir/initdemopostsql.sql\""
-	mysql -P$port $base < "$mydir/initdemopostsql.sql"
+	echo "mysql $Pport $base < \"$mydir/initdemopostsql.sql\""
+	mysql $Pport $base < "$mydir/initdemopostsql.sql"
 else
 	echo No file initdemopostsql.sql found, so no extra sql action done.
-fi 
+fi
 
 
 if [ "x$res" = "x0" ]