From cf8ff97855cfbcd93315c3d94821903e722810e8 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur <eldy@destailleur.fr> Date: Wed, 2 Apr 2014 13:17:20 +0200 Subject: [PATCH] Fix: Install of odt templates for project and tasks failed. --- htdocs/core/lib/files.lib.php | 6 +++ htdocs/core/modules/modProjet.class.php | 43 +++++++++++++++++- .../projects/template_task_summary.odt | Bin 19309 -> 0 bytes 3 files changed, 48 insertions(+), 1 deletion(-) delete mode 100755 htdocs/install/doctemplates/projects/template_task_summary.odt diff --git a/htdocs/core/lib/files.lib.php b/htdocs/core/lib/files.lib.php index d2310e25ac0..5f0c574869d 100644 --- a/htdocs/core/lib/files.lib.php +++ b/htdocs/core/lib/files.lib.php @@ -510,6 +510,12 @@ function dol_copy($srcfile, $destfile, $newmask=0, $overwriteifexists=1) return -3; } if (empty($newmask) && ! empty($conf->global->MAIN_UMASK)) $newmask=$conf->global->MAIN_UMASK; + if (empty($newmask)) // This should no happen + { + dol_syslog("Warning: dol_copy called with empty value for newmask and no default value defined", LOG_WARNING); + $newmask='0664'; + } + @chmod($newpathofdestfile, octdec($newmask)); return 1; diff --git a/htdocs/core/modules/modProjet.class.php b/htdocs/core/modules/modProjet.class.php index d6f38b90523..8ec9d651c79 100644 --- a/htdocs/core/modules/modProjet.class.php +++ b/htdocs/core/modules/modProjet.class.php @@ -1,6 +1,6 @@ <?php /* Copyright (C) 2003-2005 Rodolphe Quiedeville <rodolphe@quiedeville.org> - * Copyright (C) 2004-2010 Laurent Destailleur <eldy@users.sourceforge.net> + * Copyright (C) 2004-2014 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2004 Sebastien Di Cintio <sdicintio@ressource-toi.org> * Copyright (C) 2004 Benoit Mortier <benoit.mortier@opensides.be> * Copyright (C) 2005-2012 Regis Houssin <regis.houssin@capnetworks.com> @@ -228,6 +228,47 @@ class modProjet extends DolibarrModules // Permissions $this->remove($options); + //ODT template for project + $src=DOL_DOCUMENT_ROOT.'/install/doctemplates/projects/template_project.odt'; + $dirodt=DOL_DATA_ROOT.'/doctemplates/projects'; + $dest=$dirodt.'/template_project.odt'; + + if (file_exists($src) && ! file_exists($dest)) + { + require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; + dol_mkdir($dirodt); + $result=dol_copy($src,$dest,0,0); + if ($result < 0) + { + $langs->load("errors"); + $this->error=$langs->trans('ErrorFailToCopyFile',$src,$dest); + return 0; + } + } + + //ODT template for tasks + $src=DOL_DOCUMENT_ROOT.'/install/doctemplates/tasks/template_task_summary.odt'; + $dirodt=DOL_DATA_ROOT.'/doctemplates/tasks'; + $dest=$dirodt.'/template_task_summary.odt'; + + if (file_exists($src) && ! file_exists($dest)) + { + require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; + dol_mkdir($dirodt); + $result=dol_copy($src,$dest,0,0); + if ($result < 0) + { + $langs->load("errors"); + $this->error=$langs->trans('ErrorFailToCopyFile',$src,$dest); + return 0; + } + } + + $sql = array( + "DELETE FROM ".MAIN_DB_PREFIX."document_model WHERE nom = '".$this->const[0][2]."' AND entity = ".$conf->entity, + "INSERT INTO ".MAIN_DB_PREFIX."document_model (nom, type, entity) VALUES('".$this->const[0][2]."','invoice',".$conf->entity.")" + ); + $sql = array( "DELETE FROM ".MAIN_DB_PREFIX."document_model WHERE nom = '".$this->const[0][2]."' AND entity = ".$conf->entity, "INSERT INTO ".MAIN_DB_PREFIX."document_model (nom, type, entity) VALUES('".$this->const[0][2]."','project',".$conf->entity.")", diff --git a/htdocs/install/doctemplates/projects/template_task_summary.odt b/htdocs/install/doctemplates/projects/template_task_summary.odt deleted file mode 100755 index 84fbe00ccc9703adef642faa7412ea3648999d6c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19309 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 QlnDXhDi#KYwQe9D00H-tWB>pF -- GitLab