Skip to content
Snippets Groups Projects
Commit 93ce51c8 authored by Laurent Destailleur's avatar Laurent Destailleur
Browse files

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

parents 9ec3500b 9739a83b
No related branches found
No related tags found
No related merge requests found
......@@ -32,7 +32,7 @@ For developers:
- New: Add webservice to get or create a product, service.
- New: Add webservice to get a user.
- 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: Add FirePHP output for logging module.
- New: Add trigger ACTION_DELETE and ACTION_MODIFY
......
......@@ -26,6 +26,8 @@ include_once(DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php');
$langs->load("admin");
$action=GETPOST('action');
$confirm=GETPOST('confirm');
$choice=GETPOST('choice');
if (! $user->admin) accessforbidden();
......@@ -43,11 +45,11 @@ if ($conf->syslog->enabled)
/*
* 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();
if ($_REQUEST["choice"]=='tempfiles')
if ($choice=='tempfiles')
{
// Delete temporary files
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
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');
}
......@@ -84,7 +86,7 @@ if ($_REQUEST["action"]=='purge' && ! preg_match('/^confirm/i',$_REQUEST["choice
elseif ($filesarray[$key]['type'] == 'file')
{
// 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']);
}
......@@ -92,7 +94,7 @@ if ($_REQUEST["action"]=='purge' && ! preg_match('/^confirm/i',$_REQUEST["choice
}
// 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");
$ecmdirstatic = new ECMDirectory($db);
......@@ -132,21 +134,21 @@ print '<tr class="border"><td style="padding: 4px">';
if ($conf->syslog->enabled)
{
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 '<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 '<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 '</td></tr></table>';
if ($_REQUEST['choice'] != 'confirm_allfiles')
if ($choice != 'confirm_allfiles')
{
print '<br>';
print '<center><input class="button" type="submit" value="'.$langs->trans("PurgeRunNow").'"></center>';
......@@ -161,7 +163,7 @@ if ($message)
print "\n";
}
if (preg_match('/^confirm/i',$_REQUEST["choice"]))
if (preg_match('/^confirm/i',$choice))
{
print '<br>';
$formquestion=array();
......
......@@ -62,7 +62,8 @@ if((isset($_GET['field']) && ! empty($_GET['field']))
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')
{
......
......@@ -68,7 +68,8 @@ if((isset($_POST['field']) && ! empty($_POST['field']))
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
$newvalue = trim($value);
......
......@@ -1356,13 +1356,14 @@ 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 sourcetype
* @param targetid
* @param targettype
* @param clause OR, AND
* @param int $sourceid Object source id
* @param string $sourcetype Object source type
* @param int $targetid Object target id
* @param string $targettype Object target type
* @param string $clause OR, AND clause
* @return void
*/
function fetchObjectLinked($sourceid='',$sourcetype='',$targetid='',$targettype='',$clause='OR')
{
......@@ -1436,27 +1437,27 @@ abstract class CommonObject
if ($objecttype == 'facture') {
$classpath = 'compta/facture/class';
}
if ($objecttype == 'propal') {
else if ($objecttype == 'propal') {
$classpath = 'comm/propal/class';
}
if ($objecttype == 'shipping') {
else if ($objecttype == 'shipping') {
$classpath = 'expedition/class'; $subelement = 'expedition'; $module = 'expedition_bon';
}
if ($objecttype == 'delivery') {
else if ($objecttype == 'delivery') {
$classpath = 'livraison/class'; $subelement = 'livraison'; $module = 'livraison_bon';
}
if ($objecttype == 'invoice_supplier') {
else if ($objecttype == 'invoice_supplier') {
$classpath = 'fourn/class';
}
if ($objecttype == 'order_supplier') {
else if ($objecttype == 'order_supplier') {
$classpath = 'fourn/class';
}
if ($objecttype == 'fichinter') {
else if ($objecttype == 'fichinter') {
$classpath = 'fichinter/class'; $subelement = 'fichinter'; $module = 'ficheinter';
}
// TODO ajout temporaire - MAXIME MANGIN
if ($objecttype == 'contratabonnement') {
else if ($objecttype == 'contratabonnement') {
$classpath = 'contrat/class'; $subelement = 'contrat'; $module = 'contratabonnement';
}
......@@ -1464,7 +1465,7 @@ abstract class CommonObject
if ($objecttype == 'invoice_supplier') {
$classfile = 'fournisseur.facture'; $classname = 'FactureFournisseur';
}
if ($objecttype == 'order_supplier') {
else if ($objecttype == 'order_supplier') {
$classfile = 'fournisseur.commande'; $classname = 'CommandeFournisseur';
}
......
......@@ -60,9 +60,9 @@ class Form
*
* @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);
$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))
{
......
......@@ -37,6 +37,7 @@ PropalValidatedInDolibarr=Pressupost %s validat
InvoiceValidatedInDolibarr=Factura %s validada
InvoiceBackToDraftInDolibarr=Factura %s tornada a borrador
OrderValidatedInDolibarr=Comanda %s validada
OrderApprovedInDolibarr=Comanda %s aprovada
InterventionValidatedInDolibarr=Intervenció %s validada
ProposalSentByEMail=Pressupost %s enviat per e-mail
OrderSentByEMail=Comanda de client %s enviada per e-mail
......
......@@ -206,7 +206,8 @@ SupplierPaymentDoneInDolibarr=Pagament a proveïdor %s en Dolibarr
MemberValidatedInDolibarr=Membre %s validat en Dolibarr
MemberResiliatedInDolibarr=Membre %s donat de baixa en 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=Exportació
ExportsArea=Àrea d'exportacions
......
......@@ -3,6 +3,7 @@ CHARSET=UTF-8
WarehouseCard=Fitxa magatzem
Warehouse=Magatzem
NewWarehouse=Nou magatzem o zona d'emmagatzematge
WarehouseEdit=Edició magatzem
MenuNewWarehouse=Nou magatzem
WarehouseOpened=Magatzem obert
WarehouseClosed=Magatzem tancat
......@@ -77,4 +78,6 @@ EstimatedStockValue=Valor de compra (PMP)
DeleteAWarehouse=Eliminar un magatzem
ConfirmDeleteWarehouse=Esteu segur que voleu eliminar el magatzem <b>%s</b> ?
PersonalStock=Stoc personal %s
ThisWarehouseIsPersonalStock=Aquest magatzem representa l'estoc personal de %s %s
\ No newline at end of file
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
\ No newline at end of file
......@@ -9,8 +9,8 @@ Calendars=Calendarios
AffectedTo=Asignada a
DoneBy=Realizado por
Events=Eventos
EventOnFullDay=Evento para todo el día
ListOfActions=Listado de eventos
EventOnFullDay=Evento para todo el día
Location=Localización
SearchAnAction=Buscar un evento/tarea
MenuToDoActions=Eventos incompletos
......@@ -37,6 +37,7 @@ PropalValidatedInDolibarr=Presupuesto %s validado
InvoiceValidatedInDolibarr=Factura %s validada
InvoiceBackToDraftInDolibarr=Factura %s devuelta a borrador
OrderValidatedInDolibarr=Pedido %s validado
OrderApprovedInDolibarr=Pedido %s aprobado
InterventionValidatedInDolibarr=Intervención %s validada
ProposalSentByEMail=Presupuesto %s enviado por e-mail
OrderSentByEMail=Pedido de cliente %s enviado por e-mail
......@@ -59,11 +60,10 @@ 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>.
AgendaShowBirthdayEvents=Mostrar cumpleaños de los contactos
AgendaHideBirthdayEvents=Ocultar cumpleaños de los contactos
# External Sites ical
ExtSites=Calendarios externos
# External Sites ical=undefined
ExtSitesEnableThisTool=Mostrar calendarios externos en la agenda
ExtSitesNbOfAgenda=Número de calendarios
AgendaExtNb=Calendario nº %s
ExtSiteUrlAgenda=Url de acceso al archivo .ical
ExtSiteNoLabel=Sin descripción
\ No newline at end of file
ExtSiteNoLabel=Sin descripción
# Dolibarr language file - es_ES - other
# Dolibarr language file - es_ES - other
CHARSET=UTF-8
SecurityCode=Código seguridad
Calendar=Calendario
......@@ -45,7 +45,6 @@ AttachANewFile=Adjuntar nuevo archivo/documento
LinkedObject=Objeto adjuntado
Miscellanous=Diversos
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.
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
......@@ -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
BookmarksManagement=Gestión 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 #####
AddCalendarEntry=Añadir entrada en el calendario
NewCompanyToDolibarr=Empresa %s insertada en Dolibarr
......@@ -208,6 +202,7 @@ MemberValidatedInDolibarr=Miembro %s validado en Dolibarr
MemberResiliatedInDolibarr=Miembro %s dado de baja en Dolibarr
MemberDeletedInDolibarr=Miembro %s eliminado de Dolibarr
MemberSubscriptionAddedInDolibarr=Subscripción del miembro % añadida en Dolibarr
ShipmentValidatedInDolibarr=Expedición %s validada en Dolibarr
##### Export #####
Export=Exportación
ExportsArea=Área de exportaciones
......
......@@ -3,6 +3,7 @@ CHARSET=UTF-8
WarehouseCard=Ficha almacén
Warehouse=Almacén
NewWarehouse=Nuevo almacén o zona de almacenaje
WarehouseEdit=Edición almacén
MenuNewWarehouse=Nuevo almacén
WarehouseOpened=almacén abierto
WarehouseClosed=almacén cerrado
......@@ -77,4 +78,6 @@ EstimatedStockValue=Valor de compra (PMP)
DeleteAWarehouse=Eliminar un almacén
ConfirmDeleteWarehouse=¿Está seguro de querer eliminar el almacén <b>%s</b>?
PersonalStock=Stock personal %s
ThisWarehouseIsPersonalStock=Este almacén representa el stock personal de %s %s
\ No newline at end of file
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
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment