New: Creation of meta file works for all elements. Disabled by default.

This commit is contained in:
Laurent Destailleur 2012-09-07 10:30:02 +02:00
parent eb3a262289
commit 0dfc9e59fe
3 changed files with 33 additions and 17 deletions

View File

@ -1044,6 +1044,7 @@ else if ($action == 'builddoc') // In get or post
$outputlangs->setDefaultLang($newlang);
}
$result=commande_pdf_create($db, $object, $object->modelpdf, $outputlangs, $hidedetails, $hidedesc, $hideref, $hookmanager);
if ($result <= 0)
{
dol_print_error($db,$result);

View File

@ -510,13 +510,14 @@ function dol_copy($srcfile, $destfile, $newmask=0, $overwriteifexists=1)
}
/**
* Move a file into another name
* Move a file into another name.
*
* @param string $srcfile Source file (can't be a directory)
* @param string $destfile Destination file (can't be a directory)
* @param string $newmask Mask for new file (0 by default means $conf->global->MAIN_UMASK)
* @param int $overwriteifexists Overwrite file if exists (1 by default)
* @return boolean True if OK, false if KO
* @see dol_move_uploaded_file
*/
function dol_move($srcfile, $destfile, $newmask=0, $overwriteifexists=1)
{
@ -554,18 +555,20 @@ function dol_unescapefile($filename)
}
/**
* Move an uploaded file after some controls.
* Make control on an uploaded file from an GUI page and move it to final destination.
* If there is errors (virus found, antivir in error, bad filename), file is not moved.
* Note: This function can be used only into a HTML page context. Use dol_move if you are outside.
*
* @param string $src_file Source full path filename ($_FILES['field']['tmp_name'])
* @param string $dest_file Target full path filename ($_FILES['field']['name'])
* @param int $allowoverwrite 1=Overwrite target file if it already exists
* @param int $disablevirusscan 1=Disable virus scan
* @param string $uploaderrorcode Value of upload error code ($_FILES['field']['error'])
* @param string $uploaderrorcode Value of PHP upload error code ($_FILES['field']['error'])
* @param int $notrigger Disable all triggers
* @param string $upload_dir Upload directory
* @param array $upload_file Values of file uploaded $_FILES['field']
* @return int >0 if OK, <0 or string if KO
* @param string $upload_dir Directory where to store uploaded file (note: also find in first part of dest_file)
* @param array $upload_file Values of uploaded file ($_FILES['field'])
* @return int >0 if OK, <0 or string if KO
* @see dolCheckUploadedFile, dol_move
*/
function dol_move_uploaded_file($src_file, $dest_file, $allowoverwrite, $disablevirusscan=0, $uploaderrorcode=0, $notrigger=0, $upload_dir='', $upload_file=null)
{
@ -603,8 +606,9 @@ function dol_move_uploaded_file($src_file, $dest_file, $allowoverwrite, $disable
* @param string $src_file Source full path filename ($_FILES['field']['tmp_name'])
* @param string $dest_file Target full path filename ($_FILES['field']['name'])
* @param int $disablevirusscan 1=Disable virus scan
* @param string $uploaderrorcode Value of upload error code ($_FILES['field']['error'])
* @return int >0 if OK, <0 or string if KO
* @param string $uploaderrorcode Value of PHP upload error code ($_FILES['field']['error'])
* @return int >0 if OK, <0 or string if KO
* @see dol_move_uploaded_file
*/
function dolCheckUploadedFile($src_file, $dest_file, $disablevirusscan=0, $uploaderrorcode=0)
{
@ -936,21 +940,28 @@ function dol_delete_preview($object)
/**
* Create a meta file with document file into same directory.
* This should allow rgrep search
* This should allow "grep" search.
* This feature is enabled only if option MAIN_DOC_CREATE_METAFILE is set.
*
* @param Object $object Object
* @return void
* @return int 0 if we did nothing, >0 success, <0 error
*/
function dol_meta_create($object)
{
global $langs,$conf;
global $conf;
$object->fetch_thirdparty();
if (empty($conf->global->MAIN_DOC_CREATE_METAFILE)) return 0;
if ($conf->facture->dir_output)
// Define parent dir of elements
$element=$object->element;
$dir=empty($conf->$element->dir_output)?'':$conf->$element->dir_output;
if ($dir)
{
$object->fetch_thirdparty();
$facref = dol_sanitizeFileName($object->ref);
$dir = $conf->facture->dir_output . "/" . $facref;
$dir = $dir . "/" . $facref;
$file = $dir . "/" . $facref . ".meta";
if (! is_dir($dir))
@ -985,7 +996,11 @@ function dol_meta_create($object)
fclose($fp);
if (! empty($conf->global->MAIN_UMASK))
@chmod($file, octdec($conf->global->MAIN_UMASK));
return 1;
}
return 0;
}
@ -1023,7 +1038,7 @@ function dol_init_file_process($pathtoscan='')
* All information used are in db, conf, langs, user and _FILES.
* Note: This function can be used only into a HTML page context.
*
* @param string $upload_dir Directory to store upload files
* @param string $upload_dir Directory where to store uploaded file (note: also find in first part of dest_file)
* @param int $allowoverwrite 1=Allow overwrite existing file
* @param int $donotupdatesession 1=Do no edit _SESSION variable
* @param string $varfiles _FILES var name

View File

@ -225,11 +225,11 @@ class FilesLibTest extends PHPUnit_Framework_TestCase
}
/**
* testDolCopyMove
* testDolCopyMoveDelete
*
* @return int
*/
public function testDolCopyMove()
public function testDolCopyMoveDelete()
{
global $conf,$user,$langs,$db;
$conf=$this->savconf;