Merge branch 'develop' of ssh://git@github.com/Dolibarr/dolibarr.git into develop

This commit is contained in:
Laurent Destailleur 2011-11-11 00:42:28 +01:00
commit 93ce51c8d7
12 changed files with 56 additions and 46 deletions

View File

@ -32,7 +32,7 @@ For developers:
- New: Add webservice to get or create a product, service. - New: Add webservice to get or create a product, service.
- New: Add webservice to get a user. - New: Add webservice to get a user.
- New: Add hooks to change way of showing/editing lines into dictionnaries. - New: Add hooks to change way of showing/editing lines into dictionnaries.
- New: Add webservice to get or create a prodcut or service. - New: Add webservice to get or create a product or service.
- New: Log module outputs can be setup with "or" rule (not only "xor"). - New: Log module outputs can be setup with "or" rule (not only "xor").
- New: Add FirePHP output for logging module. - New: Add FirePHP output for logging module.
- New: Add trigger ACTION_DELETE and ACTION_MODIFY - New: Add trigger ACTION_DELETE and ACTION_MODIFY

View File

@ -26,6 +26,8 @@ include_once(DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php');
$langs->load("admin"); $langs->load("admin");
$action=GETPOST('action'); $action=GETPOST('action');
$confirm=GETPOST('confirm');
$choice=GETPOST('choice');
if (! $user->admin) accessforbidden(); if (! $user->admin) accessforbidden();
@ -43,11 +45,11 @@ if ($conf->syslog->enabled)
/* /*
* Actions * Actions
*/ */
if ($_REQUEST["action"]=='purge' && ! preg_match('/^confirm/i',$_REQUEST["choice"]) && ($_REQUEST["choice"] != 'allfiles' || $_REQUEST["confirm"] == 'yes') ) if ($action=='purge' && ! preg_match('/^confirm/i',$choice) && ($choice != 'allfiles' || $confirm == 'yes') )
{ {
$filesarray=array(); $filesarray=array();
if ($_REQUEST["choice"]=='tempfiles') if ($choice=='tempfiles')
{ {
// Delete temporary files // Delete temporary files
if ($dolibarr_main_data_root) if ($dolibarr_main_data_root)
@ -56,16 +58,16 @@ if ($_REQUEST["action"]=='purge' && ! preg_match('/^confirm/i',$_REQUEST["choice
} }
} }
if ($_REQUEST["choice"]=='allfiles') if ($choice=='allfiles')
{ {
// Delete all files // Delete all files
if ($dolibarr_main_data_root) if ($dolibarr_main_data_root)
{ {
$filesarray=dol_dir_list($dolibarr_main_data_root,"all",0); $filesarray=dol_dir_list($dolibarr_main_data_root,"all",0,'','install\.lock$');
} }
} }
if ($_REQUEST["choice"]=='logfile') if ($choice=='logfile')
{ {
$filesarray[]=array('fullname'=>$filelog,'type'=>'file'); $filesarray[]=array('fullname'=>$filelog,'type'=>'file');
} }
@ -84,7 +86,7 @@ if ($_REQUEST["action"]=='purge' && ! preg_match('/^confirm/i',$_REQUEST["choice
elseif ($filesarray[$key]['type'] == 'file') elseif ($filesarray[$key]['type'] == 'file')
{ {
// If (file that is not logfile) or (if logfile with option logfile) // If (file that is not logfile) or (if logfile with option logfile)
if ($filesarray[$key]['fullname'] != $filelog || $_POST["choice"]=='logfile') if ($filesarray[$key]['fullname'] != $filelog || $choice=='logfile')
{ {
$count+=dol_delete_file($filesarray[$key]['fullname']); $count+=dol_delete_file($filesarray[$key]['fullname']);
} }
@ -92,7 +94,7 @@ if ($_REQUEST["action"]=='purge' && ! preg_match('/^confirm/i',$_REQUEST["choice
} }
// Update cachenbofdoc // Update cachenbofdoc
if ($conf->ecm->enabled && $_REQUEST["choice"]=='allfiles') if ($conf->ecm->enabled && $choice=='allfiles')
{ {
require_once(DOL_DOCUMENT_ROOT."/ecm/class/ecmdirectory.class.php"); require_once(DOL_DOCUMENT_ROOT."/ecm/class/ecmdirectory.class.php");
$ecmdirstatic = new ECMDirectory($db); $ecmdirstatic = new ECMDirectory($db);
@ -132,21 +134,21 @@ print '<tr class="border"><td style="padding: 4px">';
if ($conf->syslog->enabled) if ($conf->syslog->enabled)
{ {
print '<input type="radio" name="choice" value="logfile"'; print '<input type="radio" name="choice" value="logfile"';
print ($_REQUEST["choice"] && $_REQUEST["choice"]=='logfile') ? ' checked="checked"' : ''; print ($choice && $choice=='logfile') ? ' checked="checked"' : '';
print '> '.$langs->trans("PurgeDeleteLogFile",$filelog).'<br><br>'; print '> '.$langs->trans("PurgeDeleteLogFile",$filelog).'<br><br>';
} }
print '<input type="radio" name="choice" value="tempfiles"'; print '<input type="radio" name="choice" value="tempfiles"';
print (! $_REQUEST["choice"] || $_REQUEST["choice"]=='tempfiles' || $_REQUEST["choice"]=='allfiles') ? ' checked="checked"' : ''; print (! $choice || $choice=='tempfiles' || $choice=='allfiles') ? ' checked="checked"' : '';
print '> '.$langs->trans("PurgeDeleteTemporaryFiles").'<br><br>'; print '> '.$langs->trans("PurgeDeleteTemporaryFiles").'<br><br>';
print '<input type="radio" name="choice" value="confirm_allfiles"'; print '<input type="radio" name="choice" value="confirm_allfiles"';
print ($_REQUEST["choice"] && $_REQUEST["choice"]=='confirm_allfiles') ? ' checked="checked"' : ''; print ($choice && $choice=='confirm_allfiles') ? ' checked="checked"' : '';
print '> '.$langs->trans("PurgeDeleteAllFilesInDocumentsDir",$dolibarr_main_data_root).'<br>'; print '> '.$langs->trans("PurgeDeleteAllFilesInDocumentsDir",$dolibarr_main_data_root).'<br>';
print '</td></tr></table>'; print '</td></tr></table>';
if ($_REQUEST['choice'] != 'confirm_allfiles') if ($choice != 'confirm_allfiles')
{ {
print '<br>'; print '<br>';
print '<center><input class="button" type="submit" value="'.$langs->trans("PurgeRunNow").'"></center>'; print '<center><input class="button" type="submit" value="'.$langs->trans("PurgeRunNow").'"></center>';
@ -161,7 +163,7 @@ if ($message)
print "\n"; print "\n";
} }
if (preg_match('/^confirm/i',$_REQUEST["choice"])) if (preg_match('/^confirm/i',$choice))
{ {
print '<br>'; print '<br>';
$formquestion=array(); $formquestion=array();

View File

@ -62,7 +62,8 @@ if((isset($_GET['field']) && ! empty($_GET['field']))
if ($element == 'fichinter') $element = 'ficheinter'; if ($element == 'fichinter') $element = 'ficheinter';
if ($user->rights->$element->lire || $user->rights->$element->read) if ($user->rights->$element->lire || $user->rights->$element->read
|| $user->rights->$element->$subelement->lire || $user->rights->$element->$subelement->read)
{ {
if ($type == 'select') if ($type == 'select')
{ {

View File

@ -68,7 +68,8 @@ if((isset($_POST['field']) && ! empty($_POST['field']))
if ($element == 'fichinter') $element = 'ficheinter'; if ($element == 'fichinter') $element = 'ficheinter';
if ($user->rights->$element->creer || $user->rights->$element->write) if ($user->rights->$element->creer || $user->rights->$element->write
|| $user->rights->$element->$subelement->creer || $user->rights->$element->$subelement->write)
{ {
// Clean parameters // Clean parameters
$newvalue = trim($value); $newvalue = trim($value);

View File

@ -1358,11 +1358,12 @@ abstract class CommonObject
/** /**
* Fetch array of objects linked to current object. Links are loaded into this->linked_object array. * Fetch array of objects linked to current object. Links are loaded into this->linked_object array.
* *
* @param sourceid * @param int $sourceid Object source id
* @param sourcetype * @param string $sourcetype Object source type
* @param targetid * @param int $targetid Object target id
* @param targettype * @param string $targettype Object target type
* @param clause OR, AND * @param string $clause OR, AND clause
* @return void
*/ */
function fetchObjectLinked($sourceid='',$sourcetype='',$targetid='',$targettype='',$clause='OR') function fetchObjectLinked($sourceid='',$sourcetype='',$targetid='',$targettype='',$clause='OR')
{ {
@ -1436,27 +1437,27 @@ abstract class CommonObject
if ($objecttype == 'facture') { if ($objecttype == 'facture') {
$classpath = 'compta/facture/class'; $classpath = 'compta/facture/class';
} }
if ($objecttype == 'propal') { else if ($objecttype == 'propal') {
$classpath = 'comm/propal/class'; $classpath = 'comm/propal/class';
} }
if ($objecttype == 'shipping') { else if ($objecttype == 'shipping') {
$classpath = 'expedition/class'; $subelement = 'expedition'; $module = 'expedition_bon'; $classpath = 'expedition/class'; $subelement = 'expedition'; $module = 'expedition_bon';
} }
if ($objecttype == 'delivery') { else if ($objecttype == 'delivery') {
$classpath = 'livraison/class'; $subelement = 'livraison'; $module = 'livraison_bon'; $classpath = 'livraison/class'; $subelement = 'livraison'; $module = 'livraison_bon';
} }
if ($objecttype == 'invoice_supplier') { else if ($objecttype == 'invoice_supplier') {
$classpath = 'fourn/class'; $classpath = 'fourn/class';
} }
if ($objecttype == 'order_supplier') { else if ($objecttype == 'order_supplier') {
$classpath = 'fourn/class'; $classpath = 'fourn/class';
} }
if ($objecttype == 'fichinter') { else if ($objecttype == 'fichinter') {
$classpath = 'fichinter/class'; $subelement = 'fichinter'; $module = 'ficheinter'; $classpath = 'fichinter/class'; $subelement = 'fichinter'; $module = 'ficheinter';
} }
// TODO ajout temporaire - MAXIME MANGIN // TODO ajout temporaire - MAXIME MANGIN
if ($objecttype == 'contratabonnement') { else if ($objecttype == 'contratabonnement') {
$classpath = 'contrat/class'; $subelement = 'contrat'; $module = 'contratabonnement'; $classpath = 'contrat/class'; $subelement = 'contrat'; $module = 'contratabonnement';
} }
@ -1464,7 +1465,7 @@ abstract class CommonObject
if ($objecttype == 'invoice_supplier') { if ($objecttype == 'invoice_supplier') {
$classfile = 'fournisseur.facture'; $classname = 'FactureFournisseur'; $classfile = 'fournisseur.facture'; $classname = 'FactureFournisseur';
} }
if ($objecttype == 'order_supplier') { else if ($objecttype == 'order_supplier') {
$classfile = 'fournisseur.commande'; $classname = 'CommandeFournisseur'; $classfile = 'fournisseur.commande'; $classname = 'CommandeFournisseur';
} }

View File

@ -60,9 +60,9 @@ class Form
* *
* @param DoliDB $DB Database handler * @param DoliDB $DB Database handler
*/ */
function Form($DB) public function __construct($db)
{ {
$this->db = $DB; $this->db = $db;
} }
/** /**
@ -257,7 +257,9 @@ class Form
{ {
$tmp=explode(':',$inputType); $tmp=explode(':',$inputType);
$inputType=$tmp[0]; $toolbar=$tmp[1]; $inputType=$tmp[0]; $toolbar=$tmp[1];
if (! empty($tmp[2])) $savemethod=$tmp[2]; if (! empty($tmp[2])) $width=$tmp[2];
if (! empty($tmp[3])) $heigth=$tmp[3];
if (! empty($tmp[4])) $savemethod=$tmp[4];
if (! empty($conf->fckeditor->enabled)) if (! empty($conf->fckeditor->enabled))
{ {

View File

@ -37,6 +37,7 @@ PropalValidatedInDolibarr=Pressupost %s validat
InvoiceValidatedInDolibarr=Factura %s validada InvoiceValidatedInDolibarr=Factura %s validada
InvoiceBackToDraftInDolibarr=Factura %s tornada a borrador InvoiceBackToDraftInDolibarr=Factura %s tornada a borrador
OrderValidatedInDolibarr=Comanda %s validada OrderValidatedInDolibarr=Comanda %s validada
OrderApprovedInDolibarr=Comanda %s aprovada
InterventionValidatedInDolibarr=Intervenció %s validada InterventionValidatedInDolibarr=Intervenció %s validada
ProposalSentByEMail=Pressupost %s enviat per e-mail ProposalSentByEMail=Pressupost %s enviat per e-mail
OrderSentByEMail=Comanda de client %s enviada per e-mail OrderSentByEMail=Comanda de client %s enviada per e-mail

View File

@ -206,7 +206,8 @@ SupplierPaymentDoneInDolibarr=Pagament a proveïdor %s en Dolibarr
MemberValidatedInDolibarr=Membre %s validat en Dolibarr MemberValidatedInDolibarr=Membre %s validat en Dolibarr
MemberResiliatedInDolibarr=Membre %s donat de baixa en Dolibarr MemberResiliatedInDolibarr=Membre %s donat de baixa en Dolibarr
MemberDeletedInDolibarr=Membre %s eliminat de Dolibarr MemberDeletedInDolibarr=Membre %s eliminat de Dolibarr
MemberSubscriptionAddedInDolibarr=Subscripció del membre %s afegida a Dolibar MemberSubscriptionAddedInDolibarr=Subscripció del membre %s afegida a Dolibarr
ShipmentValidatedInDolibarr=Expedició %s validada en Dolibarr
##### Export ##### ##### Export #####
Export=Exportació Export=Exportació
ExportsArea=Àrea d'exportacions ExportsArea=Àrea d'exportacions

View File

@ -3,6 +3,7 @@ CHARSET=UTF-8
WarehouseCard=Fitxa magatzem WarehouseCard=Fitxa magatzem
Warehouse=Magatzem Warehouse=Magatzem
NewWarehouse=Nou magatzem o zona d'emmagatzematge NewWarehouse=Nou magatzem o zona d'emmagatzematge
WarehouseEdit=Edició magatzem
MenuNewWarehouse=Nou magatzem MenuNewWarehouse=Nou magatzem
WarehouseOpened=Magatzem obert WarehouseOpened=Magatzem obert
WarehouseClosed=Magatzem tancat WarehouseClosed=Magatzem tancat
@ -78,3 +79,5 @@ DeleteAWarehouse=Eliminar un magatzem
ConfirmDeleteWarehouse=Esteu segur que voleu eliminar el magatzem <b>%s</b> ? ConfirmDeleteWarehouse=Esteu segur que voleu eliminar el magatzem <b>%s</b> ?
PersonalStock=Stoc personal %s PersonalStock=Stoc personal %s
ThisWarehouseIsPersonalStock=Aquest magatzem representa l'estoc personal de %s %s ThisWarehouseIsPersonalStock=Aquest magatzem representa l'estoc personal de %s %s
SelectWarehouseForStockDecrease=Seleccioneu el magatzem a usar en el decrement d'estoc
SelectWarehouseForStockIncrease=Seleccioneu el magatzem a utilitzar en l'increment d'estoc

View File

@ -9,8 +9,8 @@ Calendars=Calendarios
AffectedTo=Asignada a AffectedTo=Asignada a
DoneBy=Realizado por DoneBy=Realizado por
Events=Eventos Events=Eventos
EventOnFullDay=Evento para todo el día
ListOfActions=Listado de eventos ListOfActions=Listado de eventos
EventOnFullDay=Evento para todo el día
Location=Localización Location=Localización
SearchAnAction=Buscar un evento/tarea SearchAnAction=Buscar un evento/tarea
MenuToDoActions=Eventos incompletos MenuToDoActions=Eventos incompletos
@ -37,6 +37,7 @@ PropalValidatedInDolibarr=Presupuesto %s validado
InvoiceValidatedInDolibarr=Factura %s validada InvoiceValidatedInDolibarr=Factura %s validada
InvoiceBackToDraftInDolibarr=Factura %s devuelta a borrador InvoiceBackToDraftInDolibarr=Factura %s devuelta a borrador
OrderValidatedInDolibarr=Pedido %s validado OrderValidatedInDolibarr=Pedido %s validado
OrderApprovedInDolibarr=Pedido %s aprobado
InterventionValidatedInDolibarr=Intervención %s validada InterventionValidatedInDolibarr=Intervención %s validada
ProposalSentByEMail=Presupuesto %s enviado por e-mail ProposalSentByEMail=Presupuesto %s enviado por e-mail
OrderSentByEMail=Pedido de cliente %s enviado por e-mail OrderSentByEMail=Pedido de cliente %s enviado por e-mail
@ -59,9 +60,8 @@ AgendaUrlOptions4=<b>logint=%s</b> para restringir inserciones a acciones que af
AgendaUrlOptions5=<b>logind=%s</b> para restringir inserciones a acciones realizadas por el usuario <b>%s</b>. AgendaUrlOptions5=<b>logind=%s</b> para restringir inserciones a acciones realizadas por el usuario <b>%s</b>.
AgendaShowBirthdayEvents=Mostrar cumpleaños de los contactos AgendaShowBirthdayEvents=Mostrar cumpleaños de los contactos
AgendaHideBirthdayEvents=Ocultar cumpleaños de los contactos AgendaHideBirthdayEvents=Ocultar cumpleaños de los contactos
# External Sites ical
ExtSites=Calendarios externos ExtSites=Calendarios externos
# External Sites ical=undefined
ExtSitesEnableThisTool=Mostrar calendarios externos en la agenda ExtSitesEnableThisTool=Mostrar calendarios externos en la agenda
ExtSitesNbOfAgenda=Número de calendarios ExtSitesNbOfAgenda=Número de calendarios
AgendaExtNb=Calendario nº %s AgendaExtNb=Calendario nº %s

View File

@ -45,7 +45,6 @@ AttachANewFile=Adjuntar nuevo archivo/documento
LinkedObject=Objeto adjuntado LinkedObject=Objeto adjuntado
Miscellanous=Diversos Miscellanous=Diversos
NbOfActiveNotifications=Número notificaciones NbOfActiveNotifications=Número notificaciones
PredefinedMailTest=Esto es un correo de prueba.\nLas 2 líneas están separadas por un retorno de carro a la línea. PredefinedMailTest=Esto es un correo de prueba.\nLas 2 líneas están separadas por un retorno de carro a la línea.
PredefinedMailTestHtml=Esto es un e-mail de <b>prueba</b>(la palabra prueba debe de estar en negrita).<br>Las 2 líneas están separadas por un retorno de carro en la línea PredefinedMailTestHtml=Esto es un e-mail de <b>prueba</b>(la palabra prueba debe de estar en negrita).<br>Las 2 líneas están separadas por un retorno de carro en la línea
PredefinedMailContentSendInvoice=Le adjuntamos la factura __FACREF__\n\nCordialmente\n\n PredefinedMailContentSendInvoice=Le adjuntamos la factura __FACREF__\n\nCordialmente\n\n
@ -184,11 +183,6 @@ UseAnExternalHttpLinkOrRelativeDolibarrLink=Indicar un URL http externo o un URL
ChooseIfANewWindowMustBeOpenedOnClickOnBookmark=Elegir si debe abrirse la página en una nueva ventana o en la actual ChooseIfANewWindowMustBeOpenedOnClickOnBookmark=Elegir si debe abrirse la página en una nueva ventana o en la actual
BookmarksManagement=Gestión de marcadores BookmarksManagement=Gestión de marcadores
ListOfBookmarks=Listado de marcadores ListOfBookmarks=Listado de marcadores
##### Webcal #####
LoginWebcal=Login Webcalendar
ErrorWebcalLoginNotDefined=El login Webcalendar asociado a su usuario Dolibarr <b>%s</b> no está definido
##### Phenix #####
ErrorPhenixLoginNotDefined=El login Phenix asociado a su cuenta Dolibarr <b>%s</b> no está definido
##### Calendar common ##### ##### Calendar common #####
AddCalendarEntry=Añadir entrada en el calendario AddCalendarEntry=Añadir entrada en el calendario
NewCompanyToDolibarr=Empresa %s insertada en Dolibarr NewCompanyToDolibarr=Empresa %s insertada en Dolibarr
@ -208,6 +202,7 @@ MemberValidatedInDolibarr=Miembro %s validado en Dolibarr
MemberResiliatedInDolibarr=Miembro %s dado de baja en Dolibarr MemberResiliatedInDolibarr=Miembro %s dado de baja en Dolibarr
MemberDeletedInDolibarr=Miembro %s eliminado de Dolibarr MemberDeletedInDolibarr=Miembro %s eliminado de Dolibarr
MemberSubscriptionAddedInDolibarr=Subscripción del miembro % añadida en Dolibarr MemberSubscriptionAddedInDolibarr=Subscripción del miembro % añadida en Dolibarr
ShipmentValidatedInDolibarr=Expedición %s validada en Dolibarr
##### Export ##### ##### Export #####
Export=Exportación Export=Exportación
ExportsArea=Área de exportaciones ExportsArea=Área de exportaciones

View File

@ -3,6 +3,7 @@ CHARSET=UTF-8
WarehouseCard=Ficha almacén WarehouseCard=Ficha almacén
Warehouse=Almacén Warehouse=Almacén
NewWarehouse=Nuevo almacén o zona de almacenaje NewWarehouse=Nuevo almacén o zona de almacenaje
WarehouseEdit=Edición almacén
MenuNewWarehouse=Nuevo almacén MenuNewWarehouse=Nuevo almacén
WarehouseOpened=almacén abierto WarehouseOpened=almacén abierto
WarehouseClosed=almacén cerrado WarehouseClosed=almacén cerrado
@ -78,3 +79,5 @@ DeleteAWarehouse=Eliminar un almacén
ConfirmDeleteWarehouse=¿Está seguro de querer eliminar el almacén <b>%s</b>? ConfirmDeleteWarehouse=¿Está seguro de querer eliminar el almacén <b>%s</b>?
PersonalStock=Stock personal %s PersonalStock=Stock personal %s
ThisWarehouseIsPersonalStock=Este almacén representa el stock personal de %s %s ThisWarehouseIsPersonalStock=Este almacén representa el stock personal de %s %s
SelectWarehouseForStockDecrease=Seleccione el almacén a usar en el decremento de stock
SelectWarehouseForStockIncrease=Seleccione el almacén a usar en el incremento de stock