From 359373e8b8b98d1b9663ec74527445dca9a8894a Mon Sep 17 00:00:00 2001 From: Hystepik Date: Wed, 9 Oct 2024 11:43:38 +0200 Subject: [PATCH 1/9] New add function de make file from package object movable --- class/actions_sellyoursaas.class.php | 95 ++++++++++++++++++++++++++ class/packages.class.php | 2 +- class/sellyoursaasutils.class.php | 1 + core/modules/modSellYourSaas.class.php | 2 +- packages_document.php | 2 +- scripts/action_deploy_undeploy.sh | 67 ++++++++++++++---- 6 files changed, 153 insertions(+), 16 deletions(-) diff --git a/class/actions_sellyoursaas.class.php b/class/actions_sellyoursaas.class.php index f4ae653f3..b7dd24a2b 100644 --- a/class/actions_sellyoursaas.class.php +++ b/class/actions_sellyoursaas.class.php @@ -1632,4 +1632,99 @@ public function restrictedArea($parameters, &$action, $hookmanager) return 0; } + + /** + * Overloading the isLinkedDocumentObjectNotMovable function : check if we enable link document move + * + * @param array $parameters Hook metadatas (context, etc...) + * @param string $object Current object (if set) + * @param HookManager $hookmanager Hook manager propagated to allow calling another hook + * @return int =0 if OK but we want to process standard code, + * >0 if OK and we want to replace standard codeS. + */ + public function isLinkedDocumentObjectNotMovable($parameters, &$object, $hookmanager) + { + global $user; + if (in_array($object->element, array("packages"))) { + $this->results['disablemove'] = 0; + return 1; + } + + return 0; + } + + /** + * Overloading the checkRowPerms function : check permission on an object + * + * @param array $parameters Hook metadatas (context, etc...) + * @param string $object Current object (if set) + * @param HookManager $hookmanager Hook manager propagated to allow calling another hook + * @return int =0 if OK but we want to process standard code, + * >0 if OK and we want to replace standard codeS. + */ + public function checkRowPerms($parameters, &$object, $hookmanager) + { + global $user; + if (in_array($parameters["fk_element"], array("fk_packages"))) { + $this->results['perm'] = $user->hasRight('sellyoursaas', 'write'); + return 1; + } + + return 0; + } + + /** + * Overloading the afterRankOfLineUpdate function : do an action after Rank line for an object + * + * @param array $parameters Hook metadatas (context, etc...) + * @param string $object Current object (if set) + * @param HookManager $hookmanager Hook manager propagated to allow calling another hook + * @return int =0 if OK but we want to process standard code, + * >0 if OK and we want to replace standard codeS. + */ + public function afterRankOfLineUpdate($parameters, &$object, $hookmanager) + { + global $user; + $error = 0; + if (in_array($object->fk_element, array('fk_packages'))) { + dol_include_once('sellyoursaas/class/packages.class.php'); + $package = new Packages($this->db); + $result = $package->fetch($object->id); + if ($result <= 0) { + $this->error = $package->error; + $this->errors = array_merge($this->errors, $package->errors); + return -1; + } + + $dol_data_root = (!getDolGlobalString('SELLYOURSAAS_FORCE_DOL_DATA_ROOT') ? DOL_DATA_ROOT : $conf->global->SELLYOURSAAS_FORCE_DOL_DATA_ROOT); + $filepath = ""; + $filename = ""; + + $sql = "SELECT f.filepath, f.filename"; + $sql .= " FROM ".MAIN_DB_PREFIX."ecm_files as f"; + $sql .= " WHERE rowid = ".((int) $parameters["rowid"]); + + $result = $this->db->query($sql); + if ($result) { + if ($this->db->num_rows($result)) { + $obj = $this->db->fetch_object($result); + $filepath = $obj->filepath; + $filename = $obj->filename; + } + } else { + $error++; + $this->error = $this->db->last_error(); + } + + if (!$error) { + if (preg_match('/^\d_.*.sql$/', $filename)) { + $filetorename = $dol_data_root.'/'.$filepath.'/'.$filename; + if (is_file($filetorename)) { + } + } + } + return 1; + } + return 0; + } } diff --git a/class/packages.class.php b/class/packages.class.php index 59ffbb88f..bb330c71b 100644 --- a/class/packages.class.php +++ b/class/packages.class.php @@ -47,7 +47,7 @@ class Packages extends CommonObject public $module = 'sellyoursaas'; public $element_for_permission = 'sellyoursaas'; - + public $fk_element = 'fk_packages'; /** * @var array Does packages support multicompany module ? 0=No test on entity, 1=Test with field entity, 2=Test with link by societe */ diff --git a/class/sellyoursaasutils.class.php b/class/sellyoursaasutils.class.php index ac6f0b9aa..7ec15fa5d 100644 --- a/class/sellyoursaasutils.class.php +++ b/class/sellyoursaasutils.class.php @@ -4416,6 +4416,7 @@ public function sellyoursaasRemoteAction($remoteaction, $object, $appusername = $commandurl.= '&'.str_replace(' ', '£', $domainnamewebsite); // Param 46 in .sh $commandurl.= '&'.str_replace(' ', '£', $websitenamedeploy); // Param 47 in .sh $commandurl.= '&'.str_replace(' ', '£', $tmppackage->srccliafterpaid); // Param 48 in .sh src for cli after paid + $commandurl.= '&'.str_replace(' ', '£', $tmppackage->rowid); // Param 49 in .sh src for dump files in deploy //$outputfile = $conf->sellyoursaas->dir_temp.'/action-'.$remoteaction.'-'.dol_getmypid().'.out'; // Add a signature of message at end of message diff --git a/core/modules/modSellYourSaas.class.php b/core/modules/modSellYourSaas.class.php index 1d1f06210..9c4cde883 100644 --- a/core/modules/modSellYourSaas.class.php +++ b/core/modules/modSellYourSaas.class.php @@ -81,7 +81,7 @@ public function __construct($db) 'hooks' => array('thirdpartycard','thirdpartycomm','thirdpartysupplier','thirdpartycontact','contactthirdparty','thirdpartyticket','thirdpartynote','thirdpartydocument','thirdpartypartnership', 'projectthirdparty','consumptionthirdparty','thirdpartybancard','thirdpartymargins','ticketlist','thirdpartynotification','agendathirdparty', 'thirdpartydao','formmail','searchform','thirdpartylist','customerlist','prospectlist','contractcard','contractdao','contractlist', - 'pdfgeneration','odtgeneration','customreport')); + 'pdfgeneration','odtgeneration','customreport','rowinterface')); // Constants // List of particular constants to add when module is enabled (key, 'chaine', value, 'desc', visible, 'current' or 'allentities', deleteonunactive) diff --git a/packages_document.php b/packages_document.php index 5a89e18ad..f72918e72 100644 --- a/packages_document.php +++ b/packages_document.php @@ -90,7 +90,7 @@ $sortorder="ASC"; } if (! $sortfield) { - $sortfield="name"; + $sortfield="position"; } // Initialize technical objects diff --git a/scripts/action_deploy_undeploy.sh b/scripts/action_deploy_undeploy.sh index bda1916ee..1b478417e 100755 --- a/scripts/action_deploy_undeploy.sh +++ b/scripts/action_deploy_undeploy.sh @@ -160,6 +160,7 @@ if [ "x$INCLUDEFROMCONTRACT" == "x-" ]; then fi export CUSTOMDOMAIN=${46} +export packageID=${49} @@ -1492,19 +1493,59 @@ if [[ "$mode" == "deploy" || "$mode" == "deployall" ]]; then echo "You can test with mysql $dbname -h $dbserverhost -P $dbserverport -u $dbusername -p$dbpassword" - # Load dump file - echo `date +'%Y-%m-%d %H:%M:%S'`" Search dumpfile into $dirwithdumpfile" - for dumpfile in `ls $dirwithdumpfile/*.sql 2>/dev/null` - do - echo "$MYSQL -A -h $dbserverhost -P $dbserverport -u$dbadminuser -pXXXXXX -D $dbname < $dumpfile" - $MYSQL -A -h $dbserverhost -P $dbserverport -u$dbadminuser -p$dbadminpass -D $dbname < $dumpfile - result=$? - if [[ "x$result" != "x0" ]]; then - echo Failed to load dump file $dumpfile - echo "Failed to $mode instance $instancename.$domainname with: Failed to load dump file $dumpfile" | mail -aFrom:$EMAILFROM -s "[Alert] Pb in deploy/undeploy" $EMAILTO - exit 25 - fi - done + echo `date +'%Y-%m-%d %H:%M:%S'`" Search dumpfile from master db" + error=0 + mastermysqliteration=0 + masterdatabasehost=`grep '^databasehost=' /etc/sellyoursaas.conf | cut -d '=' -f 2` + masterdbport=`grep '^databaseport=' /etc/sellyoursaas.conf | cut -d '=' -f 2` + masterdbdatabase=`grep '^database=' /etc/sellyoursaas.conf | cut -d '=' -f 2` + masterdbuser=`grep '^databaseuser=' /etc/sellyoursaas.conf | cut -d '=' -f 2` + masterdbpass=`grep '^databasepass=' /etc/sellyoursaas.conf | cut -d '=' -f 2` + + SQL2="SELECT CONCAT('$dirwithdumpfile/', filename) as full_path FROM llx_ecm_files WHERE src_object_type = 'packages' AND src_object_id = $packageID AND filename like "%.sql" ORDER BY position ASC" + echo "$MYSQL -A -h $dbserverhost -D $masterdbdatabase -P $dbserverport -u$dbadminuser -pXXXXXX -e \"$SQL2\"" + + # Load dump file from master database + result=( $($MYSQL -u$dbadminuser -p$masterdbpass -h $dbserverhost -D $masterdbdatabase -P $dbserverport -ss -e "$SQL2") ) + if [[ ${result[0]} == "" ]]; then + echo "Failed to get data from master databasebefore" + error=$(( $error + 1 )) + else + for dumpfile in ${result[@]}; + do + if [[ -f $dumpfile ]]; then + echo "$MYSQL -A -h $dbserverhost -P $dbserverport -u$dbadminuser -pXXXXXX -D $dbname < $dumpfile" + $MYSQL -A -h $dbserverhost -P $dbserverport -u$dbadminuser -p$dbadminpass -D $dbname < $dumpfile + res=$? + if [[ "x$res" != "x0" ]]; then + echo Failed to load dump file $dumpfile + error=$(( $error + 1 )) + break + fi + mastermysqliteration=$(( $mastermysqliteration + 1 )) + else + echo "Error file $dumpfile does not exists" + error=$(( $error + 1 )) + break + fi + done + fi + + # Load dump file if it didn't work with master db + if [[ $error -ne 0 ]] || [[ $mastermysqliteration -eq 0 ]]; then + echo `date +'%Y-%m-%d %H:%M:%S'`" Search dumpfile into $dirwithdumpfile" + for dumpfile in `ls $dirwithdumpfile/*.sql 2>/dev/null` + do + echo "$MYSQL -A -h $dbserverhost -P $dbserverport -u$dbadminuser -pXXXXXX -D $dbname < $dumpfile" + $MYSQL -A -h $dbserverhost -P $dbserverport -u$dbadminuser -p$dbadminpass -D $dbname < $dumpfile + result=$? + if [[ "x$result" != "x0" ]]; then + echo Failed to load dump file $dumpfile + echo "Failed to $mode instance $instancename.$domainname with: Failed to load dump file $dumpfile" | mail -aFrom:$EMAILFROM -s "[Alert] Pb in deploy/undeploy" $EMAILTO + exit 25 + fi + done + fi fi From 8fb221f29dc4c8475d862a87e6bb1639cc88509a Mon Sep 17 00:00:00 2001 From: Hystepik Date: Wed, 9 Oct 2024 12:21:57 +0200 Subject: [PATCH 2/9] remove useless function --- class/actions_sellyoursaas.class.php | 55 ---------------------------- 1 file changed, 55 deletions(-) diff --git a/class/actions_sellyoursaas.class.php b/class/actions_sellyoursaas.class.php index b7dd24a2b..7fa285809 100644 --- a/class/actions_sellyoursaas.class.php +++ b/class/actions_sellyoursaas.class.php @@ -1672,59 +1672,4 @@ public function checkRowPerms($parameters, &$object, $hookmanager) return 0; } - - /** - * Overloading the afterRankOfLineUpdate function : do an action after Rank line for an object - * - * @param array $parameters Hook metadatas (context, etc...) - * @param string $object Current object (if set) - * @param HookManager $hookmanager Hook manager propagated to allow calling another hook - * @return int =0 if OK but we want to process standard code, - * >0 if OK and we want to replace standard codeS. - */ - public function afterRankOfLineUpdate($parameters, &$object, $hookmanager) - { - global $user; - $error = 0; - if (in_array($object->fk_element, array('fk_packages'))) { - dol_include_once('sellyoursaas/class/packages.class.php'); - $package = new Packages($this->db); - $result = $package->fetch($object->id); - if ($result <= 0) { - $this->error = $package->error; - $this->errors = array_merge($this->errors, $package->errors); - return -1; - } - - $dol_data_root = (!getDolGlobalString('SELLYOURSAAS_FORCE_DOL_DATA_ROOT') ? DOL_DATA_ROOT : $conf->global->SELLYOURSAAS_FORCE_DOL_DATA_ROOT); - $filepath = ""; - $filename = ""; - - $sql = "SELECT f.filepath, f.filename"; - $sql .= " FROM ".MAIN_DB_PREFIX."ecm_files as f"; - $sql .= " WHERE rowid = ".((int) $parameters["rowid"]); - - $result = $this->db->query($sql); - if ($result) { - if ($this->db->num_rows($result)) { - $obj = $this->db->fetch_object($result); - $filepath = $obj->filepath; - $filename = $obj->filename; - } - } else { - $error++; - $this->error = $this->db->last_error(); - } - - if (!$error) { - if (preg_match('/^\d_.*.sql$/', $filename)) { - $filetorename = $dol_data_root.'/'.$filepath.'/'.$filename; - if (is_file($filetorename)) { - } - } - } - return 1; - } - return 0; - } } From a918a80bd549c9133ca0427f9c5f5cbfdb250d87 Mon Sep 17 00:00:00 2001 From: Hystepik Date: Wed, 9 Oct 2024 14:40:33 +0200 Subject: [PATCH 3/9] fix script --- scripts/action_deploy_undeploy.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/action_deploy_undeploy.sh b/scripts/action_deploy_undeploy.sh index 1b478417e..61a4e2ebe 100755 --- a/scripts/action_deploy_undeploy.sh +++ b/scripts/action_deploy_undeploy.sh @@ -1503,10 +1503,10 @@ if [[ "$mode" == "deploy" || "$mode" == "deployall" ]]; then masterdbpass=`grep '^databasepass=' /etc/sellyoursaas.conf | cut -d '=' -f 2` SQL2="SELECT CONCAT('$dirwithdumpfile/', filename) as full_path FROM llx_ecm_files WHERE src_object_type = 'packages' AND src_object_id = $packageID AND filename like "%.sql" ORDER BY position ASC" - echo "$MYSQL -A -h $dbserverhost -D $masterdbdatabase -P $dbserverport -u$dbadminuser -pXXXXXX -e \"$SQL2\"" + echo "$MYSQL -ss -h $masterdatabasehost -D $masterdbdatabase -P $dbserverport -u$dbadminuser -pXXXXXX -e \"$SQL2\"" # Load dump file from master database - result=( $($MYSQL -u$dbadminuser -p$masterdbpass -h $dbserverhost -D $masterdbdatabase -P $dbserverport -ss -e "$SQL2") ) + result=( $($MYSQL -ss -h $masterdatabasehost -D $masterdbdatabase -P $dbserverport -u$dbadminuser -p$masterdbpass -e "$SQL2") ) if [[ ${result[0]} == "" ]]; then echo "Failed to get data from master databasebefore" error=$(( $error + 1 )) From 72afd0d768c7d072c075276afe6f5a2271d5e526 Mon Sep 17 00:00:00 2001 From: Hystepik Date: Wed, 9 Oct 2024 14:46:17 +0200 Subject: [PATCH 4/9] fix sql error --- class/sellyoursaasutils.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/class/sellyoursaasutils.class.php b/class/sellyoursaasutils.class.php index 7ec15fa5d..2f69ff91e 100644 --- a/class/sellyoursaasutils.class.php +++ b/class/sellyoursaasutils.class.php @@ -4416,7 +4416,7 @@ public function sellyoursaasRemoteAction($remoteaction, $object, $appusername = $commandurl.= '&'.str_replace(' ', '£', $domainnamewebsite); // Param 46 in .sh $commandurl.= '&'.str_replace(' ', '£', $websitenamedeploy); // Param 47 in .sh $commandurl.= '&'.str_replace(' ', '£', $tmppackage->srccliafterpaid); // Param 48 in .sh src for cli after paid - $commandurl.= '&'.str_replace(' ', '£', $tmppackage->rowid); // Param 49 in .sh src for dump files in deploy + $commandurl.= '&'.str_replace(' ', '£', $tmppackage->id); // Param 49 in .sh src for dump files in deploy //$outputfile = $conf->sellyoursaas->dir_temp.'/action-'.$remoteaction.'-'.dol_getmypid().'.out'; // Add a signature of message at end of message From 54feb8812e85ed923de26e722e0bf61556447448 Mon Sep 17 00:00:00 2001 From: Hystepik Date: Wed, 9 Oct 2024 14:47:58 +0200 Subject: [PATCH 5/9] fix sql error --- scripts/action_deploy_undeploy.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/action_deploy_undeploy.sh b/scripts/action_deploy_undeploy.sh index 61a4e2ebe..55cf2ef9d 100755 --- a/scripts/action_deploy_undeploy.sh +++ b/scripts/action_deploy_undeploy.sh @@ -1502,7 +1502,7 @@ if [[ "$mode" == "deploy" || "$mode" == "deployall" ]]; then masterdbuser=`grep '^databaseuser=' /etc/sellyoursaas.conf | cut -d '=' -f 2` masterdbpass=`grep '^databasepass=' /etc/sellyoursaas.conf | cut -d '=' -f 2` - SQL2="SELECT CONCAT('$dirwithdumpfile/', filename) as full_path FROM llx_ecm_files WHERE src_object_type = 'packages' AND src_object_id = $packageID AND filename like "%.sql" ORDER BY position ASC" + SQL2="SELECT CONCAT('$dirwithdumpfile/', filename) as full_path FROM llx_ecm_files WHERE src_object_type = 'packages' AND src_object_id = $packageID AND filename like '%.sql' ORDER BY position ASC" echo "$MYSQL -ss -h $masterdatabasehost -D $masterdbdatabase -P $dbserverport -u$dbadminuser -pXXXXXX -e \"$SQL2\"" # Load dump file from master database From d577d61c024edd61d6afe75dd0871031273edf20 Mon Sep 17 00:00:00 2001 From: Hystepik Date: Wed, 9 Oct 2024 14:53:24 +0200 Subject: [PATCH 6/9] add some log --- scripts/action_deploy_undeploy.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/scripts/action_deploy_undeploy.sh b/scripts/action_deploy_undeploy.sh index 55cf2ef9d..9bc246622 100755 --- a/scripts/action_deploy_undeploy.sh +++ b/scripts/action_deploy_undeploy.sh @@ -1522,6 +1522,7 @@ if [[ "$mode" == "deploy" || "$mode" == "deployall" ]]; then error=$(( $error + 1 )) break fi + echo "Dump $dumpfile successfully loaded" mastermysqliteration=$(( $mastermysqliteration + 1 )) else echo "Error file $dumpfile does not exists" From a598f60e6fa19b24f95f4c7ebc1dfc771ce13f5f Mon Sep 17 00:00:00 2001 From: Hystepik Date: Fri, 15 Nov 2024 21:22:58 +0100 Subject: [PATCH 7/9] test new sql script --- class/actions_sellyoursaas.class.php | 8 ++-- class/packages.class.php | 2 +- class/sellyoursaasutils.class.php | 16 +++++++ scripts/action_deploy_undeploy.sh | 67 ++++++---------------------- 4 files changed, 34 insertions(+), 59 deletions(-) diff --git a/class/actions_sellyoursaas.class.php b/class/actions_sellyoursaas.class.php index 7fa285809..90812c594 100644 --- a/class/actions_sellyoursaas.class.php +++ b/class/actions_sellyoursaas.class.php @@ -1665,11 +1665,11 @@ public function isLinkedDocumentObjectNotMovable($parameters, &$object, $hookman public function checkRowPerms($parameters, &$object, $hookmanager) { global $user; - if (in_array($parameters["fk_element"], array("fk_packages"))) { + $res = 0; + if (in_array($parameters["fk_element"], array("no_parent_package"))) { $this->results['perm'] = $user->hasRight('sellyoursaas', 'write'); - return 1; + $res = 1; } - - return 0; + return $res; } } diff --git a/class/packages.class.php b/class/packages.class.php index bb330c71b..7fd7016a5 100644 --- a/class/packages.class.php +++ b/class/packages.class.php @@ -47,7 +47,7 @@ class Packages extends CommonObject public $module = 'sellyoursaas'; public $element_for_permission = 'sellyoursaas'; - public $fk_element = 'fk_packages'; + public $fk_element = 'no_parent_package'; /** * @var array Does packages support multicompany module ? 0=No test on entity, 1=Test with field entity, 2=Test with link by societe */ diff --git a/class/sellyoursaasutils.class.php b/class/sellyoursaasutils.class.php index 2f69ff91e..97ce991fe 100644 --- a/class/sellyoursaasutils.class.php +++ b/class/sellyoursaasutils.class.php @@ -4381,6 +4381,22 @@ public function sellyoursaasRemoteAction($remoteaction, $object, $appusername = dol_syslog("No cli after paid file to create or no content"); } } + if (in_array($remoteaction, array("deploy", "deployall"))) { + dol_syslog("Create meta file ".$tmppackage->datafile1."/sellyoursaas.deploy.meta"); + $metadatadeploy = $tmppackage->datafile1."/.sellyoursaas.deploy.meta"; + dol_delete_file($metadatadeploy, 0, 1, 0, null, false, 0); + $filearraydeploy = dol_dir_list_in_database('sellyoursaas/packages/'.$tmppackage->ref, '', '', 'position', SORT_ASC, 0, '(filename:like:%.sql)'); + $strlistfile = ""; + if (!empty($filearraydeploy)) { + foreach ($filearraydeploy as $key => $arr) { + $strlistfile .= $arr["fullname"]."\n"; + } + $result = file_put_contents($metadatadeploy, $strlistfile); + @chmod($metadatadeploy, 0664); // so user/group has "rw" ('admin' can delete if owner/group is 'admin' or 'www-data', 'root' can also read using nfs) + } else{ + dol_syslog("No meta data file to creaaaate or no content "); + } + } // Parameters for remote action $commandurl = $generatedunixlogin.'&'.$generatedunixpassword.'&'.$sldAndSubdomain.'&'.$domainname; $commandurl.= '&'.$generateddbname.'&'.$generateddbport.'&'.$generateddbusername.'&'.$generateddbpassword; diff --git a/scripts/action_deploy_undeploy.sh b/scripts/action_deploy_undeploy.sh index 9bc246622..fb1cd55b2 100755 --- a/scripts/action_deploy_undeploy.sh +++ b/scripts/action_deploy_undeploy.sh @@ -1493,60 +1493,19 @@ if [[ "$mode" == "deploy" || "$mode" == "deployall" ]]; then echo "You can test with mysql $dbname -h $dbserverhost -P $dbserverport -u $dbusername -p$dbpassword" - echo `date +'%Y-%m-%d %H:%M:%S'`" Search dumpfile from master db" - error=0 - mastermysqliteration=0 - masterdatabasehost=`grep '^databasehost=' /etc/sellyoursaas.conf | cut -d '=' -f 2` - masterdbport=`grep '^databaseport=' /etc/sellyoursaas.conf | cut -d '=' -f 2` - masterdbdatabase=`grep '^database=' /etc/sellyoursaas.conf | cut -d '=' -f 2` - masterdbuser=`grep '^databaseuser=' /etc/sellyoursaas.conf | cut -d '=' -f 2` - masterdbpass=`grep '^databasepass=' /etc/sellyoursaas.conf | cut -d '=' -f 2` - - SQL2="SELECT CONCAT('$dirwithdumpfile/', filename) as full_path FROM llx_ecm_files WHERE src_object_type = 'packages' AND src_object_id = $packageID AND filename like '%.sql' ORDER BY position ASC" - echo "$MYSQL -ss -h $masterdatabasehost -D $masterdbdatabase -P $dbserverport -u$dbadminuser -pXXXXXX -e \"$SQL2\"" - - # Load dump file from master database - result=( $($MYSQL -ss -h $masterdatabasehost -D $masterdbdatabase -P $dbserverport -u$dbadminuser -p$masterdbpass -e "$SQL2") ) - if [[ ${result[0]} == "" ]]; then - echo "Failed to get data from master databasebefore" - error=$(( $error + 1 )) - else - for dumpfile in ${result[@]}; - do - if [[ -f $dumpfile ]]; then - echo "$MYSQL -A -h $dbserverhost -P $dbserverport -u$dbadminuser -pXXXXXX -D $dbname < $dumpfile" - $MYSQL -A -h $dbserverhost -P $dbserverport -u$dbadminuser -p$dbadminpass -D $dbname < $dumpfile - res=$? - if [[ "x$res" != "x0" ]]; then - echo Failed to load dump file $dumpfile - error=$(( $error + 1 )) - break - fi - echo "Dump $dumpfile successfully loaded" - mastermysqliteration=$(( $mastermysqliteration + 1 )) - else - echo "Error file $dumpfile does not exists" - error=$(( $error + 1 )) - break - fi - done - fi - - # Load dump file if it didn't work with master db - if [[ $error -ne 0 ]] || [[ $mastermysqliteration -eq 0 ]]; then - echo `date +'%Y-%m-%d %H:%M:%S'`" Search dumpfile into $dirwithdumpfile" - for dumpfile in `ls $dirwithdumpfile/*.sql 2>/dev/null` - do - echo "$MYSQL -A -h $dbserverhost -P $dbserverport -u$dbadminuser -pXXXXXX -D $dbname < $dumpfile" - $MYSQL -A -h $dbserverhost -P $dbserverport -u$dbadminuser -p$dbadminpass -D $dbname < $dumpfile - result=$? - if [[ "x$result" != "x0" ]]; then - echo Failed to load dump file $dumpfile - echo "Failed to $mode instance $instancename.$domainname with: Failed to load dump file $dumpfile" | mail -aFrom:$EMAILFROM -s "[Alert] Pb in deploy/undeploy" $EMAILTO - exit 25 - fi - done - fi + # Load dump file + echo `date +'%Y-%m-%d %H:%M:%S'`" Search dumpfile into $dirwithdumpfile" + for dumpfile in `cat $dirwithdumpfile/.sellyoursaas.deploy.meta 2>/dev/null` + do + echo "$MYSQL -A -h $dbserverhost -P $dbserverport -u$dbadminuser -pXXXXXX -D $dbname < $dumpfile" + $MYSQL -A -h $dbserverhost -P $dbserverport -u$dbadminuser -p$dbadminpass -D $dbname < $dumpfile + result=$? + if [[ "x$result" != "x0" ]]; then + echo Failed to load dump file $dumpfile + echo "Failed to $mode instance $instancename.$domainname with: Failed to load dump file $dumpfile" | mail -aFrom:$EMAILFROM -s "[Alert] Pb in deploy/undeploy" $EMAILTO + exit 25 + fi + done fi From a0ec1f2b96c4d49377012b43c8604c2eaae3bd32 Mon Sep 17 00:00:00 2001 From: Hystepik Date: Sat, 16 Nov 2024 09:40:27 +0100 Subject: [PATCH 8/9] fix useless param --- class/sellyoursaasutils.class.php | 1 - 1 file changed, 1 deletion(-) diff --git a/class/sellyoursaasutils.class.php b/class/sellyoursaasutils.class.php index 97ce991fe..853dceafa 100644 --- a/class/sellyoursaasutils.class.php +++ b/class/sellyoursaasutils.class.php @@ -4432,7 +4432,6 @@ public function sellyoursaasRemoteAction($remoteaction, $object, $appusername = $commandurl.= '&'.str_replace(' ', '£', $domainnamewebsite); // Param 46 in .sh $commandurl.= '&'.str_replace(' ', '£', $websitenamedeploy); // Param 47 in .sh $commandurl.= '&'.str_replace(' ', '£', $tmppackage->srccliafterpaid); // Param 48 in .sh src for cli after paid - $commandurl.= '&'.str_replace(' ', '£', $tmppackage->id); // Param 49 in .sh src for dump files in deploy //$outputfile = $conf->sellyoursaas->dir_temp.'/action-'.$remoteaction.'-'.dol_getmypid().'.out'; // Add a signature of message at end of message From 9f2fd47d70b213296af3a8b0a0c66fd578be697f Mon Sep 17 00:00:00 2001 From: Hystepik Date: Sat, 16 Nov 2024 09:40:41 +0100 Subject: [PATCH 9/9] fix useless param 2 --- scripts/action_deploy_undeploy.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/scripts/action_deploy_undeploy.sh b/scripts/action_deploy_undeploy.sh index fb1cd55b2..bd613835d 100755 --- a/scripts/action_deploy_undeploy.sh +++ b/scripts/action_deploy_undeploy.sh @@ -160,7 +160,6 @@ if [ "x$INCLUDEFROMCONTRACT" == "x-" ]; then fi export CUSTOMDOMAIN=${46} -export packageID=${49}