Merge branch 'develop' of https://github.com/Dolibarr/dolibarr into mko559
This commit is contained in:
commit
fa46923b3e
@ -55,6 +55,7 @@ For users:
|
|||||||
- New: [ task #104 ] Can create an invoice from several orders
|
- New: [ task #104 ] Can create an invoice from several orders
|
||||||
- New: Update libs/tools/logo for DoliWamp (now use PHP 5.3).
|
- New: Update libs/tools/logo for DoliWamp (now use PHP 5.3).
|
||||||
- New: Added ODT Template tag {object_total_discount}
|
- New: Added ODT Template tag {object_total_discount}
|
||||||
|
- New: Add new import options: Third parties bank details, warehouses and stocks, categories and suppliers prices
|
||||||
|
|
||||||
New experimental modules:
|
New experimental modules:
|
||||||
- New: Add margin management module.
|
- New: Add margin management module.
|
||||||
|
|||||||
2
INSTALL
2
INSTALL
@ -1,6 +1,6 @@
|
|||||||
INSTALL
|
INSTALL
|
||||||
-------
|
-------
|
||||||
|
|
||||||
English: See file README.
|
English: See README file.
|
||||||
|
|
||||||
French: Voir fichier README-FR.
|
French: Voir fichier README-FR.
|
||||||
|
|||||||
@ -14,7 +14,7 @@ Summary(es): Software ERP y CRM para pequeñas y medianas empresas, asociaciones
|
|||||||
Summary(fr): Logiciel ERP & CRM de gestion de PME/PMI, auto-entrepreneurs ou associations
|
Summary(fr): Logiciel ERP & CRM de gestion de PME/PMI, auto-entrepreneurs ou associations
|
||||||
Summary(it): Programmo gestionale per piccole imprese, fondazioni e liberi professionisti
|
Summary(it): Programmo gestionale per piccole imprese, fondazioni e liberi professionisti
|
||||||
|
|
||||||
License: GPLv2+
|
License: GPL-2+
|
||||||
#Packager: Laurent Destailleur (Eldy) <eldy@users.sourceforge.net>
|
#Packager: Laurent Destailleur (Eldy) <eldy@users.sourceforge.net>
|
||||||
Vendor: Dolibarr dev team
|
Vendor: Dolibarr dev team
|
||||||
|
|
||||||
|
|||||||
@ -18,7 +18,7 @@ Summary(es): Software ERP y CRM para pequeñas y medianas empresas, asociaciones
|
|||||||
Summary(fr): Logiciel ERP & CRM de gestion de PME/PMI, auto-entrepreneurs ou associations
|
Summary(fr): Logiciel ERP & CRM de gestion de PME/PMI, auto-entrepreneurs ou associations
|
||||||
Summary(it): Programmo gestionale per piccole imprese, fondazioni e liberi professionisti
|
Summary(it): Programmo gestionale per piccole imprese, fondazioni e liberi professionisti
|
||||||
|
|
||||||
License: GPLv2+
|
License: GPL-2+
|
||||||
#Packager: Laurent Destailleur (Eldy) <eldy@users.sourceforge.net>
|
#Packager: Laurent Destailleur (Eldy) <eldy@users.sourceforge.net>
|
||||||
Vendor: Dolibarr dev team
|
Vendor: Dolibarr dev team
|
||||||
|
|
||||||
@ -119,11 +119,15 @@ cui hai bisogno ed essere facile da usare.
|
|||||||
%install
|
%install
|
||||||
|
|
||||||
%if 0%{?sles_version}
|
%if 0%{?sles_version}
|
||||||
|
%{__rm} -rf $RPM_BUILD_ROOT
|
||||||
|
%{__mkdir} $RPM_BUILD_ROOT
|
||||||
|
%{__mkdir} $RPM_BUILD_ROOT%{_sysconfdir}
|
||||||
|
%{__mkdir} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}
|
||||||
%else
|
%else
|
||||||
%{__rm} -rf $RPM_BUILD_ROOT
|
%{__rm} -rf $RPM_BUILD_ROOT
|
||||||
|
%{__mkdir} -p $RPM_BUILD_ROOT%{_sysconfdir}/%{name}
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%{__mkdir} -p $RPM_BUILD_ROOT%{_sysconfdir}/%{name}
|
|
||||||
%{__install} -m 644 build/rpm/conf.php $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/conf.php
|
%{__install} -m 644 build/rpm/conf.php $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/conf.php
|
||||||
%{__install} -m 644 build/rpm/httpd-dolibarr.conf $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/apache.conf
|
%{__install} -m 644 build/rpm/httpd-dolibarr.conf $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/apache.conf
|
||||||
%{__install} -m 644 build/rpm/file_contexts.dolibarr $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/file_contexts.dolibarr
|
%{__install} -m 644 build/rpm/file_contexts.dolibarr $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/file_contexts.dolibarr
|
||||||
@ -145,7 +149,7 @@ cui hai bisogno ed essere facile da usare.
|
|||||||
%{__install} -m 644 doc/images/dolibarr_48x48.png $RPM_BUILD_ROOT%{_datadir}/pixmaps/%{name}.png
|
%{__install} -m 644 doc/images/dolibarr_48x48.png $RPM_BUILD_ROOT%{_datadir}/pixmaps/%{name}.png
|
||||||
%{__mkdir} -p $RPM_BUILD_ROOT%{_datadir}/applications
|
%{__mkdir} -p $RPM_BUILD_ROOT%{_datadir}/applications
|
||||||
%if 0%{?fedora} || 0%{?rhel_version} || 0%{?centos_version} || 0%{?mdkversion} || 0%{?suse_version}
|
%if 0%{?fedora} || 0%{?rhel_version} || 0%{?centos_version} || 0%{?mdkversion} || 0%{?suse_version}
|
||||||
#desktop-file-install --delete-original --dir=$RPM_BUILD_ROOT%{_datadir}/applications build/rpm/%{name}.desktop
|
desktop-file-install --delete-original --dir=$RPM_BUILD_ROOT%{_datadir}/applications build/rpm/%{name}.desktop
|
||||||
%endif
|
%endif
|
||||||
%{__install} -m 644 build/rpm/dolibarr.desktop $RPM_BUILD_ROOT%{_datadir}/applications/%{name}.desktop
|
%{__install} -m 644 build/rpm/dolibarr.desktop $RPM_BUILD_ROOT%{_datadir}/applications/%{name}.desktop
|
||||||
|
|
||||||
|
|||||||
@ -14,7 +14,7 @@ Summary(es): Software ERP y CRM para pequeñas y medianas empresas, asociaciones
|
|||||||
Summary(fr): Logiciel ERP & CRM de gestion de PME/PMI, auto-entrepreneurs ou associations
|
Summary(fr): Logiciel ERP & CRM de gestion de PME/PMI, auto-entrepreneurs ou associations
|
||||||
Summary(it): Programmo gestionale per piccole imprese, fondazioni e liberi professionisti
|
Summary(it): Programmo gestionale per piccole imprese, fondazioni e liberi professionisti
|
||||||
|
|
||||||
License: GPLv2+
|
License: GPL-2+
|
||||||
#Packager: Laurent Destailleur (Eldy) <eldy@users.sourceforge.net>
|
#Packager: Laurent Destailleur (Eldy) <eldy@users.sourceforge.net>
|
||||||
Vendor: Dolibarr dev team
|
Vendor: Dolibarr dev team
|
||||||
|
|
||||||
|
|||||||
@ -14,7 +14,7 @@ Summary(es): Software ERP y CRM para pequeñas y medianas empresas, asociaciones
|
|||||||
Summary(fr): Logiciel ERP & CRM de gestion de PME/PMI, auto-entrepreneurs ou associations
|
Summary(fr): Logiciel ERP & CRM de gestion de PME/PMI, auto-entrepreneurs ou associations
|
||||||
Summary(it): Programmo gestionale per piccole imprese, fondazioni e liberi professionisti
|
Summary(it): Programmo gestionale per piccole imprese, fondazioni e liberi professionisti
|
||||||
|
|
||||||
License: GPLv2+
|
License: GPL-2+
|
||||||
#Packager: Laurent Destailleur (Eldy) <eldy@users.sourceforge.net>
|
#Packager: Laurent Destailleur (Eldy) <eldy@users.sourceforge.net>
|
||||||
Vendor: Dolibarr dev team
|
Vendor: Dolibarr dev team
|
||||||
|
|
||||||
|
|||||||
@ -3196,7 +3196,7 @@ class FactureLigne
|
|||||||
$this->rowid = $objp->rowid;
|
$this->rowid = $objp->rowid;
|
||||||
$this->fk_facture = $objp->fk_facture;
|
$this->fk_facture = $objp->fk_facture;
|
||||||
$this->fk_parent_line = $objp->fk_parent_line;
|
$this->fk_parent_line = $objp->fk_parent_line;
|
||||||
$this->label = $objp->label;
|
$this->label = $objp->custom_label;
|
||||||
$this->desc = $objp->description;
|
$this->desc = $objp->description;
|
||||||
$this->qty = $objp->qty;
|
$this->qty = $objp->qty;
|
||||||
$this->subprice = $objp->subprice;
|
$this->subprice = $objp->subprice;
|
||||||
|
|||||||
@ -137,7 +137,7 @@ if (! dol_is_dir($upload_dir))
|
|||||||
}
|
}
|
||||||
|
|
||||||
print '<!-- TYPE='.$type.' -->'."\n";
|
print '<!-- TYPE='.$type.' -->'."\n";
|
||||||
print '<!-- Page called with mode='.(isset($mode)?$mode:'').' url='.$_SERVER["PHP_SELF"].'?'.$_SERVER["QUERY_STRING"].' -->'."\n";
|
print '<!-- Page called with mode='.(isset($mode)?$mode:'').' type='.$type.' module='.$module.' url='.$_SERVER["PHP_SELF"].'?'.$_SERVER["QUERY_STRING"].' -->'."\n";
|
||||||
|
|
||||||
$param='';
|
$param='';
|
||||||
$param.=($sortfield?'&sortfield='.$sortfield:'').($sortorder?'&sortorder='.$sortorder:'');
|
$param.=($sortfield?'&sortfield='.$sortfield:'').($sortorder?'&sortorder='.$sortorder:'');
|
||||||
@ -176,10 +176,8 @@ if ($type == 'directory')
|
|||||||
$relativepath='facture';
|
$relativepath='facture';
|
||||||
$upload_dir = $conf->fournisseur->dir_output.'/'.$relativepath;
|
$upload_dir = $conf->fournisseur->dir_output.'/'.$relativepath;
|
||||||
$filearray=dol_dir_list($upload_dir,"files",1,'',array('^SPECIMEN\.pdf$','^\.','\.meta$','^temp$','^CVS$','^thumbs$'),$sortfield,(strtolower($sortorder)=='desc'?SORT_DESC:SORT_ASC),1);
|
$filearray=dol_dir_list($upload_dir,"files",1,'',array('^SPECIMEN\.pdf$','^\.','\.meta$','^temp$','^CVS$','^thumbs$'),$sortfield,(strtolower($sortorder)=='desc'?SORT_DESC:SORT_ASC),1);
|
||||||
|
|
||||||
$param.='&module='.$module;
|
$param.='&module='.$module;
|
||||||
$textifempty=($section?$langs->trans("NoFileFound"):($showonrightsize=='featurenotyetavailable'?$langs->trans("FeatureNotYetAvailable"):$langs->trans("NoFileFound")));
|
$textifempty=($section?$langs->trans("NoFileFound"):($showonrightsize=='featurenotyetavailable'?$langs->trans("FeatureNotYetAvailable"):$langs->trans("NoFileFound")));
|
||||||
|
|
||||||
$formfile->list_of_autoecmfiles($upload_dir,$filearray,$module,$param,1,'',$user->rights->ecm->upload,1,$textifempty,$maxlengthname,$url);
|
$formfile->list_of_autoecmfiles($upload_dir,$filearray,$module,$param,1,'',$user->rights->ecm->upload,1,$textifempty,$maxlengthname,$url);
|
||||||
}
|
}
|
||||||
else if ($module == 'propal') // Auto area for customers orders
|
else if ($module == 'propal') // Auto area for customers orders
|
||||||
|
|||||||
@ -74,6 +74,7 @@ if ($modulepart == 'ecm')
|
|||||||
|
|
||||||
top_httphead();
|
top_httphead();
|
||||||
|
|
||||||
|
//print '<!-- selecteddir = '.$selecteddir.', openeddir = '.$openeddir.', modulepart='.$modulepart.' -->'."\n";
|
||||||
$userstatic=new User($db);
|
$userstatic=new User($db);
|
||||||
$form=new Form($db);
|
$form=new Form($db);
|
||||||
$ecmdirstatic = new EcmDirectory($db);
|
$ecmdirstatic = new EcmDirectory($db);
|
||||||
|
|||||||
@ -2408,8 +2408,8 @@ class Form
|
|||||||
$autoOpen=false;
|
$autoOpen=false;
|
||||||
$dialogconfirm.='-'.$button;
|
$dialogconfirm.='-'.$button;
|
||||||
}
|
}
|
||||||
$pageyes=(preg_match('/\?/',$page)?'&':'?').'action='.$action.'&confirm=yes';
|
$pageyes=$page.(preg_match('/\?/',$page)?'&':'?').'action='.$action.'&confirm=yes';
|
||||||
$pageno=($useajax == 2 ? (preg_match('/\?/',$page)?'&':'?').'confirm=no':'');
|
$pageno=($useajax == 2 ? $page.(preg_match('/\?/',$page)?'&':'?').'confirm=no':'');
|
||||||
// Add input fields into list of fields to read during submit (inputok and inputko)
|
// Add input fields into list of fields to read during submit (inputok and inputko)
|
||||||
if (is_array($formquestion))
|
if (is_array($formquestion))
|
||||||
{
|
{
|
||||||
|
|||||||
@ -789,7 +789,7 @@ class FormFile
|
|||||||
$var=true;
|
$var=true;
|
||||||
foreach($filearray as $key => $file)
|
foreach($filearray as $key => $file)
|
||||||
{
|
{
|
||||||
if (!is_dir($file['name'])
|
if (!is_dir($file['name'])
|
||||||
&& $file['name'] != '.'
|
&& $file['name'] != '.'
|
||||||
&& $file['name'] != '..'
|
&& $file['name'] != '..'
|
||||||
&& $file['name'] != 'CVS'
|
&& $file['name'] != 'CVS'
|
||||||
@ -821,10 +821,10 @@ class FormFile
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
//print 'Fetch '.$idorref.'<br>';
|
//print 'Fetch '.$id." - ".$ref.'<br>';
|
||||||
$result=$object_instance->fetch($id,$ref);
|
$result=$object_instance->fetch($id,$ref);
|
||||||
if ($result > 0) { $found=1; $this->cache_objects[$modulepart.'_'.$id.'_'.$ref]=dol_clone($object_instance); } // Save object into a cache
|
if ($result > 0) { $found=1; $this->cache_objects[$modulepart.'_'.$id.'_'.$ref]=dol_clone($object_instance); } // Save object into a cache
|
||||||
if ($result == 0) { $found=1; $this->cache_objects[$modulepart.'_'.$id.'_'.$ref]='notfound'; }
|
if ($result == 0) { $found=1; $this->cache_objects[$modulepart.'_'.$id.'_'.$ref]='notfound'; unset($filearray[$key]); }
|
||||||
}
|
}
|
||||||
|
|
||||||
if (! $found > 0 || ! is_object($this->cache_objects[$modulepart.'_'.$id.'_'.$ref])) continue; // We do not show orphelins files
|
if (! $found > 0 || ! is_object($this->cache_objects[$modulepart.'_'.$id.'_'.$ref])) continue; // We do not show orphelins files
|
||||||
@ -856,6 +856,7 @@ class FormFile
|
|||||||
print "</td></tr>\n";
|
print "</td></tr>\n";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (count($filearray) == 0)
|
if (count($filearray) == 0)
|
||||||
{
|
{
|
||||||
print '<tr '.$bc[$var].'><td colspan="4">';
|
print '<tr '.$bc[$var].'><td colspan="4">';
|
||||||
|
|||||||
@ -542,22 +542,10 @@ class ImportCsv extends ModeleImports
|
|||||||
// Define $listfields and $listvalues to build SQL request
|
// Define $listfields and $listvalues to build SQL request
|
||||||
if ($listfields) { $listfields.=', '; $listvalues.=', '; }
|
if ($listfields) { $listfields.=', '; $listvalues.=', '; }
|
||||||
$listfields.=$fieldname;
|
$listfields.=$fieldname;
|
||||||
/*
|
|
||||||
field type detection was made before conversions so it can be wrong
|
|
||||||
if ($arrayrecord[($key-1)]['type'] < 0) $listvalues.=($newval=='0'?$newval:"null");
|
|
||||||
elseif ($arrayrecord[($key-1)]['type'] == 0) $listvalues.="''";
|
|
||||||
elseif ($arrayrecord[($key-1)]['type'] > 0) $listvalues.="'".$this->db->escape($newval)."'";
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
lines below replace lines above and are much simple
|
|
||||||
*/
|
|
||||||
if (!isset($newval)) $listvalues.="null";
|
|
||||||
elseif (empty($newval)) $listvalues.="''";
|
|
||||||
else $listvalues.="'".$this->db->escape($newval)."'";
|
|
||||||
/*
|
|
||||||
end of replace
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
if (empty($newval) && $arrayrecord[($key-1)]['type'] < 0) $listvalues.=($newval=='0'?$newval:"null");
|
||||||
|
elseif (empty($newval) && $arrayrecord[($key-1)]['type'] == 0) $listvalues.="''";
|
||||||
|
else $listvalues.="'".$this->db->escape($newval)."'";
|
||||||
}
|
}
|
||||||
$i++;
|
$i++;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -224,27 +224,6 @@ class modProduct extends DolibarrModules
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (! empty($conf->stock->enabled))
|
|
||||||
{
|
|
||||||
// Import stocks
|
|
||||||
$r++;
|
|
||||||
$this->import_code[$r]=$this->rights_class.'_'.$r;
|
|
||||||
$this->import_label[$r]="Stocks"; // Translation key
|
|
||||||
$this->import_icon[$r]='stock';
|
|
||||||
$this->import_entities_array[$r]=array(); // We define here only fields that use another icon that the one defined into import_icon
|
|
||||||
$this->import_tables_array[$r]=array('ps'=>MAIN_DB_PREFIX.'product_stock');
|
|
||||||
$this->import_fields_array[$r]=array('ps.fk_product'=>"Product*",'ps.fk_entrepot'=>"Warehouse*",
|
|
||||||
'ps.reel'=>"Stock*",'ps.pmp'=>"PMP"
|
|
||||||
);
|
|
||||||
|
|
||||||
$this->import_convertvalue_array[$r]=array(
|
|
||||||
'ps.fk_product'=>array('rule'=>'fetchidfromref','classfile'=>'/product/class/product.class.php','class'=>'Product','method'=>'fetch','element'=>'product'),
|
|
||||||
'ps.fk_entrepot'=>array('rule'=>'fetchidfromref','classfile'=>'/product/stock/class/entrepot.class.php','class'=>'Entrepot','method'=>'fetch','element'=>'label')
|
|
||||||
);
|
|
||||||
$this->import_examplevalues_array[$r]=array('ps.fk_product'=>"PREF123456",'ps.fk_entrepot'=>"ALM001",
|
|
||||||
'ps.reel'=>"10",'ps.pmp'=>"25"
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -139,6 +139,7 @@ class modStock extends DolibarrModules
|
|||||||
|
|
||||||
$r=0;
|
$r=0;
|
||||||
|
|
||||||
|
// Import warehouses
|
||||||
$r++;
|
$r++;
|
||||||
$this->import_code[$r]=$this->rights_class.'_'.$r;
|
$this->import_code[$r]=$this->rights_class.'_'.$r;
|
||||||
$this->import_label[$r]="Warehouses"; // Translation key
|
$this->import_label[$r]="Warehouses"; // Translation key
|
||||||
@ -160,6 +161,23 @@ class modStock extends DolibarrModules
|
|||||||
'e.description'=>"Central Warehouse",'e.lieu'=>"Central",
|
'e.description'=>"Central Warehouse",'e.lieu'=>"Central",
|
||||||
'e.address'=>"Route 66",'e.cp'=>'28080','e.fk_pays'=>'US',
|
'e.address'=>"Route 66",'e.cp'=>'28080','e.fk_pays'=>'US',
|
||||||
'e.statut'=>'1');
|
'e.statut'=>'1');
|
||||||
|
|
||||||
|
// Import stocks
|
||||||
|
$r++;
|
||||||
|
$this->import_code[$r]=$this->rights_class.'_'.$r;
|
||||||
|
$this->import_label[$r]="Stocks"; // Translation key
|
||||||
|
$this->import_icon[$r]=$this->picto;
|
||||||
|
$this->import_entities_array[$r]=array(); // We define here only fields that use another icon that the one defined into import_icon
|
||||||
|
$this->import_tables_array[$r]=array('ps'=>MAIN_DB_PREFIX.'product_stock');
|
||||||
|
$this->import_fields_array[$r]=array('ps.fk_product'=>"Product*",'ps.fk_entrepot'=>"Warehouse*",'ps.reel'=>"Stock*",'ps.pmp'=>"PMP" );
|
||||||
|
|
||||||
|
$this->import_convertvalue_array[$r]=array(
|
||||||
|
'ps.fk_product'=>array('rule'=>'fetchidfromref','classfile'=>'/product/class/product.class.php','class'=>'Product','method'=>'fetch','element'=>'product'),
|
||||||
|
'ps.fk_entrepot'=>array('rule'=>'fetchidfromref','classfile'=>'/product/stock/class/entrepot.class.php','class'=>'Entrepot','method'=>'fetch','element'=>'label')
|
||||||
|
);
|
||||||
|
$this->import_examplevalues_array[$r]=array('ps.fk_product'=>"PREF123456",'ps.fk_entrepot'=>"ALM001",'ps.reel'=>"10",'ps.pmp'=>"25"
|
||||||
|
);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -494,7 +494,7 @@ class pdf_azur extends ModelePDFPropales
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Show shipping date
|
// Show shipping date
|
||||||
if (isset($object->type) && $object->type != 2 && $object->date_livraison)
|
if ($object->date_livraison)
|
||||||
{
|
{
|
||||||
$outputlangs->load("sendings");
|
$outputlangs->load("sendings");
|
||||||
$pdf->SetFont('','B', $default_font_size - 2);
|
$pdf->SetFont('','B', $default_font_size - 2);
|
||||||
@ -508,7 +508,7 @@ class pdf_azur extends ModelePDFPropales
|
|||||||
|
|
||||||
$posy=$pdf->GetY()+1;
|
$posy=$pdf->GetY()+1;
|
||||||
}
|
}
|
||||||
elseif (isset($object->type) && $object->type != 2 && ($object->availability_code || $object->availability)) // Show availability conditions
|
elseif ($object->availability_code || $object->availability) // Show availability conditions
|
||||||
{
|
{
|
||||||
$pdf->SetFont('','B', $default_font_size - 2);
|
$pdf->SetFont('','B', $default_font_size - 2);
|
||||||
$pdf->SetXY($this->marge_gauche, $posy);
|
$pdf->SetXY($this->marge_gauche, $posy);
|
||||||
@ -525,7 +525,7 @@ class pdf_azur extends ModelePDFPropales
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Show payments conditions
|
// Show payments conditions
|
||||||
if (! empty($conf->global->PROPALE_PDF_PAIEMENT_ENABLED) && ($object->cond_reglement_code || $object->cond_reglement))
|
if (empty($conf->global->PROPALE_PDF_HIDE_PAYMENTERMCOND) && ($object->cond_reglement_code || $object->cond_reglement))
|
||||||
{
|
{
|
||||||
$pdf->SetFont('','B', $default_font_size - 2);
|
$pdf->SetFont('','B', $default_font_size - 2);
|
||||||
$pdf->SetXY($this->marge_gauche, $posy);
|
$pdf->SetXY($this->marge_gauche, $posy);
|
||||||
@ -541,10 +541,10 @@ class pdf_azur extends ModelePDFPropales
|
|||||||
$posy=$pdf->GetY()+3;
|
$posy=$pdf->GetY()+3;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (empty($conf->global->PROPALE_PDF_HIDE_PAYMENTERMCOND))
|
||||||
if (! empty($conf->global->PROPALE_PDF_PAIEMENT_ENABLED))
|
|
||||||
{
|
{
|
||||||
// Check a payment mode is defined
|
// Check a payment mode is defined
|
||||||
|
/* Not required on a proposal
|
||||||
if (empty($object->mode_reglement_code)
|
if (empty($object->mode_reglement_code)
|
||||||
&& ! $conf->global->FACTURE_CHQ_NUMBER
|
&& ! $conf->global->FACTURE_CHQ_NUMBER
|
||||||
&& ! $conf->global->FACTURE_RIB_NUMBER)
|
&& ! $conf->global->FACTURE_RIB_NUMBER)
|
||||||
@ -557,6 +557,7 @@ class pdf_azur extends ModelePDFPropales
|
|||||||
|
|
||||||
$posy=$pdf->GetY()+1;
|
$posy=$pdf->GetY()+1;
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
// Show payment mode
|
// Show payment mode
|
||||||
if ($object->mode_reglement_code
|
if ($object->mode_reglement_code
|
||||||
|
|||||||
@ -29,6 +29,7 @@ require_once DOL_DOCUMENT_ROOT.'/core/class/html.formfile.class.php';
|
|||||||
require_once DOL_DOCUMENT_ROOT.'/core/class/html.formother.class.php';
|
require_once DOL_DOCUMENT_ROOT.'/core/class/html.formother.class.php';
|
||||||
require_once DOL_DOCUMENT_ROOT.'/exports/class/export.class.php';
|
require_once DOL_DOCUMENT_ROOT.'/exports/class/export.class.php';
|
||||||
require_once DOL_DOCUMENT_ROOT.'/core/modules/export/modules_export.php';
|
require_once DOL_DOCUMENT_ROOT.'/core/modules/export/modules_export.php';
|
||||||
|
require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php';
|
||||||
|
|
||||||
$langs->load("exports");
|
$langs->load("exports");
|
||||||
|
|
||||||
@ -92,7 +93,8 @@ $array_selected=isset($_SESSION["export_selected_fields"])?$_SESSION["export_sel
|
|||||||
$array_filtered=isset($_SESSION["export_filtered_fields"])?$_SESSION["export_filtered_fields"]:array();
|
$array_filtered=isset($_SESSION["export_filtered_fields"])?$_SESSION["export_filtered_fields"]:array();
|
||||||
$array_filtervalue=isset($_SESSION["export_FilterValue_fields"])?$_SESSION["export_FilterValue_fields"]:array();
|
$array_filtervalue=isset($_SESSION["export_FilterValue_fields"])?$_SESSION["export_FilterValue_fields"]:array();
|
||||||
$datatoexport=GETPOST("datatoexport");
|
$datatoexport=GETPOST("datatoexport");
|
||||||
$action=GETPOST("action");
|
$action=GETPOST('action', 'alpha');
|
||||||
|
$confirm=GETPOST('confirm', 'alpha');
|
||||||
$step=GETPOST("step")?GETPOST("step"):1;
|
$step=GETPOST("step")?GETPOST("step"):1;
|
||||||
$export_name=GETPOST("export_name");
|
$export_name=GETPOST("export_name");
|
||||||
$hexa=GETPOST("hexa");
|
$hexa=GETPOST("hexa");
|
||||||
@ -108,6 +110,8 @@ $htmlother = new FormOther($db);
|
|||||||
$formfile = new FormFile($db);
|
$formfile = new FormFile($db);
|
||||||
$sqlusedforexport='';
|
$sqlusedforexport='';
|
||||||
|
|
||||||
|
$upload_dir = $conf->export->dir_temp.'/'.$user->id;
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Actions
|
* Actions
|
||||||
@ -272,6 +276,18 @@ if ($action == 'builddoc')
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Delete file
|
||||||
|
if ($step == 5 && $action == 'confirm_deletefile' && $confirm == 'yes')
|
||||||
|
{
|
||||||
|
$file = $upload_dir . "/" . GETPOST('file'); // Do not use urldecode here ($_GET and $_REQUEST are already decoded by PHP).
|
||||||
|
|
||||||
|
$ret=dol_delete_file($file);
|
||||||
|
if ($ret) setEventMessage($langs->trans("FileWasRemoved", GETPOST('file')));
|
||||||
|
else setEventMessage($langs->trans("ErrorFailToDeleteFile", GETPOST('file')), 'errors');
|
||||||
|
header('Location: '.$_SERVER["PHP_SELF"].'?step='.$step.'&datatoexport='.$datatoexport);
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
|
||||||
if ($action == 'deleteprof')
|
if ($action == 'deleteprof')
|
||||||
{
|
{
|
||||||
if ($_GET["id"])
|
if ($_GET["id"])
|
||||||
@ -378,7 +394,7 @@ if ($step == 4 && $action == 'submitFormField')
|
|||||||
foreach($array_filtered as $code=>$value)
|
foreach($array_filtered as $code=>$value)
|
||||||
{
|
{
|
||||||
//print $code."=".$_POST[$objexport->array_export_fields[0][$code]];
|
//print $code."=".$_POST[$objexport->array_export_fields[0][$code]];
|
||||||
$objexport->array_export_FilterValue[0][$code] = $_POST[$objexport->array_export_fields[0][$code]];
|
$objexport->array_export_FilterValue[0][$code] = (isset($objexport->array_export_fields[0][$code])?$_POST[$objexport->array_export_fields[0][$code]]:'');
|
||||||
}
|
}
|
||||||
$_SESSION["export_FilterValue_fields"]=(! empty($objexport->array_export_FilterValue[0])?$objexport->array_export_FilterValue[0]:'');
|
$_SESSION["export_FilterValue_fields"]=(! empty($objexport->array_export_FilterValue[0])?$objexport->array_export_FilterValue[0]:'');
|
||||||
$array_filtervalue=(! empty($objexport->array_export_FilterValue[0])?$objexport->array_export_FilterValue[0]:'');
|
$array_filtervalue=(! empty($objexport->array_export_FilterValue[0])?$objexport->array_export_FilterValue[0]:'');
|
||||||
@ -881,8 +897,10 @@ if ($step == 4 && $datatoexport)
|
|||||||
$list='';
|
$list='';
|
||||||
foreach($array_filtered as $code=>$value)
|
foreach($array_filtered as $code=>$value)
|
||||||
{
|
{
|
||||||
$list.=($list?', ':'');
|
if (isset($objexport->array_export_fields[0][$code])) {
|
||||||
$list.="[".$langs->trans($objexport->array_export_fields[0][$code])."]='".$array_filtervalue[$code]."'";
|
$list.=($list?', ':'');
|
||||||
|
$list.="[".$langs->trans($objexport->array_export_fields[0][$code])."]='".(isset($array_filtervalue[$code])?$array_filtervalue[$code]:'')."'";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
print '<td>'.$list.'</td></tr>';
|
print '<td>'.$list.'</td></tr>';
|
||||||
}
|
}
|
||||||
@ -1065,6 +1083,15 @@ if ($step == 5 && $datatoexport)
|
|||||||
|
|
||||||
dol_fiche_head($head, $hselected, $langs->trans("NewExport"));
|
dol_fiche_head($head, $hselected, $langs->trans("NewExport"));
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Confirmation suppression fichier
|
||||||
|
*/
|
||||||
|
if ($action == 'remove_file')
|
||||||
|
{
|
||||||
|
$ret=$form->form_confirm($_SERVER["PHP_SELF"].'?step=5&datatoexport='.$datatoexport.'&file='.urlencode(GETPOST("file")), $langs->trans('DeleteFile'), $langs->trans('ConfirmDeleteFile'), 'confirm_deletefile', '', 0, 1);
|
||||||
|
if ($ret == 'html') print '<br>';
|
||||||
|
}
|
||||||
|
|
||||||
print '<table width="100%" class="border">';
|
print '<table width="100%" class="border">';
|
||||||
|
|
||||||
// Module
|
// Module
|
||||||
@ -1098,8 +1125,10 @@ if ($step == 5 && $datatoexport)
|
|||||||
$list='';
|
$list='';
|
||||||
foreach($array_filtered as $code=>$value)
|
foreach($array_filtered as $code=>$value)
|
||||||
{
|
{
|
||||||
$list.=($list?', ':'');
|
if (isset($objexport->array_export_fields[0][$code])) {
|
||||||
$list.="[".$langs->trans($objexport->array_export_fields[0][$code])."]='".$array_filtervalue[$code]."'";
|
$list.=($list?', ':'');
|
||||||
|
$list.="[".$langs->trans($objexport->array_export_fields[0][$code])."]='".(isset($array_filtervalue[$code])?$array_filtervalue[$code]:'')."'";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
print '<td>'.$list.'</td></tr>';
|
print '<td>'.$list.'</td></tr>';
|
||||||
}
|
}
|
||||||
@ -1153,7 +1182,7 @@ if ($step == 5 && $datatoexport)
|
|||||||
|
|
||||||
// Affiche liste des documents
|
// Affiche liste des documents
|
||||||
// NB: La fonction show_documents rescanne les modules qd genallowed=1, sinon prend $liste
|
// NB: La fonction show_documents rescanne les modules qd genallowed=1, sinon prend $liste
|
||||||
$formfile->show_documents('export','',$conf->export->dir_temp.'/'.$user->id,$_SERVER["PHP_SELF"].'?step=5&datatoexport='.$datatoexport,$liste,1,(! empty($_POST['model'])?$_POST['model']:'csv'),1,1);
|
$formfile->show_documents('export','',$upload_dir,$_SERVER["PHP_SELF"].'?step=5&datatoexport='.$datatoexport,$liste,1,(! empty($_POST['model'])?$_POST['model']:'csv'),1,1);
|
||||||
|
|
||||||
print '</td><td width="50%"> </td></tr>';
|
print '</td><td width="50%"> </td></tr>';
|
||||||
print '</table>';
|
print '</table>';
|
||||||
|
|||||||
@ -22,6 +22,6 @@
|
|||||||
create table llx_categorie_fournisseur
|
create table llx_categorie_fournisseur
|
||||||
(
|
(
|
||||||
fk_categorie integer NOT NULL,
|
fk_categorie integer NOT NULL,
|
||||||
fk_societe integer NOT NUL,
|
fk_societe integer NOT NULL,
|
||||||
import_key varchar(14)
|
import_key varchar(14)
|
||||||
)ENGINE=innodb;
|
)ENGINE=innodb;
|
||||||
|
|||||||
@ -1145,9 +1145,9 @@ else
|
|||||||
print "</tr>\n";
|
print "</tr>\n";
|
||||||
|
|
||||||
// Signature
|
// Signature
|
||||||
print '<tr><td valign="top">'.$langs->trans('Signature').'</td>';
|
print '<tr><td valign="top">'.$langs->trans('Signature').'</td><td>';
|
||||||
print '<td>'.$fuser->signature.'</td>';
|
print dol_textishtml($fuser->signature)?$fuser->signature:dol_nl2br($fuser->signature,1,true);
|
||||||
print "</tr>\n";
|
print "</td></tr>\n";
|
||||||
|
|
||||||
// Statut
|
// Statut
|
||||||
print '<tr><td valign="top">'.$langs->trans("Status").'</td>';
|
print '<tr><td valign="top">'.$langs->trans("Status").'</td>';
|
||||||
|
|||||||
@ -126,16 +126,16 @@ class ExportTest extends PHPUnit_Framework_TestCase
|
|||||||
{
|
{
|
||||||
global $conf,$user,$langs,$db;
|
global $conf,$user,$langs,$db;
|
||||||
|
|
||||||
$sql = "SELECT f.facnumber as f_facnumber, f.amount as f_amount, f.total as f_total, f.tva as f_tva FROM ".MAIN_DB_PREFIX."facture f";
|
$sql = "SELECT f.facnumber as f_facnumber, f.total as f_total, f.tva as f_tva FROM ".MAIN_DB_PREFIX."facture f";
|
||||||
|
|
||||||
$objexport=new Export($db);
|
$objexport=new Export($db);
|
||||||
//$objexport->load_arrays($user,$datatoexport);
|
//$objexport->load_arrays($user,$datatoexport);
|
||||||
|
|
||||||
// Define properties
|
// Define properties
|
||||||
$datatoexport='test';
|
$datatoexport='test';
|
||||||
$array_selected = array("f.facnumber"=>1, "f.amount"=>2, "f.total"=>3, "f.tva"=>4);
|
$array_selected = array("f.facnumber"=>1, "f.total"=>2, "f.tva"=>3);
|
||||||
$array_export_fields = array("f.facnumber"=>"FacNumber", "f.amount"=>"FacAmount", "f.total"=>"FacTotal", "f.tva"=>"FacVat");
|
$array_export_fields = array("f.facnumber"=>"FacNumber", "f.total"=>"FacTotal", "f.tva"=>"FacVat");
|
||||||
$array_alias = array("f_facnumber"=>"facnumber", "f_amount"=>"amount", "f_total"=>"total", "f_tva"=>"tva");
|
$array_alias = array("f_facnumber"=>"facnumber", "f_total"=>"total", "f_tva"=>"tva");
|
||||||
$objexport->array_export_fields[0]=$array_export_fields;
|
$objexport->array_export_fields[0]=$array_export_fields;
|
||||||
$objexport->array_export_alias[0]=$array_alias;
|
$objexport->array_export_alias[0]=$array_alias;
|
||||||
|
|
||||||
@ -170,22 +170,23 @@ class ExportTest extends PHPUnit_Framework_TestCase
|
|||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
|
/*
|
||||||
public function testExportFilteredExport()
|
public function testExportFilteredExport()
|
||||||
{
|
{
|
||||||
global $conf,$user,$langs,$db;
|
global $conf,$user,$langs,$db;
|
||||||
|
|
||||||
$sql = "SELECT f.facnumber as f_facnumber, f.amount as f_amount, f.total as f_total, f.tva as f_tva FROM ".MAIN_DB_PREFIX."facture f";
|
$sql = "SELECT f.facnumber as f_facnumber, f.total as f_total, f.tva as f_tva FROM ".MAIN_DB_PREFIX."facture f";
|
||||||
|
|
||||||
$objexport=new Export($db);
|
$objexport=new Export($db);
|
||||||
//$objexport->load_arrays($user,$datatoexport);
|
//$objexport->load_arrays($user,$datatoexport);
|
||||||
|
|
||||||
// Define properties
|
// Define properties
|
||||||
$datatoexport='test';
|
$datatoexport='test_filtered';
|
||||||
$array_selected = array("f.facnumber"=>1, "f.amount"=>2, "f.total"=>3, "f.tva"=>4);
|
$array_selected = array("f.facnumber"=>1, "f.total"=>2, "f.tva"=>3);
|
||||||
$array_export_fields = array("f.facnumber"=>"FacNumber", "f.amount"=>"FacAmount", "f.total"=>"FacTotal", "f.tva"=>"FacVat");
|
$array_export_fields = array("f.facnumber"=>"FacNumber", "f.total"=>"FacTotal", "f.tva"=>"FacVat");
|
||||||
$array_filtervalue = array("f.amount" => ">100");
|
$array_filtervalue = array("f.total" => ">100");
|
||||||
$array_filtered = array("f.amount" => 1);
|
$array_filtered = array("f.total" => 1);
|
||||||
$array_alias = array("f_facnumber"=>"facnumber", "f_amount"=>"amount", "f_total"=>"total", "f_tva"=>"tva");
|
$array_alias = array("f_facnumber"=>"facnumber", "f_total"=>"total", "f_tva"=>"tva");
|
||||||
$objexport->array_export_fields[0]=$array_export_fields;
|
$objexport->array_export_fields[0]=$array_export_fields;
|
||||||
$objexport->array_export_alias[0]=$array_alias;
|
$objexport->array_export_alias[0]=$array_alias;
|
||||||
|
|
||||||
@ -213,7 +214,7 @@ class ExportTest extends PHPUnit_Framework_TestCase
|
|||||||
$this->assertEquals($result,$expectedresult);
|
$this->assertEquals($result,$expectedresult);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test export function
|
* Test export function
|
||||||
|
|||||||
@ -268,7 +268,7 @@ class FactureTest extends PHPUnit_Framework_TestCase
|
|||||||
$result=$localobject->delete($id);
|
$result=$localobject->delete($id);
|
||||||
|
|
||||||
print __METHOD__." id=".$id." result=".$result."\n";
|
print __METHOD__." id=".$id." result=".$result."\n";
|
||||||
$this->assertLessThan($result, 0);
|
$this->assertGreaterThanOrEqual(0, $result);
|
||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -10,46 +10,48 @@
|
|||||||
processIsolation="false"
|
processIsolation="false"
|
||||||
stopOnFailure="true"
|
stopOnFailure="true"
|
||||||
syntaxCheck="true">
|
syntaxCheck="true">
|
||||||
<filter>
|
<php>
|
||||||
<blacklist>
|
<ini name="max_execution_time" value="600"/>
|
||||||
<directory suffix=".php">../../build/</directory>
|
<ini name="max_input_time" value="600"/>
|
||||||
<directory suffix=".php">../../dev/</directory>
|
</php>
|
||||||
<directory suffix=".php">../../doc/</directory>
|
<filter>
|
||||||
<directory suffix=".php">../../test/</directory>
|
<blacklist>
|
||||||
<directory suffix=".php">../../htdocs/core/menus/smartphone/</directory>
|
<directory suffix=".php">../../build/</directory>
|
||||||
<directory suffix=".php">../../htdocs/products/canvas/</directory>
|
<directory suffix=".php">../../dev/</directory>
|
||||||
<directory suffix=".php">../../htdocs/contact/canvas/</directory>
|
<directory suffix=".php">../../doc/</directory>
|
||||||
<directory suffix=".php">../../htdocs/societe/canvas/</directory>
|
<directory suffix=".php">../../test/</directory>
|
||||||
<directory suffix=".php">../../htdocs/includes/</directory>
|
<directory suffix=".php">../../htdocs/core/menus/smartphone/</directory>
|
||||||
</blacklist>
|
<directory suffix=".php">../../htdocs/products/canvas/</directory>
|
||||||
<whitelist addUncoveredFilesFromWhitelist="true">
|
<directory suffix=".php">../../htdocs/contact/canvas/</directory>
|
||||||
<directory suffix=".class.php">../../htdocs/</directory>
|
<directory suffix=".php">../../htdocs/societe/canvas/</directory>
|
||||||
<directory suffix=".lib.php">../../htdocs/</directory>
|
<directory suffix=".php">../../htdocs/includes/</directory>
|
||||||
<directory suffix=".inc.php">../../htdocs/</directory>
|
</blacklist>
|
||||||
<directory suffix=".modules.php">../../htdocs/</directory>
|
<whitelist addUncoveredFilesFromWhitelist="true">
|
||||||
<file>../../htdocs/core/modules/facture/modules_facture.php</file>
|
<directory suffix=".class.php">../../htdocs/</directory>
|
||||||
<file>../../htdocs/core/modules/commande/modules_commande.php</file>
|
<directory suffix=".lib.php">../../htdocs/</directory>
|
||||||
<file>../../htdocs/core/modules/propale/modules_propale.php</file>
|
<directory suffix=".inc.php">../../htdocs/</directory>
|
||||||
<file>../../htdocs/core/modules/project/modules_project.php</file>
|
<directory suffix=".modules.php">../../htdocs/</directory>
|
||||||
<file>../../htdocs/core/modules/fichinter/modules_fichinter.php</file>
|
<file>../../htdocs/core/modules/facture/modules_facture.php</file>
|
||||||
<exclude>
|
<file>../../htdocs/core/modules/commande/modules_commande.php</file>
|
||||||
<directory suffix=".php">../../build/</directory>
|
<file>../../htdocs/core/modules/propale/modules_propale.php</file>
|
||||||
<directory suffix=".php">../../dev/</directory>
|
<file>../../htdocs/core/modules/project/modules_project.php</file>
|
||||||
<directory suffix=".php">../../doc/</directory>
|
<file>../../htdocs/core/modules/fichinter/modules_fichinter.php</file>
|
||||||
<directory suffix=".php">../../test/</directory>
|
<exclude>
|
||||||
<directory suffix=".php">../../htdocs/core/menus/smartphone</directory>
|
<directory suffix=".php">../../build/</directory>
|
||||||
<directory suffix=".php">../../htdocs/products/canvas/</directory>
|
<directory suffix=".php">../../dev/</directory>
|
||||||
<directory suffix=".php">../../htdocs/contact/canvas/</directory>
|
<directory suffix=".php">../../doc/</directory>
|
||||||
<directory suffix=".php">../../htdocs/societe/canvas/</directory>
|
<directory suffix=".php">../../test/</directory>
|
||||||
<directory suffix=".php">../../htdocs/includes/</directory>
|
<directory suffix=".php">../../htdocs/core/menus/smartphone</directory>
|
||||||
<file>../../htdocs/boutique/osc_master.inc.php</file>
|
<directory suffix=".php">../../htdocs/products/canvas/</directory>
|
||||||
<file>../../htdocs/compta/bank/pre.inc.php</file>
|
<directory suffix=".php">../../htdocs/contact/canvas/</directory>
|
||||||
<file>../../htdocs/compta/paiement/cheque/pre.inc.php</file>
|
<directory suffix=".php">../../htdocs/societe/canvas/</directory>
|
||||||
<file>../../htdocs/holiday/common.inc.php</file>
|
<directory suffix=".php">../../htdocs/includes/</directory>
|
||||||
<file>../../htdocs/ftp/pre.inc.php</file>
|
<file>../../htdocs/boutique/osc_master.inc.php</file>
|
||||||
</exclude>
|
<file>../../htdocs/compta/bank/pre.inc.php</file>
|
||||||
</whitelist>
|
<file>../../htdocs/compta/paiement/cheque/pre.inc.php</file>
|
||||||
</filter>
|
<file>../../htdocs/holiday/common.inc.php</file>
|
||||||
<ini name="max_execution_time" value="600"/>
|
<file>../../htdocs/ftp/pre.inc.php</file>
|
||||||
<ini name="max_input_time" value="600"/>
|
</exclude>
|
||||||
|
</whitelist>
|
||||||
|
</filter>
|
||||||
</phpunit>
|
</phpunit>
|
||||||
@ -10,48 +10,50 @@
|
|||||||
processIsolation="false"
|
processIsolation="false"
|
||||||
stopOnFailure="true"
|
stopOnFailure="true"
|
||||||
syntaxCheck="true">
|
syntaxCheck="true">
|
||||||
<filter>
|
<php>
|
||||||
<blacklist>
|
<ini name="max_execution_time" value="600"/>
|
||||||
<directory suffix=".php">../../build/</directory>
|
<ini name="max_input_time" value="600"/>
|
||||||
<directory suffix=".php">../../dev/</directory>
|
</php>
|
||||||
<directory suffix=".php">../../doc/</directory>
|
<filter>
|
||||||
<directory suffix=".php">../../test/</directory>
|
<blacklist>
|
||||||
<directory suffix=".php">../../htdocs/core/menus/smartphone/</directory>
|
<directory suffix=".php">../../build/</directory>
|
||||||
<directory suffix=".php">../../htdocs/custom/</directory>
|
<directory suffix=".php">../../dev/</directory>
|
||||||
<directory suffix=".php">../../htdocs/products/canvas/</directory>
|
<directory suffix=".php">../../doc/</directory>
|
||||||
<directory suffix=".php">../../htdocs/contact/canvas/</directory>
|
<directory suffix=".php">../../test/</directory>
|
||||||
<directory suffix=".php">../../htdocs/societe/canvas/</directory>
|
<directory suffix=".php">../../htdocs/core/menus/smartphone/</directory>
|
||||||
<directory suffix=".php">../../htdocs/includes/</directory>
|
<directory suffix=".php">../../htdocs/custom/</directory>
|
||||||
</blacklist>
|
<directory suffix=".php">../../htdocs/products/canvas/</directory>
|
||||||
<whitelist addUncoveredFilesFromWhitelist="true">
|
<directory suffix=".php">../../htdocs/contact/canvas/</directory>
|
||||||
<directory suffix=".class.php">../../htdocs/</directory>
|
<directory suffix=".php">../../htdocs/societe/canvas/</directory>
|
||||||
<directory suffix=".lib.php">../../htdocs/</directory>
|
<directory suffix=".php">../../htdocs/includes/</directory>
|
||||||
<directory suffix=".inc.php">../../htdocs/</directory>
|
</blacklist>
|
||||||
<directory suffix=".modules.php">../../htdocs/</directory>
|
<whitelist addUncoveredFilesFromWhitelist="true">
|
||||||
<file>../../htdocs/core/modules/facture/modules_facture.php</file>
|
<directory suffix=".class.php">../../htdocs/</directory>
|
||||||
<file>../../htdocs/core/modules/commande/modules_commande.php</file>
|
<directory suffix=".lib.php">../../htdocs/</directory>
|
||||||
<file>../../htdocs/core/modules/propale/modules_propale.php</file>
|
<directory suffix=".inc.php">../../htdocs/</directory>
|
||||||
<file>../../htdocs/core/modules/project/modules_project.php</file>
|
<directory suffix=".modules.php">../../htdocs/</directory>
|
||||||
<file>../../htdocs/core/modules/fichinter/modules_fichinter.php</file>
|
<file>../../htdocs/core/modules/facture/modules_facture.php</file>
|
||||||
<exclude>
|
<file>../../htdocs/core/modules/commande/modules_commande.php</file>
|
||||||
<directory suffix=".php">../../build/</directory>
|
<file>../../htdocs/core/modules/propale/modules_propale.php</file>
|
||||||
<directory suffix=".php">../../dev/</directory>
|
<file>../../htdocs/core/modules/project/modules_project.php</file>
|
||||||
<directory suffix=".php">../../doc/</directory>
|
<file>../../htdocs/core/modules/fichinter/modules_fichinter.php</file>
|
||||||
<directory suffix=".php">../../test/</directory>
|
<exclude>
|
||||||
<directory suffix=".php">../../htdocs/core/menus/smartphone</directory>
|
<directory suffix=".php">../../build/</directory>
|
||||||
<directory suffix=".php">../../htdocs/custom/</directory>
|
<directory suffix=".php">../../dev/</directory>
|
||||||
<directory suffix=".php">../../htdocs/products/canvas/</directory>
|
<directory suffix=".php">../../doc/</directory>
|
||||||
<directory suffix=".php">../../htdocs/contact/canvas/</directory>
|
<directory suffix=".php">../../test/</directory>
|
||||||
<directory suffix=".php">../../htdocs/societe/canvas/</directory>
|
<directory suffix=".php">../../htdocs/core/menus/smartphone</directory>
|
||||||
<directory suffix=".php">../../htdocs/includes/</directory>
|
<directory suffix=".php">../../htdocs/custom/</directory>
|
||||||
<file>../../htdocs/boutique/osc_master.inc.php</file>
|
<directory suffix=".php">../../htdocs/products/canvas/</directory>
|
||||||
<file>../../htdocs/compta/bank/pre.inc.php</file>
|
<directory suffix=".php">../../htdocs/contact/canvas/</directory>
|
||||||
<file>../../htdocs/compta/paiement/cheque/pre.inc.php</file>
|
<directory suffix=".php">../../htdocs/societe/canvas/</directory>
|
||||||
<file>../../htdocs/holiday/common.inc.php</file>
|
<directory suffix=".php">../../htdocs/includes/</directory>
|
||||||
<file>../../htdocs/ftp/pre.inc.php</file>
|
<file>../../htdocs/boutique/osc_master.inc.php</file>
|
||||||
</exclude>
|
<file>../../htdocs/compta/bank/pre.inc.php</file>
|
||||||
</whitelist>
|
<file>../../htdocs/compta/paiement/cheque/pre.inc.php</file>
|
||||||
</filter>
|
<file>../../htdocs/holiday/common.inc.php</file>
|
||||||
<ini name="max_execution_time" value="600"/>
|
<file>../../htdocs/ftp/pre.inc.php</file>
|
||||||
<ini name="max_input_time" value="600"/>
|
</exclude>
|
||||||
|
</whitelist>
|
||||||
|
</filter>
|
||||||
</phpunit>
|
</phpunit>
|
||||||
Loading…
Reference in New Issue
Block a user