Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop
This commit is contained in:
commit
1280499110
@ -90,9 +90,9 @@ if ($action == 'add')
|
|||||||
if (! $error && $fk_user != 0) // We will add fk_user = 0 later.
|
if (! $error && $fk_user != 0) // We will add fk_user = 0 later.
|
||||||
{
|
{
|
||||||
$sql = "INSERT INTO ".MAIN_DB_PREFIX."boxes (";
|
$sql = "INSERT INTO ".MAIN_DB_PREFIX."boxes (";
|
||||||
$sql.= "box_id, position, box_order, fk_user";
|
$sql.= "box_id, position, box_order, fk_user, entity";
|
||||||
$sql.= ") values (";
|
$sql.= ") values (";
|
||||||
$sql.= GETPOST("boxid","int").", ".GETPOST("pos","alpha").", 'A01', ".$fk_user;
|
$sql.= GETPOST("boxid","int").", ".GETPOST("pos","alpha").", 'A01', ".$fk_user.", ".$conf->entity;
|
||||||
$sql.= ")";
|
$sql.= ")";
|
||||||
|
|
||||||
dol_syslog("boxes.php activate box sql=".$sql);
|
dol_syslog("boxes.php activate box sql=".$sql);
|
||||||
@ -109,9 +109,9 @@ if ($action == 'add')
|
|||||||
if (! $error)
|
if (! $error)
|
||||||
{
|
{
|
||||||
$sql = "INSERT INTO ".MAIN_DB_PREFIX."boxes (";
|
$sql = "INSERT INTO ".MAIN_DB_PREFIX."boxes (";
|
||||||
$sql.= "box_id, position, box_order, fk_user";
|
$sql.= "box_id, position, box_order, fk_user, entity";
|
||||||
$sql.= ") values (";
|
$sql.= ") values (";
|
||||||
$sql.= GETPOST("boxid","int").", ".GETPOST("pos","alpha").", 'A01', 0";
|
$sql.= GETPOST("boxid","int").", ".GETPOST("pos","alpha").", 'A01', 0, ".$conf->entity;
|
||||||
$sql.= ")";
|
$sql.= ")";
|
||||||
|
|
||||||
dol_syslog("boxes.php activate box sql=".$sql);
|
dol_syslog("boxes.php activate box sql=".$sql);
|
||||||
@ -137,9 +137,9 @@ if ($action == 'add')
|
|||||||
|
|
||||||
if ($action == 'delete')
|
if ($action == 'delete')
|
||||||
{
|
{
|
||||||
|
|
||||||
$sql = "SELECT box_id FROM ".MAIN_DB_PREFIX."boxes";
|
$sql = "SELECT box_id FROM ".MAIN_DB_PREFIX."boxes";
|
||||||
$sql.= " WHERE rowid=".$rowid;
|
$sql.= " WHERE rowid=".$rowid;
|
||||||
|
|
||||||
$resql = $db->query($sql);
|
$resql = $db->query($sql);
|
||||||
$obj=$db->fetch_object($resql);
|
$obj=$db->fetch_object($resql);
|
||||||
if (! empty($obj->box_id))
|
if (! empty($obj->box_id))
|
||||||
@ -152,7 +152,9 @@ if ($action == 'delete')
|
|||||||
// $resql = $db->query($sql);
|
// $resql = $db->query($sql);
|
||||||
|
|
||||||
$sql = "DELETE FROM ".MAIN_DB_PREFIX."boxes";
|
$sql = "DELETE FROM ".MAIN_DB_PREFIX."boxes";
|
||||||
$sql.= " WHERE box_id=".$obj->box_id;
|
$sql.= " WHERE entity = ".$conf->entity;
|
||||||
|
$sql.= " AND box_id=".$obj->box_id;
|
||||||
|
|
||||||
$resql = $db->query($sql);
|
$resql = $db->query($sql);
|
||||||
|
|
||||||
$db->commit();
|
$db->commit();
|
||||||
@ -182,12 +184,12 @@ if ($action == 'switch')
|
|||||||
$newsecondnum=preg_replace('/[a-zA-Z]+/','',$newsecond);
|
$newsecondnum=preg_replace('/[a-zA-Z]+/','',$newsecond);
|
||||||
$newsecond=sprintf("%s%02d",$newsecondchar?$newsecondchar:'A',$newsecondnum+1);
|
$newsecond=sprintf("%s%02d",$newsecondchar?$newsecondchar:'A',$newsecondnum+1);
|
||||||
}
|
}
|
||||||
$sql="UPDATE ".MAIN_DB_PREFIX."boxes set box_order='".$newfirst."' WHERE rowid=".$objfrom->rowid;
|
$sql="UPDATE ".MAIN_DB_PREFIX."boxes SET box_order='".$newfirst."' WHERE rowid=".$objfrom->rowid;
|
||||||
dol_syslog($sql);
|
dol_syslog($sql);
|
||||||
$resultupdatefrom = $db->query($sql);
|
$resultupdatefrom = $db->query($sql);
|
||||||
if (! $resultupdatefrom) { dol_print_error($db); }
|
if (! $resultupdatefrom) { dol_print_error($db); }
|
||||||
|
|
||||||
$sql="UPDATE ".MAIN_DB_PREFIX."boxes set box_order='".$newsecond."' WHERE rowid=".$objto->rowid;
|
$sql="UPDATE ".MAIN_DB_PREFIX."boxes SET box_order='".$newsecond."' WHERE rowid=".$objto->rowid;
|
||||||
dol_syslog($sql);
|
dol_syslog($sql);
|
||||||
$resultupdateto = $db->query($sql);
|
$resultupdateto = $db->query($sql);
|
||||||
if (! $resultupdateto) { dol_print_error($db); }
|
if (! $resultupdateto) { dol_print_error($db); }
|
||||||
@ -231,8 +233,8 @@ $actives = array();
|
|||||||
$sql = "SELECT b.rowid, b.box_id, b.position, b.box_order,";
|
$sql = "SELECT b.rowid, b.box_id, b.position, b.box_order,";
|
||||||
$sql.= " bd.rowid as boxid";
|
$sql.= " bd.rowid as boxid";
|
||||||
$sql.= " FROM ".MAIN_DB_PREFIX."boxes as b, ".MAIN_DB_PREFIX."boxes_def as bd";
|
$sql.= " FROM ".MAIN_DB_PREFIX."boxes as b, ".MAIN_DB_PREFIX."boxes_def as bd";
|
||||||
$sql.= " WHERE b.box_id = bd.rowid";
|
$sql.= " WHERE b.entity = ".$conf->entity;
|
||||||
$sql.= " AND bd.entity = ".$conf->entity;
|
$sql.= " AND b.box_id = bd.rowid";
|
||||||
$sql.= " AND b.fk_user=0";
|
$sql.= " AND b.fk_user=0";
|
||||||
$sql.= " ORDER by b.position, b.box_order";
|
$sql.= " ORDER by b.position, b.box_order";
|
||||||
|
|
||||||
@ -256,7 +258,7 @@ if ($resql)
|
|||||||
// This occurs just after an insert.
|
// This occurs just after an insert.
|
||||||
if ($decalage)
|
if ($decalage)
|
||||||
{
|
{
|
||||||
$sql="UPDATE ".MAIN_DB_PREFIX."boxes set box_order='".$decalage."' WHERE rowid=".$obj->rowid;
|
$sql="UPDATE ".MAIN_DB_PREFIX."boxes SET box_order='".$decalage."' WHERE rowid=".$obj->rowid;
|
||||||
$db->query($sql);
|
$db->query($sql);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -267,7 +269,8 @@ if ($resql)
|
|||||||
// This occurs just after an insert.
|
// This occurs just after an insert.
|
||||||
$sql = "SELECT box_order";
|
$sql = "SELECT box_order";
|
||||||
$sql.= " FROM ".MAIN_DB_PREFIX."boxes";
|
$sql.= " FROM ".MAIN_DB_PREFIX."boxes";
|
||||||
$sql.= " WHERE length(box_order) <= 2";
|
$sql.= " WHERE entity = ".$conf->entity;
|
||||||
|
$sql.= " AND LENGTH(box_order) <= 2";
|
||||||
|
|
||||||
dol_syslog("Execute requests to renumber box order sql=".$sql);
|
dol_syslog("Execute requests to renumber box order sql=".$sql);
|
||||||
$result = $db->query($sql);
|
$result = $db->query($sql);
|
||||||
@ -280,13 +283,13 @@ if ($resql)
|
|||||||
if (preg_match("/[13579]{1}/",substr($record['box_order'],-1)))
|
if (preg_match("/[13579]{1}/",substr($record['box_order'],-1)))
|
||||||
{
|
{
|
||||||
$box_order = "A0".$record['box_order'];
|
$box_order = "A0".$record['box_order'];
|
||||||
$sql="UPDATE ".MAIN_DB_PREFIX."boxes SET box_order = '".$box_order."' WHERE box_order = '".$record['box_order']."'";
|
$sql="UPDATE ".MAIN_DB_PREFIX."boxes SET box_order = '".$box_order."' WHERE entity = ".$conf->entity." AND box_order = '".$record['box_order']."'";
|
||||||
$resql = $db->query($sql);
|
$resql = $db->query($sql);
|
||||||
}
|
}
|
||||||
else if (preg_match("/[02468]{1}/",substr($record['box_order'],-1)))
|
else if (preg_match("/[02468]{1}/",substr($record['box_order'],-1)))
|
||||||
{
|
{
|
||||||
$box_order = "B0".$record['box_order'];
|
$box_order = "B0".$record['box_order'];
|
||||||
$sql="UPDATE ".MAIN_DB_PREFIX."boxes SET box_order = '".$box_order."' WHERE box_order = '".$record['box_order']."'";
|
$sql="UPDATE ".MAIN_DB_PREFIX."boxes SET box_order = '".$box_order."' WHERE entity = ".$conf->entity." AND box_order = '".$record['box_order']."'";
|
||||||
$resql = $db->query($sql);
|
$resql = $db->query($sql);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -295,13 +298,13 @@ if ($resql)
|
|||||||
if (preg_match("/[13579]{1}/",substr($record['box_order'],-1)))
|
if (preg_match("/[13579]{1}/",substr($record['box_order'],-1)))
|
||||||
{
|
{
|
||||||
$box_order = "A".$record['box_order'];
|
$box_order = "A".$record['box_order'];
|
||||||
$sql="UPDATE ".MAIN_DB_PREFIX."boxes SET box_order = '".$box_order."' WHERE box_order = '".$record['box_order']."'";
|
$sql="UPDATE ".MAIN_DB_PREFIX."boxes SET box_order = '".$box_order."' WHERE entity = ".$conf->entity." AND box_order = '".$record['box_order']."'";
|
||||||
$resql = $db->query($sql);
|
$resql = $db->query($sql);
|
||||||
}
|
}
|
||||||
else if (preg_match("/[02468]{1}/",substr($record['box_order'],-1)))
|
else if (preg_match("/[02468]{1}/",substr($record['box_order'],-1)))
|
||||||
{
|
{
|
||||||
$box_order = "B".$record['box_order'];
|
$box_order = "B".$record['box_order'];
|
||||||
$sql="UPDATE ".MAIN_DB_PREFIX."boxes SET box_order = '".$box_order."' WHERE box_order = '".$record['box_order']."'";
|
$sql="UPDATE ".MAIN_DB_PREFIX."boxes SET box_order = '".$box_order."' WHERE entity = ".$conf->entity." AND box_order = '".$record['box_order']."'";
|
||||||
$resql = $db->query($sql);
|
$resql = $db->query($sql);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -137,7 +137,8 @@ if ($_POST["delete"])
|
|||||||
$obj=$db->fetch_object($resql);
|
$obj=$db->fetch_object($resql);
|
||||||
|
|
||||||
$sql = "DELETE FROM ".MAIN_DB_PREFIX."boxes";
|
$sql = "DELETE FROM ".MAIN_DB_PREFIX."boxes";
|
||||||
$sql.= " WHERE box_id = ".$obj->rowid;
|
$sql.= " WHERE entity = ".$conf->entity;
|
||||||
|
$sql.= " AND box_id = ".$obj->rowid;
|
||||||
$resql=$db->query($sql);
|
$resql=$db->query($sql);
|
||||||
|
|
||||||
$sql = "DELETE FROM ".MAIN_DB_PREFIX."boxes_def";
|
$sql = "DELETE FROM ".MAIN_DB_PREFIX."boxes_def";
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
/* Copyright (C) 2004-2011 Laurent Destailleur <eldy@users.sourceforge.net>
|
/* Copyright (C) 2004-2011 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||||
* Copyright (C) 2005-2011 Regis Houssin <regis@dolibarr.fr>
|
* Copyright (C) 2005-2012 Regis Houssin <regis@dolibarr.fr>
|
||||||
* Copyright (C) 2012 Juanjo Menent <jmenent@2byte.es>
|
* Copyright (C) 2012 Juanjo Menent <jmenent@2byte.es>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
@ -45,9 +45,9 @@ $modules = array(
|
|||||||
// Conditions pour que l'option soit proposee
|
// Conditions pour que l'option soit proposee
|
||||||
$conditions = array(
|
$conditions = array(
|
||||||
'SOCIETE' => 1,
|
'SOCIETE' => 1,
|
||||||
'PRODUCTDESC' => ($conf->product->enabled||$conf->service->enabled),
|
'PRODUCTDESC' => (! empty($conf->product->enabled) || ! empty($conf->service->enabled)),
|
||||||
'MAILING' => $conf->mailing->enabled,
|
'MAILING' => ! empty($conf->mailing->enabled),
|
||||||
'DETAILS' => ($conf->facture->enabled||$conf->propal->enabled||$conf->commande->enabled),
|
'DETAILS' => (! empty($conf->facture->enabled) || ! empty($conf->propal->enabled) || ! empty($conf->commande->enabled)),
|
||||||
);
|
);
|
||||||
// Picto
|
// Picto
|
||||||
$picto = array(
|
$picto = array(
|
||||||
@ -129,14 +129,14 @@ else
|
|||||||
print '<td>'.$langs->trans($desc).'</td>';
|
print '<td>'.$langs->trans($desc).'</td>';
|
||||||
print '<td align="center" width="100">';
|
print '<td align="center" width="100">';
|
||||||
$constante = 'FCKEDITOR_ENABLE_'.$const;
|
$constante = 'FCKEDITOR_ENABLE_'.$const;
|
||||||
$value = $conf->global->$constante;
|
$value = (isset($conf->global->$constante)?$conf->global->$constante:0);
|
||||||
if($value == 0)
|
if ($value == 0)
|
||||||
{
|
{
|
||||||
print '<a href="fckeditor.php?action=activate_'.strtolower($const).'">'.img_picto($langs->trans("Disabled"),'switch_off').'</a>';
|
print '<a href="'.$_SERVER['PHP_SELF'].'?action=activate_'.strtolower($const).'">'.img_picto($langs->trans("Disabled"),'switch_off').'</a>';
|
||||||
}
|
}
|
||||||
else if($value == 1)
|
else if ($value == 1)
|
||||||
{
|
{
|
||||||
print '<a href="fckeditor.php?action=disable_'.strtolower($const).'">'.img_picto($langs->trans("Enabled"),'switch_on').'</a>';
|
print '<a href="'.$_SERVER['PHP_SELF'].'?action=disable_'.strtolower($const).'">'.img_picto($langs->trans("Enabled"),'switch_on').'</a>';
|
||||||
}
|
}
|
||||||
|
|
||||||
print "</td>";
|
print "</td>";
|
||||||
@ -164,7 +164,7 @@ else
|
|||||||
*/
|
*/
|
||||||
}
|
}
|
||||||
|
|
||||||
$db->close();
|
|
||||||
|
|
||||||
llxFooter();
|
llxFooter();
|
||||||
|
$db->close();
|
||||||
?>
|
?>
|
||||||
@ -152,7 +152,7 @@ print '</td></tr>';
|
|||||||
print '</table></form>';
|
print '</table></form>';
|
||||||
|
|
||||||
print '<br>';
|
print '<br>';
|
||||||
print '<div align="center"><input type="submit" class="button" value="'.$langs->trans("Modify").'"></div>';
|
print '<div align="center"><input type="submit" class="button" value="'.$langs->trans("Modify").'"></div>';
|
||||||
|
|
||||||
llxFooter();
|
llxFooter();
|
||||||
|
|
||||||
|
|||||||
@ -35,8 +35,8 @@ $error=0; $mesg='';
|
|||||||
$action = GETPOST("action");
|
$action = GETPOST("action");
|
||||||
$syslog_file_on=(defined('SYSLOG_FILE_ON') && constant('SYSLOG_FILE_ON'))?1:0;
|
$syslog_file_on=(defined('SYSLOG_FILE_ON') && constant('SYSLOG_FILE_ON'))?1:0;
|
||||||
$syslog_syslog_on=(defined('SYSLOG_SYSLOG_ON') && constant('SYSLOG_SYSLOG_ON'))?1:0;
|
$syslog_syslog_on=(defined('SYSLOG_SYSLOG_ON') && constant('SYSLOG_SYSLOG_ON'))?1:0;
|
||||||
$syslog_firephp_on=(defined('SYSLOG_FIREPHP_ON') && constant('SYSLOG_FIREPHP_ON'))?1:0;
|
$syslog_firephp_on=(defined('SYSLOG_FIREPHP_ON') && constant('SYSLOG_FIREPHP_ON'))?1:0;
|
||||||
$syslog_chromephp_on=(defined('SYSLOG_CHROMEPHP_ON') && constant('SYSLOG_CHROMEPHP_ON'))?1:0;
|
$syslog_chromephp_on=(defined('SYSLOG_CHROMEPHP_ON') && constant('SYSLOG_CHROMEPHP_ON'))?1:0;
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -55,7 +55,7 @@ if ($action == 'set')
|
|||||||
$syslog_file_on=0;
|
$syslog_file_on=0;
|
||||||
$syslog_syslog_on=0;
|
$syslog_syslog_on=0;
|
||||||
$syslog_firephp_on=0;
|
$syslog_firephp_on=0;
|
||||||
$syslog_chromephp_on=0;
|
$syslog_chromephp_on=0;
|
||||||
|
|
||||||
if (! $error && GETPOST("filename"))
|
if (! $error && GETPOST("filename"))
|
||||||
{
|
{
|
||||||
@ -225,30 +225,30 @@ catch(Exception $e)
|
|||||||
print '<!-- FirePHP no available into PHP -->'."\n";
|
print '<!-- FirePHP no available into PHP -->'."\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
// Output to Chrome
|
// Output to Chrome
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
set_include_path('/usr/share/php/');
|
set_include_path('/usr/share/php/');
|
||||||
$res=@include_once 'ChromePhp.php';
|
$res=@include_once 'ChromePhp.php';
|
||||||
restore_include_path();
|
restore_include_path();
|
||||||
if ($res)
|
if ($res)
|
||||||
{
|
{
|
||||||
$var=!$var;
|
$var=!$var;
|
||||||
print '<tr '.$bc[$var].'><td width="140"><input '.$bc[$var].' type="checkbox" name="SYSLOG_CHROMEPHP_ON" '.$option.' value="1" ';
|
print '<tr '.$bc[$var].'><td width="140"><input '.$bc[$var].' type="checkbox" name="SYSLOG_CHROMEPHP_ON" '.$option.' value="1" ';
|
||||||
if (! class_exists('ChromePHP')) print ' disabled="disabled"';
|
if (! class_exists('ChromePHP')) print ' disabled="disabled"';
|
||||||
else print ($syslog_chromephp_on?' checked="checked"':"");
|
else print ($syslog_chromephp_on?' checked="checked"':"");
|
||||||
print '> '.$langs->trans("ChromePHP").'</td>';
|
print '> '.$langs->trans("ChromePHP").'</td>';
|
||||||
print '<td nowrap="nowrap">';
|
print '<td nowrap="nowrap">';
|
||||||
print '</td>';
|
print '</td>';
|
||||||
print "<td align=\"left\">".$form->textwithpicto('','ChromePHP must be installed onto PHP path and ChromePHP plugin for Chrome must also be installed');
|
print "<td align=\"left\">".$form->textwithpicto('','ChromePHP must be installed onto PHP path and ChromePHP plugin for Chrome must also be installed');
|
||||||
print '</td></tr>';
|
print '</td></tr>';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch(Exception $e)
|
catch(Exception $e)
|
||||||
{
|
{
|
||||||
// Do nothing
|
// Do nothing
|
||||||
print '<!-- ChromePHP no available into PHP -->'."\n";
|
print '<!-- ChromePHP no available into PHP -->'."\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
print "</table>\n";
|
print "</table>\n";
|
||||||
print "</form>\n";
|
print "</form>\n";
|
||||||
|
|||||||
@ -93,7 +93,7 @@ if ($action == 'add_action')
|
|||||||
}
|
}
|
||||||
|
|
||||||
$fulldayevent=GETPOST('fullday');
|
$fulldayevent=GETPOST('fullday');
|
||||||
$percentage=in_array(GETPOST('status'),array(-1,100))?GETPOST('status'):GETPOST("percentage"); // If status is -1 or 100, percentage is not defined and we must use status
|
$percentage=in_array(GETPOST('status'),array(-1,100))?GETPOST('status'):GETPOST("percentage"); // If status is -1 or 100, percentage is not defined and we must use status
|
||||||
|
|
||||||
// Clean parameters
|
// Clean parameters
|
||||||
$datep=dol_mktime($fulldayevent?'00':$_POST["aphour"], $fulldayevent?'00':$_POST["apmin"], 0, $_POST["apmonth"], $_POST["apday"], $_POST["apyear"]);
|
$datep=dol_mktime($fulldayevent?'00':$_POST["aphour"], $fulldayevent?'00':$_POST["apmin"], 0, $_POST["apmonth"], $_POST["apday"], $_POST["apyear"]);
|
||||||
|
|||||||
@ -455,9 +455,9 @@ else
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
print '<td colspan="2"> </td>';
|
print '<td colspan="2"> </td>';
|
||||||
}
|
}
|
||||||
print '</tr>';
|
print '</tr>';
|
||||||
|
|
||||||
// Instant message and no email
|
// Instant message and no email
|
||||||
print '<tr><td>'.$langs->trans("IM").'</td><td colspan="3"><input name="jabberid" type="text" size="50" maxlength="80" value="'.(isset($_POST["jabberid"])?$_POST["jabberid"]:$object->jabberid).'"></td></tr>';
|
print '<tr><td>'.$langs->trans("IM").'</td><td colspan="3"><input name="jabberid" type="text" size="50" maxlength="80" value="'.(isset($_POST["jabberid"])?$_POST["jabberid"]:$object->jabberid).'"></td></tr>';
|
||||||
@ -643,7 +643,7 @@ else
|
|||||||
{
|
{
|
||||||
print '<td colspan="2"> </td>';
|
print '<td colspan="2"> </td>';
|
||||||
}
|
}
|
||||||
print '</tr>';
|
print '</tr>';
|
||||||
|
|
||||||
// Visibility
|
// Visibility
|
||||||
print '<tr><td>'.$langs->trans("ContactVisibility").'</td><td colspan="3">';
|
print '<tr><td>'.$langs->trans("ContactVisibility").'</td><td colspan="3">';
|
||||||
@ -843,7 +843,7 @@ else
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
print '<td colspan="2"> </td>';
|
print '<td colspan="2"> </td>';
|
||||||
}
|
}
|
||||||
print '</tr>';
|
print '</tr>';
|
||||||
|
|
||||||
|
|||||||
@ -120,18 +120,18 @@ if (file_exists($fullpathselecteddir))
|
|||||||
if ($tmpval['fullrelativename'] == (($selecteddir != '/'?$selecteddir.'/':'').$file)) // We found equivalent record into database
|
if ($tmpval['fullrelativename'] == (($selecteddir != '/'?$selecteddir.'/':'').$file)) // We found equivalent record into database
|
||||||
{
|
{
|
||||||
$val=$tmpval;
|
$val=$tmpval;
|
||||||
$resarray=tree_showpad($sqltree,$key,1);
|
$resarray=tree_showpad($sqltree,$key,1);
|
||||||
|
|
||||||
|
// Refresh cache for this subdir
|
||||||
|
if (isset($val['cachenbofdoc']) && $val['cachenbofdoc'] < 0) // Cache is not up to date, so we update it for this directory t
|
||||||
|
{
|
||||||
|
$result=$ecmdirstatic->fetch($val['id']);
|
||||||
|
$ecmdirstatic->ref=$ecmdirstatic->label;
|
||||||
|
|
||||||
|
$result=$ecmdirstatic->refreshcachenboffile(0);
|
||||||
|
$val['cachenbofdoc']=$result;
|
||||||
|
}
|
||||||
|
|
||||||
// Refresh cache for this subdir
|
|
||||||
if (isset($val['cachenbofdoc']) && $val['cachenbofdoc'] < 0) // Cache is not up to date, so we update it for this directory t
|
|
||||||
{
|
|
||||||
$result=$ecmdirstatic->fetch($val['id']);
|
|
||||||
$ecmdirstatic->ref=$ecmdirstatic->label;
|
|
||||||
|
|
||||||
$result=$ecmdirstatic->refreshcachenboffile(0);
|
|
||||||
$val['cachenbofdoc']=$result;
|
|
||||||
}
|
|
||||||
|
|
||||||
$a=$resarray[0];
|
$a=$resarray[0];
|
||||||
$nbofsubdir=$resarray[1];
|
$nbofsubdir=$resarray[1];
|
||||||
$nboffilesinsubdir=$resarray[2];
|
$nboffilesinsubdir=$resarray[2];
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
/* Copyright (C) 2005-2009 Regis Houssin <regis@dolibarr.fr>
|
/* Copyright (C) 2005-2012 Regis Houssin <regis@dolibarr.fr>
|
||||||
* Copyright (C) 2007-2012 Laurent Destailleur <eldy@users.sourceforge.net>
|
* Copyright (C) 2007-2012 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
|||||||
@ -72,10 +72,13 @@ class ModeleBoxes // Can't be abtract as it is instanciated to build "empty"
|
|||||||
*/
|
*/
|
||||||
function fetch($rowid)
|
function fetch($rowid)
|
||||||
{
|
{
|
||||||
|
global $conf;
|
||||||
|
|
||||||
// Recupere liste des boites d'un user si ce dernier a sa propre liste
|
// Recupere liste des boites d'un user si ce dernier a sa propre liste
|
||||||
$sql = "SELECT b.rowid, b.box_id, b.position, b.box_order, b.fk_user";
|
$sql = "SELECT b.rowid, b.box_id, b.position, b.box_order, b.fk_user";
|
||||||
$sql.= " FROM ".MAIN_DB_PREFIX."boxes as b";
|
$sql.= " FROM ".MAIN_DB_PREFIX."boxes as b";
|
||||||
$sql.= " WHERE b.rowid = ".$rowid;
|
$sql.= " WHERE b.entity = ".$conf->entity;
|
||||||
|
$sql.= " AND b.rowid = ".$rowid;
|
||||||
dol_syslog(get_class($this)."::fetch rowid=".$rowid);
|
dol_syslog(get_class($this)."::fetch rowid=".$rowid);
|
||||||
|
|
||||||
$resql = $this->db->query($sql);
|
$resql = $this->db->query($sql);
|
||||||
|
|||||||
@ -269,7 +269,7 @@ class Conf
|
|||||||
// External modules storage
|
// External modules storage
|
||||||
if (! empty($this->modules_parts['dir']))
|
if (! empty($this->modules_parts['dir']))
|
||||||
{
|
{
|
||||||
foreach($this->modules_parts['dir'] as $module => $dirs)
|
foreach($this->modules_parts['dir'] as $module => $dirs)
|
||||||
{
|
{
|
||||||
foreach($dirs as $type => $name)
|
foreach($dirs as $type => $name)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -1001,7 +1001,7 @@ class Form
|
|||||||
{
|
{
|
||||||
if (! empty($conf->multicompany->transverse_mode))
|
if (! empty($conf->multicompany->transverse_mode))
|
||||||
{
|
{
|
||||||
$sql.= ", ".MAIN_DB_PREFIX."usergroup_user as ug";
|
$sql.= ", ".MAIN_DB_PREFIX."usergroup_user as ug";
|
||||||
$sql.= " WHERE ug.fk_user = u.rowid";
|
$sql.= " WHERE ug.fk_user = u.rowid";
|
||||||
$sql.= " AND ug.entity = ".$conf->entity;
|
$sql.= " AND ug.entity = ".$conf->entity;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -50,7 +50,7 @@ class InfoBox
|
|||||||
$sql.= " d.rowid as box_id, d.file, d.note, d.tms";
|
$sql.= " d.rowid as box_id, d.file, d.note, d.tms";
|
||||||
$sql.= " FROM ".MAIN_DB_PREFIX."boxes as b, ".MAIN_DB_PREFIX."boxes_def as d";
|
$sql.= " FROM ".MAIN_DB_PREFIX."boxes as b, ".MAIN_DB_PREFIX."boxes_def as d";
|
||||||
$sql.= " WHERE b.box_id = d.rowid";
|
$sql.= " WHERE b.box_id = d.rowid";
|
||||||
$sql.= " AND d.entity = ".$conf->entity;
|
$sql.= " AND b.entity = ".$conf->entity;
|
||||||
if ($zone >= 0) $sql.= " AND b.position = ".$zone;
|
if ($zone >= 0) $sql.= " AND b.position = ".$zone;
|
||||||
if ($user->id && ! empty($user->conf->$confuserzone)) $sql.= " AND b.fk_user = ".$user->id;
|
if ($user->id && ! empty($user->conf->$confuserzone)) $sql.= " AND b.fk_user = ".$user->id;
|
||||||
else $sql.= " AND b.fk_user = 0";
|
else $sql.= " AND b.fk_user = 0";
|
||||||
@ -60,7 +60,15 @@ class InfoBox
|
|||||||
{
|
{
|
||||||
$sql = "SELECT d.rowid as box_id, d.file, d.note, d.tms";
|
$sql = "SELECT d.rowid as box_id, d.file, d.note, d.tms";
|
||||||
$sql.= " FROM ".MAIN_DB_PREFIX."boxes_def as d";
|
$sql.= " FROM ".MAIN_DB_PREFIX."boxes_def as d";
|
||||||
$sql.= " WHERE entity = ".$conf->entity;
|
if (! empty($conf->multicompany->enabled) && ! empty($conf->multicompany->transverse_mode)) {
|
||||||
|
|
||||||
|
$sql.= " WHERE entity IN (1,".$conf->entity.")"; // TODO add method for define another master entity
|
||||||
|
|
||||||
|
} else {
|
||||||
|
|
||||||
|
$sql.= " WHERE entity = ".$conf->entity;
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
dol_syslog(get_class()."::listBoxes get default box list sql=".$sql, LOG_DEBUG);
|
dol_syslog(get_class()."::listBoxes get default box list sql=".$sql, LOG_DEBUG);
|
||||||
@ -176,11 +184,9 @@ class InfoBox
|
|||||||
|
|
||||||
// Delete all lines
|
// Delete all lines
|
||||||
$sql = "DELETE FROM ".MAIN_DB_PREFIX."boxes";
|
$sql = "DELETE FROM ".MAIN_DB_PREFIX."boxes";
|
||||||
$sql.= " USING ".MAIN_DB_PREFIX."boxes, ".MAIN_DB_PREFIX."boxes_def";
|
$sql.= " WHERE entity = ".$conf->entity;
|
||||||
$sql.= " WHERE ".MAIN_DB_PREFIX."boxes.box_id = ".MAIN_DB_PREFIX."boxes_def.rowid";
|
$sql.= " AND fk_user = ".$userid;
|
||||||
$sql.= " AND ".MAIN_DB_PREFIX."boxes_def.entity = ".$conf->entity;
|
$sql.= " AND position = ".$zone;
|
||||||
$sql.= " AND ".MAIN_DB_PREFIX."boxes.fk_user = ".$userid;
|
|
||||||
$sql.= " AND ".MAIN_DB_PREFIX."boxes.position = ".$zone;
|
|
||||||
|
|
||||||
dol_syslog(get_class()."::saveboxorder sql=".$sql);
|
dol_syslog(get_class()."::saveboxorder sql=".$sql);
|
||||||
$result = $db->query($sql);
|
$result = $db->query($sql);
|
||||||
@ -204,12 +210,13 @@ class InfoBox
|
|||||||
$i++;
|
$i++;
|
||||||
$ii=sprintf('%02d',$i);
|
$ii=sprintf('%02d',$i);
|
||||||
$sql = "INSERT INTO ".MAIN_DB_PREFIX."boxes";
|
$sql = "INSERT INTO ".MAIN_DB_PREFIX."boxes";
|
||||||
$sql.= "(box_id, position, box_order, fk_user)";
|
$sql.= "(box_id, position, box_order, fk_user, entity)";
|
||||||
$sql.= " values (";
|
$sql.= " values (";
|
||||||
$sql.= " ".$id.",";
|
$sql.= " ".$id.",";
|
||||||
$sql.= " ".$zone.",";
|
$sql.= " ".$zone.",";
|
||||||
$sql.= " '".$colonne.$ii."',";
|
$sql.= " '".$colonne.$ii."',";
|
||||||
$sql.= " ".$userid;
|
$sql.= " ".$userid.",";
|
||||||
|
$sql.= " ".$conf->entity;
|
||||||
$sql.= ")";
|
$sql.= ")";
|
||||||
|
|
||||||
dol_syslog(get_class()."::saveboxorder sql=".$sql);
|
dol_syslog(get_class()."::saveboxorder sql=".$sql);
|
||||||
|
|||||||
@ -58,8 +58,8 @@ function dol_dir_list($path, $types="all", $recursive=0, $filter="", $excludefil
|
|||||||
if (! is_object($hookmanager))
|
if (! is_object($hookmanager))
|
||||||
{
|
{
|
||||||
if (! class_exists('HookManager')) {
|
if (! class_exists('HookManager')) {
|
||||||
// Initialize technical object to manage hooks of thirdparties. Note that conf->hooks_modules contains array array
|
// Initialize technical object to manage hooks of thirdparties. Note that conf->hooks_modules contains array array
|
||||||
require DOL_DOCUMENT_ROOT.'/core/class/hookmanager.class.php';
|
require DOL_DOCUMENT_ROOT.'/core/class/hookmanager.class.php';
|
||||||
$hookmanager=new HookManager($db);
|
$hookmanager=new HookManager($db);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -82,7 +82,7 @@ function dol_dir_list($path, $types="all", $recursive=0, $filter="", $excludefil
|
|||||||
'sortorder' => $sortorder,
|
'sortorder' => $sortorder,
|
||||||
'loaddate' => $loaddate,
|
'loaddate' => $loaddate,
|
||||||
'loadsize' => $loadsize
|
'loadsize' => $loadsize
|
||||||
);
|
);
|
||||||
$reshook=$hookmanager->executeHooks('getNodesList', $parameters);
|
$reshook=$hookmanager->executeHooks('getNodesList', $parameters);
|
||||||
|
|
||||||
// $reshook may contain returns stacked by other modules
|
// $reshook may contain returns stacked by other modules
|
||||||
@ -94,103 +94,103 @@ function dol_dir_list($path, $types="all", $recursive=0, $filter="", $excludefil
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (! is_dir($newpath)) return array();
|
if (! is_dir($newpath)) return array();
|
||||||
|
|
||||||
if ($dir = opendir($newpath))
|
if ($dir = opendir($newpath))
|
||||||
{
|
{
|
||||||
$filedate='';
|
$filedate='';
|
||||||
$filesize='';
|
$filesize='';
|
||||||
$file_list = array();
|
$file_list = array();
|
||||||
|
|
||||||
while (false !== ($file = readdir($dir)))
|
while (false !== ($file = readdir($dir)))
|
||||||
{
|
{
|
||||||
if (! utf8_check($file)) $file=utf8_encode($file); // To be sure data is stored in utf8 in memory
|
if (! utf8_check($file)) $file=utf8_encode($file); // To be sure data is stored in utf8 in memory
|
||||||
|
|
||||||
$qualified=1;
|
$qualified=1;
|
||||||
|
|
||||||
// Define excludefilterarray
|
// Define excludefilterarray
|
||||||
$excludefilterarray=array('^\.');
|
$excludefilterarray=array('^\.');
|
||||||
if (is_array($excludefilter))
|
if (is_array($excludefilter))
|
||||||
{
|
{
|
||||||
$excludefilterarray=array_merge($excludefilterarray,$excludefilter);
|
$excludefilterarray=array_merge($excludefilterarray,$excludefilter);
|
||||||
}
|
}
|
||||||
else if ($excludefilter) $excludefilterarray[]=$excludefilter;
|
else if ($excludefilter) $excludefilterarray[]=$excludefilter;
|
||||||
// Check if file is qualified
|
// Check if file is qualified
|
||||||
foreach($excludefilterarray as $filt)
|
foreach($excludefilterarray as $filt)
|
||||||
{
|
{
|
||||||
if (preg_match('/'.$filt.'/i',$file)) {
|
if (preg_match('/'.$filt.'/i',$file)) {
|
||||||
$qualified=0; break;
|
$qualified=0; break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($qualified)
|
if ($qualified)
|
||||||
{
|
{
|
||||||
$isdir=is_dir(dol_osencode($path."/".$file));
|
$isdir=is_dir(dol_osencode($path."/".$file));
|
||||||
// Check whether this is a file or directory and whether we're interested in that type
|
// Check whether this is a file or directory and whether we're interested in that type
|
||||||
if ($isdir && (($types=="directories") || ($types=="all") || $recursive))
|
if ($isdir && (($types=="directories") || ($types=="all") || $recursive))
|
||||||
{
|
{
|
||||||
// Add entry into file_list array
|
// Add entry into file_list array
|
||||||
if (($types=="directories") || ($types=="all"))
|
if (($types=="directories") || ($types=="all"))
|
||||||
{
|
{
|
||||||
if ($loaddate || $sortcriteria == 'date') $filedate=dol_filemtime($path."/".$file);
|
if ($loaddate || $sortcriteria == 'date') $filedate=dol_filemtime($path."/".$file);
|
||||||
if ($loadsize || $sortcriteria == 'size') $filesize=dol_filesize($path."/".$file);
|
if ($loadsize || $sortcriteria == 'size') $filesize=dol_filesize($path."/".$file);
|
||||||
|
|
||||||
if (! $filter || preg_match('/'.$filter.'/i',$path.'/'.$file))
|
if (! $filter || preg_match('/'.$filter.'/i',$path.'/'.$file))
|
||||||
{
|
{
|
||||||
$file_list[] = array(
|
$file_list[] = array(
|
||||||
"name" => $file,
|
"name" => $file,
|
||||||
"fullname" => $path.'/'.$file,
|
"fullname" => $path.'/'.$file,
|
||||||
"date" => $filedate,
|
"date" => $filedate,
|
||||||
"size" => $filesize,
|
"size" => $filesize,
|
||||||
"type" => 'dir'
|
"type" => 'dir'
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// if we're in a directory and we want recursive behavior, call this function again
|
// if we're in a directory and we want recursive behavior, call this function again
|
||||||
if ($recursive)
|
if ($recursive)
|
||||||
{
|
{
|
||||||
$file_list = array_merge($file_list,dol_dir_list($path."/".$file, $types, $recursive, $filter, $excludefilter, $sortcriteria, $sortorder, $mode));
|
$file_list = array_merge($file_list,dol_dir_list($path."/".$file, $types, $recursive, $filter, $excludefilter, $sortcriteria, $sortorder, $mode));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (! $isdir && (($types == "files") || ($types == "all")))
|
else if (! $isdir && (($types == "files") || ($types == "all")))
|
||||||
{
|
{
|
||||||
// Add file into file_list array
|
// Add file into file_list array
|
||||||
if ($loaddate || $sortcriteria == 'date') $filedate=dol_filemtime($path."/".$file);
|
if ($loaddate || $sortcriteria == 'date') $filedate=dol_filemtime($path."/".$file);
|
||||||
if ($loadsize || $sortcriteria == 'size') $filesize=dol_filesize($path."/".$file);
|
if ($loadsize || $sortcriteria == 'size') $filesize=dol_filesize($path."/".$file);
|
||||||
|
|
||||||
if (! $filter || preg_match('/'.$filter.'/i',$path.'/'.$file))
|
if (! $filter || preg_match('/'.$filter.'/i',$path.'/'.$file))
|
||||||
{
|
{
|
||||||
$file_list[] = array(
|
$file_list[] = array(
|
||||||
"name" => $file,
|
"name" => $file,
|
||||||
"fullname" => $path.'/'.$file,
|
"fullname" => $path.'/'.$file,
|
||||||
"date" => $filedate,
|
"date" => $filedate,
|
||||||
"size" => $filesize,
|
"size" => $filesize,
|
||||||
"type" => 'file'
|
"type" => 'file'
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
closedir($dir);
|
closedir($dir);
|
||||||
|
|
||||||
// Obtain a list of columns
|
// Obtain a list of columns
|
||||||
if (! empty($sortcriteria))
|
if (! empty($sortcriteria))
|
||||||
{
|
{
|
||||||
$myarray=array();
|
$myarray=array();
|
||||||
foreach ($file_list as $key => $row)
|
foreach ($file_list as $key => $row)
|
||||||
{
|
{
|
||||||
$myarray[$key] = (isset($row[$sortcriteria])?$row[$sortcriteria]:'');
|
$myarray[$key] = (isset($row[$sortcriteria])?$row[$sortcriteria]:'');
|
||||||
}
|
}
|
||||||
// Sort the data
|
// Sort the data
|
||||||
if ($sortorder) array_multisort($myarray, $sortorder, $file_list);
|
if ($sortorder) array_multisort($myarray, $sortorder, $file_list);
|
||||||
}
|
}
|
||||||
|
|
||||||
return $file_list;
|
return $file_list;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
return array();
|
return array();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -554,44 +554,43 @@ function dol_unescapefile($filename)
|
|||||||
return trim(basename($filename), ".\x00..\x20");
|
return trim(basename($filename), ".\x00..\x20");
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Make control on an uploaded file from an GUI page and move it to final destination.
|
* 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.
|
* 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.
|
* 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 $src_file Source full path filename ($_FILES['field']['tmp_name'])
|
||||||
* @param string $dest_file Target full path filename ($_FILES['field']['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 $allowoverwrite 1=Overwrite target file if it already exists
|
||||||
* @param int $disablevirusscan 1=Disable virus scan
|
* @param int $disablevirusscan 1=Disable virus scan
|
||||||
* @param string $uploaderrorcode Value of PHP 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 int $notrigger Disable all triggers
|
||||||
* @param string $upload_dir Directory where to store uploaded file (note: also find in first part of dest_file)
|
* @param string $varfiles _FILES var name
|
||||||
* @param array $upload_file Values of uploaded file ($_FILES['field'])
|
|
||||||
* @return int >0 if OK, <0 or string if KO
|
* @return int >0 if OK, <0 or string if KO
|
||||||
* @see dolCheckUploadedFile, dol_move
|
* @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)
|
function dol_move_uploaded_file($src_file, $dest_file, $allowoverwrite, $disablevirusscan=0, $uploaderrorcode=0, $notrigger=0, $varfiles='addedfile')
|
||||||
{
|
{
|
||||||
global $db, $hookmanager;
|
global $db, $hookmanager;
|
||||||
global $object;
|
global $object;
|
||||||
|
|
||||||
$error=0;
|
$error=0;
|
||||||
|
|
||||||
// Check uploaded file
|
// Check uploaded file
|
||||||
$dest_file=dolCheckUploadedFile($src_file, $dest_file, $disablevirusscan, $uploaderrorcode);
|
$dest_file=dolCheckUploadedFile($src_file, $dest_file, $disablevirusscan, $uploaderrorcode);
|
||||||
if (is_array($dest_file) && isset($dest_file['error'])) return $dest_file['error'];
|
if (is_array($dest_file) && isset($dest_file['error'])) return $dest_file['error'];
|
||||||
|
|
||||||
if (! is_object($hookmanager))
|
if (! is_object($hookmanager))
|
||||||
{
|
{
|
||||||
if (! class_exists('HookManager')) {
|
if (! class_exists('HookManager')) {
|
||||||
// Initialize technical object to manage hooks of thirdparties. Note that conf->hooks_modules contains array array
|
// Initialize technical object to manage hooks of thirdparties. Note that conf->hooks_modules contains array array
|
||||||
require DOL_DOCUMENT_ROOT.'/core/class/hookmanager.class.php';
|
require DOL_DOCUMENT_ROOT.'/core/class/hookmanager.class.php';
|
||||||
$hookmanager=new HookManager($db);
|
$hookmanager=new HookManager($db);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$hookmanager->initHooks(array('fileslib'));
|
$hookmanager->initHooks(array('fileslib'));
|
||||||
|
|
||||||
$parameters=array('upload_dir' => $upload_dir, 'upload_file' => $upload_file, 'allowoverwrite' => $allowoverwrite, 'notrigger' => $notrigger);
|
$parameters=array('dest_file' => $dest_file, 'varfiles' => $varfiles, 'allowoverwrite' => $allowoverwrite, 'notrigger' => $notrigger);
|
||||||
$reshook=$hookmanager->executeHooks('dolMoveUploadedFile', $parameters, $object);
|
$reshook=$hookmanager->executeHooks('dolMoveUploadedFile', $parameters, $object);
|
||||||
|
|
||||||
if (empty($reshook)) {
|
if (empty($reshook)) {
|
||||||
@ -599,92 +598,92 @@ function dol_move_uploaded_file($src_file, $dest_file, $allowoverwrite, $disable
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Check an uploaded file.
|
* Check an uploaded file.
|
||||||
* If there is errors (virus found, antivir in error, bad filename), file is not moved.
|
* If there is errors (virus found, antivir in error, bad filename), file is not moved.
|
||||||
*
|
*
|
||||||
* @param string $src_file Source full path filename ($_FILES['field']['tmp_name'])
|
* @param string $src_file Source full path filename ($_FILES['field']['tmp_name'])
|
||||||
* @param string $dest_file Target full path filename ($_FILES['field']['name'])
|
* @param string $dest_file Target full path filename ($_FILES['field']['name'])
|
||||||
* @param int $disablevirusscan 1=Disable virus scan
|
* @param int $disablevirusscan 1=Disable virus scan
|
||||||
* @param string $uploaderrorcode Value of PHP upload error code ($_FILES['field']['error'])
|
* @param string $uploaderrorcode Value of PHP upload error code ($_FILES['field']['error'])
|
||||||
* @return int >0 if OK, <0 or string if KO
|
* @return int >0 if OK, <0 or string if KO
|
||||||
* @see dol_move_uploaded_file
|
* @see dol_move_uploaded_file
|
||||||
*/
|
*/
|
||||||
function dolCheckUploadedFile($src_file, $dest_file, $disablevirusscan=0, $uploaderrorcode=0)
|
function dolCheckUploadedFile($src_file, $dest_file, $disablevirusscan=0, $uploaderrorcode=0)
|
||||||
{
|
{
|
||||||
global $conf;
|
global $conf;
|
||||||
|
|
||||||
$file_name = $dest_file;
|
$file_name = $dest_file;
|
||||||
// If an upload error has been reported
|
// If an upload error has been reported
|
||||||
if ($uploaderrorcode)
|
if ($uploaderrorcode)
|
||||||
{
|
{
|
||||||
switch($uploaderrorcode)
|
switch($uploaderrorcode)
|
||||||
{
|
{
|
||||||
case UPLOAD_ERR_INI_SIZE: // 1
|
case UPLOAD_ERR_INI_SIZE: // 1
|
||||||
return array('error' => 'ErrorFileSizeTooLarge');
|
return array('error' => 'ErrorFileSizeTooLarge');
|
||||||
break;
|
break;
|
||||||
case UPLOAD_ERR_FORM_SIZE: // 2
|
case UPLOAD_ERR_FORM_SIZE: // 2
|
||||||
return array('error' => 'ErrorFileSizeTooLarge');
|
return array('error' => 'ErrorFileSizeTooLarge');
|
||||||
break;
|
break;
|
||||||
case UPLOAD_ERR_PARTIAL: // 3
|
case UPLOAD_ERR_PARTIAL: // 3
|
||||||
return array('error' => 'ErrorPartialFile');
|
return array('error' => 'ErrorPartialFile');
|
||||||
break;
|
break;
|
||||||
case UPLOAD_ERR_NO_TMP_DIR: //
|
case UPLOAD_ERR_NO_TMP_DIR: //
|
||||||
return array('error' => 'ErrorNoTmpDir');
|
return array('error' => 'ErrorNoTmpDir');
|
||||||
break;
|
break;
|
||||||
case UPLOAD_ERR_CANT_WRITE:
|
case UPLOAD_ERR_CANT_WRITE:
|
||||||
return array('error' => 'ErrorFailedToWriteInDir');
|
return array('error' => 'ErrorFailedToWriteInDir');
|
||||||
break;
|
break;
|
||||||
case UPLOAD_ERR_EXTENSION:
|
case UPLOAD_ERR_EXTENSION:
|
||||||
return array('error' => 'ErrorUploadBlockedByAddon');
|
return array('error' => 'ErrorUploadBlockedByAddon');
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// If we need to make a virus scan
|
// If we need to make a virus scan
|
||||||
if (empty($disablevirusscan) && file_exists($src_file) && ! empty($conf->global->MAIN_ANTIVIRUS_COMMAND))
|
if (empty($disablevirusscan) && file_exists($src_file) && ! empty($conf->global->MAIN_ANTIVIRUS_COMMAND))
|
||||||
{
|
{
|
||||||
if (! class_exists('AntiVir')) {
|
if (! class_exists('AntiVir')) {
|
||||||
require DOL_DOCUMENT_ROOT.'/core/class/antivir.class.php';
|
require DOL_DOCUMENT_ROOT.'/core/class/antivir.class.php';
|
||||||
}
|
}
|
||||||
$antivir=new AntiVir($db);
|
$antivir=new AntiVir($db);
|
||||||
$result = $antivir->dol_avscan_file($src_file);
|
$result = $antivir->dol_avscan_file($src_file);
|
||||||
if ($result < 0) // If virus or error, we stop here
|
if ($result < 0) // If virus or error, we stop here
|
||||||
{
|
{
|
||||||
$reterrors=$antivir->errors;
|
$reterrors=$antivir->errors;
|
||||||
dol_syslog('Files.lib::dol_move_uploaded_file File "'.$src_file.'" (target name "'.$file_name.'") KO with antivirus: result='.$result.' errors='.join(',',$antivir->errors), LOG_WARNING);
|
dol_syslog('Files.lib::dol_move_uploaded_file File "'.$src_file.'" (target name "'.$file_name.'") KO with antivirus: result='.$result.' errors='.join(',',$antivir->errors), LOG_WARNING);
|
||||||
return array('error' => 'ErrorFileIsInfectedWithAVirus: '.join(',',$reterrors));
|
return array('error' => 'ErrorFileIsInfectedWithAVirus: '.join(',',$reterrors));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Security:
|
// Security:
|
||||||
// Disallow file with some extensions. We renamed them.
|
// Disallow file with some extensions. We renamed them.
|
||||||
// Car si on a mis le rep documents dans un rep de la racine web (pas bien), cela permet d'executer du code a la demande.
|
// Car si on a mis le rep documents dans un rep de la racine web (pas bien), cela permet d'executer du code a la demande.
|
||||||
if (preg_match('/\.htm|\.html|\.php|\.pl|\.cgi$/i',$file_name))
|
if (preg_match('/\.htm|\.html|\.php|\.pl|\.cgi$/i',$file_name))
|
||||||
{
|
{
|
||||||
$file_name.= '.noexe';
|
$file_name.= '.noexe';
|
||||||
}
|
}
|
||||||
|
|
||||||
// Security:
|
// Security:
|
||||||
// On interdit fichiers caches, remontees de repertoire ainsi que les pipes dans les noms de fichiers.
|
// On interdit fichiers caches, remontees de repertoire ainsi que les pipes dans les noms de fichiers.
|
||||||
if (preg_match('/^\./',$src_file) || preg_match('/\.\./',$src_file) || preg_match('/[<>|]/',$src_file))
|
if (preg_match('/^\./',$src_file) || preg_match('/\.\./',$src_file) || preg_match('/[<>|]/',$src_file))
|
||||||
{
|
{
|
||||||
dol_syslog("Refused to deliver file ".$src_file, LOG_WARNING);
|
dol_syslog("Refused to deliver file ".$src_file, LOG_WARNING);
|
||||||
return array('error' => -1);
|
return array('error' => -1);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Security:
|
// Security:
|
||||||
// On interdit fichiers caches, remontees de repertoire ainsi que les pipe dans
|
// On interdit fichiers caches, remontees de repertoire ainsi que les pipe dans
|
||||||
// les noms de fichiers.
|
// les noms de fichiers.
|
||||||
if (preg_match('/^\./',$dest_file) || preg_match('/\.\./',$dest_file) || preg_match('/[<>|]/',$dest_file))
|
if (preg_match('/^\./',$dest_file) || preg_match('/\.\./',$dest_file) || preg_match('/[<>|]/',$dest_file))
|
||||||
{
|
{
|
||||||
dol_syslog("Refused to deliver file ".$dest_file, LOG_WARNING);
|
dol_syslog("Refused to deliver file ".$dest_file, LOG_WARNING);
|
||||||
return array('error' => -2);
|
return array('error' => -2);
|
||||||
}
|
}
|
||||||
|
|
||||||
return $file_name;
|
return $file_name;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -1052,7 +1051,7 @@ function dol_add_file_process($upload_dir,$allowoverwrite=0,$donotupdatesession=
|
|||||||
{
|
{
|
||||||
if (dol_mkdir($upload_dir) >= 0)
|
if (dol_mkdir($upload_dir) >= 0)
|
||||||
{
|
{
|
||||||
$resupload = dol_move_uploaded_file($_FILES[$varfiles]['tmp_name'], $upload_dir . "/" . $_FILES[$varfiles]['name'], $allowoverwrite, 0, $_FILES[$varfiles]['error'], 0, $upload_dir, $_FILES[$varfiles]);
|
$resupload = dol_move_uploaded_file($_FILES[$varfiles]['tmp_name'], $upload_dir . "/" . $_FILES[$varfiles]['name'], $allowoverwrite, 0, $_FILES[$varfiles]['error'], 0, $varfiles);
|
||||||
if (is_numeric($resupload) && $resupload > 0)
|
if (is_numeric($resupload) && $resupload > 0)
|
||||||
{
|
{
|
||||||
if (empty($donotupdatesession))
|
if (empty($donotupdatesession))
|
||||||
|
|||||||
@ -2728,7 +2728,7 @@ function get_localtax($tva, $local, $thirdparty_buyer="", $thirdparty_seller="")
|
|||||||
// Some test to guess with no need to make database access
|
// Some test to guess with no need to make database access
|
||||||
if ($local == 1 && ! $thirdparty_seller->localtax1_assuj) return 0;
|
if ($local == 1 && ! $thirdparty_seller->localtax1_assuj) return 0;
|
||||||
if ($local == 2 && ! $thirdparty_seller->localtax2_assuj) return 0;
|
if ($local == 2 && ! $thirdparty_seller->localtax2_assuj) return 0;
|
||||||
//if ($local == 0 && ! $thirdparty_seller->localtax1_assuj && ! $thirdparty_seller->localtax2_assuj) return array('localtax1'=>0,'localtax2'=>0);
|
//if ($local == 0 && ! $thirdparty_seller->localtax1_assuj && ! $thirdparty_seller->localtax2_assuj) return array('localtax1'=>0,'localtax2'=>0);
|
||||||
|
|
||||||
$code_country=$thirdparty_seller->country_code;
|
$code_country=$thirdparty_seller->country_code;
|
||||||
|
|
||||||
|
|||||||
@ -615,8 +615,8 @@ abstract class DolibarrModules
|
|||||||
{
|
{
|
||||||
$lastid=$this->db->last_insert_id(MAIN_DB_PREFIX."boxes_def","rowid");
|
$lastid=$this->db->last_insert_id(MAIN_DB_PREFIX."boxes_def","rowid");
|
||||||
|
|
||||||
$sql = "INSERT INTO ".MAIN_DB_PREFIX."boxes (box_id,position,box_order,fk_user)";
|
$sql = "INSERT INTO ".MAIN_DB_PREFIX."boxes (box_id,position,box_order,fk_user,entity)";
|
||||||
$sql.= " VALUES (".$lastid.", 0, '0', 0)";
|
$sql.= " VALUES (".$lastid.", 0, '0', 0, ".$conf->entity.")";
|
||||||
|
|
||||||
dol_syslog(get_class($this)."::insert_boxes sql=".$sql);
|
dol_syslog(get_class($this)."::insert_boxes sql=".$sql);
|
||||||
$resql=$this->db->query($sql);
|
$resql=$this->db->query($sql);
|
||||||
@ -671,7 +671,7 @@ abstract class DolibarrModules
|
|||||||
$sql.= " USING ".MAIN_DB_PREFIX."boxes, ".MAIN_DB_PREFIX."boxes_def";
|
$sql.= " USING ".MAIN_DB_PREFIX."boxes, ".MAIN_DB_PREFIX."boxes_def";
|
||||||
$sql.= " WHERE ".MAIN_DB_PREFIX."boxes.box_id = ".MAIN_DB_PREFIX."boxes_def.rowid";
|
$sql.= " WHERE ".MAIN_DB_PREFIX."boxes.box_id = ".MAIN_DB_PREFIX."boxes_def.rowid";
|
||||||
$sql.= " AND ".MAIN_DB_PREFIX."boxes_def.file = '".$this->db->escape($file)."'";
|
$sql.= " AND ".MAIN_DB_PREFIX."boxes_def.file = '".$this->db->escape($file)."'";
|
||||||
$sql.= " AND ".MAIN_DB_PREFIX."boxes_def.entity = ".$conf->entity;
|
$sql.= " AND ".MAIN_DB_PREFIX."boxes.entity = ".$conf->entity;
|
||||||
|
|
||||||
dol_syslog(get_class($this)."::delete_boxes sql=".$sql);
|
dol_syslog(get_class($this)."::delete_boxes sql=".$sql);
|
||||||
$resql=$this->db->query($sql);
|
$resql=$this->db->query($sql);
|
||||||
|
|||||||
@ -808,7 +808,7 @@ class pdf_einstein extends ModelePDFCommandes
|
|||||||
}
|
}
|
||||||
|
|
||||||
$pdf->SetDrawColor(128,128,128);
|
$pdf->SetDrawColor(128,128,128);
|
||||||
$pdf->SetFont('','', $default_font_size - 1);
|
$pdf->SetFont('','', $default_font_size - 1);
|
||||||
|
|
||||||
// Output Rect
|
// Output Rect
|
||||||
$this->printRect($pdf,$this->marge_gauche, $tab_top, $this->page_largeur-$this->marge_gauche-$this->marge_droite, $tab_height, $hidetop, $hidebottom); // Rect prend une longueur en 3eme param et 4eme param
|
$this->printRect($pdf,$this->marge_gauche, $tab_top, $this->page_largeur-$this->marge_gauche-$this->marge_droite, $tab_height, $hidetop, $hidebottom); // Rect prend une longueur en 3eme param et 4eme param
|
||||||
|
|||||||
@ -250,52 +250,52 @@ class pdf_expedition_rouget extends ModelePdfExpedition
|
|||||||
|
|
||||||
$nexY+=2; // Passe espace entre les lignes
|
$nexY+=2; // Passe espace entre les lignes
|
||||||
|
|
||||||
// Detect if some page were added automatically and output _tableau for past pages
|
// Detect if some page were added automatically and output _tableau for past pages
|
||||||
while ($pagenb < $pageposafter)
|
while ($pagenb < $pageposafter)
|
||||||
{
|
{
|
||||||
if ($pagenb == 1)
|
if ($pagenb == 1)
|
||||||
{
|
{
|
||||||
$this->_tableau($pdf, $tab_top, $this->page_hauteur - $tab_top - $heightforfooter, 0, $outputlangs, 0, 1);
|
$this->_tableau($pdf, $tab_top, $this->page_hauteur - $tab_top - $heightforfooter, 0, $outputlangs, 0, 1);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$this->_tableau($pdf, $tab_top_newpage, $this->page_hauteur - $tab_top_newpage - $heightforfooter, 0, $outputlangs, 1, 1);
|
$this->_tableau($pdf, $tab_top_newpage, $this->page_hauteur - $tab_top_newpage - $heightforfooter, 0, $outputlangs, 1, 1);
|
||||||
}
|
}
|
||||||
$this->_pagefoot($pdf,$object,$outputlangs);
|
$this->_pagefoot($pdf,$object,$outputlangs);
|
||||||
$pagenb++;
|
$pagenb++;
|
||||||
$pdf->setPage($pagenb);
|
$pdf->setPage($pagenb);
|
||||||
$pdf->setPageOrientation('', 1, 0); // The only function to edit the bottom margin of current page to set it.
|
$pdf->setPageOrientation('', 1, 0); // The only function to edit the bottom margin of current page to set it.
|
||||||
}
|
}
|
||||||
if (isset($object->lines[$i+1]->pagebreak) && $object->lines[$i+1]->pagebreak)
|
if (isset($object->lines[$i+1]->pagebreak) && $object->lines[$i+1]->pagebreak)
|
||||||
{
|
{
|
||||||
if ($pagenb == 1)
|
if ($pagenb == 1)
|
||||||
{
|
{
|
||||||
$this->_tableau($pdf, $tab_top, $this->page_hauteur - $tab_top - $heightforfooter, 0, $outputlangs, 0, 1);
|
$this->_tableau($pdf, $tab_top, $this->page_hauteur - $tab_top - $heightforfooter, 0, $outputlangs, 0, 1);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$this->_tableau($pdf, $tab_top_newpage, $this->page_hauteur - $tab_top_newpage - $heightforfooter, 0, $outputlangs, 1, 1);
|
$this->_tableau($pdf, $tab_top_newpage, $this->page_hauteur - $tab_top_newpage - $heightforfooter, 0, $outputlangs, 1, 1);
|
||||||
}
|
}
|
||||||
$this->_pagefoot($pdf,$object,$outputlangs);
|
$this->_pagefoot($pdf,$object,$outputlangs);
|
||||||
// New page
|
// New page
|
||||||
$pdf->AddPage();
|
$pdf->AddPage();
|
||||||
if (! empty($tplidx)) $pdf->useTemplate($tplidx);
|
if (! empty($tplidx)) $pdf->useTemplate($tplidx);
|
||||||
$pagenb++;
|
$pagenb++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Show square
|
// Show square
|
||||||
if ($pagenb == 1)
|
if ($pagenb == 1)
|
||||||
{
|
{
|
||||||
$this->_tableau($pdf, $tab_top, $this->page_hauteur - $tab_top - $heightforinfotot, 0, $outputlangs, 0, 0);
|
$this->_tableau($pdf, $tab_top, $this->page_hauteur - $tab_top - $heightforinfotot, 0, $outputlangs, 0, 0);
|
||||||
$bottomlasttab=$this->page_hauteur - $heightforinfotot + 1;
|
$bottomlasttab=$this->page_hauteur - $heightforinfotot + 1;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$this->_tableau($pdf, $tab_top_newpage, $this->page_hauteur - $tab_top_newpage - $heightforinfotot, 0, $outputlangs, 1, 0);
|
$this->_tableau($pdf, $tab_top_newpage, $this->page_hauteur - $tab_top_newpage - $heightforinfotot, 0, $outputlangs, 1, 0);
|
||||||
$bottomlasttab=$this->page_hauteur - $heightforinfotot + 1;
|
$bottomlasttab=$this->page_hauteur - $heightforinfotot + 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Pied de page
|
// Pied de page
|
||||||
$this->_pagefoot($pdf,$object,$outputlangs);
|
$this->_pagefoot($pdf,$object,$outputlangs);
|
||||||
$pdf->AliasNbPages();
|
$pdf->AliasNbPages();
|
||||||
@ -343,7 +343,7 @@ class pdf_expedition_rouget extends ModelePdfExpedition
|
|||||||
|
|
||||||
// Amount in (at tab_top - 1)
|
// Amount in (at tab_top - 1)
|
||||||
$pdf->SetTextColor(0,0,0);
|
$pdf->SetTextColor(0,0,0);
|
||||||
$pdf->SetFont('','',$default_font_size - 1);
|
$pdf->SetFont('','',$default_font_size - 1);
|
||||||
|
|
||||||
// Output Rect
|
// Output Rect
|
||||||
$this->printRect($pdf,$this->marge_gauche, $tab_top, $this->page_largeur-$this->marge_gauche-$this->marge_droite, $tab_height, $hidetop, $hidebottom); // Rect prend une longueur en 3eme param et 4eme param
|
$this->printRect($pdf,$this->marge_gauche, $tab_top, $this->page_largeur-$this->marge_gauche-$this->marge_droite, $tab_height, $hidetop, $hidebottom); // Rect prend une longueur en 3eme param et 4eme param
|
||||||
|
|||||||
@ -145,9 +145,9 @@ class mailing_xinputuser extends MailingTargets
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$langs->load("errors");
|
$langs->load("errors");
|
||||||
$this->error = $langs->trans("ErrorBadEMail",$email);
|
$this->error = $langs->trans("ErrorBadEMail",$email);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|||||||
@ -222,45 +222,45 @@ class modHoliday extends DolibarrModules
|
|||||||
'target'=>'',
|
'target'=>'',
|
||||||
'user'=>2); // 0=Menu for internal users, 1=external users, 2=both
|
'user'=>2); // 0=Menu for internal users, 1=external users, 2=both
|
||||||
$r++;
|
$r++;
|
||||||
$this->menu[$r]=array( 'fk_menu'=>'fk_mainmenu=holiday,fk_leftmenu=holiday', // Use r=value where r is index key used for the parent menu entry (higher parent must be a top menu entry)
|
$this->menu[$r]=array( 'fk_menu'=>'fk_mainmenu=holiday,fk_leftmenu=holiday', // Use r=value where r is index key used for the parent menu entry (higher parent must be a top menu entry)
|
||||||
'type'=>'left', // This is a Left menu entry
|
'type'=>'left', // This is a Left menu entry
|
||||||
'titre'=>'MenuConfCP',
|
'titre'=>'MenuConfCP',
|
||||||
'mainmenu'=>'holiday',
|
'mainmenu'=>'holiday',
|
||||||
'leftmenu'=>'holiday_conf',
|
'leftmenu'=>'holiday_conf',
|
||||||
'url'=>'/holiday/define_holiday.php?mainmenu=holiday&action=request',
|
'url'=>'/holiday/define_holiday.php?mainmenu=holiday&action=request',
|
||||||
'langs'=>'holiday', // Lang file to use (without .lang) by module. File must be in langs/code_CODE/ directory.
|
'langs'=>'holiday', // Lang file to use (without .lang) by module. File must be in langs/code_CODE/ directory.
|
||||||
'position'=>102,
|
'position'=>102,
|
||||||
'enabled'=>'$conf->holiday->enabled', // Define condition to show or hide menu entry. Use '$conf->mymodule->enabled' if entry must be visible if module is enabled.
|
'enabled'=>'$conf->holiday->enabled', // Define condition to show or hide menu entry. Use '$conf->mymodule->enabled' if entry must be visible if module is enabled.
|
||||||
'perms'=>'$user->rights->holiday->define_holiday', // Use 'perms'=>'$user->rights->mymodule->level1->level2' if you want your menu with a permission rules
|
'perms'=>'$user->rights->holiday->define_holiday', // Use 'perms'=>'$user->rights->mymodule->level1->level2' if you want your menu with a permission rules
|
||||||
'target'=>'',
|
'target'=>'',
|
||||||
'user'=>2); // 0=Menu for internal users, 1=external users, 2=both
|
'user'=>2); // 0=Menu for internal users, 1=external users, 2=both
|
||||||
$r++;
|
$r++;
|
||||||
$this->menu[$r]=array( 'fk_menu'=>'fk_mainmenu=holiday,fk_leftmenu=holiday', // Use r=value where r is index key used for the parent menu entry (higher parent must be a top menu entry)
|
$this->menu[$r]=array( 'fk_menu'=>'fk_mainmenu=holiday,fk_leftmenu=holiday', // Use r=value where r is index key used for the parent menu entry (higher parent must be a top menu entry)
|
||||||
'type'=>'left', // This is a Left menu entry
|
'type'=>'left', // This is a Left menu entry
|
||||||
'titre'=>'MenuLogCP',
|
'titre'=>'MenuLogCP',
|
||||||
'mainmenu'=>'holiday_def',
|
'mainmenu'=>'holiday_def',
|
||||||
'url'=>'/holiday/view_log.php?mainmenu=holiday&action=request',
|
'url'=>'/holiday/view_log.php?mainmenu=holiday&action=request',
|
||||||
'leftmenu'=>'holiday',
|
'leftmenu'=>'holiday',
|
||||||
'langs'=>'holiday', // Lang file to use (without .lang) by module. File must be in langs/code_CODE/ directory.
|
'langs'=>'holiday', // Lang file to use (without .lang) by module. File must be in langs/code_CODE/ directory.
|
||||||
'position'=>103,
|
'position'=>103,
|
||||||
'enabled'=>'$conf->holiday->enabled', // Define condition to show or hide menu entry. Use '$conf->mymodule->enabled' if entry must be visible if module is enabled.
|
'enabled'=>'$conf->holiday->enabled', // Define condition to show or hide menu entry. Use '$conf->mymodule->enabled' if entry must be visible if module is enabled.
|
||||||
'perms'=>'$user->rights->holiday->view_log', // Use 'perms'=>'$user->rights->mymodule->level1->level2' if you want your menu with a permission rules
|
'perms'=>'$user->rights->holiday->view_log', // Use 'perms'=>'$user->rights->mymodule->level1->level2' if you want your menu with a permission rules
|
||||||
'target'=>'',
|
'target'=>'',
|
||||||
'user'=>2); // 0=Menu for internal users, 1=external users, 2=both
|
'user'=>2); // 0=Menu for internal users, 1=external users, 2=both
|
||||||
$r++;
|
$r++;
|
||||||
$this->menu[$r]=array( 'fk_menu'=>'fk_mainmenu=holiday,fk_leftmenu=holiday', // Use r=value where r is index key used for the parent menu entry (higher parent must be a top menu entry)
|
$this->menu[$r]=array( 'fk_menu'=>'fk_mainmenu=holiday,fk_leftmenu=holiday', // Use r=value where r is index key used for the parent menu entry (higher parent must be a top menu entry)
|
||||||
'type'=>'left', // This is a Left menu entry
|
'type'=>'left', // This is a Left menu entry
|
||||||
'titre'=>'MenuReportMonth',
|
'titre'=>'MenuReportMonth',
|
||||||
'mainmenu'=>'holiday',
|
'mainmenu'=>'holiday',
|
||||||
'leftmenu'=>'holiday_report',
|
'leftmenu'=>'holiday_report',
|
||||||
'url'=>'/holiday/month_report.php?mainmenu=holiday&action=request',
|
'url'=>'/holiday/month_report.php?mainmenu=holiday&action=request',
|
||||||
'langs'=>'holiday', // Lang file to use (without .lang) by module. File must be in langs/code_CODE/ directory.
|
'langs'=>'holiday', // Lang file to use (without .lang) by module. File must be in langs/code_CODE/ directory.
|
||||||
'position'=>104,
|
'position'=>104,
|
||||||
'enabled'=>'$conf->holiday->enabled', // Define condition to show or hide menu entry. Use '$conf->mymodule->enabled' if entry must be visible if module is enabled.
|
'enabled'=>'$conf->holiday->enabled', // Define condition to show or hide menu entry. Use '$conf->mymodule->enabled' if entry must be visible if module is enabled.
|
||||||
'perms'=>'$user->rights->holiday->view_log', // Use 'perms'=>'$user->rights->mymodule->level1->level2' if you want your menu with a permission rules
|
'perms'=>'$user->rights->holiday->view_log', // Use 'perms'=>'$user->rights->mymodule->level1->level2' if you want your menu with a permission rules
|
||||||
'target'=>'',
|
'target'=>'',
|
||||||
'user'=>2); // 0=Menu for internal users, 1=external users, 2=both
|
'user'=>2); // 0=Menu for internal users, 1=external users, 2=both
|
||||||
$r++;
|
$r++;
|
||||||
|
|
||||||
// Exports
|
// Exports
|
||||||
$r=1;
|
$r=1;
|
||||||
|
|||||||
@ -251,7 +251,7 @@ class pdf_azur extends ModelePDFPropales
|
|||||||
$pageposbefore=$pdf->getPage();
|
$pageposbefore=$pdf->getPage();
|
||||||
|
|
||||||
// Description of product line
|
// Description of product line
|
||||||
$pdf->SetFont('','', $default_font_size - 1); // Into loop to work with multipage
|
$pdf->SetFont('','', $default_font_size - 1); // Into loop to work with multipage
|
||||||
$curX = $this->posxdesc-1;
|
$curX = $this->posxdesc-1;
|
||||||
pdf_writelinedesc($pdf,$object,$i,$outputlangs,$this->posxtva-$curX,4,$curX,$curY,$hideref,$hidedesc,0,$hookmanager);
|
pdf_writelinedesc($pdf,$object,$i,$outputlangs,$this->posxtva-$curX,4,$curX,$curY,$hideref,$hidedesc,0,$hookmanager);
|
||||||
|
|
||||||
@ -842,7 +842,7 @@ class pdf_azur extends ModelePDFPropales
|
|||||||
}
|
}
|
||||||
|
|
||||||
$pdf->SetDrawColor(128,128,128);
|
$pdf->SetDrawColor(128,128,128);
|
||||||
$pdf->SetFont('','',$default_font_size - 1);
|
$pdf->SetFont('','',$default_font_size - 1);
|
||||||
|
|
||||||
// Output Rect
|
// Output Rect
|
||||||
$this->printRect($pdf,$this->marge_gauche, $tab_top, $this->page_largeur-$this->marge_gauche-$this->marge_droite, $tab_height, $hidetop, $hidebottom); // Rect prend une longueur en 3eme param et 4eme param
|
$this->printRect($pdf,$this->marge_gauche, $tab_top, $this->page_largeur-$this->marge_gauche-$this->marge_droite, $tab_height, $hidetop, $hidebottom); // Rect prend une longueur en 3eme param et 4eme param
|
||||||
|
|||||||
@ -635,7 +635,7 @@ class pdf_canelle extends ModelePDFSuppliersInvoices
|
|||||||
}
|
}
|
||||||
|
|
||||||
$pdf->SetDrawColor(128,128,128);
|
$pdf->SetDrawColor(128,128,128);
|
||||||
$pdf->SetFont('','', $default_font_size - 1);
|
$pdf->SetFont('','', $default_font_size - 1);
|
||||||
|
|
||||||
// Output Rect
|
// Output Rect
|
||||||
$this->printRect($pdf,$this->marge_gauche, $tab_top, $this->page_largeur-$this->marge_gauche-$this->marge_droite, $tab_height, $hidetop, $hidebottom); // Rect prend une longueur en 3eme param et 4eme param
|
$this->printRect($pdf,$this->marge_gauche, $tab_top, $this->page_largeur-$this->marge_gauche-$this->marge_droite, $tab_height, $hidetop, $hidebottom); // Rect prend une longueur en 3eme param et 4eme param
|
||||||
|
|||||||
@ -817,7 +817,7 @@ class pdf_muscadet extends ModelePDFSuppliersOrders
|
|||||||
}
|
}
|
||||||
|
|
||||||
$pdf->SetDrawColor(128,128,128);
|
$pdf->SetDrawColor(128,128,128);
|
||||||
$pdf->SetFont('','', $default_font_size - 1);
|
$pdf->SetFont('','', $default_font_size - 1);
|
||||||
|
|
||||||
// Output Rect
|
// Output Rect
|
||||||
$this->printRect($pdf,$this->marge_gauche, $tab_top, $this->page_largeur-$this->marge_gauche-$this->marge_droite, $tab_height, $hidetop, $hidebottom); // Rect prend une longueur en 3eme param et 4eme param
|
$this->printRect($pdf,$this->marge_gauche, $tab_top, $this->page_largeur-$this->marge_gauche-$this->marge_droite, $tab_height, $hidetop, $hidebottom); // Rect prend une longueur en 3eme param et 4eme param
|
||||||
|
|||||||
@ -118,7 +118,7 @@ if (! empty($hookmanager->resArray['options'])) {
|
|||||||
foreach ($hookmanager->resArray['options'] as $format => $option)
|
foreach ($hookmanager->resArray['options'] as $format => $option)
|
||||||
{
|
{
|
||||||
if ($format == 'table') {
|
if ($format == 'table') {
|
||||||
echo '<!-- Option by hook -->';
|
echo '<!-- Option by hook -->';
|
||||||
echo $option;
|
echo $option;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -139,7 +139,8 @@ if (! empty($conf->margin->enabled)) {
|
|||||||
require_once DOL_DOCUMENT_ROOT.'/core/class/doleditor.class.php';
|
require_once DOL_DOCUMENT_ROOT.'/core/class/doleditor.class.php';
|
||||||
$nbrows=ROWS_2;
|
$nbrows=ROWS_2;
|
||||||
if (! empty($conf->global->MAIN_INPUT_DESC_HEIGHT)) $nbrows=$conf->global->MAIN_INPUT_DESC_HEIGHT;
|
if (! empty($conf->global->MAIN_INPUT_DESC_HEIGHT)) $nbrows=$conf->global->MAIN_INPUT_DESC_HEIGHT;
|
||||||
$doleditor=new DolEditor('product_desc', GETPOST('product_desc'), '', 150, 'dolibarr_details', '', false, true, $conf->global->FCKEDITOR_ENABLE_DETAILS, $nbrows, 70);
|
$enable=(isset($conf->global->FCKEDITOR_ENABLE_DETAILS)?$conf->global->FCKEDITOR_ENABLE_DETAILS:0);
|
||||||
|
$doleditor=new DolEditor('product_desc', GETPOST('product_desc'), '', 150, 'dolibarr_details', '', false, true, $enable, $nbrows, 70);
|
||||||
$doleditor->Create();
|
$doleditor->Create();
|
||||||
?>
|
?>
|
||||||
</td>
|
</td>
|
||||||
@ -192,10 +193,11 @@ if (! empty($conf->margin->enabled)) {
|
|||||||
<tr id="service_duration_area" <?php echo $bcnd[$var]; ?>>
|
<tr id="service_duration_area" <?php echo $bcnd[$var]; ?>>
|
||||||
<td colspan="<?php echo $colspan; ?>">
|
<td colspan="<?php echo $colspan; ?>">
|
||||||
<?php
|
<?php
|
||||||
|
$hourmin=(isset($conf->global->MAIN_USE_HOURMIN_IN_DATE_RANGE)?$conf->global->MAIN_USE_HOURMIN_IN_DATE_RANGE:'');
|
||||||
echo $langs->trans('ServiceLimitedDuration').' '.$langs->trans('From').' ';
|
echo $langs->trans('ServiceLimitedDuration').' '.$langs->trans('From').' ';
|
||||||
echo $form->select_date('','date_start',$conf->global->MAIN_USE_HOURMIN_IN_DATE_RANGE,$conf->global->MAIN_USE_HOURMIN_IN_DATE_RANGE,1,"addproduct");
|
echo $form->select_date('','date_start',$hourmin,$hourmin,1,"addproduct");
|
||||||
echo ' '.$langs->trans('to').' ';
|
echo ' '.$langs->trans('to').' ';
|
||||||
echo $form->select_date('','date_end',$conf->global->MAIN_USE_HOURMIN_IN_DATE_RANGE,$conf->global->MAIN_USE_HOURMIN_IN_DATE_RANGE,1,"addproduct");
|
echo $form->select_date('','date_end',$hourmin,$hourmin,1,"addproduct");
|
||||||
?>
|
?>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|||||||
@ -60,7 +60,7 @@
|
|||||||
</span>
|
</span>
|
||||||
<span id="price_base_type" class="hideobject"></span>
|
<span id="price_base_type" class="hideobject"></span>
|
||||||
|
|
||||||
<?php } else if ($line->fk_product > 0) { ?>
|
<?php } else if ($line->fk_product > 0) { ?>
|
||||||
|
|
||||||
<a href="<?php echo DOL_URL_ROOT.'/product/fiche.php?id='.$line->fk_product; ?>">
|
<a href="<?php echo DOL_URL_ROOT.'/product/fiche.php?id='.$line->fk_product; ?>">
|
||||||
<?php
|
<?php
|
||||||
@ -73,10 +73,9 @@
|
|||||||
echo ' - '.nl2br($line->product_label);
|
echo ' - '.nl2br($line->product_label);
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<br>
|
<?php } ?>
|
||||||
<?php
|
|
||||||
}
|
<br>
|
||||||
?>
|
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
if (is_object($hookmanager))
|
if (is_object($hookmanager))
|
||||||
@ -87,10 +86,11 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
// editeur wysiwyg
|
// editeur wysiwyg
|
||||||
|
require_once DOL_DOCUMENT_ROOT.'/core/class/doleditor.class.php';
|
||||||
$nbrows=ROWS_2;
|
$nbrows=ROWS_2;
|
||||||
if (! empty($conf->global->MAIN_INPUT_DESC_HEIGHT)) $nbrows=$conf->global->MAIN_INPUT_DESC_HEIGHT;
|
if (! empty($conf->global->MAIN_INPUT_DESC_HEIGHT)) $nbrows=$conf->global->MAIN_INPUT_DESC_HEIGHT;
|
||||||
require_once DOL_DOCUMENT_ROOT.'/core/class/doleditor.class.php';
|
$enable=(isset($conf->global->FCKEDITOR_ENABLE_DETAILS)?$conf->global->FCKEDITOR_ENABLE_DETAILS:0);
|
||||||
$doleditor=new DolEditor('product_desc',$line->description,'',164,'dolibarr_details','',false,true,$conf->global->FCKEDITOR_ENABLE_DETAILS,$nbrows,70);
|
$doleditor=new DolEditor('product_desc',$line->description,'',164,'dolibarr_details','',false,true,$enable,$nbrows,70);
|
||||||
$doleditor->Create();
|
$doleditor->Create();
|
||||||
?>
|
?>
|
||||||
</td>
|
</td>
|
||||||
@ -135,9 +135,10 @@
|
|||||||
<tr id="service_duration_area" <?php echo $bc[$var]; ?>>
|
<tr id="service_duration_area" <?php echo $bc[$var]; ?>>
|
||||||
<td colspan="11"><?php echo $langs->trans('ServiceLimitedDuration').' '.$langs->trans('From').' '; ?>
|
<td colspan="11"><?php echo $langs->trans('ServiceLimitedDuration').' '.$langs->trans('From').' '; ?>
|
||||||
<?php
|
<?php
|
||||||
echo $form->select_date($line->date_start,'date_start',$conf->global->MAIN_USE_HOURMIN_IN_DATE_RANGE,$conf->global->MAIN_USE_HOURMIN_IN_DATE_RANGE,$line->date_start?0:1,"updateligne");
|
$hourmin=(isset($conf->global->MAIN_USE_HOURMIN_IN_DATE_RANGE)?$conf->global->MAIN_USE_HOURMIN_IN_DATE_RANGE:'');
|
||||||
|
echo $form->select_date($line->date_start,'date_start',$hourmin,$hourmin,$line->date_start?0:1,"updateligne");
|
||||||
echo ' '.$langs->trans('to').' ';
|
echo ' '.$langs->trans('to').' ';
|
||||||
echo $form->select_date($line->date_end,'date_end',$conf->global->MAIN_USE_HOURMIN_IN_DATE_RANGE,$conf->global->MAIN_USE_HOURMIN_IN_DATE_RANGE,$line->date_end?0:1,"updateligne");
|
echo $form->select_date($line->date_end,'date_end',$hourmin,$hourmin,$line->date_end?0:1,"updateligne");
|
||||||
?>
|
?>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|||||||
@ -34,25 +34,25 @@ print '<head>
|
|||||||
print '<!-- Includes for JQuery (Ajax library) -->'."\n";
|
print '<!-- Includes for JQuery (Ajax library) -->'."\n";
|
||||||
if (constant('JS_JQUERY_UI')) print '<link rel="stylesheet" type="text/css" href="'.JS_JQUERY_UI.'css/'.$jquerytheme.'/jquery-ui.min.css" />'."\n"; // JQuery
|
if (constant('JS_JQUERY_UI')) print '<link rel="stylesheet" type="text/css" href="'.JS_JQUERY_UI.'css/'.$jquerytheme.'/jquery-ui.min.css" />'."\n"; // JQuery
|
||||||
else print '<link rel="stylesheet" type="text/css" href="'.DOL_URL_ROOT.'/includes/jquery/css/'.$jquerytheme.'/jquery-ui-latest.custom.css" />'."\n"; // JQuery
|
else print '<link rel="stylesheet" type="text/css" href="'.DOL_URL_ROOT.'/includes/jquery/css/'.$jquerytheme.'/jquery-ui-latest.custom.css" />'."\n"; // JQuery
|
||||||
// CSS forced by modules (relative url starting with /)
|
// CSS forced by modules (relative url starting with /)
|
||||||
if (isset($conf->modules_parts['css']))
|
if (isset($conf->modules_parts['css']))
|
||||||
{
|
{
|
||||||
$arraycss=(array) $conf->modules_parts['css'];
|
$arraycss=(array) $conf->modules_parts['css'];
|
||||||
foreach($arraycss as $modcss => $filescss)
|
foreach($arraycss as $modcss => $filescss)
|
||||||
{
|
{
|
||||||
$filescss=(array) $filescss; // To be sure filecss is an array
|
$filescss=(array) $filescss; // To be sure filecss is an array
|
||||||
foreach($filescss as $cssfile)
|
foreach($filescss as $cssfile)
|
||||||
{
|
{
|
||||||
// cssfile is a relative path
|
// cssfile is a relative path
|
||||||
print '<link rel="stylesheet" type="text/css" title="default" href="'.dol_buildpath($cssfile,1);
|
print '<link rel="stylesheet" type="text/css" title="default" href="'.dol_buildpath($cssfile,1);
|
||||||
// We add params only if page is not static, because some web server setup does not return content type text/css if url has parameters, so browser cache is not used.
|
// We add params only if page is not static, because some web server setup does not return content type text/css if url has parameters, so browser cache is not used.
|
||||||
if (!preg_match('/\.css$/i',$cssfile)) print $themeparam;
|
if (!preg_match('/\.css$/i',$cssfile)) print $themeparam;
|
||||||
print '"><!-- Added by module '.$modcss. '-->'."\n";
|
print '"><!-- Added by module '.$modcss. '-->'."\n";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// JQuery. Must be before other includes
|
// JQuery. Must be before other includes
|
||||||
$ext='.js';
|
$ext='.js';
|
||||||
if (isset($conf->global->MAIN_OPTIMIZE_SPEED) && ($conf->global->MAIN_OPTIMIZE_SPEED & 0x01)) $ext='.jgz';
|
if (isset($conf->global->MAIN_OPTIMIZE_SPEED) && ($conf->global->MAIN_OPTIMIZE_SPEED & 0x01)) $ext='.jgz';
|
||||||
print '<!-- Includes JS for JQuery -->'."\n";
|
print '<!-- Includes JS for JQuery -->'."\n";
|
||||||
if (constant('JS_JQUERY')) print '<script type="text/javascript" src="'.JS_JQUERY.'jquery.min.js"></script>'."\n";
|
if (constant('JS_JQUERY')) print '<script type="text/javascript" src="'.JS_JQUERY.'jquery.min.js"></script>'."\n";
|
||||||
@ -91,9 +91,9 @@ print '<!-- HTTP_USER_AGENT = '.$_SERVER['HTTP_USER_AGENT'].' -->
|
|||||||
if (! empty($hookmanager->resArray['options'])) {
|
if (! empty($hookmanager->resArray['options'])) {
|
||||||
foreach ($hookmanager->resArray['options'] as $format => $option)
|
foreach ($hookmanager->resArray['options'] as $format => $option)
|
||||||
{
|
{
|
||||||
if ($format == 'table') {
|
if ($format == 'table') {
|
||||||
echo '<!-- Option by hook -->';
|
echo '<!-- Option by hook -->';
|
||||||
echo $option;
|
echo $option;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -76,16 +76,16 @@ $type = 'application/octet-stream';
|
|||||||
if (GETPOST('type','alpha')) $type=GETPOST('type','alpha');
|
if (GETPOST('type','alpha')) $type=GETPOST('type','alpha');
|
||||||
else $type=dol_mimetype($original_file);
|
else $type=dol_mimetype($original_file);
|
||||||
|
|
||||||
// Define attachment (attachment=true to force choice popup 'open'/'save as')
|
// Define attachment (attachment=true to force choice popup 'open'/'save as')
|
||||||
$attachment = true;
|
$attachment = true;
|
||||||
if (preg_match('/\.(html|htm)$/i',$original_file)) $attachment = false;
|
if (preg_match('/\.(html|htm)$/i',$original_file)) $attachment = false;
|
||||||
if (isset($_GET["attachment"])) $attachment = GETPOST("attachment")?true:false;
|
if (isset($_GET["attachment"])) $attachment = GETPOST("attachment")?true:false;
|
||||||
if (! empty($conf->global->MAIN_DISABLE_FORCE_SAVEAS)) $attachment=false;
|
if (! empty($conf->global->MAIN_DISABLE_FORCE_SAVEAS)) $attachment=false;
|
||||||
|
|
||||||
// Suppression de la chaine de caractere ../ dans $original_file
|
// Suppression de la chaine de caractere ../ dans $original_file
|
||||||
$original_file = str_replace("../","/", $original_file);
|
$original_file = str_replace("../","/", $original_file);
|
||||||
|
|
||||||
// Find the subdirectory name as the reference
|
// Find the subdirectory name as the reference
|
||||||
$refname=basename(dirname($original_file)."/");
|
$refname=basename(dirname($original_file)."/");
|
||||||
|
|
||||||
// Security check
|
// Security check
|
||||||
@ -343,12 +343,12 @@ if ($modulepart)
|
|||||||
$original_file=$conf->admin->dir_output.'/'.$original_file;
|
$original_file=$conf->admin->dir_output.'/'.$original_file;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Wrapping for upload file test
|
// Wrapping for upload file test
|
||||||
else if ($modulepart == 'admin_temp')
|
else if ($modulepart == 'admin_temp')
|
||||||
{
|
{
|
||||||
if ($user->admin)
|
if ($user->admin)
|
||||||
$accessallowed=1;
|
$accessallowed=1;
|
||||||
$original_file=$conf->admin->dir_temp.'/'.$original_file;
|
$original_file=$conf->admin->dir_temp.'/'.$original_file;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Wrapping pour BitTorrent
|
// Wrapping pour BitTorrent
|
||||||
|
|||||||
171
htdocs/ecm/ajax/ecmdatabase.php
Normal file
171
htdocs/ecm/ajax/ecmdatabase.php
Normal file
@ -0,0 +1,171 @@
|
|||||||
|
<?php
|
||||||
|
/* Copyright (C) 2012 Regis Houssin <regis@dolibarr.fr>
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \file htdocs/ecm/ajax/ecmdatabases.php
|
||||||
|
* \brief File to build ecm database
|
||||||
|
*/
|
||||||
|
|
||||||
|
if (! defined('NOTOKENRENEWAL')) define('NOTOKENRENEWAL','1'); // Disables token renewal
|
||||||
|
if (! defined('NOREQUIREMENU')) define('NOREQUIREMENU','1');
|
||||||
|
//if (! defined('NOREQUIREHTML')) define('NOREQUIREHTML','1');
|
||||||
|
if (! defined('NOREQUIREAJAX')) define('NOREQUIREAJAX','1');
|
||||||
|
if (! defined('NOREQUIRESOC')) define('NOREQUIRESOC','1');
|
||||||
|
//if (! defined('NOREQUIRETRAN')) define('NOREQUIRETRAN','1');
|
||||||
|
|
||||||
|
require '../../main.inc.php';
|
||||||
|
require DOL_DOCUMENT_ROOT . '/core/lib/files.lib.php';
|
||||||
|
|
||||||
|
$action = GETPOST('action','alpha');
|
||||||
|
$element = GETPOST('element', 'alpha');
|
||||||
|
|
||||||
|
/*
|
||||||
|
* View
|
||||||
|
*/
|
||||||
|
|
||||||
|
top_httphead();
|
||||||
|
|
||||||
|
//print '<!-- Ajax page called with url '.$_SERVER["PHP_SELF"].'?'.$_SERVER["QUERY_STRING"].' -->'."\n";
|
||||||
|
|
||||||
|
// Load original field value
|
||||||
|
if (isset($action) && ! empty($action))
|
||||||
|
{
|
||||||
|
$error=0;
|
||||||
|
|
||||||
|
if ($action == 'build' && ! empty($element))
|
||||||
|
{
|
||||||
|
require DOL_DOCUMENT_ROOT . '/ecm/class/ecmdirectory.class.php';
|
||||||
|
|
||||||
|
$ecmdirstatic = new EcmDirectory($db);
|
||||||
|
|
||||||
|
clearstatcache();
|
||||||
|
|
||||||
|
$diroutputslash=str_replace('\\', '/', $conf->$element->dir_output);
|
||||||
|
$diroutputslash.='/';
|
||||||
|
|
||||||
|
// Scan directory tree on disk
|
||||||
|
$disktree=dol_dir_list($conf->$element->dir_output,'directories',1,'',array('^temp$'),'','',0);
|
||||||
|
|
||||||
|
// Scan directory tree in database
|
||||||
|
$sqltree=$ecmdirstatic->get_full_arbo(0);
|
||||||
|
|
||||||
|
$adirwascreated=0;
|
||||||
|
|
||||||
|
// Now we compare both trees to complete missing trees into database
|
||||||
|
//var_dump($disktree);
|
||||||
|
//var_dump($sqltree);
|
||||||
|
foreach($disktree as $dirdesc) // Loop on tree onto disk
|
||||||
|
{
|
||||||
|
set_time_limit(0); // To force restarts the timeout counter from zero
|
||||||
|
|
||||||
|
$dirisindatabase=0;
|
||||||
|
foreach($sqltree as $dirsqldesc)
|
||||||
|
{
|
||||||
|
if ($conf->$element->dir_output.'/'.$dirsqldesc['fullrelativename'] == $dirdesc['fullname'])
|
||||||
|
{
|
||||||
|
$dirisindatabase=1;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (! $dirisindatabase)
|
||||||
|
{
|
||||||
|
$txt="Directory found on disk ".$dirdesc['fullname'].", not found into database so we add it";
|
||||||
|
dol_syslog($txt);
|
||||||
|
|
||||||
|
// We must first find the fk_parent of directory to create $dirdesc['fullname']
|
||||||
|
$fk_parent=-1;
|
||||||
|
$relativepathmissing=str_replace($diroutputslash,'',$dirdesc['fullname']);
|
||||||
|
$relativepathtosearchparent=$relativepathmissing;
|
||||||
|
//dol_syslog("Try to find parent id for directory ".$relativepathtosearchparent);
|
||||||
|
if (preg_match('/\//',$relativepathtosearchparent))
|
||||||
|
//while (preg_match('/\//',$relativepathtosearchparent))
|
||||||
|
{
|
||||||
|
$relativepathtosearchparent=preg_replace('/\/[^\/]*$/','',$relativepathtosearchparent);
|
||||||
|
$txt="Is relative parent path ".$relativepathtosearchparent." for ".$relativepathmissing." found in sql tree ?";
|
||||||
|
dol_syslog($txt);
|
||||||
|
//print $txt." -> ";
|
||||||
|
$parentdirisindatabase=0;
|
||||||
|
foreach($sqltree as $dirsqldesc)
|
||||||
|
{
|
||||||
|
if ($dirsqldesc['fullrelativename'] == $relativepathtosearchparent)
|
||||||
|
{
|
||||||
|
$parentdirisindatabase=$dirsqldesc['id'];
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ($parentdirisindatabase > 0)
|
||||||
|
{
|
||||||
|
dol_syslog("Yes with id ".$parentdirisindatabase);
|
||||||
|
//print "Yes with id ".$parentdirisindatabase."<br>\n";
|
||||||
|
$fk_parent=$parentdirisindatabase;
|
||||||
|
//break; // We found parent, we can stop the while loop
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
dol_syslog("No");
|
||||||
|
//print "No<br>\n";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
dol_syslog("Parent is root");
|
||||||
|
$fk_parent=0; // Parent is root
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($fk_parent >= 0)
|
||||||
|
{
|
||||||
|
$ecmdirtmp=new EcmDirectory($db);
|
||||||
|
$ecmdirtmp->ref = 'NOTUSEDYET';
|
||||||
|
$ecmdirtmp->label = dol_basename($dirdesc['fullname']);
|
||||||
|
$ecmdirtmp->description = '';
|
||||||
|
$ecmdirtmp->fk_parent = $fk_parent;
|
||||||
|
|
||||||
|
$txt="We create directory ".$ecmdirtmp->label." with parent ".$fk_parent;
|
||||||
|
dol_syslog($txt);
|
||||||
|
//print $txt."<br>\n";
|
||||||
|
$id = $ecmdirtmp->create($user);
|
||||||
|
if ($id > 0)
|
||||||
|
{
|
||||||
|
$newdirsql=array('id'=>$id,
|
||||||
|
'id_mere'=>$ecmdirtmp->fk_parent,
|
||||||
|
'label'=>$ecmdirtmp->label,
|
||||||
|
'description'=>$ecmdirtmp->description,
|
||||||
|
'fullrelativename'=>$relativepathmissing);
|
||||||
|
$sqltree[]=$newdirsql; // We complete fulltree for following loops
|
||||||
|
//var_dump($sqltree);
|
||||||
|
$adirwascreated=1;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
dol_syslog("Failed to create directory ".$ecmdirtmp->label, LOG_ERR);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$txt="Parent of ".$dirdesc['fullname']." not found";
|
||||||
|
dol_syslog($txt);
|
||||||
|
//print $txt."<br>\n";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$sql="UPDATE ".MAIN_DB_PREFIX."ecm_directories set cachenbofdoc = -1 WHERE cachenbofdoc < 0"; // If pb into cahce counting, we set to value -1 = "unknown"
|
||||||
|
$db->query($sql);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
?>
|
||||||
@ -24,6 +24,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
if (! defined('REQUIRE_JQUERY_LAYOUT')) define('REQUIRE_JQUERY_LAYOUT','1');
|
if (! defined('REQUIRE_JQUERY_LAYOUT')) define('REQUIRE_JQUERY_LAYOUT','1');
|
||||||
|
if (! defined('REQUIRE_JQUERY_BLOCKUI')) define('REQUIRE_JQUERY_BLOCKUI', 1);
|
||||||
|
|
||||||
require '../main.inc.php';
|
require '../main.inc.php';
|
||||||
require_once DOL_DOCUMENT_ROOT.'/core/class/html.formfile.class.php';
|
require_once DOL_DOCUMENT_ROOT.'/core/class/html.formfile.class.php';
|
||||||
@ -430,8 +431,9 @@ else
|
|||||||
print '<img class="toolbarbutton" border="0" src="'.DOL_URL_ROOT.'/theme/common/folder-new.png">';
|
print '<img class="toolbarbutton" border="0" src="'.DOL_URL_ROOT.'/theme/common/folder-new.png">';
|
||||||
print '</a>';
|
print '</a>';
|
||||||
}
|
}
|
||||||
print '<a href="'.$_SERVER["PHP_SELF"].'?action=refreshmanual'.($module?'&module='.$module:'').($section?'&section='.$section:'').'" class="toolbarbutton" title="'.dol_escape_htmltag($langs->trans('Refresh')).'">';
|
$url=((! empty($conf->use_javascript_ajax) && empty($conf->global->MAIN_ECM_DISABLE_JS))?'#':($_SERVER["PHP_SELF"].'?action=refreshmanual'.($module?'&module='.$module:'').($section?'&section='.$section:'')));
|
||||||
print '<img class="toolbarbutton" border="0" src="'.DOL_URL_ROOT.'/theme/common/view-refresh.png">';
|
print '<a href="'.$url.'" class="toolbarbutton" title="'.dol_escape_htmltag($langs->trans('Refresh')).'">';
|
||||||
|
print '<img id="refreshbutton" class="toolbarbutton" border="0" src="'.DOL_URL_ROOT.'/theme/common/view-refresh.png">';
|
||||||
print '</a>';
|
print '</a>';
|
||||||
|
|
||||||
print '</div>';
|
print '</div>';
|
||||||
@ -565,57 +567,7 @@ if (empty($action) || $action == 'file_manager' || preg_match('/refresh/i',$acti
|
|||||||
print '<tr><td colspan="6" style="padding-left: 20px">';
|
print '<tr><td colspan="6" style="padding-left: 20px">';
|
||||||
|
|
||||||
// Show filemanager tree
|
// Show filemanager tree
|
||||||
print '<div id="filetree" class="ecmfiletree">';
|
print '<div id="filetree" class="ecmfiletree"></div>';
|
||||||
|
|
||||||
print '</div>';
|
|
||||||
|
|
||||||
$openeddir='/';
|
|
||||||
?>
|
|
||||||
|
|
||||||
<script type="text/javascript">
|
|
||||||
|
|
||||||
function loadandshowpreview(filedirname,section)
|
|
||||||
{
|
|
||||||
//alert('filedirname='+filedirname);
|
|
||||||
jQuery('#ecmfileview').empty();
|
|
||||||
|
|
||||||
url='<?php echo dol_buildpath('/core/ajax/ajaxdirpreview.php',1); ?>?action=preview&module=ecm§ion='+section+'&file='+urlencode(filedirname);
|
|
||||||
|
|
||||||
jQuery.get(url, function(data) {
|
|
||||||
//alert('Load of url '+url+' was performed : '+data);
|
|
||||||
pos=data.indexOf("TYPE=directory",0);
|
|
||||||
//alert(pos);
|
|
||||||
if ((pos > 0) && (pos < 20))
|
|
||||||
{
|
|
||||||
filediractive=filedirname; // Save current dirname
|
|
||||||
filetypeactive='directory';
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
filediractive=filedirname; // Save current dirname
|
|
||||||
filetypeactive='file';
|
|
||||||
}
|
|
||||||
jQuery('#ecmfileview').append(data);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
jQuery(document).ready( function() {
|
|
||||||
jQuery('#filetree').fileTree({ root: '<?php print dol_escape_js($openeddir); ?>',
|
|
||||||
// Called if we click on a file (not a dir)
|
|
||||||
script: '<?php echo DOL_URL_ROOT.'/core/ajax/ajaxdirtree.php?modulepart=ecm&openeddir='.urlencode($openeddir); ?>',
|
|
||||||
folderEvent: 'click',
|
|
||||||
multiFolder: false },
|
|
||||||
// Called if we click on a file (not a dir)
|
|
||||||
function(file) {
|
|
||||||
jQuery("#mesg").hide();
|
|
||||||
loadandshowpreview(file,0);
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
</script>
|
|
||||||
<?php
|
|
||||||
|
|
||||||
if ($action == 'deletefile') print $form->formconfirm('eeeee', $langs->trans('DeleteFile'), $langs->trans('ConfirmDeleteFile'), 'confirm_deletefile', '', '', 'deletefile');
|
if ($action == 'deletefile') print $form->formconfirm('eeeee', $langs->trans('DeleteFile'), $langs->trans('ConfirmDeleteFile'), 'confirm_deletefile', '', '', 'deletefile');
|
||||||
|
|
||||||
@ -815,7 +767,7 @@ include_once DOL_DOCUMENT_ROOT.'/core/ajax/ajaxdirpreview.php';
|
|||||||
|
|
||||||
|
|
||||||
// To attach new file
|
// To attach new file
|
||||||
if (empty($conf->global->MAIN_ECM_DISABLE_JS) || ! empty($section))
|
if ((! empty($conf->use_javascript_ajax) && empty($conf->global->MAIN_ECM_DISABLE_JS)) || ! empty($section))
|
||||||
{
|
{
|
||||||
$formfile=new FormFile($db);
|
$formfile=new FormFile($db);
|
||||||
$formfile->form_attach_new_file(DOL_URL_ROOT.'/ecm/index.php', 'none', 0, ($section?$section:-1), $user->rights->ecm->upload, 48);
|
$formfile->form_attach_new_file(DOL_URL_ROOT.'/ecm/index.php', 'none', 0, ($section?$section:-1), $user->rights->ecm->upload, 48);
|
||||||
@ -832,6 +784,9 @@ else print ' ';
|
|||||||
<?php
|
<?php
|
||||||
// End of page
|
// End of page
|
||||||
|
|
||||||
|
if (! empty($conf->use_javascript_ajax) && empty($conf->global->MAIN_ECM_DISABLE_JS)) {
|
||||||
|
include 'tpl/builddatabase.tpl.php';
|
||||||
|
}
|
||||||
|
|
||||||
llxFooter();
|
llxFooter();
|
||||||
|
|
||||||
|
|||||||
82
htdocs/ecm/tpl/builddatabase.tpl.php
Normal file
82
htdocs/ecm/tpl/builddatabase.tpl.php
Normal file
@ -0,0 +1,82 @@
|
|||||||
|
<?php
|
||||||
|
/* Copyright (C) 2012 Regis Houssin <regis@dolibarr.fr>
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
$openeddir='/';
|
||||||
|
|
||||||
|
// TODO: just use ajaxdirtree.php for load database after ajax refresh and not scan directories
|
||||||
|
// too slow every page loaded !
|
||||||
|
|
||||||
|
?>
|
||||||
|
|
||||||
|
<!-- BEGIN PHP TEMPLATE FOR JQUERY -->
|
||||||
|
<script type="text/javascript">
|
||||||
|
$(document).ready( function() {
|
||||||
|
$('#filetree').fileTree({ root: '<?php print dol_escape_js($openeddir); ?>',
|
||||||
|
// Called if we click on a file (not a dir)
|
||||||
|
script: '<?php echo DOL_URL_ROOT.'/core/ajax/ajaxdirtree.php?modulepart=ecm&openeddir='.urlencode($openeddir); ?>',
|
||||||
|
folderEvent: 'click',
|
||||||
|
multiFolder: false },
|
||||||
|
// Called if we click on a file (not a dir)
|
||||||
|
function(file) {
|
||||||
|
$("#mesg").hide();
|
||||||
|
loadandshowpreview(file,0);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
$('#refreshbutton').click( function() {
|
||||||
|
ecmBuildDatabase();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
function loadandshowpreview(filedirname,section)
|
||||||
|
{
|
||||||
|
//alert('filedirname='+filedirname);
|
||||||
|
$('#ecmfileview').empty();
|
||||||
|
|
||||||
|
var url = '<?php echo dol_buildpath('/core/ajax/ajaxdirpreview.php',1); ?>?action=preview&module=ecm§ion='+section+'&file='+urlencode(filedirname);
|
||||||
|
$.get(url, function(data) {
|
||||||
|
//alert('Load of url '+url+' was performed : '+data);
|
||||||
|
pos=data.indexOf("TYPE=directory",0);
|
||||||
|
//alert(pos);
|
||||||
|
if ((pos > 0) && (pos < 20))
|
||||||
|
{
|
||||||
|
filediractive=filedirname; // Save current dirname
|
||||||
|
filetypeactive='directory';
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
filediractive=filedirname; // Save current dirname
|
||||||
|
filetypeactive='file';
|
||||||
|
}
|
||||||
|
$('#ecmfileview').append(data);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
ecmBuildDatabase = function() {
|
||||||
|
$.pleaseBePatient("<?php echo $langs->trans('PleaseBePatient'); ?>");
|
||||||
|
$.getJSON( "<?php echo DOL_URL_ROOT . '/ecm/ajax/ecmdatabase.php'; ?>", {
|
||||||
|
action: "build",
|
||||||
|
element: "ecm"
|
||||||
|
},
|
||||||
|
function(response) {
|
||||||
|
$.unblockUI();
|
||||||
|
location.href="<?php echo $_SERVER['PHP_SELF']; ?>";
|
||||||
|
});
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
<!-- END PHP TEMPLATE FOR JQUERY -->
|
||||||
@ -21,7 +21,7 @@
|
|||||||
* \ingroup holiday
|
* \ingroup holiday
|
||||||
* \brief Class file of the module paid holiday.
|
* \brief Class file of the module paid holiday.
|
||||||
*/
|
*/
|
||||||
require_once DOL_DOCUMENT_ROOT .'/core/class/commonobject.class.php';
|
require_once DOL_DOCUMENT_ROOT .'/core/class/commonobject.class.php';
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -41,7 +41,7 @@ $action=GETPOST('action');
|
|||||||
* View
|
* View
|
||||||
*/
|
*/
|
||||||
|
|
||||||
$form = new Form($db);
|
$form = new Form($db);
|
||||||
|
|
||||||
llxHeader(array(),$langs->trans('CPTitreMenu'));
|
llxHeader(array(),$langs->trans('CPTitreMenu'));
|
||||||
|
|
||||||
@ -113,23 +113,23 @@ elseif($action == 'add_event')
|
|||||||
$var=true;
|
$var=true;
|
||||||
$i = 0;
|
$i = 0;
|
||||||
|
|
||||||
$cp_events = $holiday->fetchEventsCP();
|
$cp_events = $holiday->fetchEventsCP();
|
||||||
|
|
||||||
if($cp_events == 1)
|
if($cp_events == 1)
|
||||||
{
|
{
|
||||||
print '<br><form method="POST" action="'.$_SERVER["PHP_SELF"].'">'."\n";
|
print '<br><form method="POST" action="'.$_SERVER["PHP_SELF"].'">'."\n";
|
||||||
print '<input type="hidden" name="action" value="add_event" />';
|
print '<input type="hidden" name="action" value="add_event" />';
|
||||||
|
|
||||||
print_fiche_titre($langs->trans('DefineEventUserCP'),'','');
|
print_fiche_titre($langs->trans('DefineEventUserCP'),'','');
|
||||||
|
|
||||||
print $langs->trans('MotifCP').' : ';
|
print $langs->trans('MotifCP').' : ';
|
||||||
print $holiday->selectEventCP();
|
print $holiday->selectEventCP();
|
||||||
print ' '.$langs->trans('UserCP').' : ';
|
print ' '.$langs->trans('UserCP').' : ';
|
||||||
print $form->select_users('',"userCP",1,"",0,'');
|
print $form->select_users('',"userCP",1,"",0,'');
|
||||||
print ' <input type="submit" value="'.$langs->trans("addEventToUserCP").'" name="bouton" class="button"/>';
|
print ' <input type="submit" value="'.$langs->trans("addEventToUserCP").'" name="bouton" class="button"/>';
|
||||||
|
|
||||||
print '</form><br>';
|
print '</form><br>';
|
||||||
}
|
}
|
||||||
|
|
||||||
dol_fiche_head();
|
dol_fiche_head();
|
||||||
|
|
||||||
|
|||||||
@ -27,8 +27,8 @@ require_once DOL_DOCUMENT_ROOT.'/core/class/html.form.class.php';
|
|||||||
require_once DOL_DOCUMENT_ROOT.'/user/class/usergroup.class.php';
|
require_once DOL_DOCUMENT_ROOT.'/user/class/usergroup.class.php';
|
||||||
require_once DOL_DOCUMENT_ROOT.'/core/class/html.formfile.class.php';
|
require_once DOL_DOCUMENT_ROOT.'/core/class/html.formfile.class.php';
|
||||||
require_once DOL_DOCUMENT_ROOT.'/core/class/CMailFile.class.php';
|
require_once DOL_DOCUMENT_ROOT.'/core/class/CMailFile.class.php';
|
||||||
require_once DOL_DOCUMENT_ROOT.'/core/class/html.formmail.class.php';
|
require_once DOL_DOCUMENT_ROOT.'/core/class/html.formmail.class.php';
|
||||||
require_once DOL_DOCUMENT_ROOT.'/holiday/common.inc.php';
|
require_once DOL_DOCUMENT_ROOT.'/holiday/common.inc.php';
|
||||||
|
|
||||||
// Get parameters
|
// Get parameters
|
||||||
$myparam = GETPOST("myparam");
|
$myparam = GETPOST("myparam");
|
||||||
@ -891,16 +891,16 @@ elseif(isset($_GET['id']))
|
|||||||
print '</tr>';
|
print '</tr>';
|
||||||
|
|
||||||
// Status
|
// Status
|
||||||
print '<tr>';
|
print '<tr>';
|
||||||
print '<td>'.$langs->trans('StatutCP').'</td>';
|
print '<td>'.$langs->trans('StatutCP').'</td>';
|
||||||
print '<td><b>'.$cp->getStatutCP($cp->statut).'</b></td>';
|
print '<td><b>'.$cp->getStatutCP($cp->statut).'</b></td>';
|
||||||
print '</tr>';
|
print '</tr>';
|
||||||
if($cp->statut == 5) {
|
if($cp->statut == 5) {
|
||||||
print '<tr>';
|
print '<tr>';
|
||||||
print '<td>'.$langs->trans('DetailRefusCP').'</td>';
|
print '<td>'.$langs->trans('DetailRefusCP').'</td>';
|
||||||
print '<td>'.$cp->detail_refuse.'</td>';
|
print '<td>'.$cp->detail_refuse.'</td>';
|
||||||
print '</tr>';
|
print '</tr>';
|
||||||
}
|
}
|
||||||
|
|
||||||
// Description
|
// Description
|
||||||
if(!$edit) {
|
if(!$edit) {
|
||||||
|
|||||||
@ -27,34 +27,34 @@ require('../main.inc.php');
|
|||||||
require_once DOL_DOCUMENT_ROOT.'/core/class/html.form.class.php';
|
require_once DOL_DOCUMENT_ROOT.'/core/class/html.form.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.'/user/class/user.class.php';
|
require_once DOL_DOCUMENT_ROOT.'/user/class/user.class.php';
|
||||||
require_once DOL_DOCUMENT_ROOT.'/user/class/usergroup.class.php';
|
require_once DOL_DOCUMENT_ROOT.'/user/class/usergroup.class.php';
|
||||||
require_once DOL_DOCUMENT_ROOT.'/holiday/common.inc.php';
|
require_once DOL_DOCUMENT_ROOT.'/holiday/common.inc.php';
|
||||||
|
|
||||||
// Protection if external user
|
// Protection if external user
|
||||||
if ($user->societe_id > 0) accessforbidden();
|
if ($user->societe_id > 0) accessforbidden();
|
||||||
|
|
||||||
$sortfield = GETPOST("sortfield");
|
$sortfield = GETPOST("sortfield");
|
||||||
$sortorder = GETPOST("sortorder");
|
$sortorder = GETPOST("sortorder");
|
||||||
$page = GETPOST("page");
|
$page = GETPOST("page");
|
||||||
$page = is_numeric($page) ? $page : 0;
|
$page = is_numeric($page) ? $page : 0;
|
||||||
$page = $page == -1 ? 0 : $page;
|
$page = $page == -1 ? 0 : $page;
|
||||||
|
|
||||||
if (! $sortfield) $sortfield="cp.rowid";
|
if (! $sortfield) $sortfield="cp.rowid";
|
||||||
if (! $sortorder) $sortorder="DESC";
|
if (! $sortorder) $sortorder="DESC";
|
||||||
$offset = $conf->liste_limit * $page ;
|
$offset = $conf->liste_limit * $page ;
|
||||||
$pageprev = $page - 1;
|
$pageprev = $page - 1;
|
||||||
$pagenext = $page + 1;
|
$pagenext = $page + 1;
|
||||||
|
|
||||||
$search_ref = GETPOST('search_ref');
|
$search_ref = GETPOST('search_ref');
|
||||||
$month_create = GETPOST('month_create');
|
$month_create = GETPOST('month_create');
|
||||||
$year_create = GETPOST('year_create');
|
$year_create = GETPOST('year_create');
|
||||||
$month_start = GETPOST('month_start');
|
$month_start = GETPOST('month_start');
|
||||||
$year_start = GETPOST('year_start');
|
$year_start = GETPOST('year_start');
|
||||||
$month_end = GETPOST('month_end');
|
$month_end = GETPOST('month_end');
|
||||||
$year_end = GETPOST('year_end');
|
$year_end = GETPOST('year_end');
|
||||||
$search_employe = GETPOST('search_employe');
|
$search_employe = GETPOST('search_employe');
|
||||||
$search_valideur = GETPOST('search_valideur');
|
$search_valideur = GETPOST('search_valideur');
|
||||||
$search_statut = GETPOST('select_statut');
|
$search_statut = GETPOST('select_statut');
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -74,7 +74,7 @@ $min_year = 10;
|
|||||||
|
|
||||||
llxHeader(array(),$langs->trans('CPTitreMenu'));
|
llxHeader(array(),$langs->trans('CPTitreMenu'));
|
||||||
|
|
||||||
$order = $db->order($sortfield,$sortorder).$db->plimit($conf->liste_limit + 1, $offset);
|
$order = $db->order($sortfield,$sortorder).$db->plimit($conf->liste_limit + 1, $offset);
|
||||||
|
|
||||||
// WHERE
|
// WHERE
|
||||||
if(!empty($search_ref)){
|
if(!empty($search_ref)){
|
||||||
|
|||||||
@ -25,8 +25,8 @@
|
|||||||
require('../main.inc.php');
|
require('../main.inc.php');
|
||||||
require_once DOL_DOCUMENT_ROOT.'/user/class/user.class.php';
|
require_once DOL_DOCUMENT_ROOT.'/user/class/user.class.php';
|
||||||
require_once DOL_DOCUMENT_ROOT.'/core/class/html.form.class.php';
|
require_once DOL_DOCUMENT_ROOT.'/core/class/html.form.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.'/holiday/common.inc.php';
|
require_once DOL_DOCUMENT_ROOT.'/holiday/common.inc.php';
|
||||||
|
|
||||||
// Protection if external user
|
// Protection if external user
|
||||||
if ($user->societe_id > 0) accessforbidden();
|
if ($user->societe_id > 0) accessforbidden();
|
||||||
|
|||||||
@ -24,8 +24,8 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
require('../main.inc.php');
|
require('../main.inc.php');
|
||||||
require_once DOL_DOCUMENT_ROOT.'/user/class/user.class.php';
|
require_once DOL_DOCUMENT_ROOT.'/user/class/user.class.php';
|
||||||
require_once DOL_DOCUMENT_ROOT.'/holiday/common.inc.php';
|
require_once DOL_DOCUMENT_ROOT.'/holiday/common.inc.php';
|
||||||
|
|
||||||
// Protection if external user
|
// Protection if external user
|
||||||
if ($user->societe_id > 0) accessforbidden();
|
if ($user->societe_id > 0) accessforbidden();
|
||||||
|
|||||||
@ -33,7 +33,7 @@ require_once $dolibarr_main_document_root . '/core/lib/security.lib.php'; // for
|
|||||||
|
|
||||||
$setuplang=GETPOST("selectlang",'',3)?GETPOST("selectlang",'',3):'auto';
|
$setuplang=GETPOST("selectlang",'',3)?GETPOST("selectlang",'',3):'auto';
|
||||||
$langs->setDefaultLang($setuplang);
|
$langs->setDefaultLang($setuplang);
|
||||||
$versionfrom=GETPOST("versionfrom",'',3)?GETPOST("versionfrom",'',3):(empty($argv[1])?'':$argv[1]);
|
$versionfrom=GETPOST("versionfrom",'',3)?GETPOST("versionfrom",'',3):(empty($argv[1])?'':$argv[1]);
|
||||||
$versionto=GETPOST("versionto",'',3)?GETPOST("versionto",'',3):(empty($argv[2])?'':$argv[2]);
|
$versionto=GETPOST("versionto",'',3)?GETPOST("versionto",'',3):(empty($argv[2])?'':$argv[2]);
|
||||||
$action=GETPOST('action', 'alpha');
|
$action=GETPOST('action', 'alpha');
|
||||||
|
|
||||||
|
|||||||
@ -89,6 +89,8 @@ ALTER TABLE llx_actioncomm MODIFY elementtype VARCHAR(32);
|
|||||||
|
|
||||||
-- TASK #107
|
-- TASK #107
|
||||||
ALTER TABLE llx_ecm_directories MODIFY COLUMN label varchar(64) NOT NULL;
|
ALTER TABLE llx_ecm_directories MODIFY COLUMN label varchar(64) NOT NULL;
|
||||||
|
ALTER TABLE llx_ecm_directories ADD COLUMN fullpath varchar(255) AFTER cachenbofdoc;
|
||||||
|
ALTER TABLE llx_ecm_directories ADD COLUMN extraparams varchar(255) AFTER fullpath;
|
||||||
ALTER TABLE llx_ecm_directories ADD COLUMN acl text;
|
ALTER TABLE llx_ecm_directories ADD COLUMN acl text;
|
||||||
ALTER TABLE llx_ecm_directories ADD INDEX idx_ecm_directories_fk_user_c (fk_user_c);
|
ALTER TABLE llx_ecm_directories ADD INDEX idx_ecm_directories_fk_user_c (fk_user_c);
|
||||||
ALTER TABLE llx_ecm_directories ADD INDEX idx_ecm_directories_fk_user_m (fk_user_m);
|
ALTER TABLE llx_ecm_directories ADD INDEX idx_ecm_directories_fk_user_m (fk_user_m);
|
||||||
@ -105,6 +107,7 @@ ALTER TABLE llx_ecm_documents DROP COLUMN cipher;
|
|||||||
ALTER TABLE llx_ecm_documents CHANGE COLUMN fullpath_dol fullpath varchar(255) NOT NULL;
|
ALTER TABLE llx_ecm_documents CHANGE COLUMN fullpath_dol fullpath varchar(255) NOT NULL;
|
||||||
ALTER TABLE llx_ecm_documents MODIFY COLUMN filemime varchar(128) NOT NULL;
|
ALTER TABLE llx_ecm_documents MODIFY COLUMN filemime varchar(128) NOT NULL;
|
||||||
ALTER TABLE llx_ecm_documents ADD COLUMN metadata text after description;
|
ALTER TABLE llx_ecm_documents ADD COLUMN metadata text after description;
|
||||||
|
ALTER TABLE llx_ecm_documents ADD COLUMN extraparams varchar(255) AFTER fk_directory;
|
||||||
ALTER TABLE llx_ecm_documents ADD UNIQUE INDEX idx_ecm_documents_ref (ref, fk_directory, entity);
|
ALTER TABLE llx_ecm_documents ADD UNIQUE INDEX idx_ecm_documents_ref (ref, fk_directory, entity);
|
||||||
ALTER TABLE llx_ecm_documents ADD INDEX idx_ecm_documents_fk_create (fk_create);
|
ALTER TABLE llx_ecm_documents ADD INDEX idx_ecm_documents_fk_create (fk_create);
|
||||||
ALTER TABLE llx_ecm_documents ADD INDEX idx_ecm_documents_fk_update (fk_update);
|
ALTER TABLE llx_ecm_documents ADD INDEX idx_ecm_documents_fk_update (fk_update);
|
||||||
@ -192,3 +195,10 @@ INSERT INTO llx_holiday_config (rowid ,name ,value) VALUES (NULL , 'AlertValidat
|
|||||||
INSERT INTO llx_holiday_config (rowid ,name ,value) VALUES (NULL , 'nbHolidayDeducted', '1');
|
INSERT INTO llx_holiday_config (rowid ,name ,value) VALUES (NULL , 'nbHolidayDeducted', '1');
|
||||||
INSERT INTO llx_holiday_config (rowid ,name ,value) VALUES (NULL , 'nbHolidayEveryMonth', '2.08334');
|
INSERT INTO llx_holiday_config (rowid ,name ,value) VALUES (NULL , 'nbHolidayEveryMonth', '2.08334');
|
||||||
|
|
||||||
|
|
||||||
|
DELETE FROM llx_document_model WHERE (nom = 'oursin' AND type ='invoice') OR (nom = 'edison' AND type ='order') OR (nom = 'jaune' AND type ='propal');
|
||||||
|
|
||||||
|
ALTER TABLE llx_boxes DROP INDEX uk_boxes;
|
||||||
|
ALTER TABLE llx_boxes ADD COLUMN entity integer NOT NULL DEFAULT 1 AFTER rowid;
|
||||||
|
ALTER TABLE llx_boxes ADD UNIQUE INDEX uk_boxes (entity, box_id, position, fk_user);
|
||||||
|
UPDATE llx_boxes as b SET b.entity = (SELECT bd.entity FROM llx_boxes_def as bd WHERE bd.rowid = b.box_id);
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
-- ===================================================================
|
-- ===================================================================
|
||||||
-- Copyright (C) 2006-2009 Laurent Destailleur <eldy@users.sourceforge.net>
|
-- Copyright (C) 2006-2009 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||||
|
-- Copyright (C) 2006-2012 Regis Houssin <regis@dolibarr.fr>
|
||||||
--
|
--
|
||||||
-- This program is free software; you can redistribute it and/or modify
|
-- This program is free software; you can redistribute it and/or modify
|
||||||
-- it under the terms of the GNU General Public License as published by
|
-- it under the terms of the GNU General Public License as published by
|
||||||
@ -17,7 +18,7 @@
|
|||||||
-- ===================================================================
|
-- ===================================================================
|
||||||
|
|
||||||
|
|
||||||
ALTER TABLE llx_boxes ADD UNIQUE INDEX uk_boxes (box_id, position, fk_user);
|
ALTER TABLE llx_boxes ADD UNIQUE INDEX uk_boxes (entity, box_id, position, fk_user);
|
||||||
|
|
||||||
-- Supprime orphelins pour permettre montee de la cle
|
-- Supprime orphelins pour permettre montee de la cle
|
||||||
-- V4 DELETE llx_boxes FROM llx_boxes LEFT JOIN llx_boxes_def ON llx_boxes.box_id = llx_boxes_def.rowid WHERE llx_boxes_def.rowid IS NULL;
|
-- V4 DELETE llx_boxes FROM llx_boxes LEFT JOIN llx_boxes_def ON llx_boxes.box_id = llx_boxes_def.rowid WHERE llx_boxes_def.rowid IS NULL;
|
||||||
|
|||||||
@ -1,6 +1,7 @@
|
|||||||
-- ============================================================================
|
-- ============================================================================
|
||||||
-- Copyright (C) 2003 Rodolphe Quiedeville <rodolphe@quiedeville.org>
|
-- Copyright (C) 2003 Rodolphe Quiedeville <rodolphe@quiedeville.org>
|
||||||
-- Copyright (C) 2006-2012 Laurent Destailleur <eldy@users.sourceforge.net>
|
-- Copyright (C) 2006-2012 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||||
|
-- Copyright (C) 2006-2012 Regis Houssin <regis@dolibarr.fr>
|
||||||
--
|
--
|
||||||
-- This program is free software; you can redistribute it and/or modify
|
-- This program is free software; you can redistribute it and/or modify
|
||||||
-- it under the terms of the GNU General Public License as published by
|
-- it under the terms of the GNU General Public License as published by
|
||||||
@ -24,10 +25,12 @@
|
|||||||
|
|
||||||
create table llx_boxes
|
create table llx_boxes
|
||||||
(
|
(
|
||||||
rowid integer AUTO_INCREMENT PRIMARY KEY,
|
rowid integer AUTO_INCREMENT PRIMARY KEY,
|
||||||
box_id integer NOT NULL,
|
entity integer NOT NULL DEFAULT 1,
|
||||||
position smallint NOT NULL,
|
box_id integer NOT NULL,
|
||||||
box_order varchar(3) NOT NULL,
|
position smallint NOT NULL,
|
||||||
fk_user integer default 0 NOT NULL,
|
box_order varchar(3) NOT NULL,
|
||||||
maxline integer NULL
|
fk_user integer default 0 NOT NULL,
|
||||||
|
maxline integer NULL
|
||||||
|
|
||||||
)ENGINE=innodb;
|
)ENGINE=innodb;
|
||||||
|
|||||||
@ -23,10 +23,12 @@ create table llx_ecm_directories
|
|||||||
(
|
(
|
||||||
rowid integer AUTO_INCREMENT PRIMARY KEY,
|
rowid integer AUTO_INCREMENT PRIMARY KEY,
|
||||||
label varchar(64) NOT NULL,
|
label varchar(64) NOT NULL,
|
||||||
entity integer DEFAULT 1 NOT NULL, -- multi company id
|
entity integer DEFAULT 1 NOT NULL, -- multi company id
|
||||||
fk_parent integer,
|
fk_parent integer,
|
||||||
description varchar(255) NOT NULL,
|
description varchar(255) NOT NULL,
|
||||||
cachenbofdoc integer NOT NULL DEFAULT 0,
|
cachenbofdoc integer NOT NULL DEFAULT 0,
|
||||||
|
fullpath varchar(255), -- can be NULL for virtual directory
|
||||||
|
extraparams varchar(255), -- for stock other parameters with json format
|
||||||
date_c datetime,
|
date_c datetime,
|
||||||
date_m timestamp,
|
date_m timestamp,
|
||||||
fk_user_c integer,
|
fk_user_c integer,
|
||||||
|
|||||||
@ -30,6 +30,7 @@ create table llx_ecm_documents
|
|||||||
metadata text,
|
metadata text,
|
||||||
fullpath varchar(255) NOT NULL,
|
fullpath varchar(255) NOT NULL,
|
||||||
fk_directory integer,
|
fk_directory integer,
|
||||||
|
extraparams varchar(255), -- for stock other parameters with json format
|
||||||
fk_create integer NOT NULL,
|
fk_create integer NOT NULL,
|
||||||
fk_update integer,
|
fk_update integer,
|
||||||
date_c datetime NOT NULL,
|
date_c datetime NOT NULL,
|
||||||
|
|||||||
@ -48,8 +48,8 @@ $versionfrom=GETPOST("versionfrom",'',3)?GETPOST("versionfrom",'',3):(empty($arg
|
|||||||
$versionto=GETPOST("versionto",'',3)?GETPOST("versionto",'',3):(empty($argv[2])?'':$argv[2]);
|
$versionto=GETPOST("versionto",'',3)?GETPOST("versionto",'',3):(empty($argv[2])?'':$argv[2]);
|
||||||
|
|
||||||
$langs->load("admin");
|
$langs->load("admin");
|
||||||
$langs->load("install");
|
$langs->load("install");
|
||||||
$langs->load("errors");
|
$langs->load("errors");
|
||||||
|
|
||||||
if ($dolibarr_main_db_type == "mysql") $choix=1;
|
if ($dolibarr_main_db_type == "mysql") $choix=1;
|
||||||
if ($dolibarr_main_db_type == "mysqli") $choix=1;
|
if ($dolibarr_main_db_type == "mysqli") $choix=1;
|
||||||
@ -155,16 +155,16 @@ if (! GETPOST("action") || preg_match('/upgrade/i',GETPOST('action')))
|
|||||||
dolibarr_install_syslog("upgrade: ".$langs->transnoentities("ServerVersion")." : $version");
|
dolibarr_install_syslog("upgrade: ".$langs->transnoentities("ServerVersion")." : $version");
|
||||||
|
|
||||||
// Test database version
|
// Test database version
|
||||||
$versionmindb=getStaticMember(get_class($db),'versionmin');
|
$versionmindb=getStaticMember(get_class($db),'versionmin');
|
||||||
//print join('.',$versionarray).' - '.join('.',$versionmindb);
|
//print join('.',$versionarray).' - '.join('.',$versionmindb);
|
||||||
if (count($versionmindb) && count($versionarray)
|
if (count($versionmindb) && count($versionarray)
|
||||||
&& versioncompare($versionarray,$versionmindb) < 0)
|
&& versioncompare($versionarray,$versionmindb) < 0)
|
||||||
{
|
{
|
||||||
// Warning: database version too low.
|
// Warning: database version too low.
|
||||||
print "<tr><td>".$langs->trans("ErrorDatabaseVersionTooLow",join('.',$versionarray),join('.',$versionmindb))."</td><td align=\"right\">".$langs->trans("Error")."</td></tr>\n";
|
print "<tr><td>".$langs->trans("ErrorDatabaseVersionTooLow",join('.',$versionarray),join('.',$versionmindb))."</td><td align=\"right\">".$langs->trans("Error")."</td></tr>\n";
|
||||||
dolibarr_install_syslog("upgrade: ".$langs->transnoentities("ErrorDatabaseVersionTooLow",join('.',$versionarray),join('.',$versionmindb)));
|
dolibarr_install_syslog("upgrade: ".$langs->transnoentities("ErrorDatabaseVersionTooLow",join('.',$versionarray),join('.',$versionmindb)));
|
||||||
$ok=0;
|
$ok=0;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -311,7 +311,7 @@ if (! GETPOST("action") || preg_match('/upgrade/i',GETPOST('action')))
|
|||||||
$dir = "mysql/migration/"; // We use mysql migration scripts whatever is database driver
|
$dir = "mysql/migration/"; // We use mysql migration scripts whatever is database driver
|
||||||
|
|
||||||
// For minor version
|
// For minor version
|
||||||
$newversionfrom=preg_replace('/(\.[0-9]+)$/i','.0',$versionfrom);
|
$newversionfrom=preg_replace('/(\.[0-9]+)$/i','.0',$versionfrom);
|
||||||
$newversionto=preg_replace('/(\.[0-9]+)$/i','.0',$versionto);
|
$newversionto=preg_replace('/(\.[0-9]+)$/i','.0',$versionto);
|
||||||
|
|
||||||
$filelist=array();
|
$filelist=array();
|
||||||
|
|||||||
@ -963,11 +963,11 @@ function top_htmlhead($head, $title='', $disablejs=0, $disablehead=0, $arrayofjs
|
|||||||
print '<script type="text/javascript" src="'.DOL_URL_ROOT.'/includes/jquery/plugins/jnotify/jquery.jnotify.min.js"></script>'."\n";
|
print '<script type="text/javascript" src="'.DOL_URL_ROOT.'/includes/jquery/plugins/jnotify/jquery.jnotify.min.js"></script>'."\n";
|
||||||
print '<script type="text/javascript" src="'.DOL_URL_ROOT.'/core/js/jnotify.js"></script>'."\n";
|
print '<script type="text/javascript" src="'.DOL_URL_ROOT.'/core/js/jnotify.js"></script>'."\n";
|
||||||
}
|
}
|
||||||
// jQuery blockUI
|
// jQuery blockUI
|
||||||
if (! empty($conf->global->MAIN_USE_JQUERY_BLOCKUI) || defined('REQUIRE_JQUERY_BLOCKUI'))
|
if (! empty($conf->global->MAIN_USE_JQUERY_BLOCKUI) || defined('REQUIRE_JQUERY_BLOCKUI'))
|
||||||
{
|
{
|
||||||
print '<script type="text/javascript" src="'.DOL_URL_ROOT.'/includes/jquery/plugins/blockUI/jquery.blockUI.js"></script>'."\n";
|
print '<script type="text/javascript" src="'.DOL_URL_ROOT.'/includes/jquery/plugins/blockUI/jquery.blockUI.js"></script>'."\n";
|
||||||
print '<script type="text/javascript" src="'.DOL_URL_ROOT.'/core/js/blockUI.js"></script>'."\n";
|
print '<script type="text/javascript" src="'.DOL_URL_ROOT.'/core/js/blockUI.js"></script>'."\n";
|
||||||
}
|
}
|
||||||
// Flot
|
// Flot
|
||||||
if (empty($conf->global->MAIN_DISABLE_JQUERY_FLOT))
|
if (empty($conf->global->MAIN_DISABLE_JQUERY_FLOT))
|
||||||
|
|||||||
@ -78,7 +78,7 @@ if (defined('TEST_DB_FORCE_TYPE')) $conf->db->type=constant('TEST_DB_FORCE_TYPE'
|
|||||||
$conf->file->strict_mode = empty($dolibarr_strict_mode)?'':$dolibarr_strict_mode;
|
$conf->file->strict_mode = empty($dolibarr_strict_mode)?'':$dolibarr_strict_mode;
|
||||||
// Force Multi-Company transverse mode
|
// Force Multi-Company transverse mode
|
||||||
$conf->multicompany->transverse_mode = empty($multicompany_transverse_mode)?'':$multicompany_transverse_mode;
|
$conf->multicompany->transverse_mode = empty($multicompany_transverse_mode)?'':$multicompany_transverse_mode;
|
||||||
// Force entity in login page
|
// Force entity in login page
|
||||||
$conf->multicompany->force_entity = empty($multicompany_force_entity)?'':(int) $multicompany_force_entity;
|
$conf->multicompany->force_entity = empty($multicompany_force_entity)?'':(int) $multicompany_force_entity;
|
||||||
|
|
||||||
// Chargement des includes principaux de librairies communes
|
// Chargement des includes principaux de librairies communes
|
||||||
|
|||||||
@ -40,7 +40,7 @@ $oldvatrate=GETPOST('oldvatrate');
|
|||||||
$newvatrate=GETPOST('newvatrate');
|
$newvatrate=GETPOST('newvatrate');
|
||||||
//$price_base_type=GETPOST('price_base_type');
|
//$price_base_type=GETPOST('price_base_type');
|
||||||
|
|
||||||
$objectstatic = new Product($db);
|
$objectstatic = new Product($db);
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -96,7 +96,7 @@ if ($action == 'convert')
|
|||||||
if ($newminprice > $newprice) $newminprice=$newprice;
|
if ($newminprice > $newprice) $newminprice=$newprice;
|
||||||
$newvat=str_replace('*','',$newvatrate);
|
$newvat=str_replace('*','',$newvatrate);
|
||||||
$newnpr=$objectstatic->recuperableonly;
|
$newnpr=$objectstatic->recuperableonly;
|
||||||
$newlevel=0;
|
$newlevel=0;
|
||||||
|
|
||||||
$ret=$objectstatic->updatePrice($objectstatic->id, $newprice, $price_base_type, $user, $newvat, $newminprice, $newlevel, $newnpr);
|
$ret=$objectstatic->updatePrice($objectstatic->id, $newprice, $price_base_type, $user, $newvat, $newminprice, $newlevel, $newnpr);
|
||||||
if ($ret < 0) $error++;
|
if ($ret < 0) $error++;
|
||||||
@ -106,7 +106,7 @@ if ($action == 'convert')
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$i++;
|
$i++;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (! $error)
|
if (! $error)
|
||||||
|
|||||||
@ -69,7 +69,7 @@ if (! empty($action) && $action == 'fetch' && ! empty($id))
|
|||||||
$found=false;
|
$found=false;
|
||||||
|
|
||||||
// Multiprice
|
// Multiprice
|
||||||
if ($price_level >= 1) // If we need a particular price level (from 1 to 6)
|
if (isset($price_level) && $price_level >= 1) // If we need a particular price level (from 1 to 6)
|
||||||
{
|
{
|
||||||
$sql = "SELECT price, price_ttc, price_base_type, tva_tx";
|
$sql = "SELECT price, price_ttc, price_base_type, tva_tx";
|
||||||
$sql.= " FROM ".MAIN_DB_PREFIX."product_price ";
|
$sql.= " FROM ".MAIN_DB_PREFIX."product_price ";
|
||||||
|
|||||||
@ -1028,14 +1028,14 @@ class Product extends CommonObject
|
|||||||
|
|
||||||
$this->_log_price($user,$level);
|
$this->_log_price($user,$level);
|
||||||
|
|
||||||
// Appel des triggers
|
// Appel des triggers
|
||||||
include_once(DOL_DOCUMENT_ROOT . "/core/class/interfaces.class.php");
|
include_once(DOL_DOCUMENT_ROOT . "/core/class/interfaces.class.php");
|
||||||
$interface=new Interfaces($this->db);
|
$interface=new Interfaces($this->db);
|
||||||
$result=$interface->run_triggers('PRODUCT_PRICE_MODIFY',$this,$user,$langs,$conf);
|
$result=$interface->run_triggers('PRODUCT_PRICE_MODIFY',$this,$user,$langs,$conf);
|
||||||
if ($result < 0)
|
if ($result < 0)
|
||||||
{
|
{
|
||||||
$error++; $this->errors=$interface->errors;
|
$error++; $this->errors=$interface->errors;
|
||||||
}
|
}
|
||||||
// Fin appel triggers
|
// Fin appel triggers
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|||||||
@ -262,31 +262,31 @@ if ($action == 'add')
|
|||||||
$result=$adh->send_an_email($conf->global->ADHERENT_AUTOREGISTER_MAIL,$conf->global->ADHERENT_AUTOREGISTER_MAIL_SUBJECT,array(),array(),array(),"","",0,-1);
|
$result=$adh->send_an_email($conf->global->ADHERENT_AUTOREGISTER_MAIL,$conf->global->ADHERENT_AUTOREGISTER_MAIL_SUBJECT,array(),array(),array(),"","",0,-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Send email to the foundation to say a new member subscribed with autosubscribe form
|
// Send email to the foundation to say a new member subscribed with autosubscribe form
|
||||||
if (! empty($conf->global->MAIN_INFO_SOCIETE_MAIL) && ! empty($conf->global->ADHERENT_AUTOREGISTER_NOTIF_MAIL_SUBJECT) &&
|
if (! empty($conf->global->MAIN_INFO_SOCIETE_MAIL) && ! empty($conf->global->ADHERENT_AUTOREGISTER_NOTIF_MAIL_SUBJECT) &&
|
||||||
! empty($conf->global->ADHERENT_AUTOREGISTER_NOTIF_MAIL) )
|
! empty($conf->global->ADHERENT_AUTOREGISTER_NOTIF_MAIL) )
|
||||||
{
|
{
|
||||||
$to=$adh->makeSubstitution($conf->global->MAIN_INFO_SOCIETE_MAIL);
|
$to=$adh->makeSubstitution($conf->global->MAIN_INFO_SOCIETE_MAIL);
|
||||||
$from=$conf->global->ADHERENT_MAIL_FROM;
|
$from=$conf->global->ADHERENT_MAIL_FROM;
|
||||||
$mailfile = new CMailFile(
|
$mailfile = new CMailFile(
|
||||||
$conf->global->ADHERENT_AUTOREGISTER_NOTIF_MAIL_SUBJECT,
|
$conf->global->ADHERENT_AUTOREGISTER_NOTIF_MAIL_SUBJECT,
|
||||||
$to,
|
$to,
|
||||||
$from,
|
$from,
|
||||||
$adh->makeSubstitution($conf->global->ADHERENT_AUTOREGISTER_NOTIF_MAIL),
|
$adh->makeSubstitution($conf->global->ADHERENT_AUTOREGISTER_NOTIF_MAIL),
|
||||||
array(),
|
array(),
|
||||||
array(),
|
array(),
|
||||||
array(),
|
array(),
|
||||||
"",
|
"",
|
||||||
"",
|
"",
|
||||||
0,
|
0,
|
||||||
-1
|
-1
|
||||||
);
|
);
|
||||||
|
|
||||||
if (! $mailfile->sendfile())
|
if (! $mailfile->sendfile())
|
||||||
{
|
{
|
||||||
dol_syslog($langs->trans("ErrorFailedToSendMail",$from,$to), LOG_ERR);
|
dol_syslog($langs->trans("ErrorFailedToSendMail",$from,$to), LOG_ERR);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (! empty($backtopage)) $urlback=$backtopage;
|
if (! empty($backtopage)) $urlback=$backtopage;
|
||||||
else if ($conf->global->MEMBER_URL_REDIRECT_SUBSCRIPTION)
|
else if ($conf->global->MEMBER_URL_REDIRECT_SUBSCRIPTION)
|
||||||
|
|||||||
@ -56,7 +56,7 @@ if (isset($conf->global->MAIN_OPTIMIZE_SPEED) && ($conf->global->MAIN_OPTIMIZE_S
|
|||||||
print '<!-- Includes JS for JQuery -->'."\n";
|
print '<!-- Includes JS for JQuery -->'."\n";
|
||||||
if (constant('JS_JQUERY')) print '<script type="text/javascript" src="'.JS_JQUERY.'jquery.min.js"></script>'."\n";
|
if (constant('JS_JQUERY')) print '<script type="text/javascript" src="'.JS_JQUERY.'jquery.min.js"></script>'."\n";
|
||||||
else print '<script type="text/javascript" src="'.DOL_URL_ROOT.'/includes/jquery/js/jquery-latest.min'.$ext.'"></script>'."\n";
|
else print '<script type="text/javascript" src="'.DOL_URL_ROOT.'/includes/jquery/js/jquery-latest.min'.$ext.'"></script>'."\n";
|
||||||
print '<script type="text/javascript" src="'.DOL_URL_ROOT.'/core/js/dst.js"></script>'."\n";
|
print '<script type="text/javascript" src="'.DOL_URL_ROOT.'/core/js/dst.js"></script>'."\n";
|
||||||
print '<link rel="stylesheet" type="text/css" href="'.dol_escape_htmltag($conf_css).'" />
|
print '<link rel="stylesheet" type="text/css" href="'.dol_escape_htmltag($conf_css).'" />
|
||||||
<style type="text/css">
|
<style type="text/css">
|
||||||
<!--
|
<!--
|
||||||
|
|||||||
@ -34,25 +34,25 @@ print '<head>
|
|||||||
print '<!-- Includes for JQuery (Ajax library) -->'."\n";
|
print '<!-- Includes for JQuery (Ajax library) -->'."\n";
|
||||||
if (constant('JS_JQUERY_UI')) print '<link rel="stylesheet" type="text/css" href="'.JS_JQUERY_UI.'css/'.$jquerytheme.'/jquery-ui.min.css" />'."\n"; // JQuery
|
if (constant('JS_JQUERY_UI')) print '<link rel="stylesheet" type="text/css" href="'.JS_JQUERY_UI.'css/'.$jquerytheme.'/jquery-ui.min.css" />'."\n"; // JQuery
|
||||||
else print '<link rel="stylesheet" type="text/css" href="'.DOL_URL_ROOT.'/includes/jquery/css/'.$jquerytheme.'/jquery-ui-latest.custom.css" />'."\n"; // JQuery
|
else print '<link rel="stylesheet" type="text/css" href="'.DOL_URL_ROOT.'/includes/jquery/css/'.$jquerytheme.'/jquery-ui-latest.custom.css" />'."\n"; // JQuery
|
||||||
// CSS forced by modules (relative url starting with /)
|
// CSS forced by modules (relative url starting with /)
|
||||||
if (isset($conf->modules_parts['css']))
|
if (isset($conf->modules_parts['css']))
|
||||||
{
|
{
|
||||||
$arraycss=(array) $conf->modules_parts['css'];
|
$arraycss=(array) $conf->modules_parts['css'];
|
||||||
foreach($arraycss as $modcss => $filescss)
|
foreach($arraycss as $modcss => $filescss)
|
||||||
{
|
{
|
||||||
$filescss=(array) $filescss; // To be sure filecss is an array
|
$filescss=(array) $filescss; // To be sure filecss is an array
|
||||||
foreach($filescss as $cssfile)
|
foreach($filescss as $cssfile)
|
||||||
{
|
{
|
||||||
// cssfile is a relative path
|
// cssfile is a relative path
|
||||||
print '<link rel="stylesheet" type="text/css" title="default" href="'.dol_buildpath($cssfile,1);
|
print '<link rel="stylesheet" type="text/css" title="default" href="'.dol_buildpath($cssfile,1);
|
||||||
// We add params only if page is not static, because some web server setup does not return content type text/css if url has parameters, so browser cache is not used.
|
// We add params only if page is not static, because some web server setup does not return content type text/css if url has parameters, so browser cache is not used.
|
||||||
if (!preg_match('/\.css$/i',$cssfile)) print $themeparam;
|
if (!preg_match('/\.css$/i',$cssfile)) print $themeparam;
|
||||||
print '"><!-- Added by module '.$modcss. '-->'."\n";
|
print '"><!-- Added by module '.$modcss. '-->'."\n";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// JQuery. Must be before other includes
|
// JQuery. Must be before other includes
|
||||||
$ext='.js';
|
$ext='.js';
|
||||||
if (isset($conf->global->MAIN_OPTIMIZE_SPEED) && ($conf->global->MAIN_OPTIMIZE_SPEED & 0x01)) $ext='.jgz';
|
if (isset($conf->global->MAIN_OPTIMIZE_SPEED) && ($conf->global->MAIN_OPTIMIZE_SPEED & 0x01)) $ext='.jgz';
|
||||||
print '<!-- Includes JS for JQuery -->'."\n";
|
print '<!-- Includes JS for JQuery -->'."\n";
|
||||||
if (constant('JS_JQUERY')) print '<script type="text/javascript" src="'.JS_JQUERY.'jquery.min.js"></script>'."\n";
|
if (constant('JS_JQUERY')) print '<script type="text/javascript" src="'.JS_JQUERY.'jquery.min.js"></script>'."\n";
|
||||||
@ -86,7 +86,7 @@ print '<!-- HTTP_USER_AGENT = '.$_SERVER['HTTP_USER_AGENT'].' -->
|
|||||||
foreach ($hookmanager->resArray['options'] as $format => $option)
|
foreach ($hookmanager->resArray['options'] as $format => $option)
|
||||||
{
|
{
|
||||||
if ($format == 'div') {
|
if ($format == 'div') {
|
||||||
echo '<!-- Option by hook -->';
|
echo '<!-- Option by hook -->';
|
||||||
echo $option;
|
echo $option;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -51,12 +51,12 @@ $username = GETPOST('username');
|
|||||||
$passwordmd5 = GETPOST('passwordmd5');
|
$passwordmd5 = GETPOST('passwordmd5');
|
||||||
$conf->entity = (GETPOST('entity') ? GETPOST('entity') : 1);
|
$conf->entity = (GETPOST('entity') ? GETPOST('entity') : 1);
|
||||||
|
|
||||||
// Instantiate hooks of thirdparty module only if not already define
|
// Instantiate hooks of thirdparty module only if not already define
|
||||||
if (! is_object($hookmanager))
|
if (! is_object($hookmanager))
|
||||||
{
|
{
|
||||||
include_once DOL_DOCUMENT_ROOT.'/core/class/hookmanager.class.php';
|
include_once DOL_DOCUMENT_ROOT.'/core/class/hookmanager.class.php';
|
||||||
$hookmanager=new HookManager($db);
|
$hookmanager=new HookManager($db);
|
||||||
}
|
}
|
||||||
$hookmanager->initHooks(array('passwordforgottenpage'));
|
$hookmanager->initHooks(array('passwordforgottenpage'));
|
||||||
|
|
||||||
|
|
||||||
@ -176,7 +176,7 @@ else
|
|||||||
$conf->css = "/theme/".$conf->theme."/style.css.php?lang=".$langs->defaultlang;
|
$conf->css = "/theme/".$conf->theme."/style.css.php?lang=".$langs->defaultlang;
|
||||||
$conf_css = DOL_URL_ROOT.$conf->css;
|
$conf_css = DOL_URL_ROOT.$conf->css;
|
||||||
|
|
||||||
$jquerytheme = 'smoothness';
|
$jquerytheme = 'smoothness';
|
||||||
if (! empty($conf->global->MAIN_USE_JQUERY_THEME)) $jquerytheme = $conf->global->MAIN_USE_JQUERY_THEME;
|
if (! empty($conf->global->MAIN_USE_JQUERY_THEME)) $jquerytheme = $conf->global->MAIN_USE_JQUERY_THEME;
|
||||||
|
|
||||||
if (file_exists(DOL_DOCUMENT_ROOT.'/theme/'.$conf->theme.'/img/login_background.png'))
|
if (file_exists(DOL_DOCUMENT_ROOT.'/theme/'.$conf->theme.'/img/login_background.png'))
|
||||||
@ -225,9 +225,9 @@ if (function_exists("imagecreatefrompng") && ! $disabled)
|
|||||||
$captcha_refresh = img_picto($langs->trans("Refresh"),'refresh','id="captcha_refresh_img"');
|
$captcha_refresh = img_picto($langs->trans("Refresh"),'refresh','id="captcha_refresh_img"');
|
||||||
}
|
}
|
||||||
|
|
||||||
// Execute hook getPasswordForgottenPageOptions
|
// Execute hook getPasswordForgottenPageOptions
|
||||||
// Should be an array with differents options in $hookmanager->resArray
|
// Should be an array with differents options in $hookmanager->resArray
|
||||||
$parameters=array('entity' => GETPOST('entity','int'));
|
$parameters=array('entity' => GETPOST('entity','int'));
|
||||||
$hookmanager->executeHooks('getPasswordForgottenPageOptions',$parameters); // Note that $action and $object may have been modified by some hooks
|
$hookmanager->executeHooks('getPasswordForgottenPageOptions',$parameters); // Note that $action and $object may have been modified by some hooks
|
||||||
|
|
||||||
include $template_dir.'passwordforgotten.tpl.php'; // To use native PHP
|
include $template_dir.'passwordforgotten.tpl.php'; // To use native PHP
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user