Merge branch 'develop' of github.com:Dolibarr/dolibarr into NEW/add_real_payments_on_vat_objects
This commit is contained in:
commit
e2a73e6c88
@ -23,7 +23,7 @@ setup_empty_conf() {
|
|||||||
mkdir -p /etc/dolibarr
|
mkdir -p /etc/dolibarr
|
||||||
touch /etc/dolibarr/conf.php
|
touch /etc/dolibarr/conf.php
|
||||||
chown root:www-data /etc/dolibarr/conf.php
|
chown root:www-data /etc/dolibarr/conf.php
|
||||||
chmod 664 /etc/dolibarr/conf.php
|
chmod 660 /etc/dolibarr/conf.php
|
||||||
}
|
}
|
||||||
|
|
||||||
is_new_upstream_version() {
|
is_new_upstream_version() {
|
||||||
|
|||||||
@ -105,8 +105,8 @@ if (empty($includecustom)) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
print "Release : ".$release."\n";
|
|
||||||
print "Working on files into : ".DOL_DOCUMENT_ROOT."\n";
|
print "Working on files into : ".DOL_DOCUMENT_ROOT."\n";
|
||||||
|
print "Release : ".$release."\n";
|
||||||
print "Include custom in signature : ".$includecustom."\n";
|
print "Include custom in signature : ".$includecustom."\n";
|
||||||
print "Include constants in signature : ";
|
print "Include constants in signature : ";
|
||||||
foreach ($includeconstants as $countrycode => $tmp) {
|
foreach ($includeconstants as $countrycode => $tmp) {
|
||||||
|
|||||||
@ -668,7 +668,7 @@ Whet is definition of "shippable" according to all different STOCK_CALCULATE_...
|
|||||||
|
|
||||||
print '<tr class="oddeven">';
|
print '<tr class="oddeven">';
|
||||||
print '<td>'.$langs->trans("ShippableOrderIconInList").'</td>';
|
print '<td>'.$langs->trans("ShippableOrderIconInList").'</td>';
|
||||||
print '<td> </td>';
|
print '<td> </td>';
|
||||||
print '<td class="center">';
|
print '<td class="center">';
|
||||||
if (!empty($conf->global->SHIPPABLE_ORDER_ICON_IN_LIST)) {
|
if (!empty($conf->global->SHIPPABLE_ORDER_ICON_IN_LIST)) {
|
||||||
print '<a href="'.$_SERVER['PHP_SELF'].'?action=setshippableiconinlist&token='.newToken().'&value=0">';
|
print '<a href="'.$_SERVER['PHP_SELF'].'?action=setshippableiconinlist&token='.newToken().'&value=0">';
|
||||||
@ -687,7 +687,7 @@ if ($conf->banque->enabled)
|
|||||||
{
|
{
|
||||||
|
|
||||||
print '<tr class="oddeven"><td>';
|
print '<tr class="oddeven"><td>';
|
||||||
print $langs->trans("BANK_ASK_PAYMENT_BANK_DURING_ORDER").'</td><td> </td><td class="center">';
|
print $langs->trans("BANK_ASK_PAYMENT_BANK_DURING_ORDER").'</td><td> </td><td class="center">';
|
||||||
if (! empty($conf->use_javascript_ajax))
|
if (! empty($conf->use_javascript_ajax))
|
||||||
{
|
{
|
||||||
print ajax_constantonoff('BANK_ASK_PAYMENT_BANK_DURING_ORDER');
|
print ajax_constantonoff('BANK_ASK_PAYMENT_BANK_DURING_ORDER');
|
||||||
@ -717,7 +717,7 @@ if ($conf->stock->enabled)
|
|||||||
{
|
{
|
||||||
|
|
||||||
print '<tr class="oddeven"><td>';
|
print '<tr class="oddeven"><td>';
|
||||||
print $langs->trans("WAREHOUSE_ASK_WAREHOUSE_DURING_ORDER").'</td><td> </td><td class="center">';
|
print $langs->trans("WAREHOUSE_ASK_WAREHOUSE_DURING_ORDER").'</td><td> </td><td class="center">';
|
||||||
if (! empty($conf->use_javascript_ajax))
|
if (! empty($conf->use_javascript_ajax))
|
||||||
{
|
{
|
||||||
print ajax_constantonoff('WAREHOUSE_ASK_WAREHOUSE_DURING_ORDER');
|
print ajax_constantonoff('WAREHOUSE_ASK_WAREHOUSE_DURING_ORDER');
|
||||||
|
|||||||
@ -33,7 +33,9 @@ $langs->load("admin");
|
|||||||
if (!$user->admin) accessforbidden();
|
if (!$user->admin) accessforbidden();
|
||||||
|
|
||||||
$action = GETPOST('action', 'aZ09');
|
$action = GETPOST('action', 'aZ09');
|
||||||
|
if (empty($action)) $action = 'edit';
|
||||||
|
|
||||||
|
// Define list of managed delays
|
||||||
$modules = array(
|
$modules = array(
|
||||||
'agenda' => array(
|
'agenda' => array(
|
||||||
array(
|
array(
|
||||||
@ -190,6 +192,10 @@ if ($action == 'update')
|
|||||||
for ($i = 0; $i < 4; $i++) {
|
for ($i = 0; $i < 4; $i++) {
|
||||||
if (GETPOSTISSET('MAIN_METEO'.$plus.'_LEVEL'.$i)) dolibarr_set_const($db, 'MAIN_METEO'.$plus.'_LEVEL'.$i, GETPOST('MAIN_METEO'.$plus.'_LEVEL'.$i, 'int'), 'chaine', 0, '', $conf->entity);
|
if (GETPOSTISSET('MAIN_METEO'.$plus.'_LEVEL'.$i)) dolibarr_set_const($db, 'MAIN_METEO'.$plus.'_LEVEL'.$i, GETPOST('MAIN_METEO'.$plus.'_LEVEL'.$i, 'int'), 'chaine', 0, '', $conf->entity);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
setEventMessages($langs->trans("SetupSaved"), null, 'mesgs');
|
||||||
|
|
||||||
|
$action = 'edit';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -472,22 +472,22 @@ if ($nbofactivatedmodules <= 1) {
|
|||||||
print load_fiche_titre($langs->trans("ModulesSetup"), '', 'title_setup');
|
print load_fiche_titre($langs->trans("ModulesSetup"), '', 'title_setup');
|
||||||
|
|
||||||
// Start to show page
|
// Start to show page
|
||||||
|
$deschelp = '';
|
||||||
if ($mode == 'common' || $mode == 'commonkanban') {
|
if ($mode == 'common' || $mode == 'commonkanban') {
|
||||||
$desc = $langs->trans("ModulesDesc", '{picto}');
|
$desc = $langs->trans("ModulesDesc", '{picto}');
|
||||||
$desc = str_replace('{picto}', img_picto('', 'switch_off'), $desc);
|
$desc = str_replace('{picto}', img_picto('', 'switch_off'), $desc);
|
||||||
print '<span class="opacitymedium hideonsmartphone">'.$desc."<br><br></span>\n";
|
$deschelp = '<span class="opacitymedium hideonsmartphone">'.$desc."<br><br></span>\n";
|
||||||
}
|
}
|
||||||
if ($mode == 'marketplace') {
|
if ($mode == 'marketplace') {
|
||||||
print '<span class="opacitymedium hideonsmartphone">'.$langs->trans("ModulesMarketPlaceDesc")."<br><br></span>\n";
|
$deschelp = '<span class="opacitymedium hideonsmartphone">'.$langs->trans("ModulesMarketPlaceDesc")."<br><br></span>\n";
|
||||||
}
|
}
|
||||||
if ($mode == 'deploy') {
|
if ($mode == 'deploy') {
|
||||||
print '<span class="opacitymedium hideonsmartphone">'.$langs->trans("ModulesDeployDesc", $langs->transnoentitiesnoconv("AvailableModules"))."<br><br></span>\n";
|
$deschelp = '<span class="opacitymedium hideonsmartphone">'.$langs->trans("ModulesDeployDesc", $langs->transnoentitiesnoconv("AvailableModules"))."<br><br></span>\n";
|
||||||
}
|
}
|
||||||
if ($mode == 'develop') {
|
if ($mode == 'develop') {
|
||||||
print '<span class="opacitymedium hideonsmartphone">'.$langs->trans("ModulesDevelopDesc")."<br><br></span>\n";
|
$deschelp = '<span class="opacitymedium hideonsmartphone">'.$langs->trans("ModulesDevelopDesc")."<br><br></span>\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
$head = modules_prepare_head();
|
$head = modules_prepare_head();
|
||||||
|
|
||||||
|
|
||||||
@ -512,6 +512,8 @@ if ($mode == 'common' || $mode == 'commonkanban') {
|
|||||||
|
|
||||||
print dol_get_fiche_head($head, 'modules', '', -1);
|
print dol_get_fiche_head($head, 'modules', '', -1);
|
||||||
|
|
||||||
|
print $deschelp;
|
||||||
|
|
||||||
$moreforfilter = '<div class="valignmiddle">';
|
$moreforfilter = '<div class="valignmiddle">';
|
||||||
|
|
||||||
$moreforfilter .= '<div class="floatright right pagination"><ul><li>';
|
$moreforfilter .= '<div class="floatright right pagination"><ul><li>';
|
||||||
@ -937,6 +939,8 @@ if ($mode == 'common' || $mode == 'commonkanban') {
|
|||||||
if ($mode == 'marketplace') {
|
if ($mode == 'marketplace') {
|
||||||
print dol_get_fiche_head($head, $mode, '', -1);
|
print dol_get_fiche_head($head, $mode, '', -1);
|
||||||
|
|
||||||
|
print $deschelp;
|
||||||
|
|
||||||
print '<br>';
|
print '<br>';
|
||||||
|
|
||||||
// Marketplace
|
// Marketplace
|
||||||
@ -1022,6 +1026,8 @@ if ($mode == 'marketplace') {
|
|||||||
if ($mode == 'deploy') {
|
if ($mode == 'deploy') {
|
||||||
print dol_get_fiche_head($head, $mode, '', -1);
|
print dol_get_fiche_head($head, $mode, '', -1);
|
||||||
|
|
||||||
|
print $deschelp;
|
||||||
|
|
||||||
$dolibarrdataroot = preg_replace('/([\\/]+)$/i', '', DOL_DATA_ROOT);
|
$dolibarrdataroot = preg_replace('/([\\/]+)$/i', '', DOL_DATA_ROOT);
|
||||||
$allowonlineinstall = true;
|
$allowonlineinstall = true;
|
||||||
$allowfromweb = 1;
|
$allowfromweb = 1;
|
||||||
@ -1192,6 +1198,8 @@ if ($mode == 'deploy') {
|
|||||||
if ($mode == 'develop') {
|
if ($mode == 'develop') {
|
||||||
print dol_get_fiche_head($head, $mode, '', -1);
|
print dol_get_fiche_head($head, $mode, '', -1);
|
||||||
|
|
||||||
|
print $deschelp;
|
||||||
|
|
||||||
print '<br>';
|
print '<br>';
|
||||||
|
|
||||||
// Marketplace
|
// Marketplace
|
||||||
|
|||||||
@ -157,9 +157,7 @@ foreach ($dirmodels as $reldir)
|
|||||||
if ($module->version == 'development' && $conf->global->MAIN_FEATURES_LEVEL < 2) continue;
|
if ($module->version == 'development' && $conf->global->MAIN_FEATURES_LEVEL < 2) continue;
|
||||||
if ($module->version == 'experimental' && $conf->global->MAIN_FEATURES_LEVEL < 1) continue;
|
if ($module->version == 'experimental' && $conf->global->MAIN_FEATURES_LEVEL < 1) continue;
|
||||||
|
|
||||||
if ($module->isEnabled())
|
if ($module->isEnabled()) {
|
||||||
{
|
|
||||||
$var = !$var;
|
|
||||||
print '<tr class="oddeven"><td width="100">';
|
print '<tr class="oddeven"><td width="100">';
|
||||||
echo preg_replace('/\-.*$/', '', preg_replace('/mod_payment_/', '', preg_replace('/\.php$/', '', $file)));
|
echo preg_replace('/\-.*$/', '', preg_replace('/mod_payment_/', '', preg_replace('/\.php$/', '', $file)));
|
||||||
print "</td><td>\n";
|
print "</td><td>\n";
|
||||||
|
|||||||
@ -281,9 +281,7 @@ foreach ($dirmodels as $reldir)
|
|||||||
if ($module->version == 'development' && $conf->global->MAIN_FEATURES_LEVEL < 2) $modulequalified=0;
|
if ($module->version == 'development' && $conf->global->MAIN_FEATURES_LEVEL < 2) $modulequalified=0;
|
||||||
if ($module->version == 'experimental' && $conf->global->MAIN_FEATURES_LEVEL < 1) $modulequalified=0;
|
if ($module->version == 'experimental' && $conf->global->MAIN_FEATURES_LEVEL < 1) $modulequalified=0;
|
||||||
|
|
||||||
if ($modulequalified)
|
if ($modulequalified) {
|
||||||
{
|
|
||||||
$var = !$var;
|
|
||||||
print '<tr class="oddeven"><td width="100">';
|
print '<tr class="oddeven"><td width="100">';
|
||||||
print (empty($module->name)?$name:$module->name);
|
print (empty($module->name)?$name:$module->name);
|
||||||
print "</td><td>\n";
|
print "</td><td>\n";
|
||||||
|
|||||||
@ -287,9 +287,7 @@ foreach ($dirmodels as $reldir)
|
|||||||
if ($module->version == 'development' && $conf->global->MAIN_FEATURES_LEVEL < 2) $modulequalified=0;
|
if ($module->version == 'development' && $conf->global->MAIN_FEATURES_LEVEL < 2) $modulequalified=0;
|
||||||
if ($module->version == 'experimental' && $conf->global->MAIN_FEATURES_LEVEL < 1) $modulequalified=0;
|
if ($module->version == 'experimental' && $conf->global->MAIN_FEATURES_LEVEL < 1) $modulequalified=0;
|
||||||
|
|
||||||
if ($modulequalified)
|
if ($modulequalified) {
|
||||||
{
|
|
||||||
$var = !$var;
|
|
||||||
print '<tr class="oddeven"><td width="100">';
|
print '<tr class="oddeven"><td width="100">';
|
||||||
print (empty($module->name)?$name:$module->name);
|
print (empty($module->name)?$name:$module->name);
|
||||||
print "</td><td>\n";
|
print "</td><td>\n";
|
||||||
|
|||||||
@ -383,9 +383,7 @@ foreach ($dirmodels as $reldir)
|
|||||||
if ($module->version == 'development' && $conf->global->MAIN_FEATURES_LEVEL < 2) $modulequalified = 0;
|
if ($module->version == 'development' && $conf->global->MAIN_FEATURES_LEVEL < 2) $modulequalified = 0;
|
||||||
if ($module->version == 'experimental' && $conf->global->MAIN_FEATURES_LEVEL < 1) $modulequalified = 0;
|
if ($module->version == 'experimental' && $conf->global->MAIN_FEATURES_LEVEL < 1) $modulequalified = 0;
|
||||||
|
|
||||||
if ($modulequalified)
|
if ($modulequalified) {
|
||||||
{
|
|
||||||
$var = !$var;
|
|
||||||
print '<tr class="oddeven"><td width="100">';
|
print '<tr class="oddeven"><td width="100">';
|
||||||
print (empty($module->name) ? $name : $module->name);
|
print (empty($module->name) ? $name : $module->name);
|
||||||
print "</td><td>\n";
|
print "</td><td>\n";
|
||||||
@ -654,7 +652,7 @@ if ($conf->banque->enabled)
|
|||||||
{
|
{
|
||||||
|
|
||||||
print '<tr class="oddeven"><td>';
|
print '<tr class="oddeven"><td>';
|
||||||
print $langs->trans("BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL").'</td><td> </td><td class="right">';
|
print $langs->trans("BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL").'</td><td> </td><td class="right">';
|
||||||
if (! empty($conf->use_javascript_ajax))
|
if (! empty($conf->use_javascript_ajax))
|
||||||
{
|
{
|
||||||
print ajax_constantonoff('BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL');
|
print ajax_constantonoff('BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL');
|
||||||
|
|||||||
@ -485,7 +485,7 @@ if ($conf->banque->enabled)
|
|||||||
{
|
{
|
||||||
|
|
||||||
print '<tr class="oddeven"><td>';
|
print '<tr class="oddeven"><td>';
|
||||||
print $langs->trans("BANK_ASK_PAYMENT_BANK_DURING_SUPPLIER_ORDER").'</td><td> </td><td align="center">';
|
print $langs->trans("BANK_ASK_PAYMENT_BANK_DURING_SUPPLIER_ORDER").'</td><td> </td><td align="center">';
|
||||||
if (! empty($conf->use_javascript_ajax))
|
if (! empty($conf->use_javascript_ajax))
|
||||||
{
|
{
|
||||||
print ajax_constantonoff('BANK_ASK_PAYMENT_BANK_DURING_SUPPLIER_ORDER');
|
print ajax_constantonoff('BANK_ASK_PAYMENT_BANK_DURING_SUPPLIER_ORDER');
|
||||||
|
|||||||
@ -511,7 +511,7 @@ print '</form>';
|
|||||||
if ($conf->banque->enabled)
|
if ($conf->banque->enabled)
|
||||||
{
|
{
|
||||||
print '<tr class="oddeven"><td>';
|
print '<tr class="oddeven"><td>';
|
||||||
print $langs->trans("BANK_ASK_PAYMENT_BANK_DURING_SUPPLIER_PROPOSAL").'</td><td> </td><td class="right">';
|
print $langs->trans("BANK_ASK_PAYMENT_BANK_DURING_SUPPLIER_PROPOSAL").'</td><td> </td><td class="right">';
|
||||||
if (!empty($conf->use_javascript_ajax))
|
if (!empty($conf->use_javascript_ajax))
|
||||||
{
|
{
|
||||||
print ajax_constantonoff('BANK_ASK_PAYMENT_BANK_DURING_SUPPLIER_PROPOSAL');
|
print ajax_constantonoff('BANK_ASK_PAYMENT_BANK_DURING_SUPPLIER_PROPOSAL');
|
||||||
|
|||||||
@ -73,7 +73,7 @@ print load_fiche_titre($title, '', 'title_setup');
|
|||||||
// Version
|
// Version
|
||||||
print '<div class="div-table-responsive-no-min">';
|
print '<div class="div-table-responsive-no-min">';
|
||||||
print '<table class="noborder centpercent">';
|
print '<table class="noborder centpercent">';
|
||||||
print '<tr class="liste_titre"><td class="titlefield">'.$langs->trans("Version").'</td><td>'.$langs->trans("Value").'</td></tr>'."\n";
|
print '<tr class="liste_titre"><td class="titlefieldcreate">'.$langs->trans("Version").'</td><td>'.$langs->trans("Value").'</td></tr>'."\n";
|
||||||
print '<tr class="oddeven"><td>'.$langs->trans("CurrentVersion").' ('.$langs->trans("Programs").')</td><td>'.DOL_VERSION;
|
print '<tr class="oddeven"><td>'.$langs->trans("CurrentVersion").' ('.$langs->trans("Programs").')</td><td>'.DOL_VERSION;
|
||||||
// If current version differs from last upgrade
|
// If current version differs from last upgrade
|
||||||
if (empty($conf->global->MAIN_VERSION_LAST_UPGRADE))
|
if (empty($conf->global->MAIN_VERSION_LAST_UPGRADE))
|
||||||
@ -139,7 +139,7 @@ print '<br>';
|
|||||||
// Session
|
// Session
|
||||||
print '<div class="div-table-responsive-no-min">';
|
print '<div class="div-table-responsive-no-min">';
|
||||||
print '<table class="noborder centpercent">';
|
print '<table class="noborder centpercent">';
|
||||||
print '<tr class="liste_titre"><td class="titlefield">'.$langs->trans("Session").'</td><td colspan="2">'.$langs->trans("Value").'</td></tr>'."\n";
|
print '<tr class="liste_titre"><td class="titlefieldcreate">'.$langs->trans("Session").'</td><td colspan="2">'.$langs->trans("Value").'</td></tr>'."\n";
|
||||||
print '<tr class="oddeven"><td>'.$langs->trans("SessionSavePath").'</td><td colspan="2">'.session_save_path().'</td></tr>'."\n";
|
print '<tr class="oddeven"><td>'.$langs->trans("SessionSavePath").'</td><td colspan="2">'.session_save_path().'</td></tr>'."\n";
|
||||||
print '<tr class="oddeven"><td>'.$langs->trans("SessionName").'</td><td colspan="2">'.session_name().'</td></tr>'."\n";
|
print '<tr class="oddeven"><td>'.$langs->trans("SessionName").'</td><td colspan="2">'.session_name().'</td></tr>'."\n";
|
||||||
print '<tr class="oddeven"><td>'.$langs->trans("SessionId").'</td><td colspan="2">'.session_id().'</td></tr>'."\n";
|
print '<tr class="oddeven"><td>'.$langs->trans("SessionId").'</td><td colspan="2">'.session_id().'</td></tr>'."\n";
|
||||||
@ -180,7 +180,7 @@ if (isset($conf->global->MAIN_OPTIMIZE_SPEED) && ($conf->global->MAIN_OPTIMIZE_S
|
|||||||
print '<div class="div-table-responsive-no-min">';
|
print '<div class="div-table-responsive-no-min">';
|
||||||
print '<table class="noborder centpercent">';
|
print '<table class="noborder centpercent">';
|
||||||
print '<tr class="liste_titre">';
|
print '<tr class="liste_titre">';
|
||||||
print '<td class="titlefield">'.$langs->trans("LanguageFilesCachedIntoShmopSharedMemory").'</td>';
|
print '<td class="titlefieldcreate">'.$langs->trans("LanguageFilesCachedIntoShmopSharedMemory").'</td>';
|
||||||
print '<td>'.$langs->trans("NbOfEntries").'</td>';
|
print '<td>'.$langs->trans("NbOfEntries").'</td>';
|
||||||
print '<td class="right">'.$langs->trans("Address").'</td>';
|
print '<td class="right">'.$langs->trans("Address").'</td>';
|
||||||
print '</tr>'."\n";
|
print '</tr>'."\n";
|
||||||
@ -202,7 +202,7 @@ if (isset($conf->global->MAIN_OPTIMIZE_SPEED) && ($conf->global->MAIN_OPTIMIZE_S
|
|||||||
// Localisation
|
// Localisation
|
||||||
print '<div class="div-table-responsive-no-min">';
|
print '<div class="div-table-responsive-no-min">';
|
||||||
print '<table class="noborder centpercent">';
|
print '<table class="noborder centpercent">';
|
||||||
print '<tr class="liste_titre"><td class="titlefield">'.$langs->trans("LocalisationDolibarrParameters").'</td><td>'.$langs->trans("Value").'</td></tr>'."\n";
|
print '<tr class="liste_titre"><td class="titlefieldcreate">'.$langs->trans("LocalisationDolibarrParameters").'</td><td>'.$langs->trans("Value").'</td></tr>'."\n";
|
||||||
print '<tr class="oddeven"><td>'.$langs->trans("LanguageBrowserParameter", "HTTP_ACCEPT_LANGUAGE").'</td><td>'.$_SERVER["HTTP_ACCEPT_LANGUAGE"].'</td></tr>'."\n";
|
print '<tr class="oddeven"><td>'.$langs->trans("LanguageBrowserParameter", "HTTP_ACCEPT_LANGUAGE").'</td><td>'.$_SERVER["HTTP_ACCEPT_LANGUAGE"].'</td></tr>'."\n";
|
||||||
print '<tr class="oddeven"><td>'.$langs->trans("CurrentUserLanguage").'</td><td>'.$langs->getDefaultLang().'</td></tr>'."\n";
|
print '<tr class="oddeven"><td>'.$langs->trans("CurrentUserLanguage").'</td><td>'.$langs->getDefaultLang().'</td></tr>'."\n";
|
||||||
// Thousands
|
// Thousands
|
||||||
@ -222,7 +222,22 @@ if (($thousand != ',' && $thousand != '.') || ($thousand != ' '))
|
|||||||
print "</tr>\n";
|
print "</tr>\n";
|
||||||
}
|
}
|
||||||
print '<tr class="oddeven"><td> => price(1234.56)</td><td>'.price(1234.56).'</td></tr>'."\n";
|
print '<tr class="oddeven"><td> => price(1234.56)</td><td>'.price(1234.56).'</td></tr>'."\n";
|
||||||
// Timezone
|
|
||||||
|
// Timezones
|
||||||
|
|
||||||
|
// Database timezone
|
||||||
|
if ($conf->db->type == 'mysql' || $conf->db->type == 'mysqli')
|
||||||
|
{
|
||||||
|
print '<tr class="oddeven"><td>'.$langs->trans("MySQLTimeZone").' (database)</td><td>'; // Timezone server base
|
||||||
|
$sql = "SHOW VARIABLES where variable_name = 'system_time_zone'";
|
||||||
|
$resql = $db->query($sql);
|
||||||
|
if ($resql)
|
||||||
|
{
|
||||||
|
$obj = $db->fetch_object($resql);
|
||||||
|
print $form->textwithtooltip($obj->Value, $langs->trans('TZHasNoEffect'), 2, 1, img_info(''));
|
||||||
|
}
|
||||||
|
print '</td></tr>'."\n";
|
||||||
|
}
|
||||||
$txt = $langs->trans("OSTZ").' (variable system TZ): '.(!empty($_ENV["TZ"]) ? $_ENV["TZ"] : $langs->trans("NotDefined")).'<br>'."\n";
|
$txt = $langs->trans("OSTZ").' (variable system TZ): '.(!empty($_ENV["TZ"]) ? $_ENV["TZ"] : $langs->trans("NotDefined")).'<br>'."\n";
|
||||||
$txt .= $langs->trans("PHPTZ").' (date_default_timezone_get() / php.ini date.timezone): '.(getServerTimeZoneString()." / ".(ini_get("date.timezone") ? ini_get("date.timezone") : $langs->trans("NotDefined")))."<br>\n"; // date.timezone must be in valued defined in http://fr3.php.net/manual/en/timezones.europe.php
|
$txt .= $langs->trans("PHPTZ").' (date_default_timezone_get() / php.ini date.timezone): '.(getServerTimeZoneString()." / ".(ini_get("date.timezone") ? ini_get("date.timezone") : $langs->trans("NotDefined")))."<br>\n"; // date.timezone must be in valued defined in http://fr3.php.net/manual/en/timezones.europe.php
|
||||||
$txt .= $langs->trans("Dolibarr constant MAIN_SERVER_TZ").': '.(empty($conf->global->MAIN_SERVER_TZ) ? $langs->trans("NotDefined") : $conf->global->MAIN_SERVER_TZ);
|
$txt .= $langs->trans("Dolibarr constant MAIN_SERVER_TZ").': '.(empty($conf->global->MAIN_SERVER_TZ) ? $langs->trans("NotDefined") : $conf->global->MAIN_SERVER_TZ);
|
||||||
@ -238,23 +253,10 @@ $val .= ' '.getServerTimeZoneString();
|
|||||||
$val .= ' '.$langs->trans("DaylingSavingTime").': '.($daylight === 'unknown' ? 'unknown' : ($a == $c ?yn($daylight) : yn(0).($daylight ? ' ('.$langs->trans('YesInSummer').')' : '')));
|
$val .= ' '.$langs->trans("DaylingSavingTime").': '.($daylight === 'unknown' ? 'unknown' : ($a == $c ?yn($daylight) : yn(0).($daylight ? ' ('.$langs->trans('YesInSummer').')' : '')));
|
||||||
print $form->textwithtooltip($val, $txt, 2, 1, img_info(''));
|
print $form->textwithtooltip($val, $txt, 2, 1, img_info(''));
|
||||||
print '</td></tr>'."\n"; // value defined in http://fr3.php.net/manual/en/timezones.europe.php
|
print '</td></tr>'."\n"; // value defined in http://fr3.php.net/manual/en/timezones.europe.php
|
||||||
print '<tr class="oddeven"><td> => '.$langs->trans("CurrentHour").'</td><td>'.dol_print_date(dol_now(), 'dayhour', 'tzserver').'</td></tr>'."\n";
|
print '<tr class="oddeven"><td> => '.$langs->trans("CurrentHour").'</td><td>'.dol_print_date(dol_now('gmt'), 'dayhour', 'tzserver').'</td></tr>'."\n";
|
||||||
print '<tr class="oddeven"><td> => dol_print_date(0,"dayhourtext")</td><td>'.dol_print_date(0, "dayhourtext").'</td>';
|
print '<tr class="oddeven"><td> => dol_print_date(0,"dayhourtext")</td><td>'.dol_print_date(0, "dayhourtext").'</td>';
|
||||||
print '<tr class="oddeven"><td> => dol_get_first_day(1970,1,false)</td><td>'.dol_get_first_day(1970, 1, false).' (=> dol_print_date() or idate() of this value = '.dol_print_date(dol_get_first_day(1970, 1, false), 'dayhour').')</td>';
|
print '<tr class="oddeven"><td> => dol_get_first_day(1970,1,false)</td><td>'.dol_get_first_day(1970, 1, false).' (=> dol_print_date() or idate() of this value = '.dol_print_date(dol_get_first_day(1970, 1, false), 'dayhour').')</td>';
|
||||||
print '<tr class="oddeven"><td> => dol_get_first_day(1970,1,true)</td><td>'.dol_get_first_day(1970, 1, true).' (=> dol_print_date() or idate() of this value = '.dol_print_date(dol_get_first_day(1970, 1, true), 'dayhour').')</td>';
|
print '<tr class="oddeven"><td> => dol_get_first_day(1970,1,true)</td><td>'.dol_get_first_day(1970, 1, true).' (=> dol_print_date() or idate() of this value = '.dol_print_date(dol_get_first_day(1970, 1, true), 'dayhour').')</td>';
|
||||||
// Database timezone
|
|
||||||
if ($conf->db->type == 'mysql' || $conf->db->type == 'mysqli')
|
|
||||||
{
|
|
||||||
print '<tr class="oddeven"><td>'.$langs->trans("MySQLTimeZone").' (database)</td><td>'; // Timezone server base
|
|
||||||
$sql = "SHOW VARIABLES where variable_name = 'system_time_zone'";
|
|
||||||
$resql = $db->query($sql);
|
|
||||||
if ($resql)
|
|
||||||
{
|
|
||||||
$obj = $db->fetch_object($resql);
|
|
||||||
print $form->textwithtooltip($obj->Value, $langs->trans('TZHasNoEffect'), 2, 1, img_info(''));
|
|
||||||
}
|
|
||||||
print '</td></tr>'."\n";
|
|
||||||
}
|
|
||||||
// Client
|
// Client
|
||||||
$tz = (int) $_SESSION['dol_tz'] + (int) $_SESSION['dol_dst'];
|
$tz = (int) $_SESSION['dol_tz'] + (int) $_SESSION['dol_dst'];
|
||||||
print '<tr class="oddeven"><td>'.$langs->trans("ClientTZ").'</td><td>'.($tz ? ($tz >= 0 ? '+' : '').$tz : '').' ('.($tz >= 0 ? '+' : '').($tz * 60 * 60).')';
|
print '<tr class="oddeven"><td>'.$langs->trans("ClientTZ").'</td><td>'.($tz ? ($tz >= 0 ? '+' : '').$tz : '').' ('.($tz >= 0 ? '+' : '').($tz * 60 * 60).')';
|
||||||
@ -265,7 +267,7 @@ else print yn(0);
|
|||||||
if (!empty($_SESSION['dol_dst_first'])) print ' ('.dol_print_date(dol_stringtotime($_SESSION['dol_dst_first']), 'dayhour', 'gmt').' - '.dol_print_date(dol_stringtotime($_SESSION['dol_dst_second']), 'dayhour', 'gmt').')';
|
if (!empty($_SESSION['dol_dst_first'])) print ' ('.dol_print_date(dol_stringtotime($_SESSION['dol_dst_first']), 'dayhour', 'gmt').' - '.dol_print_date(dol_stringtotime($_SESSION['dol_dst_second']), 'dayhour', 'gmt').')';
|
||||||
print '</td></tr>'."\n";
|
print '</td></tr>'."\n";
|
||||||
print '</td></tr>'."\n";
|
print '</td></tr>'."\n";
|
||||||
print '<tr class="oddeven"><td> => '.$langs->trans("ClientHour").'</td><td>'.dol_print_date(dol_now(), 'dayhour', 'tzuser').'</td></tr>'."\n";
|
print '<tr class="oddeven"><td> => '.$langs->trans("ClientHour").'</td><td>'.dol_print_date(dol_now('gmt'), 'dayhour', 'tzuser').'</td></tr>'."\n";
|
||||||
|
|
||||||
$filesystemencoding = ini_get("unicode.filesystem_encoding"); // Disponible avec PHP 6.0
|
$filesystemencoding = ini_get("unicode.filesystem_encoding"); // Disponible avec PHP 6.0
|
||||||
print '<tr class="oddeven"><td>'.$langs->trans("File encoding").' (php.ini unicode.filesystem_encoding)</td><td>'.$filesystemencoding.'</td></tr>'."\n";
|
print '<tr class="oddeven"><td>'.$langs->trans("File encoding").' (php.ini unicode.filesystem_encoding)</td><td>'.$filesystemencoding.'</td></tr>'."\n";
|
||||||
@ -340,7 +342,7 @@ $configfileparameters = array(
|
|||||||
print '<div class="div-table-responsive-no-min">';
|
print '<div class="div-table-responsive-no-min">';
|
||||||
print '<table class="noborder centpercent">';
|
print '<table class="noborder centpercent">';
|
||||||
print '<tr class="liste_titre">';
|
print '<tr class="liste_titre">';
|
||||||
print '<td class="titlefield">'.$langs->trans("Parameters").' ';
|
print '<td class="titlefieldcreate">'.$langs->trans("Parameters").' ';
|
||||||
print $langs->trans("ConfigurationFile").' ('.$conffiletoshowshort.')';
|
print $langs->trans("ConfigurationFile").' ('.$conffiletoshowshort.')';
|
||||||
print '</td>';
|
print '</td>';
|
||||||
print '<td>'.$langs->trans("Parameter").'</td>';
|
print '<td>'.$langs->trans("Parameter").'</td>';
|
||||||
|
|||||||
@ -93,13 +93,13 @@ if ($maxphp > 0 && $maxphp2 > 0 && $maxphp > $maxphp2)
|
|||||||
|
|
||||||
|
|
||||||
print '<table class="noborder centpercent">';
|
print '<table class="noborder centpercent">';
|
||||||
print '<tr class="liste_titre"><td>'.$langs->trans("Parameter").'</td><td>'.$langs->trans("Value").'</td></tr>';
|
print '<tr class="liste_titre"><td class="titlefield">'.$langs->trans("Parameter").'</td><td>'.$langs->trans("Value").'</td></tr>';
|
||||||
|
|
||||||
$ErrorPicturePath = "../../theme/eldy/img/error.png";
|
$ErrorPicturePath = "../../theme/eldy/img/error.png";
|
||||||
$WarningPicturePath = "../../theme/eldy/img/warning.png";
|
$WarningPicturePath = "../../theme/eldy/img/warning.png";
|
||||||
$OkayPicturePath = "../../theme/eldy/img/tick.png";
|
$OkayPicturePath = "../../theme/eldy/img/tick.png";
|
||||||
|
|
||||||
print '<tr><td width="220">'.$langs->trans("Version").'</td><td>';
|
print '<tr><td>'.$langs->trans("Version").'</td><td>';
|
||||||
|
|
||||||
$arrayphpminversionerror = array(5, 5, 0);
|
$arrayphpminversionerror = array(5, 5, 0);
|
||||||
$arrayphpminversionwarning = array(5, 6, 0);
|
$arrayphpminversionwarning = array(5, 6, 0);
|
||||||
@ -153,11 +153,8 @@ $loadedExtensions = array_map('strtolower', get_loaded_extensions(false));
|
|||||||
|
|
||||||
print '<table class="noborder centpercent">';
|
print '<table class="noborder centpercent">';
|
||||||
print '<tr class="liste_titre">';
|
print '<tr class="liste_titre">';
|
||||||
print '<td width="200">'.$langs->trans("Extension").'</td>';
|
print '<td class="titlefield">'.$langs->trans("Extension").'</td>';
|
||||||
//print '<td align="center">'.$langs->trans("EnabledInSetup").'</td>';
|
print '<td>'.$langs->trans("Test").'</td>';
|
||||||
print '<td align="center">'.$langs->trans("Loaded").'</td>';
|
|
||||||
print '<td align="center">'.$langs->trans("FunctionTest").'</td>';
|
|
||||||
print '<td>'.$langs->trans("Result").'</td>';
|
|
||||||
print '</tr>';
|
print '</tr>';
|
||||||
|
|
||||||
$functions = ["mb_check_encoding"];
|
$functions = ["mb_check_encoding"];
|
||||||
@ -165,9 +162,6 @@ $name = "MBString";
|
|||||||
|
|
||||||
print "<tr>";
|
print "<tr>";
|
||||||
print "<td>".$name."</td>";
|
print "<td>".$name."</td>";
|
||||||
//print getTableColumn($name, $activatedExtensions);
|
|
||||||
print getTableColumn($name, $loadedExtensions);
|
|
||||||
print getTableColumnFunction($functions);
|
|
||||||
print getResultColumn($name, $activatedExtensions, $loadedExtensions, $functions);
|
print getResultColumn($name, $activatedExtensions, $loadedExtensions, $functions);
|
||||||
print "</tr>";
|
print "</tr>";
|
||||||
|
|
||||||
@ -176,9 +170,6 @@ $name = "JSON";
|
|||||||
|
|
||||||
print "<tr>";
|
print "<tr>";
|
||||||
print "<td>".$name."</td>";
|
print "<td>".$name."</td>";
|
||||||
//print getTableColumn($name, $activatedExtensions);
|
|
||||||
print getTableColumn($name, $loadedExtensions);
|
|
||||||
print getTableColumnFunction($functions);
|
|
||||||
print getResultColumn($name, $activatedExtensions, $loadedExtensions, $functions);
|
print getResultColumn($name, $activatedExtensions, $loadedExtensions, $functions);
|
||||||
print "</tr>";
|
print "</tr>";
|
||||||
|
|
||||||
@ -187,8 +178,6 @@ $name = "GD";
|
|||||||
|
|
||||||
print "<tr>";
|
print "<tr>";
|
||||||
print "<td>".$name."</td>";
|
print "<td>".$name."</td>";
|
||||||
print getTableColumn($name, $loadedExtensions);
|
|
||||||
print getTableColumnFunction($functions);
|
|
||||||
print getResultColumn($name, $activatedExtensions, $loadedExtensions, $functions);
|
print getResultColumn($name, $activatedExtensions, $loadedExtensions, $functions);
|
||||||
print "</tr>";
|
print "</tr>";
|
||||||
|
|
||||||
@ -197,8 +186,6 @@ $name = "Curl";
|
|||||||
|
|
||||||
print "<tr>";
|
print "<tr>";
|
||||||
print "<td>".$name."</td>";
|
print "<td>".$name."</td>";
|
||||||
print getTableColumn($name, $loadedExtensions);
|
|
||||||
print getTableColumnFunction($functions);
|
|
||||||
print getResultColumn($name, $activatedExtensions, $loadedExtensions, $functions);
|
print getResultColumn($name, $activatedExtensions, $loadedExtensions, $functions);
|
||||||
print "</tr>";
|
print "</tr>";
|
||||||
|
|
||||||
@ -209,8 +196,6 @@ if (empty($_SERVER["SERVER_ADMIN"]) || $_SERVER["SERVER_ADMIN"] != 'doliwamp@loc
|
|||||||
|
|
||||||
print "<tr>";
|
print "<tr>";
|
||||||
print "<td>".$name."</td>";
|
print "<td>".$name."</td>";
|
||||||
print getTableColumn($name, $loadedExtensions);
|
|
||||||
print getTableColumnFunction($functions);
|
|
||||||
print getResultColumn($name, $activatedExtensions, $loadedExtensions, $functions);
|
print getResultColumn($name, $activatedExtensions, $loadedExtensions, $functions);
|
||||||
print "</tr>";
|
print "</tr>";
|
||||||
}
|
}
|
||||||
@ -220,8 +205,6 @@ $name = "IMAP";
|
|||||||
|
|
||||||
print "<tr>";
|
print "<tr>";
|
||||||
print "<td>".$name."</td>";
|
print "<td>".$name."</td>";
|
||||||
print getTableColumn($name, $loadedExtensions);
|
|
||||||
print getTableColumnFunction($functions);
|
|
||||||
print getResultColumn($name, $activatedExtensions, $loadedExtensions, $functions);
|
print getResultColumn($name, $activatedExtensions, $loadedExtensions, $functions);
|
||||||
print "</tr>";
|
print "</tr>";
|
||||||
|
|
||||||
@ -230,8 +213,6 @@ $name = "xDebug";
|
|||||||
|
|
||||||
print "<tr>";
|
print "<tr>";
|
||||||
print "<td>".$name."</td>";
|
print "<td>".$name."</td>";
|
||||||
print getTableColumn($name, $loadedExtensions);
|
|
||||||
print getTableColumnFunction($functions);
|
|
||||||
print getResultColumn($name, $activatedExtensions, $loadedExtensions, $functions);
|
print getResultColumn($name, $activatedExtensions, $loadedExtensions, $functions);
|
||||||
print "</tr>";
|
print "</tr>";
|
||||||
|
|
||||||
@ -246,7 +227,7 @@ foreach ($phparray as $key => $value)
|
|||||||
print '<div class="div-table-responsive-no-min">';
|
print '<div class="div-table-responsive-no-min">';
|
||||||
print '<table class="noborder">';
|
print '<table class="noborder">';
|
||||||
print '<tr class="liste_titre">';
|
print '<tr class="liste_titre">';
|
||||||
print '<td width="220px">'.$key.'</td>';
|
print '<td class="titlefield">'.$key.'</td>';
|
||||||
print '<td colspan="2">'.$langs->trans("Value").'</td>';
|
print '<td colspan="2">'.$langs->trans("Value").'</td>';
|
||||||
print "</tr>\n";
|
print "</tr>\n";
|
||||||
|
|
||||||
@ -293,69 +274,6 @@ llxFooter();
|
|||||||
$db->close();
|
$db->close();
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Return a table column with a indicator (okay or warning), based on the given name and list
|
|
||||||
*
|
|
||||||
* @param string $name The name to check inside the given list
|
|
||||||
* @param array $list A list that should contains the given name
|
|
||||||
*
|
|
||||||
* @return string
|
|
||||||
*/
|
|
||||||
function getTableColumn($name, array $list)
|
|
||||||
{
|
|
||||||
global $langs;
|
|
||||||
|
|
||||||
$name = strtolower($name);
|
|
||||||
$html = "<td align='center'>";
|
|
||||||
|
|
||||||
if (in_array($name, $list))
|
|
||||||
{
|
|
||||||
if ($name == 'xdebug') $html .= '<img src="../../theme/eldy/img/warning.png" title="'.$langs->trans("ModuleActivated", "xdebug").'">';
|
|
||||||
else $html .= '<img src="../../theme/eldy/img/tick.png" title="Ok">';
|
|
||||||
} else {
|
|
||||||
if ($name == 'xdebug') $html .= yn(0);
|
|
||||||
else $html .= '<img src="../../theme/eldy/img/warning.png" title="Warning">';
|
|
||||||
}
|
|
||||||
|
|
||||||
$html .= "</td>";
|
|
||||||
|
|
||||||
return $html;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Return a table column with a indicator (okay or warning), based on the given functions to check
|
|
||||||
*
|
|
||||||
* @param array $functions A list with functions to check
|
|
||||||
*
|
|
||||||
* @return string
|
|
||||||
*/
|
|
||||||
function getTableColumnFunction(array $functions)
|
|
||||||
{
|
|
||||||
if (count($functions) < 1)
|
|
||||||
{
|
|
||||||
return "<td align='center'>-</td>";
|
|
||||||
}
|
|
||||||
|
|
||||||
$result = true;
|
|
||||||
$html = "<td align='center'>";
|
|
||||||
|
|
||||||
foreach ($functions as $function)
|
|
||||||
{
|
|
||||||
$result = $result && function_exists($function);
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($result)
|
|
||||||
{
|
|
||||||
$html .= '<img src="../../theme/eldy/img/tick.png" alt="Ok">';
|
|
||||||
} else {
|
|
||||||
$html .= '<img src="../../theme/eldy/img/warning.png" alt="Warning">';
|
|
||||||
}
|
|
||||||
|
|
||||||
$html .= "</td>";
|
|
||||||
|
|
||||||
return $html;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return a result column with a translated result text
|
* Return a result column with a translated result text
|
||||||
*
|
*
|
||||||
@ -363,7 +281,6 @@ function getTableColumnFunction(array $functions)
|
|||||||
* @param array $activated A list with all activated PHP extensions. Deprecated.
|
* @param array $activated A list with all activated PHP extensions. Deprecated.
|
||||||
* @param array $loaded A list with all loaded PHP extensions
|
* @param array $loaded A list with all loaded PHP extensions
|
||||||
* @param array $functions A list with all PHP functions to check
|
* @param array $functions A list with all PHP functions to check
|
||||||
*
|
|
||||||
* @return string
|
* @return string
|
||||||
*/
|
*/
|
||||||
function getResultColumn($name, array $activated, array $loaded, array $functions)
|
function getResultColumn($name, array $activated, array $loaded, array $functions)
|
||||||
@ -371,6 +288,7 @@ function getResultColumn($name, array $activated, array $loaded, array $function
|
|||||||
global $langs;
|
global $langs;
|
||||||
|
|
||||||
$result = true;
|
$result = true;
|
||||||
|
|
||||||
//$result = $result && in_array(strtolower($name), $activated);
|
//$result = $result && in_array(strtolower($name), $activated);
|
||||||
$result = $result && in_array(strtolower($name), $loaded);
|
$result = $result && in_array(strtolower($name), $loaded);
|
||||||
|
|
||||||
@ -380,7 +298,29 @@ function getResultColumn($name, array $activated, array $loaded, array $function
|
|||||||
}
|
}
|
||||||
|
|
||||||
$html = "<td>";
|
$html = "<td>";
|
||||||
$html .= $result ? $langs->trans("PHPSupport", $name) : $langs->trans("ErrorPHPDoesNotSupport", $name);
|
if ($result) {
|
||||||
|
if (strtolower($name) == 'xdebug') $html .= img_warning($langs->trans("ModuleActivated", "xdebug"));
|
||||||
|
else $html .= img_picto($langs->trans("Ok"), 'tick');
|
||||||
|
if (in_array(strtolower($name), $loaded)) {
|
||||||
|
$html .= ' '.$langs->trans("Loaded").' - ';
|
||||||
|
} else {
|
||||||
|
//$html .= ' '.$langs->trans("NotLoaded").' - ';
|
||||||
|
}
|
||||||
|
if (strtolower($name) == 'xdebug') {
|
||||||
|
$html .= ' '.$langs->trans("ModuleActivated", "xdebug");
|
||||||
|
} else {
|
||||||
|
$html .= ' '.$langs->trans("PHPSupport", $name);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (strtolower($name) == 'xdebug') $html .= yn(0).' - ';
|
||||||
|
else $html .= img_warning($langs->trans("ModuleActivated", "xdebug"));
|
||||||
|
if (in_array(strtolower($name), $loaded)) {
|
||||||
|
$html .= ' '.$langs->trans("Loaded").' - ';
|
||||||
|
} else {
|
||||||
|
//$html .= ' '.$langs->trans("NotLoaded").' - ';
|
||||||
|
}
|
||||||
|
$html .= ' '.$langs->trans("ErrorPHPDoesNotSupport", $name);
|
||||||
|
}
|
||||||
$html .= "</td>";
|
$html .= "</td>";
|
||||||
|
|
||||||
return $html;
|
return $html;
|
||||||
|
|||||||
@ -43,9 +43,6 @@ if (GETPOST('action', 'aZ09') == 'donothing')
|
|||||||
* View
|
* View
|
||||||
*/
|
*/
|
||||||
|
|
||||||
$form = new Form($db);
|
|
||||||
$nowstring = dol_print_date(dol_now(), 'dayhourlog');
|
|
||||||
|
|
||||||
llxHeader();
|
llxHeader();
|
||||||
|
|
||||||
print load_fiche_titre($langs->trans("Security"), '', 'title_setup');
|
print load_fiche_titre($langs->trans("Security"), '', 'title_setup');
|
||||||
@ -78,7 +75,7 @@ else {
|
|||||||
print '<br>';
|
print '<br>';
|
||||||
|
|
||||||
print '<br>';
|
print '<br>';
|
||||||
print load_fiche_titre($langs->trans("ConfigFile"), '', 'folder');
|
print load_fiche_titre($langs->trans("ConfigurationFile"), '', 'folder');
|
||||||
|
|
||||||
print '<strong>'.$langs->trans("dolibarr_main_prod").'</strong>: '.$dolibarr_main_prod;
|
print '<strong>'.$langs->trans("dolibarr_main_prod").'</strong>: '.$dolibarr_main_prod;
|
||||||
if (empty($dolibarr_main_prod)) {
|
if (empty($dolibarr_main_prod)) {
|
||||||
@ -90,7 +87,12 @@ print '<strong>'.$langs->trans("dolibarr_nocsrfcheck").'</strong>: '.$dolibarr_n
|
|||||||
if (!empty($dolibarr_nocsrfcheck)) {
|
if (!empty($dolibarr_nocsrfcheck)) {
|
||||||
print img_picto('', 'warning').' '.$langs->trans("IfYouAreOnAProductionSetThis", 0);
|
print img_picto('', 'warning').' '.$langs->trans("IfYouAreOnAProductionSetThis", 0);
|
||||||
}
|
}
|
||||||
|
print '<br>';
|
||||||
|
|
||||||
|
print '<strong>'.$langs->trans("dolibarr_main_restrict_ip").'</strong>: '.$dolibarr_main_restrict_ip;
|
||||||
|
/*if (empty($dolibarr_main_restrict_ip)) {
|
||||||
|
print ' '.img_picto('', 'warning').' '.$langs->trans("IfYouAreOnAProductionSetThis", 1);
|
||||||
|
}*/
|
||||||
print '<br>';
|
print '<br>';
|
||||||
|
|
||||||
print '<br>';
|
print '<br>';
|
||||||
@ -102,9 +104,17 @@ print '<strong>'.$langs->trans("PermissionsOnFilesInWebRoot").'</strong>: ';
|
|||||||
print 'TODO';
|
print 'TODO';
|
||||||
print '<br>';
|
print '<br>';
|
||||||
|
|
||||||
print '<strong>'.$langs->trans("PermissionsOnFile", 'conf.php').'</strong>: ';
|
print '<strong>'.$langs->trans("PermissionsOnFile", $conffile).'</strong>: '; // $conffile is defined into filefunc.inc.php
|
||||||
// TODO Check permission on file conf.php (read only for the web user)
|
$perms = fileperms($dolibarr_main_document_root.'/'.$conffile);
|
||||||
print 'TODO';
|
if ($perms) {
|
||||||
|
if (($perms & 0x0004) || ($perms & 0x0002)) {
|
||||||
|
print img_warning().' '.$langs->trans("ConfFileIsReadableOrWritableByAnyUsers");
|
||||||
|
} else {
|
||||||
|
print img_picto('', 'tick');
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
print img_warning().' '.$langs->trans("FailedToReadFile", $conffile);
|
||||||
|
}
|
||||||
print '<br>';
|
print '<br>';
|
||||||
|
|
||||||
print '<br>';
|
print '<br>';
|
||||||
@ -137,14 +147,15 @@ print '<br>';
|
|||||||
print load_fiche_titre($langs->trans("Menu").' '.$langs->trans("SecuritySetup"), '', 'folder');
|
print load_fiche_titre($langs->trans("Menu").' '.$langs->trans("SecuritySetup"), '', 'folder');
|
||||||
|
|
||||||
//print '<strong>'.$langs->trans("PasswordEncryption").'</strong>: ';
|
//print '<strong>'.$langs->trans("PasswordEncryption").'</strong>: ';
|
||||||
print '<strong>MAIN_SECURITY_HASH_ALGO</strong> = '.(empty($conf->global->MAIN_SECURITY_HASH_ALGO) ? 'unset' : '')." ";
|
print '<strong>MAIN_SECURITY_HASH_ALGO</strong> = '.(empty($conf->global->MAIN_SECURITY_HASH_ALGO) ? $langs->trans("Undefined") : '')." ";
|
||||||
print '<span class="opacitymedium"> If unset: \'md5\'</span> ';
|
print '<span class="opacitymedium"> If unset: \'md5\'</span> ';
|
||||||
print '<span class="opacitymedium"> - Recommanded value: \'password_hash\'</span><br>';
|
print '<span class="opacitymedium"> - Recommanded value: \'password_hash\'</span><br>';
|
||||||
print '<strong>MAIN_SECURITY_SALT</strong> = '.$conf->global->MAIN_SECURITY_SALT.'<br>';
|
print '<strong>MAIN_SECURITY_SALT</strong> = '.(empty($conf->global->MAIN_SECURITY_SALT) ? $langs->trans("Undefined") : '').'<br>';
|
||||||
print '<br>';
|
print '<br>';
|
||||||
// TODO
|
// TODO
|
||||||
|
|
||||||
print '<strong>'.$langs->trans("AntivirusEnabledOnUpload").'</strong>: ';
|
print '<strong>'.$langs->trans("AntivirusEnabledOnUpload").'</strong>: ';
|
||||||
|
print empty($conf->global->MAIN_ANTIVIRUS_COMMAND) ? '' : img_picto('', 'tick').' ';
|
||||||
print yn($conf->global->MAIN_ANTIVIRUS_COMMAND ? 1 : 0);
|
print yn($conf->global->MAIN_ANTIVIRUS_COMMAND ? 1 : 0);
|
||||||
if (!empty($conf->global->MAIN_ANTIVIRUS_COMMAND)) {
|
if (!empty($conf->global->MAIN_ANTIVIRUS_COMMAND)) {
|
||||||
print ' - '.$conf->global->MAIN_ANTIVIRUS_COMMAND;
|
print ' - '.$conf->global->MAIN_ANTIVIRUS_COMMAND;
|
||||||
|
|||||||
@ -75,7 +75,7 @@ $tablib[1] = "Websites";
|
|||||||
|
|
||||||
// Requests to extract data
|
// Requests to extract data
|
||||||
$tabsql = array();
|
$tabsql = array();
|
||||||
$tabsql[1] = "SELECT f.rowid as rowid, f.entity, f.ref, f.description, f.virtualhost, f.position, f.status FROM ".MAIN_DB_PREFIX.'website as f WHERE f.entity IN ('.getEntity('website').')';
|
$tabsql[1] = "SELECT f.rowid as rowid, f.entity, f.ref, f.description, f.virtualhost, f.position, f.status, f.date_creation FROM ".MAIN_DB_PREFIX.'website as f WHERE f.entity IN ('.getEntity('website').')';
|
||||||
|
|
||||||
// Criteria to sort dictionaries
|
// Criteria to sort dictionaries
|
||||||
$tabsqlsort = array();
|
$tabsqlsort = array();
|
||||||
@ -83,7 +83,7 @@ $tabsqlsort[1] = "ref ASC";
|
|||||||
|
|
||||||
// Nom des champs en resultat de select pour affichage du dictionnaire
|
// Nom des champs en resultat de select pour affichage du dictionnaire
|
||||||
$tabfield = array();
|
$tabfield = array();
|
||||||
$tabfield[1] = "ref,description,virtualhost,position";
|
$tabfield[1] = "ref,description,virtualhost,position,date_creation";
|
||||||
|
|
||||||
// Nom des champs d'edition pour modification d'un enregistrement
|
// Nom des champs d'edition pour modification d'un enregistrement
|
||||||
$tabfieldvalue = array();
|
$tabfieldvalue = array();
|
||||||
@ -139,8 +139,7 @@ if (GETPOST('actionadd', 'alpha') || GETPOST('actionmodify', 'alpha'))
|
|||||||
$fieldnamekey = $listfield[$f];
|
$fieldnamekey = $listfield[$f];
|
||||||
setEventMessages($langs->transnoentities("ErrorFieldRequired", $langs->transnoentities($fieldnamekey)), null, 'errors');
|
setEventMessages($langs->transnoentities("ErrorFieldRequired", $langs->transnoentities($fieldnamekey)), null, 'errors');
|
||||||
break;
|
break;
|
||||||
} elseif ($value == 'ref' && !preg_match('/^[a-z0-9_\-\.]+$/i', $_POST[$value]))
|
} elseif ($value == 'ref' && !preg_match('/^[a-z0-9_\-\.]+$/i', GETPOST($value))) {
|
||||||
{
|
|
||||||
$ok = 0;
|
$ok = 0;
|
||||||
$fieldnamekey = $listfield[$f];
|
$fieldnamekey = $listfield[$f];
|
||||||
setEventMessages($langs->transnoentities("ErrorFieldCanNotContainSpecialCharacters", $langs->transnoentities($fieldnamekey)), null, 'errors');
|
setEventMessages($langs->transnoentities("ErrorFieldCanNotContainSpecialCharacters", $langs->transnoentities($fieldnamekey)), null, 'errors');
|
||||||
@ -149,9 +148,8 @@ if (GETPOST('actionadd', 'alpha') || GETPOST('actionmodify', 'alpha'))
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Clean parameters
|
// Clean parameters
|
||||||
if (!empty($_POST['ref']))
|
if (GETPOST('ref')) {
|
||||||
{
|
$websitekey = strtolower(GETPOST('ref'));
|
||||||
$websitekey = strtolower($_POST['ref']);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Si verif ok et action add, on ajoute la ligne
|
// Si verif ok et action add, on ajoute la ligne
|
||||||
@ -441,6 +439,8 @@ if ($id)
|
|||||||
print '<tr class="liste_titre">';
|
print '<tr class="liste_titre">';
|
||||||
foreach ($fieldlist as $field => $value)
|
foreach ($fieldlist as $field => $value)
|
||||||
{
|
{
|
||||||
|
if ($fieldlist[$field] == 'date_creation') continue;
|
||||||
|
|
||||||
// Determine le nom du champ par rapport aux noms possibles
|
// Determine le nom du champ par rapport aux noms possibles
|
||||||
// dans les dictionnaires de donnees
|
// dans les dictionnaires de donnees
|
||||||
$valuetoshow = ucfirst($fieldlist[$field]); // Par defaut
|
$valuetoshow = ucfirst($fieldlist[$field]); // Par defaut
|
||||||
@ -534,6 +534,7 @@ if ($id)
|
|||||||
if ($fieldlist[$field] == 'lang') { $valuetoshow = $langs->trans("Language"); }
|
if ($fieldlist[$field] == 'lang') { $valuetoshow = $langs->trans("Language"); }
|
||||||
if ($fieldlist[$field] == 'type') { $valuetoshow = $langs->trans("Type"); }
|
if ($fieldlist[$field] == 'type') { $valuetoshow = $langs->trans("Type"); }
|
||||||
if ($fieldlist[$field] == 'code') { $valuetoshow = $langs->trans("Code"); }
|
if ($fieldlist[$field] == 'code') { $valuetoshow = $langs->trans("Code"); }
|
||||||
|
if ($fieldlist[$field] == 'date_creation') { $valuetoshow = $langs->trans("DateCreation"); }
|
||||||
|
|
||||||
// Affiche nom du champ
|
// Affiche nom du champ
|
||||||
if ($showfield)
|
if ($showfield)
|
||||||
@ -597,7 +598,7 @@ if ($id)
|
|||||||
print "</td>";
|
print "</td>";
|
||||||
|
|
||||||
// Modify link
|
// Modify link
|
||||||
print '<td align="center"><a class="reposition" href="'.$url.'action=edit&token='.newToken().'">'.img_edit().'</a></td>';
|
print '<td align="center"><a class="reposition editfielda" href="'.$url.'action=edit&token='.newToken().'">'.img_edit().'</a></td>';
|
||||||
|
|
||||||
// Delete link
|
// Delete link
|
||||||
if ($iserasable) print '<td align="center"><a class="reposition" href="'.$url.'action=delete&token='.newToken().'">'.img_delete().'</a></td>';
|
if ($iserasable) print '<td align="center"><a class="reposition" href="'.$url.'action=delete&token='.newToken().'">'.img_delete().'</a></td>';
|
||||||
@ -646,6 +647,7 @@ function fieldListWebsites($fieldlist, $obj = '', $tabname = '', $context = '')
|
|||||||
foreach ($fieldlist as $field => $value)
|
foreach ($fieldlist as $field => $value)
|
||||||
{
|
{
|
||||||
$fieldname = $fieldlist[$field];
|
$fieldname = $fieldlist[$field];
|
||||||
|
|
||||||
if ($fieldlist[$field] == 'lang')
|
if ($fieldlist[$field] == 'lang')
|
||||||
{
|
{
|
||||||
print '<td>';
|
print '<td>';
|
||||||
@ -654,6 +656,8 @@ function fieldListWebsites($fieldlist, $obj = '', $tabname = '', $context = '')
|
|||||||
} elseif ($fieldlist[$field] == 'code' && isset($obj->$fieldname)) {
|
} elseif ($fieldlist[$field] == 'code' && isset($obj->$fieldname)) {
|
||||||
print '<td><input type="text" class="flat" value="'.(!empty($obj->$fieldname) ? $obj->$fieldname : '').'" size="10" name="'.$fieldlist[$field].'"></td>';
|
print '<td><input type="text" class="flat" value="'.(!empty($obj->$fieldname) ? $obj->$fieldname : '').'" size="10" name="'.$fieldlist[$field].'"></td>';
|
||||||
} else {
|
} else {
|
||||||
|
if ($fieldlist[$field] == 'date_creation') continue;
|
||||||
|
|
||||||
print '<td>';
|
print '<td>';
|
||||||
$size = '';
|
$size = '';
|
||||||
if ($fieldlist[$field] == 'code') $size = 'size="8" ';
|
if ($fieldlist[$field] == 'code') $size = 'size="8" ';
|
||||||
|
|||||||
@ -643,7 +643,7 @@ class Setup extends DolibarrApi
|
|||||||
public function getListOfShipmentMethods($sortfield = "rowid", $sortorder = 'ASC', $limit = 100, $page = 0, $active = 1, $sqlfilters = '')
|
public function getListOfShipmentMethods($sortfield = "rowid", $sortorder = 'ASC', $limit = 100, $page = 0, $active = 1, $sqlfilters = '')
|
||||||
{
|
{
|
||||||
$list = array();
|
$list = array();
|
||||||
$sql = "SELECT t.rowid, t.code, t.libelle, t.description, t.tracking";
|
$sql = "SELECT t.rowid, t.code, t.libelle as label, t.description, t.tracking";
|
||||||
$sql .= " FROM ".MAIN_DB_PREFIX."c_shipment_mode as t";
|
$sql .= " FROM ".MAIN_DB_PREFIX."c_shipment_mode as t";
|
||||||
$sql .= " WHERE t.active = ".$active;
|
$sql .= " WHERE t.active = ".$active;
|
||||||
// Add sql filters
|
// Add sql filters
|
||||||
|
|||||||
@ -22,6 +22,11 @@
|
|||||||
* \ingroup member
|
* \ingroup member
|
||||||
* \brief Page to print sheets with barcodes using the document templates into core/modules/printsheets
|
* \brief Page to print sheets with barcodes using the document templates into core/modules/printsheets
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
if (!empty($_POST['mode']) && $_POST['mode'] === 'label') { // Page is called to build a PDF and output, we must ne renew the token.
|
||||||
|
if (!defined('NOTOKENRENEWAL')) define('NOTOKENRENEWAL', '1'); // Do not roll the Anti CSRF token (used if MAIN_SECURITY_CSRF_WITH_TOKEN is on)
|
||||||
|
}
|
||||||
|
|
||||||
require '../main.inc.php';
|
require '../main.inc.php';
|
||||||
require_once DOL_DOCUMENT_ROOT.'/core/lib/format_cards.lib.php';
|
require_once DOL_DOCUMENT_ROOT.'/core/lib/format_cards.lib.php';
|
||||||
require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php';
|
require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php';
|
||||||
@ -237,16 +242,22 @@ if ($action == 'builddoc')
|
|||||||
|
|
||||||
$outfile = $langs->trans("BarCode").'_sheets_'.dol_print_date(dol_now(), 'dayhourlog').'.pdf';
|
$outfile = $langs->trans("BarCode").'_sheets_'.dol_print_date(dol_now(), 'dayhourlog').'.pdf';
|
||||||
|
|
||||||
if (!$mesg) $result = doc_label_pdf_create($db, $arrayofrecords, $modellabel, $outputlangs, $diroutput, $template, dol_sanitizeFileName($outfile));
|
if (!$mesg) {
|
||||||
|
$outputlangs = $langs;
|
||||||
|
|
||||||
|
// This generates and send PDF to output
|
||||||
|
// TODO Move
|
||||||
|
$result = doc_label_pdf_create($db, $arrayofrecords, $modellabel, $outputlangs, $diroutput, $template, dol_sanitizeFileName($outfile));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($result <= 0)
|
if ($result <= 0 || $mesg) {
|
||||||
{
|
if (empty($mesg)) {
|
||||||
dol_print_error('', $result);
|
$mesg = 'Error '.$result;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!$mesg)
|
setEventMessages($mesg, null, 'errors');
|
||||||
{
|
} else {
|
||||||
$db->close();
|
$db->close();
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
@ -275,10 +286,10 @@ dol_htmloutput_errors($mesg);
|
|||||||
//print img_picto('','puce').' '.$langs->trans("PrintsheetForOneBarCode").'<br>';
|
//print img_picto('','puce').' '.$langs->trans("PrintsheetForOneBarCode").'<br>';
|
||||||
//print '<br>';
|
//print '<br>';
|
||||||
|
|
||||||
print '<form action="'.$_SERVER["PHP_SELF"].'" method="POST">';
|
print '<form action="'.$_SERVER["PHP_SELF"].'" method="POST">'; // The target is for brothers that open the file instead of downloading it
|
||||||
print '<input type="hidden" name="mode" value="label">';
|
print '<input type="hidden" name="mode" value="label">';
|
||||||
print '<input type="hidden" name="action" value="builddoc">';
|
print '<input type="hidden" name="action" value="builddoc">';
|
||||||
print '<input type="hidden" name="token" value="'.newtoken().'">';
|
print '<input type="hidden" name="token" value="'.currentToken().'">'; // The page will not renew the token but force download of a file, so we must use here currentToken
|
||||||
|
|
||||||
print '<div class="tagtable">';
|
print '<div class="tagtable">';
|
||||||
|
|
||||||
|
|||||||
@ -77,6 +77,7 @@ if (preg_match('/del_(.*)/', $action, $reg))
|
|||||||
|
|
||||||
$form = new Form($db);
|
$form = new Form($db);
|
||||||
$block_static = new BlockedLog($db);
|
$block_static = new BlockedLog($db);
|
||||||
|
$block_static->loadTrackedEvents();
|
||||||
|
|
||||||
llxHeader('', $langs->trans("BlockedLogSetup"));
|
llxHeader('', $langs->trans("BlockedLogSetup"));
|
||||||
|
|
||||||
|
|||||||
@ -43,6 +43,7 @@ $optioncss = GETPOST('optioncss', 'aZ'); // Option for the css output (always '
|
|||||||
$search_showonlyerrors = GETPOST('search_showonlyerrors', 'int');
|
$search_showonlyerrors = GETPOST('search_showonlyerrors', 'int');
|
||||||
if ($search_showonlyerrors < 0) $search_showonlyerrors = 0;
|
if ($search_showonlyerrors < 0) $search_showonlyerrors = 0;
|
||||||
|
|
||||||
|
$search_id = GETPOST('search_id', 'alpha');
|
||||||
$search_fk_user = GETPOST('search_fk_user', 'intcomma');
|
$search_fk_user = GETPOST('search_fk_user', 'intcomma');
|
||||||
$search_start = -1;
|
$search_start = -1;
|
||||||
if (GETPOST('search_startyear') != '') $search_start = dol_mktime(0, 0, 0, GETPOST('search_startmonth'), GETPOST('search_startday'), GETPOST('search_startyear'));
|
if (GETPOST('search_startyear') != '') $search_start = dol_mktime(0, 0, 0, GETPOST('search_startmonth'), GETPOST('search_startday'), GETPOST('search_startyear'));
|
||||||
@ -68,11 +69,20 @@ if (empty($sortfield)) $sortfield = 'rowid';
|
|||||||
if (empty($sortorder)) $sortorder = 'DESC';
|
if (empty($sortorder)) $sortorder = 'DESC';
|
||||||
|
|
||||||
$block_static = new BlockedLog($db);
|
$block_static = new BlockedLog($db);
|
||||||
|
$block_static->loadTrackedEvents();
|
||||||
|
|
||||||
$result = restrictedArea($user, 'blockedlog', 0, '');
|
$result = restrictedArea($user, 'blockedlog', 0, '');
|
||||||
|
|
||||||
|
|
||||||
|
$max_execution_time_for_importexport = (empty($conf->global->EXPORT_MAX_EXECUTION_TIME) ? 300 : $conf->global->EXPORT_MAX_EXECUTION_TIME); // 5mn if not defined
|
||||||
|
$max_time = @ini_get("max_execution_time");
|
||||||
|
if ($max_time && $max_time < $max_execution_time_for_importexport)
|
||||||
|
{
|
||||||
|
dol_syslog("max_execution_time=".$max_time." is lower than max_execution_time_for_importexport=".$max_execution_time_for_importexport.". We try to increase it dynamically.");
|
||||||
|
@ini_set("max_execution_time", $max_execution_time_for_importexport); // This work only if safe mode is off. also web servers has timeout of 300
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Actions
|
* Actions
|
||||||
*/
|
*/
|
||||||
@ -80,6 +90,7 @@ $result = restrictedArea($user, 'blockedlog', 0, '');
|
|||||||
// Purge search criteria
|
// Purge search criteria
|
||||||
if (GETPOST('button_removefilter_x', 'alpha') || GETPOST('button_removefilter.x', 'alpha') || GETPOST('button_removefilter', 'alpha')) // All tests are required to be compatible with all browsers
|
if (GETPOST('button_removefilter_x', 'alpha') || GETPOST('button_removefilter.x', 'alpha') || GETPOST('button_removefilter', 'alpha')) // All tests are required to be compatible with all browsers
|
||||||
{
|
{
|
||||||
|
$search_id = '';
|
||||||
$search_fk_user = '';
|
$search_fk_user = '';
|
||||||
$search_start = -1;
|
$search_start = -1;
|
||||||
$search_end = -1;
|
$search_end = -1;
|
||||||
@ -263,7 +274,7 @@ llxHeader('', $langs->trans("BrowseBlockedLog"));
|
|||||||
|
|
||||||
$MAXLINES = 10000;
|
$MAXLINES = 10000;
|
||||||
|
|
||||||
$blocks = $block_static->getLog('all', 0, $MAXLINES, $sortfield, $sortorder, $search_fk_user, $search_start, $search_end, $search_ref, $search_amount, $search_code);
|
$blocks = $block_static->getLog('all', $search_id, $MAXLINES, $sortfield, $sortorder, $search_fk_user, $search_start, $search_end, $search_ref, $search_amount, $search_code);
|
||||||
if (!is_array($blocks))
|
if (!is_array($blocks))
|
||||||
{
|
{
|
||||||
if ($blocks == -2)
|
if ($blocks == -2)
|
||||||
@ -296,6 +307,7 @@ print '<br>';
|
|||||||
$param = '';
|
$param = '';
|
||||||
if (!empty($contextpage) && $contextpage != $_SERVER["PHP_SELF"]) $param .= '&contextpage='.urlencode($contextpage);
|
if (!empty($contextpage) && $contextpage != $_SERVER["PHP_SELF"]) $param .= '&contextpage='.urlencode($contextpage);
|
||||||
if ($limit > 0 && $limit != $conf->liste_limit) $param .= '&limit='.urlencode($limit);
|
if ($limit > 0 && $limit != $conf->liste_limit) $param .= '&limit='.urlencode($limit);
|
||||||
|
if ($search_id != '') $param .= '&search_id='.urlencode($search_id);
|
||||||
if ($search_fk_user > 0) $param .= '&search_fk_user='.urlencode($search_fk_user);
|
if ($search_fk_user > 0) $param .= '&search_fk_user='.urlencode($search_fk_user);
|
||||||
if ($search_startyear > 0) $param .= '&search_startyear='.urlencode(GETPOST('search_startyear', 'int'));
|
if ($search_startyear > 0) $param .= '&search_startyear='.urlencode(GETPOST('search_startyear', 'int'));
|
||||||
if ($search_startmonth > 0) $param .= '&search_startmonth='.urlencode(GETPOST('search_startmonth', 'int'));
|
if ($search_startmonth > 0) $param .= '&search_startmonth='.urlencode(GETPOST('search_startmonth', 'int'));
|
||||||
@ -355,7 +367,7 @@ print '<table class="noborder centpercent">';
|
|||||||
// Line of filters
|
// Line of filters
|
||||||
print '<tr class="liste_titre_filter">';
|
print '<tr class="liste_titre_filter">';
|
||||||
|
|
||||||
print '<td class="liste_titre"> </td>';
|
print '<td class="liste_titre"><input type="text" class="maxwidth50" name="search_id" value="'.dol_escape_htmltag($search_id).'"></td>';
|
||||||
|
|
||||||
print '<td class="liste_titre">';
|
print '<td class="liste_titre">';
|
||||||
//print $langs->trans("from").': ';
|
//print $langs->trans("from").': ';
|
||||||
@ -433,12 +445,18 @@ if (!empty($conf->global->BLOCKEDLOG_SCAN_ALL_FOR_LOWERIDINERROR)) {
|
|||||||
// This is version that optimize the memory (but will not report errors that are outside the filter range)
|
// This is version that optimize the memory (but will not report errors that are outside the filter range)
|
||||||
$loweridinerror = 0;
|
$loweridinerror = 0;
|
||||||
$checkresult = array();
|
$checkresult = array();
|
||||||
|
$checkdetail = array();
|
||||||
if (is_array($blocks))
|
if (is_array($blocks))
|
||||||
{
|
{
|
||||||
foreach ($blocks as &$block)
|
foreach ($blocks as &$block)
|
||||||
{
|
{
|
||||||
$checksignature = $block->checkSignature(); // Note: this make a sql request at each call, we can't avoid this as the sorting order is various
|
$tmpcheckresult = $block->checkSignature('', 1); // Note: this make a sql request at each call, we can't avoid this as the sorting order is various
|
||||||
|
|
||||||
|
$checksignature = $tmpcheckresult['checkresult'];
|
||||||
|
|
||||||
$checkresult[$block->id] = $checksignature; // false if error
|
$checkresult[$block->id] = $checksignature; // false if error
|
||||||
|
$checkdetail[$block->id] = $tmpcheckresult;
|
||||||
|
|
||||||
if (!$checksignature)
|
if (!$checksignature)
|
||||||
{
|
{
|
||||||
if (empty($loweridinerror)) $loweridinerror = $block->id;
|
if (empty($loweridinerror)) $loweridinerror = $block->id;
|
||||||
@ -450,13 +468,23 @@ if (!empty($conf->global->BLOCKEDLOG_SCAN_ALL_FOR_LOWERIDINERROR)) {
|
|||||||
|
|
||||||
if (is_array($blocks))
|
if (is_array($blocks))
|
||||||
{
|
{
|
||||||
|
$nbshown = 0;
|
||||||
|
$MAXFORSHOWLINK = 100;
|
||||||
|
$object_link = '';
|
||||||
|
|
||||||
foreach ($blocks as &$block)
|
foreach ($blocks as &$block)
|
||||||
{
|
{
|
||||||
$object_link = $block->getObjectLink();
|
|
||||||
|
|
||||||
//if (empty($search_showonlyerrors) || ! $checkresult[$block->id] || ($loweridinerror && $block->id >= $loweridinerror))
|
//if (empty($search_showonlyerrors) || ! $checkresult[$block->id] || ($loweridinerror && $block->id >= $loweridinerror))
|
||||||
if (empty($search_showonlyerrors) || !$checkresult[$block->id])
|
if (empty($search_showonlyerrors) || !$checkresult[$block->id])
|
||||||
{
|
{
|
||||||
|
$nbshown++;
|
||||||
|
|
||||||
|
if ($nbshown < $MAXFORSHOWLINK) { // For performance and memory purpose, we get/show the link of objects only for the 100 first output
|
||||||
|
$object_link = $block->getObjectLink();
|
||||||
|
} else {
|
||||||
|
$object_link = $block->element.'/'.$block->fk_object;
|
||||||
|
}
|
||||||
|
|
||||||
print '<tr class="oddeven">';
|
print '<tr class="oddeven">';
|
||||||
|
|
||||||
// ID
|
// ID
|
||||||
@ -475,7 +503,9 @@ if (is_array($blocks))
|
|||||||
print '<td>'.$langs->trans('log'.$block->action).'</td>';
|
print '<td>'.$langs->trans('log'.$block->action).'</td>';
|
||||||
|
|
||||||
// Ref
|
// Ref
|
||||||
print '<td class="nowrap">'.$block->ref_object.'</td>';
|
print '<td class="nowraponall">';
|
||||||
|
print $block->ref_object;
|
||||||
|
print '</td>';
|
||||||
|
|
||||||
// Link to source object
|
// Link to source object
|
||||||
print '<td'.(preg_match('/<a/', $object_link) ? ' class="nowrap"' : '').'><!-- object_link -->'.$object_link.'</td>';
|
print '<td'.(preg_match('/<a/', $object_link) ? ' class="nowrap"' : '').'><!-- object_link -->'.$object_link.'</td>';
|
||||||
@ -488,19 +518,26 @@ if (is_array($blocks))
|
|||||||
|
|
||||||
// Fingerprint
|
// Fingerprint
|
||||||
print '<td class="nowrap">';
|
print '<td class="nowrap">';
|
||||||
print $form->textwithpicto(dol_trunc($block->signature, '8'), $block->signature, 1, 'help', '', 0, 2, 'fingerprint'.$block->id);
|
$texttoshow = $langs->trans("Fingerprint").' - '.$langs->trans("Saved").':<br>'.$block->signature;
|
||||||
|
$texttoshow .= '<br><br>'.$langs->trans("Fingerprint").' - Recalculated sha256(previoushash * data):<br>'.$checkdetail[$block->id]['calculatedsignature'];
|
||||||
|
$texttoshow .= '<br><span class="opacitymedium">'.$langs->trans("PreviousHash").'='.$checkdetail[$block->id]['previoushash'].'</span>';
|
||||||
|
//$texttoshow .= '<br>keyforsignature='.$checkdetail[$block->id]['keyforsignature'];
|
||||||
|
print $form->textwithpicto(dol_trunc($block->signature, '8'), $texttoshow, 1, 'help', '', 0, 2, 'fingerprint'.$block->id);
|
||||||
print '</td>';
|
print '</td>';
|
||||||
|
|
||||||
// Status
|
// Status
|
||||||
print '<td class="center">';
|
print '<td class="center">';
|
||||||
if (!$checkresult[$block->id] || ($loweridinerror && $block->id >= $loweridinerror)) // If error
|
if (!$checkresult[$block->id] || ($loweridinerror && $block->id >= $loweridinerror)) // If error
|
||||||
{
|
{
|
||||||
if ($checkresult[$block->id]) print img_picto($langs->trans('OkCheckFingerprintValidityButChainIsKo'), 'statut4');
|
if ($checkresult[$block->id]) {
|
||||||
else print img_picto($langs->trans('KoCheckFingerprintValidity'), 'statut8');
|
print '<span class="badge badge-status4 badge-status" title="'.$langs->trans('OkCheckFingerprintValidityButChainIsKo').'">OK</span>';
|
||||||
} else {
|
}
|
||||||
print img_picto($langs->trans('OkCheckFingerprintValidity'), 'statut4');
|
else {
|
||||||
|
print '<span class="badge badge-status8 badge-status" title="'.$langs->trans('KoCheckFingerprintValidity').'">KO</span>';
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
print '<span class="badge badge-status4 badge-status" title="'.$langs->trans('OkCheckFingerprintValidity').'">OK</span>';
|
||||||
}
|
}
|
||||||
|
|
||||||
print '</td>';
|
print '</td>';
|
||||||
|
|
||||||
// Note
|
// Note
|
||||||
@ -520,6 +557,10 @@ if (is_array($blocks))
|
|||||||
print '</tr>';
|
print '</tr>';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ($nbshown == 0) {
|
||||||
|
print '<tr><td colspan="12"><span class="opacitymedium">'.$langs->trans("NoRecordFound").'</span></td></tr>';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
print '</table>';
|
print '</table>';
|
||||||
|
|||||||
@ -124,20 +124,42 @@ class BlockedLog
|
|||||||
*/
|
*/
|
||||||
public function __construct(DoliDB $db)
|
public function __construct(DoliDB $db)
|
||||||
{
|
{
|
||||||
global $conf;
|
|
||||||
|
|
||||||
$this->db = $db;
|
$this->db = $db;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Load list of tracked events into $this->trackedevents.
|
||||||
|
*
|
||||||
|
* @return int Always 1
|
||||||
|
*/
|
||||||
|
public function loadTrackedEvents()
|
||||||
|
{
|
||||||
|
global $conf;
|
||||||
|
|
||||||
$this->trackedevents = array();
|
$this->trackedevents = array();
|
||||||
|
|
||||||
if ($conf->facture->enabled) $this->trackedevents['BILL_VALIDATE'] = 'logBILL_VALIDATE';
|
if ($conf->facture->enabled) {
|
||||||
if ($conf->facture->enabled) $this->trackedevents['BILL_DELETE'] = 'logBILL_DELETE';
|
$this->trackedevents['BILL_VALIDATE'] = 'logBILL_VALIDATE';
|
||||||
if ($conf->facture->enabled) $this->trackedevents['BILL_SENTBYMAIL'] = 'logBILL_SENTBYMAIL';
|
}
|
||||||
if ($conf->facture->enabled) $this->trackedevents['DOC_DOWNLOAD'] = 'BlockedLogBillDownload';
|
if ($conf->facture->enabled) {
|
||||||
if ($conf->facture->enabled) $this->trackedevents['DOC_PREVIEW'] = 'BlockedLogBillPreview';
|
$this->trackedevents['BILL_DELETE'] = 'logBILL_DELETE';
|
||||||
|
}
|
||||||
if ($conf->facture->enabled) $this->trackedevents['PAYMENT_CUSTOMER_CREATE'] = 'logPAYMENT_CUSTOMER_CREATE';
|
if ($conf->facture->enabled) {
|
||||||
if ($conf->facture->enabled) $this->trackedevents['PAYMENT_CUSTOMER_DELETE'] = 'logPAYMENT_CUSTOMER_DELETE';
|
$this->trackedevents['BILL_SENTBYMAIL'] = 'logBILL_SENTBYMAIL';
|
||||||
|
}
|
||||||
|
if ($conf->facture->enabled) {
|
||||||
|
$this->trackedevents['DOC_DOWNLOAD'] = 'BlockedLogBillDownload';
|
||||||
|
}
|
||||||
|
if ($conf->facture->enabled) {
|
||||||
|
$this->trackedevents['DOC_PREVIEW'] = 'BlockedLogBillPreview';
|
||||||
|
}
|
||||||
|
if ($conf->facture->enabled) {
|
||||||
|
$this->trackedevents['PAYMENT_CUSTOMER_CREATE'] = 'logPAYMENT_CUSTOMER_CREATE';
|
||||||
|
}
|
||||||
|
if ($conf->facture->enabled) {
|
||||||
|
$this->trackedevents['PAYMENT_CUSTOMER_DELETE'] = 'logPAYMENT_CUSTOMER_DELETE';
|
||||||
|
}
|
||||||
|
|
||||||
/* Supplier
|
/* Supplier
|
||||||
if ($conf->fournisseur->enabled) $this->trackedevents['BILL_SUPPLIER_VALIDATE']='BlockedLogSupplierBillValidate';
|
if ($conf->fournisseur->enabled) $this->trackedevents['BILL_SUPPLIER_VALIDATE']='BlockedLogSupplierBillValidate';
|
||||||
@ -150,12 +172,20 @@ class BlockedLog
|
|||||||
if ($conf->fournisseur->enabled) $this->trackedevents['PAYMENT_SUPPLIER_DELETE']='BlockedLogsupplierBillPaymentCreate';
|
if ($conf->fournisseur->enabled) $this->trackedevents['PAYMENT_SUPPLIER_DELETE']='BlockedLogsupplierBillPaymentCreate';
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if ($conf->don->enabled) $this->trackedevents['DON_VALIDATE'] = 'logDON_VALIDATE';
|
if ($conf->don->enabled) {
|
||||||
if ($conf->don->enabled) $this->trackedevents['DON_DELETE'] = 'logDON_DELETE';
|
$this->trackedevents['DON_VALIDATE'] = 'logDON_VALIDATE';
|
||||||
|
}
|
||||||
|
if ($conf->don->enabled) {
|
||||||
|
$this->trackedevents['DON_DELETE'] = 'logDON_DELETE';
|
||||||
|
}
|
||||||
//if ($conf->don->enabled) $this->trackedevents['DON_SENTBYMAIL']='logDON_SENTBYMAIL';
|
//if ($conf->don->enabled) $this->trackedevents['DON_SENTBYMAIL']='logDON_SENTBYMAIL';
|
||||||
|
|
||||||
if ($conf->don->enabled) $this->trackedevents['DONATION_PAYMENT_CREATE'] = 'logDONATION_PAYMENT_CREATE';
|
if ($conf->don->enabled) {
|
||||||
if ($conf->don->enabled) $this->trackedevents['DONATION_PAYMENT_DELETE'] = 'logDONATION_PAYMENT_DELETE';
|
$this->trackedevents['DONATION_PAYMENT_CREATE'] = 'logDONATION_PAYMENT_CREATE';
|
||||||
|
}
|
||||||
|
if ($conf->don->enabled) {
|
||||||
|
$this->trackedevents['DONATION_PAYMENT_DELETE'] = 'logDONATION_PAYMENT_DELETE';
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
if ($conf->salary->enabled) $this->trackedevents['PAYMENT_SALARY_CREATE']='BlockedLogSalaryPaymentCreate';
|
if ($conf->salary->enabled) $this->trackedevents['PAYMENT_SALARY_CREATE']='BlockedLogSalaryPaymentCreate';
|
||||||
@ -163,30 +193,45 @@ class BlockedLog
|
|||||||
if ($conf->salary->enabled) $this->trackedevents['PAYMENT_SALARY_DELETE']='BlockedLogSalaryPaymentCreate';
|
if ($conf->salary->enabled) $this->trackedevents['PAYMENT_SALARY_DELETE']='BlockedLogSalaryPaymentCreate';
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if ($conf->adherent->enabled) $this->trackedevents['MEMBER_SUBSCRIPTION_CREATE'] = 'logMEMBER_SUBSCRIPTION_CREATE';
|
if ($conf->adherent->enabled) {
|
||||||
if ($conf->adherent->enabled) $this->trackedevents['MEMBER_SUBSCRIPTION_MODIFY'] = 'logMEMBER_SUBSCRIPTION_MODIFY';
|
$this->trackedevents['MEMBER_SUBSCRIPTION_CREATE'] = 'logMEMBER_SUBSCRIPTION_CREATE';
|
||||||
if ($conf->adherent->enabled) $this->trackedevents['MEMBER_SUBSCRIPTION_DELETE'] = 'logMEMBER_SUBSCRIPTION_DELETE';
|
}
|
||||||
|
if ($conf->adherent->enabled) {
|
||||||
|
$this->trackedevents['MEMBER_SUBSCRIPTION_MODIFY'] = 'logMEMBER_SUBSCRIPTION_MODIFY';
|
||||||
if ($conf->banque->enabled) $this->trackedevents['PAYMENT_VARIOUS_CREATE'] = 'logPAYMENT_VARIOUS_CREATE';
|
}
|
||||||
if ($conf->banque->enabled) $this->trackedevents['PAYMENT_VARIOUS_MODIFY'] = 'logPAYMENT_VARIOUS_MODIFY';
|
if ($conf->adherent->enabled) {
|
||||||
if ($conf->banque->enabled) $this->trackedevents['PAYMENT_VARIOUS_DELETE'] = 'logPAYMENT_VARIOUS_DELETE';
|
$this->trackedevents['MEMBER_SUBSCRIPTION_DELETE'] = 'logMEMBER_SUBSCRIPTION_DELETE';
|
||||||
|
}
|
||||||
|
if ($conf->banque->enabled) {
|
||||||
|
$this->trackedevents['PAYMENT_VARIOUS_CREATE'] = 'logPAYMENT_VARIOUS_CREATE';
|
||||||
|
}
|
||||||
|
if ($conf->banque->enabled) {
|
||||||
|
$this->trackedevents['PAYMENT_VARIOUS_MODIFY'] = 'logPAYMENT_VARIOUS_MODIFY';
|
||||||
|
}
|
||||||
|
if ($conf->banque->enabled) {
|
||||||
|
$this->trackedevents['PAYMENT_VARIOUS_DELETE'] = 'logPAYMENT_VARIOUS_DELETE';
|
||||||
|
}
|
||||||
// $conf->global->BANK_ENABLE_POS_CASHCONTROL must be set to 1 by all external POS modules
|
// $conf->global->BANK_ENABLE_POS_CASHCONTROL must be set to 1 by all external POS modules
|
||||||
$moduleposenabled = (!empty($conf->cashdesk->enabled) || !empty($conf->takepos->enabled) || !empty($conf->global->BANK_ENABLE_POS_CASHCONTROL));
|
$moduleposenabled = (!empty($conf->cashdesk->enabled) || !empty($conf->takepos->enabled) || !empty($conf->global->BANK_ENABLE_POS_CASHCONTROL));
|
||||||
if ($moduleposenabled) $this->trackedevents['CASHCONTROL_VALIDATE'] = 'logCASHCONTROL_VALIDATE';
|
if ($moduleposenabled) {
|
||||||
|
$this->trackedevents['CASHCONTROL_VALIDATE'] = 'logCASHCONTROL_VALIDATE';
|
||||||
|
}
|
||||||
|
|
||||||
|
// Add more action to track from a conf variable
|
||||||
if (!empty($conf->global->BLOCKEDLOG_ADD_ACTIONS_SUPPORTED)) {
|
if (!empty($conf->global->BLOCKEDLOG_ADD_ACTIONS_SUPPORTED)) {
|
||||||
$tmparrayofmoresupportedevents = explode(',', $conf->global->BLOCKEDLOG_ADD_ACTIONS_SUPPORTED);
|
$tmparrayofmoresupportedevents = explode(',', $conf->global->BLOCKEDLOG_ADD_ACTIONS_SUPPORTED);
|
||||||
foreach ($tmparrayofmoresupportedevents as $val) {
|
foreach ($tmparrayofmoresupportedevents as $val) {
|
||||||
$this->trackedevents[$val] = 'log'.$val;
|
$this->trackedevents[$val] = 'log'.$val;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Try to retrieve source object (it it still exists)
|
* Try to retrieve source object (it it still exists).
|
||||||
* @return string
|
*
|
||||||
|
* @return string URL string of source object
|
||||||
*/
|
*/
|
||||||
public function getObjectLink()
|
public function getObjectLink()
|
||||||
{
|
{
|
||||||
@ -396,7 +441,7 @@ class BlockedLog
|
|||||||
'name', 'name_alias', 'ref_ext', 'address', 'zip', 'town', 'state_code', 'country_code', 'idprof1', 'idprof2', 'idprof3', 'idprof4', 'idprof5', 'idprof6', 'phone', 'fax', 'email', 'barcode',
|
'name', 'name_alias', 'ref_ext', 'address', 'zip', 'town', 'state_code', 'country_code', 'idprof1', 'idprof2', 'idprof3', 'idprof4', 'idprof5', 'idprof6', 'phone', 'fax', 'email', 'barcode',
|
||||||
'tva_intra', 'localtax1_assuj', 'localtax1_value', 'localtax2_assuj', 'localtax2_value', 'managers', 'capital', 'typent_code', 'forme_juridique_code', 'code_client', 'code_fournisseur'
|
'tva_intra', 'localtax1_assuj', 'localtax1_value', 'localtax2_assuj', 'localtax2_value', 'managers', 'capital', 'typent_code', 'forme_juridique_code', 'code_client', 'code_fournisseur'
|
||||||
))) continue; // Discard if not into a dedicated list
|
))) continue; // Discard if not into a dedicated list
|
||||||
if (!is_object($value)) $this->object_data->thirdparty->{$key} = $value;
|
if (!is_object($value) && !is_null($value) && $value !== '') $this->object_data->thirdparty->{$key} = $value;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -412,7 +457,7 @@ class BlockedLog
|
|||||||
'name', 'name_alias', 'ref_ext', 'address', 'zip', 'town', 'state_code', 'country_code', 'idprof1', 'idprof2', 'idprof3', 'idprof4', 'idprof5', 'idprof6', 'phone', 'fax', 'email', 'barcode',
|
'name', 'name_alias', 'ref_ext', 'address', 'zip', 'town', 'state_code', 'country_code', 'idprof1', 'idprof2', 'idprof3', 'idprof4', 'idprof5', 'idprof6', 'phone', 'fax', 'email', 'barcode',
|
||||||
'tva_intra', 'localtax1_assuj', 'localtax1_value', 'localtax2_assuj', 'localtax2_value', 'managers', 'capital', 'typent_code', 'forme_juridique_code', 'code_client', 'code_fournisseur'
|
'tva_intra', 'localtax1_assuj', 'localtax1_value', 'localtax2_assuj', 'localtax2_value', 'managers', 'capital', 'typent_code', 'forme_juridique_code', 'code_client', 'code_fournisseur'
|
||||||
))) continue; // Discard if not into a dedicated list
|
))) continue; // Discard if not into a dedicated list
|
||||||
if (!is_object($value)) $this->object_data->mycompany->{$key} = $value;
|
if (!is_object($value) && !is_null($value) && $value !== '') $this->object_data->mycompany->{$key} = $value;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -448,10 +493,12 @@ class BlockedLog
|
|||||||
$this->object_data->invoiceline[$lineid] = new stdClass();
|
$this->object_data->invoiceline[$lineid] = new stdClass();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!is_object($valueline) && !is_null($valueline) && $valueline !== '') {
|
||||||
$this->object_data->invoiceline[$lineid]->{$keyline} = $valueline;
|
$this->object_data->invoiceline[$lineid]->{$keyline} = $valueline;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} elseif (!is_object($value)) $this->object_data->{$key} = $value;
|
}
|
||||||
|
} elseif (!is_object($value) && !is_null($value) && $value !== '') $this->object_data->{$key} = $value;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!empty($object->newref)) $this->object_data->ref = $object->newref;
|
if (!empty($object->newref)) $this->object_data->ref = $object->newref;
|
||||||
@ -463,7 +510,7 @@ class BlockedLog
|
|||||||
if (!in_array($key, array(
|
if (!in_array($key, array(
|
||||||
'ref', 'ref_client', 'ref_supplier', 'date', 'datef', 'type', 'total_ht', 'total_tva', 'total_ttc', 'localtax1', 'localtax2', 'revenuestamp', 'datepointoftax', 'note_public'
|
'ref', 'ref_client', 'ref_supplier', 'date', 'datef', 'type', 'total_ht', 'total_tva', 'total_ttc', 'localtax1', 'localtax2', 'revenuestamp', 'datepointoftax', 'note_public'
|
||||||
))) continue; // Discard if not into a dedicated list
|
))) continue; // Discard if not into a dedicated list
|
||||||
if (!is_object($value)) $this->object_data->{$key} = $value;
|
if (!is_object($value) && !is_null($value) && $value !== '') $this->object_data->{$key} = $value;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!empty($object->newref)) $this->object_data->ref = $object->newref;
|
if (!empty($object->newref)) $this->object_data->ref = $object->newref;
|
||||||
@ -475,9 +522,10 @@ class BlockedLog
|
|||||||
$this->object_data->ref = $object->ref;
|
$this->object_data->ref = $object->ref;
|
||||||
$this->object_data->date = $datepayment;
|
$this->object_data->date = $datepayment;
|
||||||
$this->object_data->type_code = dol_getIdFromCode($this->db, $paymenttypeid, 'c_paiement', 'id', 'code');
|
$this->object_data->type_code = dol_getIdFromCode($this->db, $paymenttypeid, 'c_paiement', 'id', 'code');
|
||||||
$this->object_data->payment_num = $object->num_payment;
|
|
||||||
|
if (!empty($object->num_payment)) $this->object_data->payment_num = $object->num_payment;
|
||||||
|
if (!empty($object->note_private)) $this->object_data->note_private = $object->note_private;
|
||||||
//$this->object_data->fk_account = $object->fk_account;
|
//$this->object_data->fk_account = $object->fk_account;
|
||||||
$this->object_data->note = $object->note;
|
|
||||||
//var_dump($this->object_data);exit;
|
//var_dump($this->object_data);exit;
|
||||||
|
|
||||||
$totalamount = 0;
|
$totalamount = 0;
|
||||||
@ -555,7 +603,7 @@ class BlockedLog
|
|||||||
'name', 'name_alias', 'ref_ext', 'address', 'zip', 'town', 'state_code', 'country_code', 'idprof1', 'idprof2', 'idprof3', 'idprof4', 'idprof5', 'idprof6', 'phone', 'fax', 'email', 'barcode',
|
'name', 'name_alias', 'ref_ext', 'address', 'zip', 'town', 'state_code', 'country_code', 'idprof1', 'idprof2', 'idprof3', 'idprof4', 'idprof5', 'idprof6', 'phone', 'fax', 'email', 'barcode',
|
||||||
'tva_intra', 'localtax1_assuj', 'localtax1_value', 'localtax2_assuj', 'localtax2_value', 'managers', 'capital', 'typent_code', 'forme_juridique_code', 'code_client', 'code_fournisseur'
|
'tva_intra', 'localtax1_assuj', 'localtax1_value', 'localtax2_assuj', 'localtax2_value', 'managers', 'capital', 'typent_code', 'forme_juridique_code', 'code_client', 'code_fournisseur'
|
||||||
))) continue; // Discard if not into a dedicated list
|
))) continue; // Discard if not into a dedicated list
|
||||||
if (!is_object($value)) $paymentpart->thirdparty->{$key} = $value;
|
if (!is_object($value) && !is_null($value) && $value !== '') $paymentpart->thirdparty->{$key} = $value;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -571,8 +619,7 @@ class BlockedLog
|
|||||||
if (!in_array($key, array(
|
if (!in_array($key, array(
|
||||||
'ref', 'ref_client', 'ref_supplier', 'date', 'datef', 'type', 'total_ht', 'total_tva', 'total_ttc', 'localtax1', 'localtax2', 'revenuestamp', 'datepointoftax', 'note_public'
|
'ref', 'ref_client', 'ref_supplier', 'date', 'datef', 'type', 'total_ht', 'total_tva', 'total_ttc', 'localtax1', 'localtax2', 'revenuestamp', 'datepointoftax', 'note_public'
|
||||||
))) continue; // Discard if not into a dedicated list
|
))) continue; // Discard if not into a dedicated list
|
||||||
if (!is_object($value))
|
if (!is_object($value) && !is_null($value) && $value !== '') {
|
||||||
{
|
|
||||||
if ($this->element == 'payment_donation') $paymentpart->donation->{$key} = $value;
|
if ($this->element == 'payment_donation') $paymentpart->donation->{$key} = $value;
|
||||||
elseif ($this->element == 'payment_various') $paymentpart->various->{$key} = $value;
|
elseif ($this->element == 'payment_various') $paymentpart->various->{$key} = $value;
|
||||||
else $paymentpart->invoice->{$key} = $value;
|
else $paymentpart->invoice->{$key} = $value;
|
||||||
@ -600,7 +647,7 @@ class BlockedLog
|
|||||||
if (!in_array($key, array(
|
if (!in_array($key, array(
|
||||||
'id', 'datec', 'dateh', 'datef', 'fk_adherent', 'amount', 'import_key', 'statut', 'note'
|
'id', 'datec', 'dateh', 'datef', 'fk_adherent', 'amount', 'import_key', 'statut', 'note'
|
||||||
))) continue; // Discard if not into a dedicated list
|
))) continue; // Discard if not into a dedicated list
|
||||||
if (!is_object($value)) $this->object_data->{$key} = $value;
|
if (!is_object($value) && !is_null($value) && $value !== '') $this->object_data->{$key} = $value;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!empty($object->newref)) $this->object_data->ref = $object->newref;
|
if (!empty($object->newref)) $this->object_data->ref = $object->newref;
|
||||||
@ -609,7 +656,7 @@ class BlockedLog
|
|||||||
foreach ($object as $key=>$value)
|
foreach ($object as $key=>$value)
|
||||||
{
|
{
|
||||||
if (in_array($key, $arrayoffieldstoexclude)) continue; // Discard some properties
|
if (in_array($key, $arrayoffieldstoexclude)) continue; // Discard some properties
|
||||||
if (!is_object($value)) $this->object_data->{$key} = $value;
|
if (!is_object($value) && !is_null($value) && $value !== '') $this->object_data->{$key} = $value;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!empty($object->newref)) $this->object_data->ref = $object->newref;
|
if (!empty($object->newref)) $this->object_data->ref = $object->newref;
|
||||||
@ -626,31 +673,24 @@ class BlockedLog
|
|||||||
*/
|
*/
|
||||||
public function fetch($id)
|
public function fetch($id)
|
||||||
{
|
{
|
||||||
|
|
||||||
global $langs;
|
global $langs;
|
||||||
|
|
||||||
dol_syslog(get_class($this)."::fetch id=".$id, LOG_DEBUG);
|
|
||||||
|
|
||||||
if (empty($id))
|
if (empty($id))
|
||||||
{
|
{
|
||||||
$this->error = 'BadParameter';
|
$this->error = 'BadParameter';
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
$langs->load("blockedlog");
|
|
||||||
|
|
||||||
$sql = "SELECT b.rowid, b.date_creation, b.signature, b.signature_line, b.amounts, b.action, b.element, b.fk_object, b.entity,";
|
$sql = "SELECT b.rowid, b.date_creation, b.signature, b.signature_line, b.amounts, b.action, b.element, b.fk_object, b.entity,";
|
||||||
$sql .= " b.certified, b.tms, b.fk_user, b.user_fullname, b.date_object, b.ref_object, b.object_data, b.object_version";
|
$sql .= " b.certified, b.tms, b.fk_user, b.user_fullname, b.date_object, b.ref_object, b.object_data, b.object_version";
|
||||||
$sql .= " FROM ".MAIN_DB_PREFIX."blockedlog as b";
|
$sql .= " FROM ".MAIN_DB_PREFIX."blockedlog as b";
|
||||||
if ($id) $sql .= " WHERE b.rowid = ".$id;
|
if ($id) $sql .= " WHERE b.rowid = ".((int) $id);
|
||||||
|
|
||||||
$resql = $this->db->query($sql);
|
$resql = $this->db->query($sql);
|
||||||
if ($resql)
|
if ($resql)
|
||||||
{
|
|
||||||
if ($this->db->num_rows($resql))
|
|
||||||
{
|
{
|
||||||
$obj = $this->db->fetch_object($resql);
|
$obj = $this->db->fetch_object($resql);
|
||||||
|
if ($obj) {
|
||||||
$this->id = $obj->rowid;
|
$this->id = $obj->rowid;
|
||||||
$this->entity = $obj->entity;
|
$this->entity = $obj->entity;
|
||||||
$this->ref = $obj->rowid;
|
$this->ref = $obj->rowid;
|
||||||
@ -678,6 +718,7 @@ class BlockedLog
|
|||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
} else {
|
} else {
|
||||||
|
$langs->load("blockedlog");
|
||||||
$this->error = $langs->trans("RecordNotFound");
|
$this->error = $langs->trans("RecordNotFound");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -841,9 +882,10 @@ class BlockedLog
|
|||||||
* Check if current signature still correct compared to the value in chain
|
* Check if current signature still correct compared to the value in chain
|
||||||
*
|
*
|
||||||
* @param string $previoushash If previous signature hash is known, we can provide it to avoid to make a search of it in database.
|
* @param string $previoushash If previous signature hash is known, we can provide it to avoid to make a search of it in database.
|
||||||
* @return boolean True if OK, False if KO
|
* @param int $returnarray 1=Return array of details, 2=Return array of details including keyforsignature, 0=Boolean
|
||||||
|
* @return boolean|array True if OK, False if KO
|
||||||
*/
|
*/
|
||||||
public function checkSignature($previoushash = '')
|
public function checkSignature($previoushash = '', $returnarray = 0)
|
||||||
{
|
{
|
||||||
if (empty($previoushash))
|
if (empty($previoushash))
|
||||||
{
|
{
|
||||||
@ -852,7 +894,7 @@ class BlockedLog
|
|||||||
// Recalculate hash
|
// Recalculate hash
|
||||||
$keyforsignature = $this->buildKeyForSignature();
|
$keyforsignature = $this->buildKeyForSignature();
|
||||||
|
|
||||||
$signature_line = dol_hash($keyforsignature, '5'); // Not really usefull
|
//$signature_line = dol_hash($keyforsignature, '5'); // Not really usefull
|
||||||
$signature = dol_hash($previoushash.$keyforsignature, '5');
|
$signature = dol_hash($previoushash.$keyforsignature, '5');
|
||||||
//var_dump($previoushash); var_dump($keyforsignature); var_dump($signature_line); var_dump($signature);
|
//var_dump($previoushash); var_dump($keyforsignature); var_dump($signature_line); var_dump($signature);
|
||||||
|
|
||||||
@ -862,8 +904,18 @@ class BlockedLog
|
|||||||
$this->error = 'Signature KO';
|
$this->error = 'Signature KO';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ($returnarray) {
|
||||||
|
if ($returnarray == 1) {
|
||||||
|
unset($keyforsignature);
|
||||||
|
return array('checkresult' => $res, 'calculatedsignature' => $signature, 'previoushash' => $previoushash);
|
||||||
|
} else { // Consume much memory ($keyforsignature is a large var)
|
||||||
|
return array('checkresult' => $res, 'calculatedsignature' => $signature, 'previoushash' => $previoushash, 'keyforsignature'=>$keyforsignature);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
unset($keyforsignature);
|
||||||
return $res;
|
return $res;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return a string for signature.
|
* Return a string for signature.
|
||||||
@ -941,10 +993,11 @@ class BlockedLog
|
|||||||
*/
|
*/
|
||||||
public function getLog($element, $fk_object, $limit = 0, $sortfield = '', $sortorder = '', $search_fk_user = -1, $search_start = -1, $search_end = -1, $search_ref = '', $search_amount = '', $search_code = '')
|
public function getLog($element, $fk_object, $limit = 0, $sortfield = '', $sortorder = '', $search_fk_user = -1, $search_start = -1, $search_end = -1, $search_ref = '', $search_amount = '', $search_code = '')
|
||||||
{
|
{
|
||||||
global $conf, $cachedlogs;
|
global $conf;
|
||||||
|
//global $cachedlogs;
|
||||||
|
|
||||||
/* $cachedlogs allow fastest search */
|
/* $cachedlogs allow fastest search */
|
||||||
if (empty($cachedlogs)) $cachedlogs = array();
|
//if (empty($cachedlogs)) $cachedlogs = array();
|
||||||
|
|
||||||
if ($element == 'all') {
|
if ($element == 'all') {
|
||||||
$sql = "SELECT rowid FROM ".MAIN_DB_PREFIX."blockedlog
|
$sql = "SELECT rowid FROM ".MAIN_DB_PREFIX."blockedlog
|
||||||
@ -957,9 +1010,10 @@ class BlockedLog
|
|||||||
WHERE entity=".$conf->entity." AND certified = 1";
|
WHERE entity=".$conf->entity." AND certified = 1";
|
||||||
} else {
|
} else {
|
||||||
$sql = "SELECT rowid FROM ".MAIN_DB_PREFIX."blockedlog
|
$sql = "SELECT rowid FROM ".MAIN_DB_PREFIX."blockedlog
|
||||||
WHERE entity=".$conf->entity." AND element='".$element."' AND fk_object=".(int) $fk_object;
|
WHERE entity=".$conf->entity." AND element='".$this->db->escape($element)."'";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ($fk_object) $sql .= natural_search("rowid", $fk_object, 1);
|
||||||
if ($search_fk_user > 0) $sql .= natural_search("fk_user", $search_fk_user, 2);
|
if ($search_fk_user > 0) $sql .= natural_search("fk_user", $search_fk_user, 2);
|
||||||
if ($search_start > 0) $sql .= " AND date_creation >= '".$this->db->idate($search_start)."'";
|
if ($search_start > 0) $sql .= " AND date_creation >= '".$this->db->idate($search_start)."'";
|
||||||
if ($search_end > 0) $sql .= " AND date_creation <= '".$this->db->idate($search_end)."'";
|
if ($search_end > 0) $sql .= " AND date_creation <= '".$this->db->idate($search_end)."'";
|
||||||
@ -984,15 +1038,16 @@ class BlockedLog
|
|||||||
return -2;
|
return -2;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!isset($cachedlogs[$obj->rowid]))
|
//if (!isset($cachedlogs[$obj->rowid]))
|
||||||
{
|
//{
|
||||||
$b = new BlockedLog($this->db);
|
$b = new BlockedLog($this->db);
|
||||||
$b->fetch($obj->rowid);
|
$b->fetch($obj->rowid);
|
||||||
|
//$b->loadTrackedEvents();
|
||||||
|
//$cachedlogs[$obj->rowid] = $b;
|
||||||
|
//}
|
||||||
|
|
||||||
$cachedlogs[$obj->rowid] = $b;
|
//$results[] = $cachedlogs[$obj->rowid];
|
||||||
}
|
$results[] = $b;
|
||||||
|
|
||||||
$results[] = $cachedlogs[$obj->rowid];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return $results;
|
return $results;
|
||||||
|
|||||||
@ -318,7 +318,7 @@ switch ($action)
|
|||||||
if ($invoice->total_ttc == $obj_facturation->amountWithTax()
|
if ($invoice->total_ttc == $obj_facturation->amountWithTax()
|
||||||
&& $obj_facturation->getSetPaymentMode() != 'DIFF')
|
&& $obj_facturation->getSetPaymentMode() != 'DIFF')
|
||||||
{
|
{
|
||||||
// We set status to payed
|
// We set status to paid
|
||||||
$result = $invoice->set_paid($user);
|
$result = $invoice->set_paid($user);
|
||||||
//print 'set paid';exit;
|
//print 'set paid';exit;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -210,7 +210,7 @@ llxHeader("", $langs->trans("Categories"), $helpurl);
|
|||||||
if ($user->rights->categorie->creer)
|
if ($user->rights->categorie->creer)
|
||||||
{
|
{
|
||||||
// Create or add
|
// Create or add
|
||||||
if ($action == 'create' || $_POST["addcat"] == 'addcat')
|
if ($action == 'create' || GETPOST("addcat") == 'addcat')
|
||||||
{
|
{
|
||||||
dol_set_focus('#label');
|
dol_set_focus('#label');
|
||||||
|
|
||||||
|
|||||||
@ -287,16 +287,19 @@ print dol_get_fiche_end();
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
print "<div class='tabsAction'>\n";
|
print "<div class='tabsAction'>\n";
|
||||||
|
$reshook = $hookmanager->executeHooks('addMoreActionsButtons', $parameters, $object, $action); // Note that $action and $object may have been modified by some hooks
|
||||||
if ($user->rights->categorie->creer)
|
if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'errors');
|
||||||
{
|
if (empty($reshook)) {
|
||||||
|
if ($user->rights->categorie->creer)
|
||||||
|
{
|
||||||
$socid = ($object->socid ? "&socid=".$object->socid : "");
|
$socid = ($object->socid ? "&socid=".$object->socid : "");
|
||||||
print '<a class="butAction" href="edit.php?id='.$object->id.$socid.'&type='.$type.'">'.$langs->trans("Modify").'</a>';
|
print '<a class="butAction" href="edit.php?id='.$object->id.$socid.'&type='.$type.'">'.$langs->trans("Modify").'</a>';
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($user->rights->categorie->supprimer)
|
if ($user->rights->categorie->supprimer)
|
||||||
{
|
{
|
||||||
print '<a class="butActionDelete" href="'.$_SERVER["PHP_SELF"].'?action=delete&token='.newToken().'&id='.$object->id.'&type='.$type.'&backtolist='.urlencode($backtolist).'">'.$langs->trans("Delete").'</a>';
|
print '<a class="butActionDelete" href="'.$_SERVER["PHP_SELF"].'?action=delete&token='.newToken().'&id='.$object->id.'&type='.$type.'&backtolist='.urlencode($backtolist).'">'.$langs->trans("Delete").'</a>';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
print "</div>";
|
print "</div>";
|
||||||
|
|||||||
@ -228,8 +228,8 @@ if (empty($reshook) && $action == 'add')
|
|||||||
$percentage = in_array(GETPOST('status'), array(-1, 100)) ?GETPOST('status') : (in_array(GETPOST('complete'), array(-1, 100)) ?GETPOST('complete') : 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') : (in_array(GETPOST('complete'), array(-1, 100)) ?GETPOST('complete') : 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' : GETPOST("aphour", 'int'), $fulldayevent ? '00' : GETPOST("apmin", 'int'), $fulldayevent ? '00' : GETPOST("apsec", 'int'), GETPOST("apmonth", 'int'), GETPOST("apday", 'int'), GETPOST("apyear", 'int'));
|
$datep = dol_mktime($fulldayevent ? '00' : GETPOST("aphour", 'int'), $fulldayevent ? '00' : GETPOST("apmin", 'int'), $fulldayevent ? '00' : GETPOST("apsec", 'int'), GETPOST("apmonth", 'int'), GETPOST("apday", 'int'), GETPOST("apyear", 'int'), 'tzuser');
|
||||||
$datef = dol_mktime($fulldayevent ? '23' : GETPOST("p2hour", 'int'), $fulldayevent ? '59' : GETPOST("p2min", 'int'), $fulldayevent ? '59' : GETPOST("apsec", 'int'), GETPOST("p2month", 'int'), GETPOST("p2day", 'int'), GETPOST("p2year", 'int'));
|
$datef = dol_mktime($fulldayevent ? '23' : GETPOST("p2hour", 'int'), $fulldayevent ? '59' : GETPOST("p2min", 'int'), $fulldayevent ? '59' : GETPOST("apsec", 'int'), GETPOST("p2month", 'int'), GETPOST("p2day", 'int'), GETPOST("p2year", 'int'), 'tzuser');
|
||||||
|
|
||||||
// Check parameters
|
// Check parameters
|
||||||
if (!$datef && $percentage == 100)
|
if (!$datef && $percentage == 100)
|
||||||
@ -479,8 +479,8 @@ if (empty($reshook) && $action == 'update')
|
|||||||
$object->fetch_userassigned();
|
$object->fetch_userassigned();
|
||||||
$object->oldcopy = clone $object;
|
$object->oldcopy = clone $object;
|
||||||
|
|
||||||
$datep = dol_mktime($fulldayevent ? '00' : $aphour, $fulldayevent ? '00' : $apmin, 0, GETPOST("apmonth", 'int'), GETPOST("apday", 'int'), GETPOST("apyear", 'int'));
|
$datep = dol_mktime($fulldayevent ? '00' : $aphour, $fulldayevent ? '00' : $apmin, 0, GETPOST("apmonth", 'int'), GETPOST("apday", 'int'), GETPOST("apyear", 'int'), 'tzuser');
|
||||||
$datef = dol_mktime($fulldayevent ? '23' : $p2hour, $fulldayevent ? '59' : $p2min, $fulldayevent ? '59' : '0', GETPOST("p2month", 'int'), GETPOST("p2day", 'int'), GETPOST("p2year", 'int'));
|
$datef = dol_mktime($fulldayevent ? '23' : $p2hour, $fulldayevent ? '59' : $p2min, $fulldayevent ? '59' : '0', GETPOST("p2month", 'int'), GETPOST("p2day", 'int'), GETPOST("p2year", 'int'), 'tzuser');
|
||||||
|
|
||||||
$object->type_id = dol_getIdFromCode($db, GETPOST("actioncode", 'aZ09'), 'c_actioncomm');
|
$object->type_id = dol_getIdFromCode($db, GETPOST("actioncode", 'aZ09'), 'c_actioncomm');
|
||||||
$object->label = GETPOST("label", "alphanohtml");
|
$object->label = GETPOST("label", "alphanohtml");
|
||||||
@ -953,7 +953,7 @@ if ($action == 'create')
|
|||||||
// Full day
|
// Full day
|
||||||
print '<tr><td>'.$langs->trans("EventOnFullDay").'</td><td><input type="checkbox" id="fullday" name="fullday" '.(GETPOST('fullday') ? ' checked' : '').'></td></tr>';
|
print '<tr><td>'.$langs->trans("EventOnFullDay").'</td><td><input type="checkbox" id="fullday" name="fullday" '.(GETPOST('fullday') ? ' checked' : '').'></td></tr>';
|
||||||
|
|
||||||
$datep = ($datep ? $datep : $object->datep);
|
$datep = ($datep ? $datep : (is_null($object->datep) ? '' : $object->datep));
|
||||||
if (GETPOST('datep', 'int', 1)) $datep = dol_stringtotime(GETPOST('datep', 'int', 1), 0);
|
if (GETPOST('datep', 'int', 1)) $datep = dol_stringtotime(GETPOST('datep', 'int', 1), 0);
|
||||||
$datef = ($datef ? $datef : $object->datef);
|
$datef = ($datef ? $datef : $object->datef);
|
||||||
if (GETPOST('datef', 'int', 1)) $datef = dol_stringtotime(GETPOST('datef', 'int', 1), 0);
|
if (GETPOST('datef', 'int', 1)) $datef = dol_stringtotime(GETPOST('datef', 'int', 1), 0);
|
||||||
@ -1324,8 +1324,8 @@ if ($id > 0)
|
|||||||
{
|
{
|
||||||
$percentage = in_array(GETPOST('status'), array(-1, 100)) ?GETPOST('status') : (in_array(GETPOST('complete'), array(-1, 100)) ?GETPOST('complete') : 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') : (in_array(GETPOST('complete'), array(-1, 100)) ?GETPOST('complete') : GETPOST("percentage")); // If status is -1 or 100, percentage is not defined and we must use status
|
||||||
|
|
||||||
$datep = dol_mktime($fulldayevent ? '00' : $aphour, $fulldayevent ? '00' : $apmin, 0, GETPOST("apmonth", 'int'), GETPOST("apday", 'int'), GETPOST("apyear", 'int'));
|
$datep = dol_mktime($fulldayevent ? '00' : $aphour, $fulldayevent ? '00' : $apmin, 0, GETPOST("apmonth", 'int'), GETPOST("apday", 'int'), GETPOST("apyear", 'int'), 'tzuser');
|
||||||
$datef = dol_mktime($fulldayevent ? '23' : $p2hour, $fulldayevent ? '59' : $p2min, $fulldayevent ? '59' : '0', GETPOST("p2month", 'int'), GETPOST("p2day", 'int'), GETPOST("p2year", 'int'));
|
$datef = dol_mktime($fulldayevent ? '23' : $p2hour, $fulldayevent ? '59' : $p2min, $fulldayevent ? '59' : '0', GETPOST("p2month", 'int'), GETPOST("p2day", 'int'), GETPOST("p2year", 'int'), 'tzuser');
|
||||||
|
|
||||||
$object->type_id = dol_getIdFromCode($db, GETPOST("actioncode", 'aZ09'), 'c_actioncomm');
|
$object->type_id = dol_getIdFromCode($db, GETPOST("actioncode", 'aZ09'), 'c_actioncomm');
|
||||||
$object->label = GETPOST("label", "alphanohtml");
|
$object->label = GETPOST("label", "alphanohtml");
|
||||||
@ -1430,23 +1430,23 @@ if ($id > 0)
|
|||||||
|
|
||||||
// Full day event
|
// Full day event
|
||||||
print '<tr><td>'.$langs->trans("EventOnFullDay").'</td><td colspan="3"><input type="checkbox" id="fullday" name="fullday" '.($object->fulldayevent ? ' checked' : '').'></td></tr>';
|
print '<tr><td>'.$langs->trans("EventOnFullDay").'</td><td colspan="3"><input type="checkbox" id="fullday" name="fullday" '.($object->fulldayevent ? ' checked' : '').'></td></tr>';
|
||||||
|
print dol_print_date($object->datep, 'dayhour', 'gmt');
|
||||||
// Date start - end
|
// Date start - end
|
||||||
print '<tr><td class="nowrap"><span class="fieldrequired">'.$langs->trans("DateActionStart").' - '.$langs->trans("DateActionEnd").'</span></td><td colspan="3">';
|
print '<tr><td class="nowrap"><span class="fieldrequired">'.$langs->trans("DateActionStart").' - '.$langs->trans("DateActionEnd").'</span></td><td colspan="3">';
|
||||||
if (GETPOST("afaire") == 1) {
|
if (GETPOST("afaire") == 1) {
|
||||||
print $form->selectDate($datep ? $datep : $object->datep, 'ap', 1, 1, 0, "action", 1, 1, 0, 'fulldaystart');
|
print $form->selectDate($datep ? $datep : $object->datep, 'ap', 1, 1, 0, "action", 1, 1, 0, 'fulldaystart', '', '', '', 1, '', '', 'tzuser');
|
||||||
} elseif (GETPOST("afaire") == 2) {
|
} elseif (GETPOST("afaire") == 2) {
|
||||||
print $form->selectDate($datep ? $datep : $object->datep, 'ap', 1, 1, 1, "action", 1, 1, 0, 'fulldaystart');
|
print $form->selectDate($datep ? $datep : $object->datep, 'ap', 1, 1, 1, "action", 1, 1, 0, 'fulldaystart', '', '', '', 1, '', '', 'tzuser');
|
||||||
} else {
|
} else {
|
||||||
print $form->selectDate($datep ? $datep : $object->datep, 'ap', 1, 1, 1, "action", 1, 1, 0, 'fulldaystart');
|
print $form->selectDate($datep ? $datep : $object->datep, 'ap', 1, 1, 1, "action", 1, 1, 0, 'fulldaystart', '', '', '', 1, '', '', 'tzuser');
|
||||||
}
|
}
|
||||||
print ' - ';
|
print ' - ';
|
||||||
if (GETPOST("afaire") == 1) {
|
if (GETPOST("afaire") == 1) {
|
||||||
print $form->selectDate($datef ? $datef : $object->datef, 'p2', 1, 1, 1, "action", 1, 1, 0, 'fulldayend');
|
print $form->selectDate($datef ? $datef : $object->datef, 'p2', 1, 1, 1, "action", 1, 1, 0, 'fulldayend', '', '', '', 1, '', '', 'tzuser');
|
||||||
} elseif (GETPOST("afaire") == 2) {
|
} elseif (GETPOST("afaire") == 2) {
|
||||||
print $form->selectDate($datef ? $datef : $object->datef, 'p2', 1, 1, 1, "action", 1, 1, 0, 'fulldayend');
|
print $form->selectDate($datef ? $datef : $object->datef, 'p2', 1, 1, 1, "action", 1, 1, 0, 'fulldayend', '', '', '', 1, '', '', 'tzuser');
|
||||||
} else {
|
} else {
|
||||||
print $form->selectDate($datef ? $datef : $object->datef, 'p2', 1, 1, 1, "action", 1, 1, 0, 'fulldayend');
|
print $form->selectDate($datef ? $datef : $object->datef, 'p2', 1, 1, 1, "action", 1, 1, 0, 'fulldayend', '', '', '', 1, '', '', 'tzuser');
|
||||||
}
|
}
|
||||||
print '</td></tr>';
|
print '</td></tr>';
|
||||||
|
|
||||||
@ -1884,16 +1884,16 @@ if ($id > 0)
|
|||||||
|
|
||||||
// Date start
|
// Date start
|
||||||
print '<tr><td>'.$langs->trans("DateActionStart").'</td><td>';
|
print '<tr><td>'.$langs->trans("DateActionStart").'</td><td>';
|
||||||
if (!$object->fulldayevent) print dol_print_date($object->datep, 'dayhour');
|
if (!$object->fulldayevent) print dol_print_date($object->datep, 'dayhour', 'tzuser');
|
||||||
else print dol_print_date($object->datep, 'day');
|
else print dol_print_date($object->datep, 'day', 'tzuser');
|
||||||
if ($object->percentage == 0 && $object->datep && $object->datep < ($now - $delay_warning)) print img_warning($langs->trans("Late"));
|
if ($object->percentage == 0 && $object->datep && $object->datep < ($now - $delay_warning)) print img_warning($langs->trans("Late"));
|
||||||
print '</td>';
|
print '</td>';
|
||||||
print '</tr>';
|
print '</tr>';
|
||||||
|
|
||||||
// Date end
|
// Date end
|
||||||
print '<tr><td>'.$langs->trans("DateActionEnd").'</td><td>';
|
print '<tr><td>'.$langs->trans("DateActionEnd").'</td><td>';
|
||||||
if (!$object->fulldayevent) print dol_print_date($object->datef, 'dayhour');
|
if (!$object->fulldayevent) print dol_print_date($object->datef, 'dayhour', 'tzuser');
|
||||||
else print dol_print_date($object->datef, 'day');
|
else print dol_print_date($object->datef, 'day', 'tzuser');
|
||||||
if ($object->percentage > 0 && $object->percentage < 100 && $object->datef && $object->datef < ($now - $delay_warning)) print img_warning($langs->trans("Late"));
|
if ($object->percentage > 0 && $object->percentage < 100 && $object->datef && $object->datef < ($now - $delay_warning)) print img_warning($langs->trans("Late"));
|
||||||
print '</td></tr>';
|
print '</td></tr>';
|
||||||
|
|
||||||
|
|||||||
@ -280,10 +280,10 @@ if (empty($action) || $action == 'show_month')
|
|||||||
$tmpday += ((isset($conf->global->MAIN_START_WEEK) ? $conf->global->MAIN_START_WEEK : 1) - 1);
|
$tmpday += ((isset($conf->global->MAIN_START_WEEK) ? $conf->global->MAIN_START_WEEK : 1) - 1);
|
||||||
if ($tmpday >= 1) $tmpday -= 7; // If tmpday is 0 we start with sunday, if -6, we start with monday of previous week.
|
if ($tmpday >= 1) $tmpday -= 7; // If tmpday is 0 we start with sunday, if -6, we start with monday of previous week.
|
||||||
// Define firstdaytoshow and lastdaytoshow (warning: lastdaytoshow is last second to show + 1)
|
// Define firstdaytoshow and lastdaytoshow (warning: lastdaytoshow is last second to show + 1)
|
||||||
$firstdaytoshow = dol_mktime(0, 0, 0, $prev_month, $max_day_in_prev_month + $tmpday, $prev_year, 'gmt');
|
$firstdaytoshow = dol_mktime(0, 0, 0, $prev_month, $max_day_in_prev_month + $tmpday, $prev_year, 'tzuserrel');
|
||||||
$next_day = 7 - ($max_day_in_month + 1 - $tmpday) % 7;
|
$next_day = 7 - ($max_day_in_month + 1 - $tmpday) % 7;
|
||||||
if ($next_day < 6) $next_day += 7;
|
if ($next_day < 6) $next_day += 7;
|
||||||
$lastdaytoshow = dol_mktime(0, 0, 0, $next_month, $next_day, $next_year, 'gmt');
|
$lastdaytoshow = dol_mktime(0, 0, 0, $next_month, $next_day, $next_year, 'tzuserrel');
|
||||||
}
|
}
|
||||||
if ($action == 'show_week')
|
if ($action == 'show_week')
|
||||||
{
|
{
|
||||||
@ -304,10 +304,10 @@ if ($action == 'show_week')
|
|||||||
$next_day = $next['day'];
|
$next_day = $next['day'];
|
||||||
|
|
||||||
// Define firstdaytoshow and lastdaytoshow (warning: lastdaytoshow is last second to show + 1)
|
// Define firstdaytoshow and lastdaytoshow (warning: lastdaytoshow is last second to show + 1)
|
||||||
$firstdaytoshow = dol_mktime(0, 0, 0, $first_month, $first_day, $first_year, 'gmt');
|
$firstdaytoshow = dol_mktime(0, 0, 0, $first_month, $first_day, $first_year, 'tzuserrel');
|
||||||
$lastdaytoshow = dol_time_plus_duree($firstdaytoshow, 7, 'd');
|
$lastdaytoshow = dol_time_plus_duree($firstdaytoshow, 7, 'd');
|
||||||
|
|
||||||
$max_day_in_month = date("t", dol_mktime(0, 0, 0, $month, 1, $year));
|
$max_day_in_month = date("t", dol_mktime(0, 0, 0, $month, 1, $year, 'gmt'));
|
||||||
|
|
||||||
$tmpday = $first_day;
|
$tmpday = $first_day;
|
||||||
}
|
}
|
||||||
@ -323,8 +323,8 @@ if ($action == 'show_day')
|
|||||||
$next_day = $next['day'];
|
$next_day = $next['day'];
|
||||||
|
|
||||||
// Define firstdaytoshow and lastdaytoshow (warning: lastdaytoshow is last second to show + 1)
|
// Define firstdaytoshow and lastdaytoshow (warning: lastdaytoshow is last second to show + 1)
|
||||||
$firstdaytoshow = dol_mktime(0, 0, 0, $prev_month, $prev_day, $prev_year, 'gmt');
|
$firstdaytoshow = dol_mktime(0, 0, 0, $prev_month, $prev_day, $prev_year, 'tzuserrel');
|
||||||
$lastdaytoshow = dol_mktime(0, 0, 0, $next_month, $next_day, $next_year, 'gmt');
|
$lastdaytoshow = dol_mktime(0, 0, 0, $next_month, $next_day, $next_year, 'tzuserrel');
|
||||||
}
|
}
|
||||||
//print 'xx'.$prev_year.'-'.$prev_month.'-'.$prev_day;
|
//print 'xx'.$prev_year.'-'.$prev_month.'-'.$prev_day;
|
||||||
//print 'xx'.$next_year.'-'.$next_month.'-'.$next_day;
|
//print 'xx'.$next_year.'-'.$next_month.'-'.$next_day;
|
||||||
@ -514,7 +514,7 @@ if (!empty($conf->use_javascript_ajax)) // If javascript on
|
|||||||
{
|
{
|
||||||
$s .= '<script type="text/javascript">'."\n";
|
$s .= '<script type="text/javascript">'."\n";
|
||||||
$s .= 'jQuery(document).ready(function () {
|
$s .= 'jQuery(document).ready(function () {
|
||||||
jQuery("table input[name^=\"check_ext\"]").click(function() {
|
jQuery("div input[name^=\"check_ext\"]").click(function() {
|
||||||
var name = $(this).attr("name");
|
var name = $(this).attr("name");
|
||||||
jQuery(".family_ext" + name.replace("check_ext", "")).toggle();
|
jQuery(".family_ext" + name.replace("check_ext", "")).toggle();
|
||||||
});
|
});
|
||||||
@ -524,7 +524,7 @@ if (!empty($conf->use_javascript_ajax)) // If javascript on
|
|||||||
foreach ($showextcals as $val)
|
foreach ($showextcals as $val)
|
||||||
{
|
{
|
||||||
$htmlname = md5($val['name']);
|
$htmlname = md5($val['name']);
|
||||||
$s .= '<div class="nowrap inline-block"><input type="checkbox" id="check_ext'.$htmlname.'" name="check_ext'.$htmlname.'" checked> '.$val['name'].' </div>';
|
$s .= '<div class="nowrap inline-block"><input type="checkbox" id="check_ext'.$htmlname.'" name="check_ext'.$htmlname.'" checked> <label for="check_ext'.$htmlname.'">'.$val['name'].'</label> </div>';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -607,17 +607,18 @@ if (!$user->rights->societe->client->voir && !$socid) $sql .= " AND (a.fk_soc IS
|
|||||||
if ($socid > 0) $sql .= ' AND a.fk_soc = '.$socid;
|
if ($socid > 0) $sql .= ' AND a.fk_soc = '.$socid;
|
||||||
// We must filter on assignement table
|
// We must filter on assignement table
|
||||||
if ($filtert > 0 || $usergroup > 0) $sql .= " AND ar.fk_actioncomm = a.id AND ar.element_type='user'";
|
if ($filtert > 0 || $usergroup > 0) $sql .= " AND ar.fk_actioncomm = a.id AND ar.element_type='user'";
|
||||||
|
//var_dump($day.' '.$month.' '.$year);
|
||||||
if ($action == 'show_day')
|
if ($action == 'show_day')
|
||||||
{
|
{
|
||||||
$sql .= " AND (";
|
$sql .= " AND (";
|
||||||
$sql .= " (a.datep BETWEEN '".$db->idate(dol_mktime(0, 0, 0, $month, $day, $year))."'";
|
$sql .= " (a.datep BETWEEN '".$db->idate(dol_mktime(0, 0, 0, $month, $day, $year, 'tzuserrel'))."'";
|
||||||
$sql .= " AND '".$db->idate(dol_mktime(23, 59, 59, $month, $day, $year))."')";
|
$sql .= " AND '".$db->idate(dol_mktime(23, 59, 59, $month, $day, $year, 'tzuserrel'))."')";
|
||||||
$sql .= " OR ";
|
$sql .= " OR ";
|
||||||
$sql .= " (a.datep2 BETWEEN '".$db->idate(dol_mktime(0, 0, 0, $month, $day, $year))."'";
|
$sql .= " (a.datep2 BETWEEN '".$db->idate(dol_mktime(0, 0, 0, $month, $day, $year, 'tzuserrel'))."'";
|
||||||
$sql .= " AND '".$db->idate(dol_mktime(23, 59, 59, $month, $day, $year))."')";
|
$sql .= " AND '".$db->idate(dol_mktime(23, 59, 59, $month, $day, $year, 'tzuserrel'))."')";
|
||||||
$sql .= " OR ";
|
$sql .= " OR ";
|
||||||
$sql .= " (a.datep < '".$db->idate(dol_mktime(0, 0, 0, $month, $day, $year))."'";
|
$sql .= " (a.datep < '".$db->idate(dol_mktime(0, 0, 0, $month, $day, $year, 'tzuserrel'))."'";
|
||||||
$sql .= " AND a.datep2 > '".$db->idate(dol_mktime(23, 59, 59, $month, $day, $year))."')";
|
$sql .= " AND a.datep2 > '".$db->idate(dol_mktime(23, 59, 59, $month, $day, $year, 'tzuserrel'))."')";
|
||||||
$sql .= ')';
|
$sql .= ')';
|
||||||
} else {
|
} else {
|
||||||
// To limit array
|
// To limit array
|
||||||
@ -723,9 +724,9 @@ if ($resql)
|
|||||||
|
|
||||||
// Add an entry in actionarray for each day
|
// Add an entry in actionarray for each day
|
||||||
$daycursor = $event->date_start_in_calendar;
|
$daycursor = $event->date_start_in_calendar;
|
||||||
$annee = dol_print_date($daycursor, '%Y');
|
$annee = dol_print_date($daycursor, '%Y', 'tzuserrel');
|
||||||
$mois = dol_print_date($daycursor, '%m');
|
$mois = dol_print_date($daycursor, '%m', 'tzuserrel');
|
||||||
$jour = dol_print_date($daycursor, '%d');
|
$jour = dol_print_date($daycursor, '%d', 'tzuserrel');
|
||||||
//var_dump(dol_print_date($event->date_start_in_calendar, 'dayhour', 'gmt'));
|
//var_dump(dol_print_date($event->date_start_in_calendar, 'dayhour', 'gmt'));
|
||||||
//var_dump($annee.'-'.$mois.'-'.$jour);
|
//var_dump($annee.'-'.$mois.'-'.$jour);
|
||||||
|
|
||||||
@ -1231,11 +1232,11 @@ if (empty($action) || $action == 'show_month') // View by month
|
|||||||
print '<table width="100%" class="noborder nocellnopadd cal_pannel cal_month">';
|
print '<table width="100%" class="noborder nocellnopadd cal_pannel cal_month">';
|
||||||
print ' <tr class="liste_titre">';
|
print ' <tr class="liste_titre">';
|
||||||
// Column title of weeks numbers
|
// Column title of weeks numbers
|
||||||
echo ' <td align="center">#</td>';
|
echo ' <td class="center">#</td>';
|
||||||
$i = 0;
|
$i = 0;
|
||||||
while ($i < 7)
|
while ($i < 7)
|
||||||
{
|
{
|
||||||
print ' <td class="center bold uppercase tdfordaytitle">';
|
print ' <td class="center bold uppercase tdfordaytitle'.($i == 0 ? ' borderleft' : '').'">';
|
||||||
$numdayinweek = (($i + (isset($conf->global->MAIN_START_WEEK) ? $conf->global->MAIN_START_WEEK : 1)) % 7);
|
$numdayinweek = (($i + (isset($conf->global->MAIN_START_WEEK) ? $conf->global->MAIN_START_WEEK : 1)) % 7);
|
||||||
if (!empty($conf->dol_optimize_smallscreen))
|
if (!empty($conf->dol_optimize_smallscreen))
|
||||||
{
|
{
|
||||||
@ -1539,9 +1540,9 @@ function show_day_events($db, $day, $month, $year, $monthshown, $style, &$eventa
|
|||||||
|
|
||||||
foreach ($eventarray as $daykey => $notused)
|
foreach ($eventarray as $daykey => $notused)
|
||||||
{
|
{
|
||||||
$annee = date('Y', $daykey);
|
$annee = dol_print_date($daykey, '%Y');
|
||||||
$mois = date('m', $daykey);
|
$mois = dol_print_date($daykey, '%m');
|
||||||
$jour = date('d', $daykey);
|
$jour = dol_print_date($daykey, '%d');
|
||||||
|
|
||||||
if ($day == $jour && $month == $mois && $year == $annee)
|
if ($day == $jour && $month == $mois && $year == $annee)
|
||||||
{
|
{
|
||||||
@ -1703,20 +1704,17 @@ function show_day_events($db, $day, $month, $year, $monthshown, $style, &$eventa
|
|||||||
if (empty($event->fulldayevent))
|
if (empty($event->fulldayevent))
|
||||||
{
|
{
|
||||||
// Show hours (start ... end)
|
// Show hours (start ... end)
|
||||||
$tmpyearstart = date('Y', $event->date_start_in_calendar);
|
$tmpyearstart = dol_print_date($event->date_start_in_calendar, '%Y', 'tzuserrel');
|
||||||
$tmpmonthstart = date('m', $event->date_start_in_calendar);
|
$tmpmonthstart = dol_print_date($event->date_start_in_calendar, '%m', 'tzuserrel');
|
||||||
$tmpdaystart = date('d', $event->date_start_in_calendar);
|
$tmpdaystart = dol_print_date($event->date_start_in_calendar, '%d', 'tzuserrel');
|
||||||
$tmpyearend = date('Y', $event->date_end_in_calendar);
|
$tmpyearend = dol_print_date($event->date_end_in_calendar, '%Y', 'tzuserrel');
|
||||||
$tmpmonthend = date('m', $event->date_end_in_calendar);
|
$tmpmonthend = dol_print_date($event->date_end_in_calendar, '%m', 'tzuserrel');
|
||||||
$tmpdayend = date('d', $event->date_end_in_calendar);
|
$tmpdayend = dol_print_date($event->date_end_in_calendar, '%d', 'tzuserrel');
|
||||||
/*var_dump($tmpyearstart.' '.$tmpmonthstart.' '.$tmpdaystart);
|
|
||||||
var_dump($tmpyearend.' '.$tmpmonthend.' '.$tmpdayend);
|
|
||||||
var_dump($annee.' '.$mois.' '.$jour);*/
|
|
||||||
|
|
||||||
// Hour start
|
// Hour start
|
||||||
if ($tmpyearstart == $annee && $tmpmonthstart == $mois && $tmpdaystart == $jour)
|
if ($tmpyearstart == $annee && $tmpmonthstart == $mois && $tmpdaystart == $jour)
|
||||||
{
|
{
|
||||||
$daterange .= dol_print_date($event->date_start_in_calendar, 'hour'); // Il faudrait utiliser ici tzuser, mais si on ne peut pas car qd on rentre un date dans fiche action, en input la conversion local->gmt se base sur le TZ server et non user
|
$daterange .= dol_print_date($event->date_start_in_calendar, 'hour', 'tzuserrel');
|
||||||
if ($event->date_end_in_calendar && $event->date_start_in_calendar != $event->date_end_in_calendar)
|
if ($event->date_end_in_calendar && $event->date_start_in_calendar != $event->date_end_in_calendar)
|
||||||
{
|
{
|
||||||
if ($tmpyearstart == $tmpyearend && $tmpmonthstart == $tmpmonthend && $tmpdaystart == $tmpdayend)
|
if ($tmpyearstart == $tmpyearend && $tmpmonthstart == $tmpmonthend && $tmpdaystart == $tmpdayend)
|
||||||
@ -1736,7 +1734,7 @@ function show_day_events($db, $day, $month, $year, $monthshown, $style, &$eventa
|
|||||||
if ($event->date_end_in_calendar && $event->date_start_in_calendar != $event->date_end_in_calendar)
|
if ($event->date_end_in_calendar && $event->date_start_in_calendar != $event->date_end_in_calendar)
|
||||||
{
|
{
|
||||||
if ($tmpyearend == $annee && $tmpmonthend == $mois && $tmpdayend == $jour)
|
if ($tmpyearend == $annee && $tmpmonthend == $mois && $tmpdayend == $jour)
|
||||||
$daterange .= dol_print_date($event->date_end_in_calendar, 'hour'); // Il faudrait utiliser ici tzuser, mais si on ne peut pas car qd on rentre un date dans fiche action, en input la conversion local->gmt se base sur le TZ server et non user
|
$daterange .= dol_print_date($event->date_end_in_calendar, 'hour', 'tzuserrel');
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if ($showinfo)
|
if ($showinfo)
|
||||||
|
|||||||
@ -67,9 +67,9 @@ $search_id = GETPOST('search_id', 'alpha');
|
|||||||
$search_title = GETPOST('search_title', 'alpha');
|
$search_title = GETPOST('search_title', 'alpha');
|
||||||
$search_note = GETPOST('search_note', 'alpha');
|
$search_note = GETPOST('search_note', 'alpha');
|
||||||
|
|
||||||
$dateselect = dol_mktime(0, 0, 0, GETPOST('dateselectmonth', 'int'), GETPOST('dateselectday', 'int'), GETPOST('dateselectyear', 'int'));
|
$dateselect = dol_mktime(0, 0, 0, GETPOST('dateselectmonth', 'int'), GETPOST('dateselectday', 'int'), GETPOST('dateselectyear', 'int'), 'tzuserrel');
|
||||||
$datestart = dol_mktime(0, 0, 0, GETPOST('datestartmonth', 'int'), GETPOST('datestartday', 'int'), GETPOST('datestartyear', 'int'));
|
$datestart = dol_mktime(0, 0, 0, GETPOST('datestartmonth', 'int'), GETPOST('datestartday', 'int'), GETPOST('datestartyear', 'int'), 'tzuserrel');
|
||||||
$dateend = dol_mktime(0, 0, 0, GETPOST('dateendmonth', 'int'), GETPOST('dateendday', 'int'), GETPOST('dateendyear', 'int'));
|
$dateend = dol_mktime(0, 0, 0, GETPOST('dateendmonth', 'int'), GETPOST('dateendday', 'int'), GETPOST('dateendyear', 'int'), 'tzuserrel');
|
||||||
if ($search_status == '' && !GETPOSTISSET('search_status')) $search_status = (empty($conf->global->AGENDA_DEFAULT_FILTER_STATUS) ? '' : $conf->global->AGENDA_DEFAULT_FILTER_STATUS);
|
if ($search_status == '' && !GETPOSTISSET('search_status')) $search_status = (empty($conf->global->AGENDA_DEFAULT_FILTER_STATUS) ? '' : $conf->global->AGENDA_DEFAULT_FILTER_STATUS);
|
||||||
if (empty($action) && !GETPOSTISSET('action')) $action = (empty($conf->global->AGENDA_DEFAULT_VIEW) ? 'show_month' : $conf->global->AGENDA_DEFAULT_VIEW);
|
if (empty($action) && !GETPOSTISSET('action')) $action = (empty($conf->global->AGENDA_DEFAULT_VIEW) ? 'show_month' : $conf->global->AGENDA_DEFAULT_VIEW);
|
||||||
|
|
||||||
@ -136,9 +136,9 @@ $arrayfields = array(
|
|||||||
's.nom'=>array('label'=>"ThirdParty", 'checked'=>1),
|
's.nom'=>array('label'=>"ThirdParty", 'checked'=>1),
|
||||||
'a.fk_contact'=>array('label'=>"Contact", 'checked'=>0),
|
'a.fk_contact'=>array('label'=>"Contact", 'checked'=>0),
|
||||||
'a.fk_element'=>array('label'=>"LinkedObject", 'checked'=>1, 'enabled'=>(!empty($conf->global->AGENDA_SHOW_LINKED_OBJECT))),
|
'a.fk_element'=>array('label'=>"LinkedObject", 'checked'=>1, 'enabled'=>(!empty($conf->global->AGENDA_SHOW_LINKED_OBJECT))),
|
||||||
'a.percent'=>array('label'=>"Status", 'checked'=>1, 'position'=>1000),
|
'a.datec'=>array('label'=>'DateCreation', 'checked'=>0, 'position'=>510),
|
||||||
'a.datec'=>array('label'=>'DateCreation', 'checked'=>0),
|
'a.tms'=>array('label'=>'DateModification', 'checked'=>0, 'position'=>520),
|
||||||
'a.tms'=>array('label'=>'DateModification', 'checked'=>0)
|
'a.percent'=>array('label'=>"Status", 'checked'=>1, 'position'=>1000)
|
||||||
);
|
);
|
||||||
// Extra fields
|
// Extra fields
|
||||||
include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_array_fields.tpl.php';
|
include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_array_fields.tpl.php';
|
||||||
@ -566,12 +566,12 @@ if ($resql)
|
|||||||
if (!empty($arrayfields['a.note']['checked'])) print '<td class="liste_titre"><input type="text" class="maxwidth75" name="search_note" value="'.$search_note.'"></td>';
|
if (!empty($arrayfields['a.note']['checked'])) print '<td class="liste_titre"><input type="text" class="maxwidth75" name="search_note" value="'.$search_note.'"></td>';
|
||||||
if (!empty($arrayfields['a.datep']['checked'])) {
|
if (!empty($arrayfields['a.datep']['checked'])) {
|
||||||
print '<td class="liste_titre nowraponall" align="center">';
|
print '<td class="liste_titre nowraponall" align="center">';
|
||||||
print $form->selectDate($datestart, 'datestart', 0, 0, 1, '', 1, 0);
|
print $form->selectDate($datestart, 'datestart', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', '', 'tzuserrel');
|
||||||
print '</td>';
|
print '</td>';
|
||||||
}
|
}
|
||||||
if (!empty($arrayfields['a.datep2']['checked'])) {
|
if (!empty($arrayfields['a.datep2']['checked'])) {
|
||||||
print '<td class="liste_titre nowraponall" align="center">';
|
print '<td class="liste_titre nowraponall" align="center">';
|
||||||
print $form->selectDate($dateend, 'dateend', 0, 0, 1, '', 1, 0);
|
print $form->selectDate($dateend, 'dateend', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', '', 'tzuserrel');
|
||||||
print '</td>';
|
print '</td>';
|
||||||
}
|
}
|
||||||
if (!empty($arrayfields['s.nom']['checked'])) {
|
if (!empty($arrayfields['s.nom']['checked'])) {
|
||||||
@ -739,7 +739,7 @@ if ($resql)
|
|||||||
// Start date
|
// Start date
|
||||||
if (!empty($arrayfields['a.datep']['checked'])) {
|
if (!empty($arrayfields['a.datep']['checked'])) {
|
||||||
print '<td class="center nowraponall">';
|
print '<td class="center nowraponall">';
|
||||||
print dol_print_date($db->jdate($obj->dp), $formatToUse);
|
print dol_print_date($db->jdate($obj->dp), $formatToUse, 'tzuser');
|
||||||
$late = 0;
|
$late = 0;
|
||||||
if ($obj->percent == 0 && $obj->dp && $db->jdate($obj->dp) < ($now - $delay_warning)) $late = 1;
|
if ($obj->percent == 0 && $obj->dp && $db->jdate($obj->dp) < ($now - $delay_warning)) $late = 1;
|
||||||
if ($obj->percent == 0 && !$obj->dp && $obj->dp2 && $db->jdate($obj->dp) < ($now - $delay_warning)) $late = 1;
|
if ($obj->percent == 0 && !$obj->dp && $obj->dp2 && $db->jdate($obj->dp) < ($now - $delay_warning)) $late = 1;
|
||||||
@ -752,7 +752,7 @@ if ($resql)
|
|||||||
// End date
|
// End date
|
||||||
if (!empty($arrayfields['a.datep2']['checked'])) {
|
if (!empty($arrayfields['a.datep2']['checked'])) {
|
||||||
print '<td class="center nowraponall">';
|
print '<td class="center nowraponall">';
|
||||||
print dol_print_date($db->jdate($obj->dp2), $formatToUse);
|
print dol_print_date($db->jdate($obj->dp2), $formatToUse, 'tzuser');
|
||||||
print '</td>';
|
print '</td>';
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -837,11 +837,11 @@ if ($resql)
|
|||||||
// Date creation
|
// Date creation
|
||||||
if (!empty($arrayfields['a.datec']['checked'])) {
|
if (!empty($arrayfields['a.datec']['checked'])) {
|
||||||
// Status/Percent
|
// Status/Percent
|
||||||
print '<td align="center" class="nowrap">'.dol_print_date($db->jdate($obj->datec), 'dayhour').'</td>';
|
print '<td align="center" class="nowrap">'.dol_print_date($db->jdate($obj->datec), 'dayhour', 'tzuser').'</td>';
|
||||||
}
|
}
|
||||||
// Date update
|
// Date update
|
||||||
if (!empty($arrayfields['a.tms']['checked'])) {
|
if (!empty($arrayfields['a.tms']['checked'])) {
|
||||||
print '<td align="center" class="nowrap">'.dol_print_date($db->jdate($obj->datem), 'dayhour').'</td>';
|
print '<td align="center" class="nowrap">'.dol_print_date($db->jdate($obj->datem), 'dayhour', 'tzuser').'</td>';
|
||||||
}
|
}
|
||||||
if (!empty($arrayfields['a.percent']['checked'])) {
|
if (!empty($arrayfields['a.percent']['checked'])) {
|
||||||
// Status/Percent
|
// Status/Percent
|
||||||
|
|||||||
@ -265,7 +265,7 @@ $next_month = $month;
|
|||||||
$next_day = $day;
|
$next_day = $day;
|
||||||
|
|
||||||
// Define firstdaytoshow and lastdaytoshow (warning: lastdaytoshow is last second to show + 1)
|
// Define firstdaytoshow and lastdaytoshow (warning: lastdaytoshow is last second to show + 1)
|
||||||
$firstdaytoshow = dol_mktime(0, 0, 0, $first_month, $first_day, $first_year, 'gmt');
|
$firstdaytoshow = dol_mktime(0, 0, 0, $first_month, $first_day, $first_year, 'tzuserrel');
|
||||||
$lastdaytoshow = dol_time_plus_duree($firstdaytoshow, 7, 'd');
|
$lastdaytoshow = dol_time_plus_duree($firstdaytoshow, 7, 'd');
|
||||||
//print $firstday.'-'.$first_month.'-'.$first_year;
|
//print $firstday.'-'.$first_month.'-'.$first_year;
|
||||||
//print dol_print_date($firstdaytoshow,'dayhour');
|
//print dol_print_date($firstdaytoshow,'dayhour');
|
||||||
@ -482,14 +482,14 @@ if ($filtert > 0 || $usergroup > 0) $sql .= " AND ar.fk_actioncomm = a.id AND ar
|
|||||||
if ($action == 'show_day')
|
if ($action == 'show_day')
|
||||||
{
|
{
|
||||||
$sql .= " AND (";
|
$sql .= " AND (";
|
||||||
$sql .= " (a.datep BETWEEN '".$db->idate(dol_mktime(0, 0, 0, $month, $day, $year))."'";
|
$sql .= " (a.datep BETWEEN '".$db->idate(dol_mktime(0, 0, 0, $month, $day, $year, 'tzuserrel'))."'";
|
||||||
$sql .= " AND '".$db->idate(dol_mktime(23, 59, 59, $month, $day, $year))."')";
|
$sql .= " AND '".$db->idate(dol_mktime(23, 59, 59, $month, $day, $year))."')";
|
||||||
$sql .= " OR ";
|
$sql .= " OR ";
|
||||||
$sql .= " (a.datep2 BETWEEN '".$db->idate(dol_mktime(0, 0, 0, $month, $day, $year))."'";
|
$sql .= " (a.datep2 BETWEEN '".$db->idate(dol_mktime(0, 0, 0, $month, $day, $year, 'tzuserrel'))."'";
|
||||||
$sql .= " AND '".$db->idate(dol_mktime(23, 59, 59, $month, $day, $year))."')";
|
$sql .= " AND '".$db->idate(dol_mktime(23, 59, 59, $month, $day, $year))."')";
|
||||||
$sql .= " OR ";
|
$sql .= " OR ";
|
||||||
$sql .= " (a.datep < '".$db->idate(dol_mktime(0, 0, 0, $month, $day, $year))."'";
|
$sql .= " (a.datep < '".$db->idate(dol_mktime(0, 0, 0, $month, $day, $year))."'";
|
||||||
$sql .= " AND a.datep2 > '".$db->idate(dol_mktime(23, 59, 59, $month, $day, $year))."')";
|
$sql .= " AND a.datep2 > '".$db->idate(dol_mktime(23, 59, 59, $month, $day, $year, 'tzuserrel'))."')";
|
||||||
$sql .= ')';
|
$sql .= ')';
|
||||||
} else {
|
} else {
|
||||||
// To limit array
|
// To limit array
|
||||||
@ -599,9 +599,9 @@ if ($resql)
|
|||||||
|
|
||||||
// Add an entry in actionarray for each day
|
// Add an entry in actionarray for each day
|
||||||
$daycursor = $event->date_start_in_calendar;
|
$daycursor = $event->date_start_in_calendar;
|
||||||
$annee = dol_print_date($daycursor, '%Y');
|
$annee = dol_print_date($daycursor, '%Y', 'tzuserrel');
|
||||||
$mois = dol_print_date($daycursor, '%m');
|
$mois = dol_print_date($daycursor, '%m', 'tzuserrel');
|
||||||
$jour = dol_print_date($daycursor, '%d');
|
$jour = dol_print_date($daycursor, '%d', 'tzuserrel');
|
||||||
|
|
||||||
// Loop on each day covered by action to prepare an index to show on calendar
|
// Loop on each day covered by action to prepare an index to show on calendar
|
||||||
$loop = true; $j = 0;
|
$loop = true; $j = 0;
|
||||||
@ -858,9 +858,9 @@ function show_day_events_pertype($username, $day, $month, $year, $monthshown, $s
|
|||||||
// We are in a particular day for $username, now we scan all events
|
// We are in a particular day for $username, now we scan all events
|
||||||
foreach ($eventarray as $daykey => $notused)
|
foreach ($eventarray as $daykey => $notused)
|
||||||
{
|
{
|
||||||
$annee = dol_print_date($daykey, '%Y', 'gmt');
|
$annee = dol_print_date($daykey, '%Y');
|
||||||
$mois = dol_print_date($daykey, '%m', 'gmt');
|
$mois = dol_print_date($daykey, '%m');
|
||||||
$jour = dol_print_date($daykey, '%d', 'gmt');
|
$jour = dol_print_date($daykey, '%d');
|
||||||
|
|
||||||
if ($day == $jour && $month == $mois && $year == $annee) // Is it the day we are looking for when calling function ?
|
if ($day == $jour && $month == $mois && $year == $annee) // Is it the day we are looking for when calling function ?
|
||||||
{
|
{
|
||||||
@ -931,9 +931,9 @@ function show_day_events_pertype($username, $day, $month, $year, $monthshown, $s
|
|||||||
$newcolor = ''; //init
|
$newcolor = ''; //init
|
||||||
if (empty($event->fulldayevent))
|
if (empty($event->fulldayevent))
|
||||||
{
|
{
|
||||||
$a = dol_mktime((int) $h, 0, 0, $month, $day, $year, 'auto', 0);
|
$a = dol_mktime((int) $h, 0, 0, $month, $day, $year, 'tzuserrel', 0);
|
||||||
$b = dol_mktime((int) $h, 30, 0, $month, $day, $year, 'auto', 0);
|
$b = dol_mktime((int) $h, 30, 0, $month, $day, $year, 'tzuserrel', 0);
|
||||||
$c = dol_mktime((int) $h + 1, 0, 0, $month, $day, $year, 'auto', 0);
|
$c = dol_mktime((int) $h + 1, 0, 0, $month, $day, $year, 'tzuserrel', 0);
|
||||||
|
|
||||||
$dateendtouse = $event->date_end_in_calendar;
|
$dateendtouse = $event->date_end_in_calendar;
|
||||||
if ($dateendtouse == $event->date_start_in_calendar) $dateendtouse++;
|
if ($dateendtouse == $event->date_start_in_calendar) $dateendtouse++;
|
||||||
@ -944,13 +944,13 @@ function show_day_events_pertype($username, $day, $month, $year, $monthshown, $s
|
|||||||
{
|
{
|
||||||
$busy = $event->transparency;
|
$busy = $event->transparency;
|
||||||
$cases1[$h][$event->id]['busy'] = $busy;
|
$cases1[$h][$event->id]['busy'] = $busy;
|
||||||
$cases1[$h][$event->id]['string'] = dol_print_date($event->date_start_in_calendar, 'dayhour');
|
$cases1[$h][$event->id]['string'] = dol_print_date($event->date_start_in_calendar, 'dayhour', 'tzuserrel');
|
||||||
if ($event->date_end_in_calendar && $event->date_end_in_calendar != $event->date_start_in_calendar)
|
if ($event->date_end_in_calendar && $event->date_end_in_calendar != $event->date_start_in_calendar)
|
||||||
{
|
{
|
||||||
$tmpa = dol_getdate($event->date_start_in_calendar, true);
|
$tmpa = dol_getdate($event->date_start_in_calendar, true);
|
||||||
$tmpb = dol_getdate($event->date_end_in_calendar, true);
|
$tmpb = dol_getdate($event->date_end_in_calendar, true);
|
||||||
if ($tmpa['mday'] == $tmpb['mday'] && $tmpa['mon'] == $tmpb['mon'] && $tmpa['year'] == $tmpb['year']) $cases1[$h][$event->id]['string'] .= '-'.dol_print_date($event->date_end_in_calendar, 'hour');
|
if ($tmpa['mday'] == $tmpb['mday'] && $tmpa['mon'] == $tmpb['mon'] && $tmpa['year'] == $tmpb['year']) $cases1[$h][$event->id]['string'] .= '-'.dol_print_date($event->date_end_in_calendar, 'hour', 'tzuserrel');
|
||||||
else $cases1[$h][$event->id]['string'] .= '-'.dol_print_date($event->date_end_in_calendar, 'dayhour');
|
else $cases1[$h][$event->id]['string'] .= '-'.dol_print_date($event->date_end_in_calendar, 'dayhour', 'tzuserrel');
|
||||||
}
|
}
|
||||||
if ($event->label) $cases1[$h][$event->id]['string'] .= ' - '.$event->label;
|
if ($event->label) $cases1[$h][$event->id]['string'] .= ' - '.$event->label;
|
||||||
$cases1[$h][$event->id]['typecode'] = $event->type_code;
|
$cases1[$h][$event->id]['typecode'] = $event->type_code;
|
||||||
@ -990,13 +990,13 @@ function show_day_events_pertype($username, $day, $month, $year, $monthshown, $s
|
|||||||
{
|
{
|
||||||
$busy = $event->transparency;
|
$busy = $event->transparency;
|
||||||
$cases2[$h][$event->id]['busy'] = $busy;
|
$cases2[$h][$event->id]['busy'] = $busy;
|
||||||
$cases2[$h][$event->id]['string'] = dol_print_date($event->date_start_in_calendar, 'dayhour');
|
$cases2[$h][$event->id]['string'] = dol_print_date($event->date_start_in_calendar, 'dayhour', 'tzuserrel');
|
||||||
if ($event->date_end_in_calendar && $event->date_end_in_calendar != $event->date_start_in_calendar)
|
if ($event->date_end_in_calendar && $event->date_end_in_calendar != $event->date_start_in_calendar)
|
||||||
{
|
{
|
||||||
$tmpa = dol_getdate($event->date_start_in_calendar, true);
|
$tmpa = dol_getdate($event->date_start_in_calendar, true);
|
||||||
$tmpb = dol_getdate($event->date_end_in_calendar, true);
|
$tmpb = dol_getdate($event->date_end_in_calendar, true);
|
||||||
if ($tmpa['mday'] == $tmpb['mday'] && $tmpa['mon'] == $tmpb['mon'] && $tmpa['year'] == $tmpb['year']) $cases2[$h][$event->id]['string'] .= '-'.dol_print_date($event->date_end_in_calendar, 'hour');
|
if ($tmpa['mday'] == $tmpb['mday'] && $tmpa['mon'] == $tmpb['mon'] && $tmpa['year'] == $tmpb['year']) $cases2[$h][$event->id]['string'] .= '-'.dol_print_date($event->date_end_in_calendar, 'hour', 'tzuserrel');
|
||||||
else $cases2[$h][$event->id]['string'] .= '-'.dol_print_date($event->date_end_in_calendar, 'dayhour');
|
else $cases2[$h][$event->id]['string'] .= '-'.dol_print_date($event->date_end_in_calendar, 'dayhour', 'tzuserrel');
|
||||||
}
|
}
|
||||||
if ($event->label) $cases2[$h][$event->id]['string'] .= ' - '.$event->label;
|
if ($event->label) $cases2[$h][$event->id]['string'] .= ' - '.$event->label;
|
||||||
$cases2[$h][$event->id]['typecode'] = $event->type_code;
|
$cases2[$h][$event->id]['typecode'] = $event->type_code;
|
||||||
|
|||||||
@ -404,7 +404,11 @@ if ($user->rights->agenda->myactions->create || $user->rights->agenda->allaction
|
|||||||
{
|
{
|
||||||
$tmpforcreatebutton = dol_getdate(dol_now(), true);
|
$tmpforcreatebutton = dol_getdate(dol_now(), true);
|
||||||
|
|
||||||
$newparam .= '&month='.str_pad($month, 2, "0", STR_PAD_LEFT).'&year='.$tmpforcreatebutton['year'];
|
$newparam .= '&month='.urlencode(str_pad($month, 2, "0", STR_PAD_LEFT)).'&year='.urlencode($tmpforcreatebutton['year']);
|
||||||
|
if ($begin_h !== '') $newparam .= '&begin_h='.urlencode($begin_h);
|
||||||
|
if ($end_h !== '') $newparam .= '&end_h='.urlencode($end_h);
|
||||||
|
if ($begin_d !== '') $newparam .= '&begin_d='.urlencode($begin_d);
|
||||||
|
if ($end_d !== '') $newparam .= '&end_d='.urlencode($end_d);
|
||||||
|
|
||||||
//$param='month='.$monthshown.'&year='.$year;
|
//$param='month='.$monthshown.'&year='.$year;
|
||||||
$hourminsec = '100000';
|
$hourminsec = '100000';
|
||||||
@ -487,14 +491,14 @@ if ($filtert > 0 || $usergroup > 0) $sql .= " AND ar.fk_actioncomm = a.id AND ar
|
|||||||
if ($action == 'show_day')
|
if ($action == 'show_day')
|
||||||
{
|
{
|
||||||
$sql .= " AND (";
|
$sql .= " AND (";
|
||||||
$sql .= " (a.datep BETWEEN '".$db->idate(dol_mktime(0, 0, 0, $month, $day, $year))."'";
|
$sql .= " (a.datep BETWEEN '".$db->idate(dol_mktime(0, 0, 0, $month, $day, $year, 'tzuserrel'))."'";
|
||||||
$sql .= " AND '".$db->idate(dol_mktime(23, 59, 59, $month, $day, $year))."')";
|
$sql .= " AND '".$db->idate(dol_mktime(23, 59, 59, $month, $day, $year, 'tzuserrel'))."')";
|
||||||
$sql .= " OR ";
|
$sql .= " OR ";
|
||||||
$sql .= " (a.datep2 BETWEEN '".$db->idate(dol_mktime(0, 0, 0, $month, $day, $year))."'";
|
$sql .= " (a.datep2 BETWEEN '".$db->idate(dol_mktime(0, 0, 0, $month, $day, $year, 'tzuserrel'))."'";
|
||||||
$sql .= " AND '".$db->idate(dol_mktime(23, 59, 59, $month, $day, $year))."')";
|
$sql .= " AND '".$db->idate(dol_mktime(23, 59, 59, $month, $day, $year, 'tzuserrel'))."')";
|
||||||
$sql .= " OR ";
|
$sql .= " OR ";
|
||||||
$sql .= " (a.datep < '".$db->idate(dol_mktime(0, 0, 0, $month, $day, $year))."'";
|
$sql .= " (a.datep < '".$db->idate(dol_mktime(0, 0, 0, $month, $day, $year, 'tzuserrel'))."'";
|
||||||
$sql .= " AND a.datep2 > '".$db->idate(dol_mktime(23, 59, 59, $month, $day, $year))."')";
|
$sql .= " AND a.datep2 > '".$db->idate(dol_mktime(23, 59, 59, $month, $day, $year, 'tzuserrel'))."')";
|
||||||
$sql .= ')';
|
$sql .= ')';
|
||||||
} else {
|
} else {
|
||||||
// To limit array
|
// To limit array
|
||||||
@ -605,9 +609,10 @@ if ($resql)
|
|||||||
|
|
||||||
// Add an entry in actionarray for each day
|
// Add an entry in actionarray for each day
|
||||||
$daycursor = $event->date_start_in_calendar;
|
$daycursor = $event->date_start_in_calendar;
|
||||||
$annee = dol_print_date($daycursor, '%Y');
|
$annee = dol_print_date($daycursor, '%Y', 'tzuserrel');
|
||||||
$mois = dol_print_date($daycursor, '%m');
|
$mois = dol_print_date($daycursor, '%m', 'tzuserrel');
|
||||||
$jour = dol_print_date($daycursor, '%d');
|
$jour = dol_print_date($daycursor, '%d', 'tzuserrel');
|
||||||
|
//print $daycursor.' '.dol_print_date($daycursor, 'dayhour', 'gmt').' '.$event->id.' -> '.$annee.'-'.$mois.'-'.$jour.'<br>';
|
||||||
|
|
||||||
// Loop on each day covered by action to prepare an index to show on calendar
|
// Loop on each day covered by action to prepare an index to show on calendar
|
||||||
$loop = true; $j = 0;
|
$loop = true; $j = 0;
|
||||||
@ -920,7 +925,7 @@ jQuery(document).ready(function() {
|
|||||||
if (ids == \'none\') /* No event */
|
if (ids == \'none\') /* No event */
|
||||||
{
|
{
|
||||||
/* alert(\'no event\'); */
|
/* alert(\'no event\'); */
|
||||||
url = "'.DOL_URL_ROOT.'/comm/action/card.php?action=create&assignedtouser="+userid+"&datep="+year+month+day+hour+min+"00&backtopage='.urlencode($_SERVER["PHP_SELF"].'?year='.$year.'&month='.$month.'&day='.$day).'"
|
url = "'.DOL_URL_ROOT.'/comm/action/card.php?action=create&assignedtouser="+userid+"&datep="+year+month+day+hour+min+"00&backtopage='.urlencode($_SERVER["PHP_SELF"].'?year='.$year.'&month='.$month.'&day='.$day.($begin_h !== '' ? '&begin_h='.$begin_h : '').($end_h !== '' ? '&end_h='.$end_h : '').($begin_d !== '' ? '&begin_d='.$begin_d : '').($end_d !== '' ? '&end_d='.$end_d : '')).'"
|
||||||
window.location.href = url;
|
window.location.href = url;
|
||||||
}
|
}
|
||||||
else if (ids.indexOf(",") > -1) /* There is several events */
|
else if (ids.indexOf(",") > -1) /* There is several events */
|
||||||
@ -979,7 +984,7 @@ function show_day_events2($username, $day, $month, $year, $monthshown, $style, &
|
|||||||
$cases2 = array(); // Color second half hour
|
$cases2 = array(); // Color second half hour
|
||||||
|
|
||||||
$i = 0; $numother = 0; $numbirthday = 0; $numical = 0; $numicals = array();
|
$i = 0; $numother = 0; $numbirthday = 0; $numical = 0; $numicals = array();
|
||||||
$ymd = sprintf("%04d", $year).sprintf("%02d", $month).sprintf("%02d", $day);
|
//$ymd = sprintf("%04d", $year).sprintf("%02d", $month).sprintf("%02d", $day);
|
||||||
|
|
||||||
$colorindexused[$user->id] = 0; // Color index for current user (user->id) is always 0
|
$colorindexused[$user->id] = 0; // Color index for current user (user->id) is always 0
|
||||||
$nextindextouse = count($colorindexused); // At first run this is 0, so first user has 0, next 1, ...
|
$nextindextouse = count($colorindexused); // At first run this is 0, so first user has 0, next 1, ...
|
||||||
@ -988,16 +993,16 @@ function show_day_events2($username, $day, $month, $year, $monthshown, $style, &
|
|||||||
// We are in a particular day for $username, now we scan all events
|
// We are in a particular day for $username, now we scan all events
|
||||||
foreach ($eventarray as $daykey => $notused)
|
foreach ($eventarray as $daykey => $notused)
|
||||||
{
|
{
|
||||||
$annee = dol_print_date($daykey, '%Y', 'gmt');
|
$annee = dol_print_date($daykey, '%Y');
|
||||||
$mois = dol_print_date($daykey, '%m', 'gmt');
|
$mois = dol_print_date($daykey, '%m');
|
||||||
$jour = dol_print_date($daykey, '%d', 'gmt');
|
$jour = dol_print_date($daykey, '%d');
|
||||||
|
|
||||||
if ($day == $jour && $month == $mois && $year == $annee) // Is it the day we are looking for when calling function ?
|
if ($day == $jour && $month == $mois && $year == $annee) // Is it the day we are looking for when calling function ?
|
||||||
{
|
{
|
||||||
// Scan all event for this date
|
// Scan all event for this date
|
||||||
foreach ($eventarray[$daykey] as $index => $event)
|
foreach ($eventarray[$daykey] as $index => $event)
|
||||||
{
|
{
|
||||||
//print $daykey.' '.$year.'-'.$month.'-'.$day.' -> '.$event->id.' '.$index.' '.$annee.'-'.$mois.'-'.$jour."<br>\n";
|
//print $daykey.' '.dol_print_date($daykey, 'dayhour', 'gmt').' '.$year.'-'.$month.'-'.$day.' -> '.$event->id.' '.$index.' '.$annee.'-'.$mois.'-'.$jour."<br>\n";
|
||||||
//var_dump($event);
|
//var_dump($event);
|
||||||
|
|
||||||
$keysofuserassigned = array_keys($event->userassigned);
|
$keysofuserassigned = array_keys($event->userassigned);
|
||||||
@ -1078,7 +1083,6 @@ function show_day_events2($username, $day, $month, $year, $monthshown, $style, &
|
|||||||
// Define color
|
// Define color
|
||||||
$color = sprintf("%02x%02x%02x", $theme_datacolor[$colorindex][0], $theme_datacolor[$colorindex][1], $theme_datacolor[$colorindex][2]);
|
$color = sprintf("%02x%02x%02x", $theme_datacolor[$colorindex][0], $theme_datacolor[$colorindex][1], $theme_datacolor[$colorindex][2]);
|
||||||
}
|
}
|
||||||
//$cssclass=$cssclass.' '.$cssclass.'_day_'.$ymd;
|
|
||||||
|
|
||||||
// Define all rects with event (cases1 is first half hour, cases2 is second half hour)
|
// Define all rects with event (cases1 is first half hour, cases2 is second half hour)
|
||||||
for ($h = $begin_h; $h < $end_h; $h++)
|
for ($h = $begin_h; $h < $end_h; $h++)
|
||||||
@ -1087,9 +1091,9 @@ function show_day_events2($username, $day, $month, $year, $monthshown, $style, &
|
|||||||
$newcolor = ''; //init
|
$newcolor = ''; //init
|
||||||
if (empty($event->fulldayevent))
|
if (empty($event->fulldayevent))
|
||||||
{
|
{
|
||||||
$a = dol_mktime((int) $h, 0, 0, $month, $day, $year, 'auto', 0);
|
$a = dol_mktime((int) $h, 0, 0, $month, $day, $year, 'tzuserrel', 0);
|
||||||
$b = dol_mktime((int) $h, 30, 0, $month, $day, $year, 'auto', 0);
|
$b = dol_mktime((int) $h, 30, 0, $month, $day, $year, 'tzuserrel', 0);
|
||||||
$c = dol_mktime((int) $h + 1, 0, 0, $month, $day, $year, 'auto', 0);
|
$c = dol_mktime((int) $h + 1, 0, 0, $month, $day, $year, 'tzuserrel', 0);
|
||||||
|
|
||||||
$dateendtouse = $event->date_end_in_calendar;
|
$dateendtouse = $event->date_end_in_calendar;
|
||||||
if ($dateendtouse == $event->date_start_in_calendar) $dateendtouse++;
|
if ($dateendtouse == $event->date_start_in_calendar) $dateendtouse++;
|
||||||
@ -1100,13 +1104,13 @@ function show_day_events2($username, $day, $month, $year, $monthshown, $style, &
|
|||||||
{
|
{
|
||||||
$busy = $event->transparency;
|
$busy = $event->transparency;
|
||||||
$cases1[$h][$event->id]['busy'] = $busy;
|
$cases1[$h][$event->id]['busy'] = $busy;
|
||||||
$cases1[$h][$event->id]['string'] = dol_print_date($event->date_start_in_calendar, 'dayhour');
|
$cases1[$h][$event->id]['string'] = dol_print_date($event->date_start_in_calendar, 'dayhour', 'tzuserrel');
|
||||||
if ($event->date_end_in_calendar && $event->date_end_in_calendar != $event->date_start_in_calendar)
|
if ($event->date_end_in_calendar && $event->date_end_in_calendar != $event->date_start_in_calendar)
|
||||||
{
|
{
|
||||||
$tmpa = dol_getdate($event->date_start_in_calendar, true);
|
$tmpa = dol_getdate($event->date_start_in_calendar, true);
|
||||||
$tmpb = dol_getdate($event->date_end_in_calendar, true);
|
$tmpb = dol_getdate($event->date_end_in_calendar, true);
|
||||||
if ($tmpa['mday'] == $tmpb['mday'] && $tmpa['mon'] == $tmpb['mon'] && $tmpa['year'] == $tmpb['year']) $cases1[$h][$event->id]['string'] .= '-'.dol_print_date($event->date_end_in_calendar, 'hour');
|
if ($tmpa['mday'] == $tmpb['mday'] && $tmpa['mon'] == $tmpb['mon'] && $tmpa['year'] == $tmpb['year']) $cases1[$h][$event->id]['string'] .= '-'.dol_print_date($event->date_end_in_calendar, 'hour', 'tzuserrel');
|
||||||
else $cases1[$h][$event->id]['string'] .= '-'.dol_print_date($event->date_end_in_calendar, 'dayhour');
|
else $cases1[$h][$event->id]['string'] .= '-'.dol_print_date($event->date_end_in_calendar, 'dayhour', 'tzuserrel');
|
||||||
}
|
}
|
||||||
if ($event->label) $cases1[$h][$event->id]['string'] .= ' - '.$event->label;
|
if ($event->label) $cases1[$h][$event->id]['string'] .= ' - '.$event->label;
|
||||||
$cases1[$h][$event->id]['typecode'] = $event->type_code;
|
$cases1[$h][$event->id]['typecode'] = $event->type_code;
|
||||||
@ -1146,13 +1150,13 @@ function show_day_events2($username, $day, $month, $year, $monthshown, $style, &
|
|||||||
{
|
{
|
||||||
$busy = $event->transparency;
|
$busy = $event->transparency;
|
||||||
$cases2[$h][$event->id]['busy'] = $busy;
|
$cases2[$h][$event->id]['busy'] = $busy;
|
||||||
$cases2[$h][$event->id]['string'] = dol_print_date($event->date_start_in_calendar, 'dayhour');
|
$cases2[$h][$event->id]['string'] = dol_print_date($event->date_start_in_calendar, 'dayhour', 'tzuserrel');
|
||||||
if ($event->date_end_in_calendar && $event->date_end_in_calendar != $event->date_start_in_calendar)
|
if ($event->date_end_in_calendar && $event->date_end_in_calendar != $event->date_start_in_calendar)
|
||||||
{
|
{
|
||||||
$tmpa = dol_getdate($event->date_start_in_calendar, true);
|
$tmpa = dol_getdate($event->date_start_in_calendar, true);
|
||||||
$tmpb = dol_getdate($event->date_end_in_calendar, true);
|
$tmpb = dol_getdate($event->date_end_in_calendar, true);
|
||||||
if ($tmpa['mday'] == $tmpb['mday'] && $tmpa['mon'] == $tmpb['mon'] && $tmpa['year'] == $tmpb['year']) $cases2[$h][$event->id]['string'] .= '-'.dol_print_date($event->date_end_in_calendar, 'hour');
|
if ($tmpa['mday'] == $tmpb['mday'] && $tmpa['mon'] == $tmpb['mon'] && $tmpa['year'] == $tmpb['year']) $cases2[$h][$event->id]['string'] .= '-'.dol_print_date($event->date_end_in_calendar, 'hour', 'tzuserrel');
|
||||||
else $cases2[$h][$event->id]['string'] .= '-'.dol_print_date($event->date_end_in_calendar, 'dayhour');
|
else $cases2[$h][$event->id]['string'] .= '-'.dol_print_date($event->date_end_in_calendar, 'dayhour', 'tzuserrel');
|
||||||
}
|
}
|
||||||
if ($event->label) $cases2[$h][$event->id]['string'] .= ' - '.$event->label;
|
if ($event->label) $cases2[$h][$event->id]['string'] .= ' - '.$event->label;
|
||||||
$cases2[$h][$event->id]['typecode'] = $event->type_code;
|
$cases2[$h][$event->id]['typecode'] = $event->type_code;
|
||||||
|
|||||||
@ -273,9 +273,9 @@ if ($object->id > 0)
|
|||||||
print '<div class="underbanner clearboth"></div>';
|
print '<div class="underbanner clearboth"></div>';
|
||||||
print '<table class="border centpercent tableforfield">';
|
print '<table class="border centpercent tableforfield">';
|
||||||
|
|
||||||
// Prospect/Customer
|
// Type Prospect/Customer/Supplier
|
||||||
print '<tr><td class="titlefield">'.$langs->trans('ProspectCustomer').'</td><td>';
|
print '<tr><td class="titlefield">'.$langs->trans('NatureOfThirdParty').'</td><td>';
|
||||||
print $object->getLibCustProspStatut();
|
print $object->getTypeUrl(1);
|
||||||
print '</td></tr>';
|
print '</td></tr>';
|
||||||
|
|
||||||
// Prefix
|
// Prefix
|
||||||
|
|||||||
@ -161,10 +161,18 @@ if (!empty($conf->propal->enabled) && $user->rights->propal->lire) {
|
|||||||
|
|
||||||
if ($num > 0) {
|
if ($num > 0) {
|
||||||
$i = 0;
|
$i = 0;
|
||||||
|
$othernb = 0;
|
||||||
|
|
||||||
while ($i < $nbofloop) {
|
while ($i < $num && $i < $conf->liste_limit) {
|
||||||
$obj = $db->fetch_object($resql);
|
$obj = $db->fetch_object($resql);
|
||||||
|
|
||||||
|
if ($i >= $max) {
|
||||||
|
$othernb += 1;
|
||||||
|
$i++;
|
||||||
|
$total += (!empty($conf->global->MAIN_DASHBOARD_USE_TOTAL_HT) ? $obj->total_ht : $obj->total_ttc);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
$propalstatic->id = $obj->rowid;
|
$propalstatic->id = $obj->rowid;
|
||||||
$propalstatic->ref = $obj->ref;
|
$propalstatic->ref = $obj->ref;
|
||||||
$propalstatic->ref_client = $obj->ref_client;
|
$propalstatic->ref_client = $obj->ref_client;
|
||||||
@ -196,6 +204,14 @@ if (!empty($conf->propal->enabled) && $user->rights->propal->lire) {
|
|||||||
$i++;
|
$i++;
|
||||||
$total += (!empty($conf->global->MAIN_DASHBOARD_USE_TOTAL_HT) ? $obj->total_ht : $obj->total_ttc);
|
$total += (!empty($conf->global->MAIN_DASHBOARD_USE_TOTAL_HT) ? $obj->total_ht : $obj->total_ttc);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ($othernb) {
|
||||||
|
print '<tr class="oddeven">';
|
||||||
|
print '<td class="nowrap" colspan="5">';
|
||||||
|
print '<span class="opacitymedium">'.$langs->trans("More").'... ('.$othernb.')</span>';
|
||||||
|
print '</td>';
|
||||||
|
print "</tr>\n";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
addSummaryTableLine(3, $num, $nbofloop, $total, "NoProposal");
|
addSummaryTableLine(3, $num, $nbofloop, $total, "NoProposal");
|
||||||
@ -236,10 +252,18 @@ if (!empty($conf->supplier_proposal->enabled) && $user->rights->supplier_proposa
|
|||||||
|
|
||||||
if ($num > 0) {
|
if ($num > 0) {
|
||||||
$i = 0;
|
$i = 0;
|
||||||
|
$othernb = 0;
|
||||||
|
|
||||||
while ($i < $nbofloop) {
|
while ($i < $num && $i < $conf->liste_limit) {
|
||||||
$obj = $db->fetch_object($resql);
|
$obj = $db->fetch_object($resql);
|
||||||
|
|
||||||
|
if ($i >= $max) {
|
||||||
|
$othernb += 1;
|
||||||
|
$i++;
|
||||||
|
$total += (!empty($conf->global->MAIN_DASHBOARD_USE_TOTAL_HT) ? $obj->total_ht : $obj->total_ttc);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
$supplierproposalstatic->id = $obj->rowid;
|
$supplierproposalstatic->id = $obj->rowid;
|
||||||
$supplierproposalstatic->ref = $obj->ref;
|
$supplierproposalstatic->ref = $obj->ref;
|
||||||
$supplierproposalstatic->total_ht = $obj->total_ht;
|
$supplierproposalstatic->total_ht = $obj->total_ht;
|
||||||
@ -270,6 +294,14 @@ if (!empty($conf->supplier_proposal->enabled) && $user->rights->supplier_proposa
|
|||||||
$i++;
|
$i++;
|
||||||
$total += (!empty($conf->global->MAIN_DASHBOARD_USE_TOTAL_HT) ? $obj->total_ht : $obj->total_ttc);
|
$total += (!empty($conf->global->MAIN_DASHBOARD_USE_TOTAL_HT) ? $obj->total_ht : $obj->total_ttc);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ($othernb) {
|
||||||
|
print '<tr class="oddeven">';
|
||||||
|
print '<td class="nowrap" colspan="5">';
|
||||||
|
print '<span class="opacitymedium">'.$langs->trans("More").'... ('.$othernb.')</span>';
|
||||||
|
print '</td>';
|
||||||
|
print "</tr>\n";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
addSummaryTableLine(3, $num, $nbofloop, $total, "NoProposal");
|
addSummaryTableLine(3, $num, $nbofloop, $total, "NoProposal");
|
||||||
@ -310,10 +342,18 @@ if (!empty($conf->commande->enabled) && $user->rights->commande->lire) {
|
|||||||
|
|
||||||
if ($num > 0) {
|
if ($num > 0) {
|
||||||
$i = 0;
|
$i = 0;
|
||||||
|
$othernb = 0;
|
||||||
|
|
||||||
while ($i < $nbofloop) {
|
while ($i < $num && $i < $conf->liste_limit) {
|
||||||
$obj = $db->fetch_object($resql);
|
$obj = $db->fetch_object($resql);
|
||||||
|
|
||||||
|
if ($i >= $max) {
|
||||||
|
$othernb += 1;
|
||||||
|
$i++;
|
||||||
|
$total += (!empty($conf->global->MAIN_DASHBOARD_USE_TOTAL_HT) ? $obj->total_ht : $obj->total_ttc);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
$orderstatic->id = $obj->rowid;
|
$orderstatic->id = $obj->rowid;
|
||||||
$orderstatic->ref = $obj->ref;
|
$orderstatic->ref = $obj->ref;
|
||||||
$orderstatic->ref_client = $obj->ref_client;
|
$orderstatic->ref_client = $obj->ref_client;
|
||||||
@ -345,6 +385,14 @@ if (!empty($conf->commande->enabled) && $user->rights->commande->lire) {
|
|||||||
$i++;
|
$i++;
|
||||||
$total += (!empty($conf->global->MAIN_DASHBOARD_USE_TOTAL_HT) ? $obj->total_ht : $obj->total_ttc);
|
$total += (!empty($conf->global->MAIN_DASHBOARD_USE_TOTAL_HT) ? $obj->total_ht : $obj->total_ttc);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ($othernb) {
|
||||||
|
print '<tr class="oddeven">';
|
||||||
|
print '<td class="nowrap" colspan="5">';
|
||||||
|
print '<span class="opacitymedium">'.$langs->trans("More").'... ('.$othernb.')</span>';
|
||||||
|
print '</td>';
|
||||||
|
print "</tr>\n";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
addSummaryTableLine(3, $num, $nbofloop, $total, "NoProposal");
|
addSummaryTableLine(3, $num, $nbofloop, $total, "NoProposal");
|
||||||
@ -385,10 +433,18 @@ if ((!empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_USE_NEW_SU
|
|||||||
|
|
||||||
if ($num > 0) {
|
if ($num > 0) {
|
||||||
$i = 0;
|
$i = 0;
|
||||||
|
$othernb = 0;
|
||||||
|
|
||||||
while ($i < $nbofloop) {
|
while ($i < $num && $i < $conf->liste_limit) {
|
||||||
$obj = $db->fetch_object($resql);
|
$obj = $db->fetch_object($resql);
|
||||||
|
|
||||||
|
if ($i >= $max) {
|
||||||
|
$othernb += 1;
|
||||||
|
$i++;
|
||||||
|
$total += (!empty($conf->global->MAIN_DASHBOARD_USE_TOTAL_HT) ? $obj->total_ht : $obj->total_ttc);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
$supplierorderstatic->id = $obj->rowid;
|
$supplierorderstatic->id = $obj->rowid;
|
||||||
$supplierorderstatic->ref = $obj->ref;
|
$supplierorderstatic->ref = $obj->ref;
|
||||||
$supplierorderstatic->ref_supplier = $obj->ref_suppliert;
|
$supplierorderstatic->ref_supplier = $obj->ref_suppliert;
|
||||||
@ -420,6 +476,14 @@ if ((!empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_USE_NEW_SU
|
|||||||
$i++;
|
$i++;
|
||||||
$total += (!empty($conf->global->MAIN_DASHBOARD_USE_TOTAL_HT) ? $obj->total_ht : $obj->total_ttc);
|
$total += (!empty($conf->global->MAIN_DASHBOARD_USE_TOTAL_HT) ? $obj->total_ht : $obj->total_ttc);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ($othernb) {
|
||||||
|
print '<tr class="oddeven">';
|
||||||
|
print '<td class="nowrap" colspan="5">';
|
||||||
|
print '<span class="opacitymedium">'.$langs->trans("More").'... ('.$othernb.')</span>';
|
||||||
|
print '</td>';
|
||||||
|
print "</tr>\n";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
addSummaryTableLine(3, $num, $nbofloop, $total, "NoProposal");
|
addSummaryTableLine(3, $num, $nbofloop, $total, "NoProposal");
|
||||||
|
|||||||
@ -575,17 +575,17 @@ if ($object->fetch($id) >= 0)
|
|||||||
print '</td>';
|
print '</td>';
|
||||||
// Source
|
// Source
|
||||||
print '<td class="liste_titre">';
|
print '<td class="liste_titre">';
|
||||||
print ' ';
|
print ' ';
|
||||||
print '</td>';
|
print '</td>';
|
||||||
|
|
||||||
// Date last update
|
// Date last update
|
||||||
print '<td class="liste_titre">';
|
print '<td class="liste_titre">';
|
||||||
print ' ';
|
print ' ';
|
||||||
print '</td>';
|
print '</td>';
|
||||||
|
|
||||||
// Date sending
|
// Date sending
|
||||||
print '<td class="liste_titre">';
|
print '<td class="liste_titre">';
|
||||||
print ' ';
|
print ' ';
|
||||||
print '</td>';
|
print '</td>';
|
||||||
|
|
||||||
//Statut
|
//Statut
|
||||||
|
|||||||
@ -271,6 +271,98 @@ if (empty($reshook))
|
|||||||
include DOL_DOCUMENT_ROOT.'/core/actions_massactions.inc.php';
|
include DOL_DOCUMENT_ROOT.'/core/actions_massactions.inc.php';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ($action == 'validate') {
|
||||||
|
if (GETPOST('confirm') == 'yes') {
|
||||||
|
$tmpproposal = new Propal($db);
|
||||||
|
$db->begin();
|
||||||
|
$error = 0;
|
||||||
|
foreach ($toselect as $checked) {
|
||||||
|
if ($tmpproposal->fetch($checked)) {
|
||||||
|
if ($tmpproposal->statut == 0) {
|
||||||
|
if ($tmpproposal->valid($user)) {
|
||||||
|
setEventMessage($tmpproposal->ref." ".$langs->trans('PassedInOpenStatus'), 'mesgs');
|
||||||
|
} else {
|
||||||
|
setEventMessage($langs->trans('CantBeValidated'), 'errors');
|
||||||
|
$error++;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
setEventMessage($tmpproposal->ref." ".$langs->trans('IsNotADraft'), 'errors');
|
||||||
|
$error++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
dol_print_error($db);
|
||||||
|
$error++;
|
||||||
|
}
|
||||||
|
if ($error) {
|
||||||
|
$db->rollback();
|
||||||
|
} else {
|
||||||
|
$db->commit();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($action == "sign") {
|
||||||
|
if (GETPOST('confirm') == 'yes') {
|
||||||
|
$tmpproposal = new Propal($db);
|
||||||
|
$db->begin();
|
||||||
|
$error = 0;
|
||||||
|
foreach ($toselect as $checked) {
|
||||||
|
if ($tmpproposal->fetch($checked)) {
|
||||||
|
if ($tmpproposal->statut == 1) {
|
||||||
|
$tmpproposal->statut = 2;
|
||||||
|
if ($tmpproposal->update($user)) {
|
||||||
|
setEventMessage($tmpproposal->ref." ".$langs->trans('Signed'), 'mesgs');
|
||||||
|
} else {
|
||||||
|
dol_print_error($db);
|
||||||
|
$error++;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
setEventMessage($tmpproposal->ref." ".$langs->trans('CantBeSign'), 'errors');
|
||||||
|
$error++;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
dol_print_error($db);
|
||||||
|
$error++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ($error) {
|
||||||
|
$db->rollback();
|
||||||
|
} else {
|
||||||
|
$db->commit();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ($action == "nosign") {
|
||||||
|
if (GETPOST('confirm') == 'yes') {
|
||||||
|
$tmpproposal = new Propal($db);
|
||||||
|
$db->begin();
|
||||||
|
$error = 0;
|
||||||
|
foreach ($toselect as $checked) {
|
||||||
|
if ($tmpproposal->fetch($checked)) {
|
||||||
|
if ($tmpproposal->statut == 1) {
|
||||||
|
$tmpproposal->statut = 3;
|
||||||
|
if ($tmpproposal->update($user)) {
|
||||||
|
setEventMessage($tmpproposal->ref." ".$langs->trans('NoSigned'), 'mesgs');
|
||||||
|
} else {
|
||||||
|
dol_print_error($db);
|
||||||
|
$error++;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
setEventMessage($tmpproposal->ref." ".$langs->trans('CantBeClosed'), 'errors');
|
||||||
|
$error++;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
dol_print_error($db);
|
||||||
|
$error++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ($error) {
|
||||||
|
$db->rollback();
|
||||||
|
} else {
|
||||||
|
$db->commit();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -493,6 +585,7 @@ if ($resql)
|
|||||||
'presend'=>$langs->trans("SendByMail"),
|
'presend'=>$langs->trans("SendByMail"),
|
||||||
'prevalidate'=>$langs->trans("Validate"),
|
'prevalidate'=>$langs->trans("Validate"),
|
||||||
'presign'=>$langs->trans("Sign"),
|
'presign'=>$langs->trans("Sign"),
|
||||||
|
'nopresign'=>$langs->trans("NoSign"),
|
||||||
);
|
);
|
||||||
if ($user->rights->propal->supprimer) $arrayofmassactions['predelete'] = '<span class="fa fa-trash paddingrightonly"></span>'.$langs->trans("Delete");
|
if ($user->rights->propal->supprimer) $arrayofmassactions['predelete'] = '<span class="fa fa-trash paddingrightonly"></span>'.$langs->trans("Delete");
|
||||||
if ($user->rights->propal->cloturer) $arrayofmassactions['closed'] = $langs->trans("Close");
|
if ($user->rights->propal->cloturer) $arrayofmassactions['closed'] = $langs->trans("Close");
|
||||||
@ -531,6 +624,11 @@ if ($resql)
|
|||||||
print $form->formconfirm($_SERVER["PHP_SELF"], $langs->trans("ConfirmMassSignature"), $langs->trans("ConfirmMassSignatureQuestion"), "sign", null, '', 0, 200, 500, 1);
|
print $form->formconfirm($_SERVER["PHP_SELF"], $langs->trans("ConfirmMassSignature"), $langs->trans("ConfirmMassSignatureQuestion"), "sign", null, '', 0, 200, 500, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ($massaction == 'nopresign')
|
||||||
|
{
|
||||||
|
print $form->formconfirm($_SERVER["PHP_SELF"], $langs->trans("ConfirmMassNoSignature"), $langs->trans("ConfirmMassNoSignatureQuestion"), "nosign", null, '', 0, 200, 500, 1);
|
||||||
|
}
|
||||||
|
|
||||||
if ($sall)
|
if ($sall)
|
||||||
{
|
{
|
||||||
foreach ($fieldstosearchall as $key => $val) $fieldstosearchall[$key] = $langs->trans($val);
|
foreach ($fieldstosearchall as $key => $val) $fieldstosearchall[$key] = $langs->trans($val);
|
||||||
@ -1288,7 +1386,7 @@ if ($resql)
|
|||||||
}
|
}
|
||||||
//else print $langs->trans("NoSalesRepresentativeAffected");
|
//else print $langs->trans("NoSalesRepresentativeAffected");
|
||||||
} else {
|
} else {
|
||||||
print ' ';
|
print ' ';
|
||||||
}
|
}
|
||||||
print '</td>';
|
print '</td>';
|
||||||
if (!$i) $totalarray['nbfield']++;
|
if (!$i) $totalarray['nbfield']++;
|
||||||
@ -1388,72 +1486,10 @@ if ($resql)
|
|||||||
$delallowed = $user->rights->propal->creer;
|
$delallowed = $user->rights->propal->creer;
|
||||||
|
|
||||||
print $formfile->showdocuments('massfilesarea_proposals', '', $filedir, $urlsource, 0, $delallowed, '', 1, 1, 0, 48, 1, $param, $title, '', '', '', null, $hidegeneratedfilelistifempty);
|
print $formfile->showdocuments('massfilesarea_proposals', '', $filedir, $urlsource, 0, $delallowed, '', 1, 1, 0, 48, 1, $param, $title, '', '', '', null, $hidegeneratedfilelistifempty);
|
||||||
|
|
||||||
if ($action == 'validate') {
|
|
||||||
if (GETPOST('confirm') == 'yes') {
|
|
||||||
$tmpproposal = new Propal($db);
|
|
||||||
$db->begin();
|
|
||||||
$error = 0;
|
|
||||||
foreach ($toselect as $checked) {
|
|
||||||
if ($tmpproposal->fetch($checked)) {
|
|
||||||
if ($tmpproposal->statut == 0) {
|
|
||||||
if ($tmpproposal->valid($user)) {
|
|
||||||
setEventMessage($tmpproposal->ref." ".$langs->trans('PassedInOpenStatus'), 'mesgs');
|
|
||||||
} else {
|
|
||||||
setEventMessage($langs->trans('CantBeValidated'), 'errors');
|
|
||||||
$error++;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
setEventMessage($tmpproposal->ref." ".$langs->trans('IsNotADraft'), 'errors');
|
|
||||||
$error++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
dol_print_error($db);
|
|
||||||
$error++;
|
|
||||||
}
|
|
||||||
if ($error) {
|
|
||||||
$db->rollback();
|
|
||||||
} else {
|
|
||||||
$db->commit();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($action == "sign") {
|
|
||||||
if (GETPOST('confirm') == 'yes') {
|
|
||||||
$tmpproposal = new Propal($db);
|
|
||||||
$db->begin();
|
|
||||||
$error = 0;
|
|
||||||
foreach ($toselect as $checked) {
|
|
||||||
if ($tmpproposal->fetch($checked)) {
|
|
||||||
if ($tmpproposal->statut == 1) {
|
|
||||||
$tmpproposal->statut = 2;
|
|
||||||
if ($tmpproposal->update($user)) {
|
|
||||||
setEventMessage($tmpproposal->ref." ".$langs->trans('Signed'), 'mesgs');
|
|
||||||
} else {
|
|
||||||
dol_print_error($db);
|
|
||||||
$error++;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
setEventMessage($tmpproposal->ref." ".$langs->trans('CantBeSign'), 'errors');
|
|
||||||
$error++;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
dol_print_error($db);
|
|
||||||
$error++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if ($error) {
|
|
||||||
$db->rollback();
|
|
||||||
} else {
|
|
||||||
$db->commit();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
dol_print_error($db);
|
dol_print_error($db);
|
||||||
}
|
}
|
||||||
|
|
||||||
// End of page
|
// End of page
|
||||||
llxFooter();
|
llxFooter();
|
||||||
$db->close();
|
$db->close();
|
||||||
|
|||||||
@ -263,7 +263,7 @@ print '<div class="fichecenter"><div class="fichethirdleft">';
|
|||||||
// ThirdParty Type
|
// ThirdParty Type
|
||||||
print '<tr><td>'.$langs->trans("ThirdPartyType").'</td><td>';
|
print '<tr><td>'.$langs->trans("ThirdPartyType").'</td><td>';
|
||||||
$sortparam_typent = (empty($conf->global->SOCIETE_SORT_ON_TYPEENT) ? 'ASC' : $conf->global->SOCIETE_SORT_ON_TYPEENT); // NONE means we keep sort of original array, so we sort on position. ASC, means next function will sort on label.
|
$sortparam_typent = (empty($conf->global->SOCIETE_SORT_ON_TYPEENT) ? 'ASC' : $conf->global->SOCIETE_SORT_ON_TYPEENT); // NONE means we keep sort of original array, so we sort on position. ASC, means next function will sort on label.
|
||||||
print $form->selectarray("typent_id", $formcompany->typent_array(0), $typent_id, 0, 0, 0, '', 0, 0, 0, $sortparam_typent);
|
print $form->selectarray("typent_id", $formcompany->typent_array(0), $typent_id, 0, 0, 0, '', 0, 0, 0, $sortparam_typent, '', 1);
|
||||||
if ($user->admin) print ' '.info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionarySetup"), 1);
|
if ($user->admin) print ' '.info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionarySetup"), 1);
|
||||||
print '</td></tr>';
|
print '</td></tr>';
|
||||||
// Category
|
// Category
|
||||||
|
|||||||
@ -610,7 +610,7 @@ if (empty($reshook))
|
|||||||
$result = $object->set_remise($user, price2num(GETPOST('remise_percent'), 2));
|
$result = $object->set_remise($user, price2num(GETPOST('remise_percent'), 2));
|
||||||
} elseif ($action == 'setremiseabsolue' && $usercancreate) {
|
} elseif ($action == 'setremiseabsolue' && $usercancreate) {
|
||||||
$result = $object->set_remise_absolue($user, price2num(GETPOST('remise_absolue'), 'MU'));
|
$result = $object->set_remise_absolue($user, price2num(GETPOST('remise_absolue'), 'MU'));
|
||||||
} elseif ($action == 'addline' && GETPOST('submitforalllines', 'aZ09') && GETPOST('vatforalllines', 'alpha')) {
|
} elseif ($action == 'addline' && GETPOST('submitforalllines', 'alpha') && GETPOST('vatforalllines', 'alpha')) {
|
||||||
// Define vat_rate
|
// Define vat_rate
|
||||||
$vat_rate = (GETPOST('vatforalllines') ? GETPOST('vatforalllines') : 0);
|
$vat_rate = (GETPOST('vatforalllines') ? GETPOST('vatforalllines') : 0);
|
||||||
$vat_rate = str_replace('*', '', $vat_rate);
|
$vat_rate = str_replace('*', '', $vat_rate);
|
||||||
|
|||||||
@ -1821,6 +1821,8 @@ class Commande extends CommonOrder
|
|||||||
$this->project = null; // Clear if another value was already set by fetch_projet
|
$this->project = null; // Clear if another value was already set by fetch_projet
|
||||||
|
|
||||||
$this->statut = $obj->fk_statut;
|
$this->statut = $obj->fk_statut;
|
||||||
|
$this->status = $obj->fk_statut;
|
||||||
|
|
||||||
$this->user_author_id = $obj->fk_user_author;
|
$this->user_author_id = $obj->fk_user_author;
|
||||||
$this->user_valid = $obj->fk_user_valid;
|
$this->user_valid = $obj->fk_user_valid;
|
||||||
$this->total_ht = $obj->total_ht;
|
$this->total_ht = $obj->total_ht;
|
||||||
|
|||||||
@ -271,7 +271,7 @@ print '</td></tr>';
|
|||||||
// ThirdParty Type
|
// ThirdParty Type
|
||||||
print '<tr><td>'.$langs->trans("ThirdPartyType").'</td><td>';
|
print '<tr><td>'.$langs->trans("ThirdPartyType").'</td><td>';
|
||||||
$sortparam_typent = (empty($conf->global->SOCIETE_SORT_ON_TYPEENT) ? 'ASC' : $conf->global->SOCIETE_SORT_ON_TYPEENT); // NONE means we keep sort of original array, so we sort on position. ASC, means next function will sort on label.
|
$sortparam_typent = (empty($conf->global->SOCIETE_SORT_ON_TYPEENT) ? 'ASC' : $conf->global->SOCIETE_SORT_ON_TYPEENT); // NONE means we keep sort of original array, so we sort on position. ASC, means next function will sort on label.
|
||||||
print $form->selectarray("typent_id", $formcompany->typent_array(0), $typent_id, 0, 0, 0, '', 0, 0, 0, $sortparam_typent);
|
print $form->selectarray("typent_id", $formcompany->typent_array(0), $typent_id, 0, 0, 0, '', 0, 0, 0, $sortparam_typent, '', 1);
|
||||||
if ($user->admin) print ' '.info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionarySetup"), 1);
|
if ($user->admin) print ' '.info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionarySetup"), 1);
|
||||||
print '</td></tr>';
|
print '</td></tr>';
|
||||||
// Category
|
// Category
|
||||||
|
|||||||
@ -424,6 +424,10 @@ if ($result)
|
|||||||
{
|
{
|
||||||
$obj = $db->fetch_object($result);
|
$obj = $db->fetch_object($result);
|
||||||
|
|
||||||
|
$variousstatic->id = $obj->rowid;
|
||||||
|
$variousstatic->ref = $obj->rowid;
|
||||||
|
$variousstatic->label = $obj->label;
|
||||||
|
|
||||||
print '<tr class="oddeven">';
|
print '<tr class="oddeven">';
|
||||||
|
|
||||||
// No
|
// No
|
||||||
@ -433,15 +437,13 @@ if ($result)
|
|||||||
|
|
||||||
// Ref
|
// Ref
|
||||||
if ($arrayfields['ref']['checked']) {
|
if ($arrayfields['ref']['checked']) {
|
||||||
$variousstatic->id = $obj->rowid;
|
print '<td>'.$variousstatic->getNomUrl(1)."</td>";
|
||||||
$variousstatic->ref = $obj->rowid;
|
|
||||||
print "<td>".$variousstatic->getNomUrl(1)."</td>";
|
|
||||||
if (!$i) $totalarray['nbfield']++;
|
if (!$i) $totalarray['nbfield']++;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Label payment
|
// Label payment
|
||||||
if ($arrayfields['label']['checked']) {
|
if ($arrayfields['label']['checked']) {
|
||||||
print "<td>".dol_trunc($obj->label, 40)."</td>";
|
print '<td class="tdoverflowmax150" title="'.$variousstatic->label.'">'.$variousstatic->label."</td>";
|
||||||
if (!$i) $totalarray['nbfield']++;
|
if (!$i) $totalarray['nbfield']++;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -460,7 +462,13 @@ if ($result)
|
|||||||
|
|
||||||
// Type
|
// Type
|
||||||
if ($arrayfields['type']['checked']) {
|
if ($arrayfields['type']['checked']) {
|
||||||
print '<td>'.$langs->trans("PaymentTypeShort".$obj->payment_code).' '.$obj->num_payment.'</td>';
|
print '<td>';
|
||||||
|
if ($obj->payment_code) {
|
||||||
|
print $langs->trans("PaymentTypeShort".$obj->payment_code);
|
||||||
|
print ' ';
|
||||||
|
}
|
||||||
|
print $obj->num_payment;
|
||||||
|
print '</td>';
|
||||||
if (!$i) $totalarray['nbfield']++;
|
if (!$i) $totalarray['nbfield']++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -923,7 +923,8 @@ if (empty($reshook))
|
|||||||
* View
|
* View
|
||||||
*/
|
*/
|
||||||
|
|
||||||
llxHeader('', $langs->trans("RepeatableInvoices"), 'ch-facture.html#s-fac-facture-rec');
|
$help_url = '';
|
||||||
|
llxHeader('', $langs->trans("RepeatableInvoices"), $help_url);
|
||||||
|
|
||||||
$form = new Form($db);
|
$form = new Form($db);
|
||||||
$formother = new FormOther($db);
|
$formother = new FormOther($db);
|
||||||
@ -932,8 +933,7 @@ $companystatic = new Societe($db);
|
|||||||
$invoicerectmp = new FactureRec($db);
|
$invoicerectmp = new FactureRec($db);
|
||||||
|
|
||||||
$now = dol_now();
|
$now = dol_now();
|
||||||
$tmparray = dol_getdate($now);
|
$nowlasthour = dol_get_last_hour($now);
|
||||||
$today = dol_mktime(23, 59, 59, $tmparray['mon'], $tmparray['mday'], $tmparray['year']); // Today is last second of current day
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -1245,7 +1245,9 @@ if ($action == 'create')
|
|||||||
|
|
||||||
print '<table class="border centpercent tableforfield">';
|
print '<table class="border centpercent tableforfield">';
|
||||||
|
|
||||||
print '<tr><td class="titlefield">'.$langs->trans("Author").'</td><td>'.$author->getFullName($langs)."</td></tr>";
|
print '<tr><td class="titlefield">'.$langs->trans("Author").'</td><td>';
|
||||||
|
print $author->getNomUrl(-1);
|
||||||
|
print "</td></tr>";
|
||||||
|
|
||||||
print '<tr><td>'.$langs->trans("AmountHT").'</td>';
|
print '<tr><td>'.$langs->trans("AmountHT").'</td>';
|
||||||
print '<td>'.price($object->total_ht, '', $langs, 1, -1, -1, $conf->currency).'</td>';
|
print '<td>'.price($object->total_ht, '', $langs, 1, -1, -1, $conf->currency).'</td>';
|
||||||
@ -1667,8 +1669,7 @@ if ($action == 'create')
|
|||||||
{
|
{
|
||||||
print '<div class="inline-block divButAction"><a class="butActionRefused classfortooltip" href="#" title="'.dol_escape_htmltag($langs->trans("MaxGenerationReached")).'">'.$langs->trans("CreateBill").'</a></div>';
|
print '<div class="inline-block divButAction"><a class="butActionRefused classfortooltip" href="#" title="'.dol_escape_htmltag($langs->trans("MaxGenerationReached")).'">'.$langs->trans("CreateBill").'</a></div>';
|
||||||
} else {
|
} else {
|
||||||
if (empty($object->frequency) || $object->date_when <= $today)
|
if (empty($object->frequency) || $object->date_when <= $nowlasthour) {
|
||||||
{
|
|
||||||
print '<div class="inline-block divButAction"><a class="butAction" href="'.DOL_URL_ROOT.'/compta/facture/card.php?action=create&socid='.$object->thirdparty->id.'&fac_rec='.$object->id.'">'.$langs->trans("CreateBill").'</a></div>';
|
print '<div class="inline-block divButAction"><a class="butAction" href="'.DOL_URL_ROOT.'/compta/facture/card.php?action=create&socid='.$object->thirdparty->id.'&fac_rec='.$object->id.'">'.$langs->trans("CreateBill").'</a></div>';
|
||||||
} else {
|
} else {
|
||||||
print '<div class="inline-block divButAction"><a class="butActionRefused classfortooltip" href="#" title="'.dol_escape_htmltag($langs->trans("DateIsNotEnough")).'">'.$langs->trans("CreateBill").'</a></div>';
|
print '<div class="inline-block divButAction"><a class="butActionRefused classfortooltip" href="#" title="'.dol_escape_htmltag($langs->trans("DateIsNotEnough")).'">'.$langs->trans("CreateBill").'</a></div>';
|
||||||
|
|||||||
@ -970,7 +970,7 @@ if (empty($reshook))
|
|||||||
if ($ret < 0) $error++;
|
if ($ret < 0) $error++;
|
||||||
|
|
||||||
// Replacement invoice
|
// Replacement invoice
|
||||||
if ($_POST['type'] == Facture::TYPE_REPLACEMENT)
|
if (GETPOST('type') == Facture::TYPE_REPLACEMENT)
|
||||||
{
|
{
|
||||||
$dateinvoice = dol_mktime(12, 0, 0, GETPOST('remonth', 'int'), GETPOST('reday', 'int'), GETPOST('reyear', 'int'));
|
$dateinvoice = dol_mktime(12, 0, 0, GETPOST('remonth', 'int'), GETPOST('reday', 'int'), GETPOST('reyear', 'int'));
|
||||||
if (empty($dateinvoice)) {
|
if (empty($dateinvoice)) {
|
||||||
@ -1253,7 +1253,7 @@ if (empty($reshook))
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Standard invoice or Deposit invoice, created from a Predefined template invoice
|
// Standard invoice or Deposit invoice, created from a Predefined template invoice
|
||||||
if (($_POST['type'] == Facture::TYPE_STANDARD || $_POST['type'] == Facture::TYPE_DEPOSIT) && GETPOST('fac_rec', 'int') > 0)
|
if ((GETPOST('type') == Facture::TYPE_STANDARD || GETPOST('type') == Facture::TYPE_DEPOSIT) && GETPOST('fac_rec', 'int') > 0)
|
||||||
{
|
{
|
||||||
$dateinvoice = dol_mktime(12, 0, 0, GETPOST('remonth', 'int'), GETPOST('reday', 'int'), GETPOST('reyear', 'int'));
|
$dateinvoice = dol_mktime(12, 0, 0, GETPOST('remonth', 'int'), GETPOST('reday', 'int'), GETPOST('reyear', 'int'));
|
||||||
if (empty($dateinvoice)) {
|
if (empty($dateinvoice)) {
|
||||||
@ -1299,7 +1299,7 @@ if (empty($reshook))
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Standard or deposit or proforma invoice, not from a Predefined template invoice
|
// Standard or deposit or proforma invoice, not from a Predefined template invoice
|
||||||
if (($_POST['type'] == Facture::TYPE_STANDARD || $_POST['type'] == Facture::TYPE_DEPOSIT || $_POST['type'] == Facture::TYPE_PROFORMA || ($_POST['type'] == Facture::TYPE_SITUATION && empty($_POST['situations']))) && GETPOST('fac_rec') <= 0)
|
if ((GETPOST('type') == Facture::TYPE_STANDARD || GETPOST('type') == Facture::TYPE_DEPOSIT || GETPOST('type') == Facture::TYPE_PROFORMA || (GETPOST('type') == Facture::TYPE_SITUATION && !GETPOST('situations'))) && GETPOST('fac_rec') <= 0)
|
||||||
{
|
{
|
||||||
if (GETPOST('socid', 'int') < 1)
|
if (GETPOST('socid', 'int') < 1)
|
||||||
{
|
{
|
||||||
@ -1319,7 +1319,7 @@ if (empty($reshook))
|
|||||||
$action = 'create';
|
$action = 'create';
|
||||||
}
|
}
|
||||||
|
|
||||||
$date_pointoftax = dol_mktime(12, 0, 0, $_POST['date_pointoftaxmonth'], $_POST['date_pointoftaxday'], $_POST['date_pointoftaxyear']);
|
$date_pointoftax = dol_mktime(12, 0, 0, GETPOST('date_pointoftaxmonth', 'int'), GETPOST('date_pointoftaxday', 'int'), GETPOST('date_pointoftaxyear', 'int'));
|
||||||
|
|
||||||
if (!$error)
|
if (!$error)
|
||||||
{
|
{
|
||||||
@ -1717,12 +1717,12 @@ if (empty($reshook))
|
|||||||
$id = $object->create($user);
|
$id = $object->create($user);
|
||||||
|
|
||||||
for ($i = 1; $i <= $NBLINES; $i++) {
|
for ($i = 1; $i <= $NBLINES; $i++) {
|
||||||
if ($_POST['idprod'.$i]) {
|
if (GETPOST('idprod'.$i, 'int')) {
|
||||||
$product = new Product($db);
|
$product = new Product($db);
|
||||||
$product->fetch($_POST['idprod'.$i]);
|
$product->fetch(GETPOST('idprod'.$i, 'int'));
|
||||||
$startday = dol_mktime(12, 0, 0, $_POST['date_start'.$i.'month'], $_POST['date_start'.$i.'day'], $_POST['date_start'.$i.'year']);
|
$startday = dol_mktime(12, 0, 0, GETPOST('date_start'.$i.'month'), GETPOST('date_start'.$i.'day'), GETPOST('date_start'.$i.'year'));
|
||||||
$endday = dol_mktime(12, 0, 0, $_POST['date_end'.$i.'month'], $_POST['date_end'.$i.'day'], $_POST['date_end'.$i.'year']);
|
$endday = dol_mktime(12, 0, 0, GETPOST('date_end'.$i.'month'), GETPOST('date_end'.$i.'day'), GETPOST('date_end'.$i.'year'));
|
||||||
$result = $object->addline($product->description, $product->price, $_POST['qty'.$i], $product->tva_tx, $product->localtax1_tx, $product->localtax2_tx, $_POST['idprod'.$i], $_POST['remise_percent'.$i], $startday, $endday, 0, 0, '', $product->price_base_type, $product->price_ttc, $product->type, -1, 0, '', 0, 0, null, 0, '', 0, 100, '', $product->fk_unit);
|
$result = $object->addline($product->description, $product->price, price2num(GETPOST('qty'.$i), 'MS'), $product->tva_tx, $product->localtax1_tx, $product->localtax2_tx, $_POST['idprod'.$i], $_POST['remise_percent'.$i], $startday, $endday, 0, 0, '', $product->price_base_type, $product->price_ttc, $product->type, -1, 0, '', 0, 0, null, 0, '', 0, 100, '', $product->fk_unit);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1730,7 +1730,7 @@ if (empty($reshook))
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Situation invoices
|
// Situation invoices
|
||||||
if (GETPOST('type') == Facture::TYPE_SITUATION && (!empty($_POST['situations'])))
|
if (GETPOST('type') == Facture::TYPE_SITUATION && GETPOST('situations'))
|
||||||
{
|
{
|
||||||
$dateinvoice = dol_mktime(12, 0, 0, GETPOST('remonth', 'int'), GETPOST('reday', 'int'), GETPOST('reyear', 'int'));
|
$dateinvoice = dol_mktime(12, 0, 0, GETPOST('remonth', 'int'), GETPOST('reday', 'int'), GETPOST('reyear', 'int'));
|
||||||
if (empty($dateinvoice)) {
|
if (empty($dateinvoice)) {
|
||||||
@ -1743,9 +1743,9 @@ if (empty($reshook))
|
|||||||
$action = 'create';
|
$action = 'create';
|
||||||
}
|
}
|
||||||
|
|
||||||
$date_pointoftax = dol_mktime(12, 0, 0, $_POST['date_pointoftaxmonth'], $_POST['date_pointoftaxday'], $_POST['date_pointoftaxyear']);
|
$date_pointoftax = dol_mktime(12, 0, 0, GETPOST('date_pointoftaxmonth', 'int'), GETPOST('date_pointoftaxday', 'int'), GETPOST('date_pointoftaxyear', 'int'));
|
||||||
|
|
||||||
if (!($_POST['situations'] > 0)) {
|
if (!(GETPOST('situations', 'int') > 0)) {
|
||||||
$error++;
|
$error++;
|
||||||
$mesg = $langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("InvoiceSituation"));
|
$mesg = $langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("InvoiceSituation"));
|
||||||
setEventMessages($mesg, null, 'errors');
|
setEventMessages($mesg, null, 'errors');
|
||||||
@ -1753,8 +1753,8 @@ if (empty($reshook))
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!$error) {
|
if (!$error) {
|
||||||
$result = $object->fetch($_POST['situations']);
|
$result = $object->fetch(GETPOST('situations', 'int'));
|
||||||
$object->fk_facture_source = $_POST['situations'];
|
$object->fk_facture_source = GETPOST('situations', 'int');
|
||||||
$object->type = Facture::TYPE_SITUATION;
|
$object->type = Facture::TYPE_SITUATION;
|
||||||
|
|
||||||
if (!empty($origin) && !empty($originid))
|
if (!empty($origin) && !empty($originid))
|
||||||
|
|||||||
@ -1051,7 +1051,7 @@ class Invoices extends DolibarrApi
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ($this->invoice->paye) {
|
if ($this->invoice->paye) {
|
||||||
throw new RestException(500, 'Alreay payed');
|
throw new RestException(500, 'Alreay paid');
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->invoice->fetch($id);
|
$this->invoice->fetch($id);
|
||||||
|
|||||||
@ -1165,6 +1165,7 @@ class Facture extends CommonInvoice
|
|||||||
|
|
||||||
$object->id = 0;
|
$object->id = 0;
|
||||||
$object->statut = self::STATUS_DRAFT;
|
$object->statut = self::STATUS_DRAFT;
|
||||||
|
$object->status = self::STATUS_DRAFT;
|
||||||
|
|
||||||
// Clear fields
|
// Clear fields
|
||||||
$object->date = (empty($this->date) ? dol_now() : $this->date);
|
$object->date = (empty($this->date) ? dol_now() : $this->date);
|
||||||
@ -1594,6 +1595,8 @@ class Facture extends CommonInvoice
|
|||||||
$this->project = null; // Clear if another value was already set by fetch_projet
|
$this->project = null; // Clear if another value was already set by fetch_projet
|
||||||
|
|
||||||
$this->statut = $obj->fk_statut;
|
$this->statut = $obj->fk_statut;
|
||||||
|
$this->status = $obj->fk_statut;
|
||||||
|
|
||||||
$this->date_lim_reglement = $this->db->jdate($obj->dlr);
|
$this->date_lim_reglement = $this->db->jdate($obj->dlr);
|
||||||
$this->mode_reglement_id = $obj->fk_mode_reglement;
|
$this->mode_reglement_id = $obj->fk_mode_reglement;
|
||||||
$this->mode_reglement_code = $obj->mode_reglement_code;
|
$this->mode_reglement_code = $obj->mode_reglement_code;
|
||||||
|
|||||||
@ -287,7 +287,9 @@ if ($object->id > 0)
|
|||||||
|
|
||||||
// Type
|
// Type
|
||||||
print '<tr><td class="titlefield">'.$langs->trans('Type').'</td><td colspan="3">';
|
print '<tr><td class="titlefield">'.$langs->trans('Type').'</td><td colspan="3">';
|
||||||
|
print '<span class="badgeneutral">';
|
||||||
print $object->getLibType();
|
print $object->getLibType();
|
||||||
|
print '</span>';
|
||||||
if ($object->module_source) {
|
if ($object->module_source) {
|
||||||
print ' <span class="opacitymediumbycolor">('.$langs->trans("POS").' '.$object->module_source.' - '.$langs->trans("Terminal").' '.$object->pos_source.')</span>';
|
print ' <span class="opacitymediumbycolor">('.$langs->trans("POS").' '.$object->module_source.' - '.$langs->trans("Terminal").' '.$object->pos_source.')</span>';
|
||||||
}
|
}
|
||||||
|
|||||||
@ -264,7 +264,7 @@ print '</td></tr>';
|
|||||||
// ThirdParty Type
|
// ThirdParty Type
|
||||||
print '<tr><td>'.$langs->trans("ThirdPartyType").'</td><td>';
|
print '<tr><td>'.$langs->trans("ThirdPartyType").'</td><td>';
|
||||||
$sortparam_typent = (empty($conf->global->SOCIETE_SORT_ON_TYPEENT) ? 'ASC' : $conf->global->SOCIETE_SORT_ON_TYPEENT); // NONE means we keep sort of original array, so we sort on position. ASC, means next function will sort on label.
|
$sortparam_typent = (empty($conf->global->SOCIETE_SORT_ON_TYPEENT) ? 'ASC' : $conf->global->SOCIETE_SORT_ON_TYPEENT); // NONE means we keep sort of original array, so we sort on position. ASC, means next function will sort on label.
|
||||||
print $form->selectarray("typent_id", $formcompany->typent_array(0), $typent_id, 0, 0, 0, '', 0, 0, 0, $sortparam_typent);
|
print $form->selectarray("typent_id", $formcompany->typent_array(0), $typent_id, 0, 0, 0, '', 0, 0, 0, $sortparam_typent, '', 1);
|
||||||
if ($user->admin) print ' '.info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionarySetup"), 1);
|
if ($user->admin) print ' '.info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionarySetup"), 1);
|
||||||
print '</td></tr>';
|
print '</td></tr>';
|
||||||
|
|
||||||
|
|||||||
@ -193,11 +193,19 @@ if (!empty($conf->facture->enabled) && $user->rights->facture->lire)
|
|||||||
$companystatic = new Societe($db);
|
$companystatic = new Societe($db);
|
||||||
|
|
||||||
$i = 0;
|
$i = 0;
|
||||||
|
$othernb = 0;
|
||||||
$tot_ttc = 0;
|
$tot_ttc = 0;
|
||||||
while ($i < $num)
|
while ($i < $num && $i < $conf->liste_limit)
|
||||||
{
|
{
|
||||||
$obj = $db->fetch_object($resql);
|
$obj = $db->fetch_object($resql);
|
||||||
|
|
||||||
|
if ($i >= $max) {
|
||||||
|
$othernb += 1;
|
||||||
|
$i++;
|
||||||
|
$tot_ttc += $obj->total_ttc;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
$tmpinvoice->id = $obj->rowid;
|
$tmpinvoice->id = $obj->rowid;
|
||||||
$tmpinvoice->ref = $obj->ref;
|
$tmpinvoice->ref = $obj->ref;
|
||||||
$tmpinvoice->date = $db->jdate($obj->date);
|
$tmpinvoice->date = $db->jdate($obj->date);
|
||||||
@ -232,6 +240,14 @@ if (!empty($conf->facture->enabled) && $user->rights->facture->lire)
|
|||||||
$i++;
|
$i++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ($othernb) {
|
||||||
|
print '<tr class="oddeven">';
|
||||||
|
print '<td class="nowrap" colspan="3">';
|
||||||
|
print '<span class="opacitymedium">'.$langs->trans("More").'... ('.$othernb.')</span>';
|
||||||
|
print '</td>';
|
||||||
|
print "</tr>\n";
|
||||||
|
}
|
||||||
|
|
||||||
print '<tr class="liste_total"><td class="left">'.$langs->trans("Total").'</td>';
|
print '<tr class="liste_total"><td class="left">'.$langs->trans("Total").'</td>';
|
||||||
print '<td colspan="2" class="right">'.price($tot_ttc).'</td>';
|
print '<td colspan="2" class="right">'.price($tot_ttc).'</td>';
|
||||||
print '</tr>';
|
print '</tr>';
|
||||||
@ -290,11 +306,19 @@ if ((!empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_USE_NEW_SU
|
|||||||
$companystatic = new Societe($db);
|
$companystatic = new Societe($db);
|
||||||
|
|
||||||
$i = 0;
|
$i = 0;
|
||||||
|
$othernb = 0;
|
||||||
$tot_ttc = 0;
|
$tot_ttc = 0;
|
||||||
while ($i < $num)
|
while ($i < $num && $i < $conf->liste_limit)
|
||||||
{
|
{
|
||||||
$obj = $db->fetch_object($resql);
|
$obj = $db->fetch_object($resql);
|
||||||
|
|
||||||
|
if ($i >= $max) {
|
||||||
|
$othernb += 1;
|
||||||
|
$i++;
|
||||||
|
$tot_ttc += $obj->total_ttc;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
$facturesupplierstatic->ref = $obj->ref;
|
$facturesupplierstatic->ref = $obj->ref;
|
||||||
$facturesupplierstatic->id = $obj->rowid;
|
$facturesupplierstatic->id = $obj->rowid;
|
||||||
$facturesupplierstatic->total_ht = $obj->total_ht;
|
$facturesupplierstatic->total_ht = $obj->total_ht;
|
||||||
@ -328,6 +352,14 @@ if ((!empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_USE_NEW_SU
|
|||||||
$i++;
|
$i++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ($othernb) {
|
||||||
|
print '<tr class="oddeven">';
|
||||||
|
print '<td class="nowrap" colspan="3">';
|
||||||
|
print '<span class="opacitymedium">'.$langs->trans("More").'... ('.$othernb.')</span>';
|
||||||
|
print '</td>';
|
||||||
|
print "</tr>\n";
|
||||||
|
}
|
||||||
|
|
||||||
print '<tr class="liste_total"><td class="left">'.$langs->trans("Total").'</td>';
|
print '<tr class="liste_total"><td class="left">'.$langs->trans("Total").'</td>';
|
||||||
print '<td colspan="2" class="right">'.price($tot_ttc).'</td>';
|
print '<td colspan="2" class="right">'.price($tot_ttc).'</td>';
|
||||||
print '</tr>';
|
print '</tr>';
|
||||||
@ -1090,7 +1122,7 @@ if (!empty($conf->facture->enabled) && $user->rights->facture->lire)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Unpayed supplier invoices
|
* Unpaid supplier invoices
|
||||||
*/
|
*/
|
||||||
if ((!empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD) || !empty($conf->supplier_invoice->enabled)) && $user->rights->fournisseur->facture->lire)
|
if ((!empty($conf->fournisseur->enabled) && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD) || !empty($conf->supplier_invoice->enabled)) && $user->rights->fournisseur->facture->lire)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -381,7 +381,7 @@ class Localtax extends CommonObject
|
|||||||
|
|
||||||
// phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps
|
// phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps
|
||||||
/**
|
/**
|
||||||
* localtax payed
|
* Total of localtax paid in invoice
|
||||||
*
|
*
|
||||||
* @param int $year Year
|
* @param int $year Year
|
||||||
* @return int ???
|
* @return int ???
|
||||||
@ -419,8 +419,7 @@ class Localtax extends CommonObject
|
|||||||
|
|
||||||
// phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps
|
// phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps
|
||||||
/**
|
/**
|
||||||
* localtax payed
|
* Total of localtax paid
|
||||||
* Total de la localtax payed
|
|
||||||
*
|
*
|
||||||
* @param int $year Year
|
* @param int $year Year
|
||||||
* @return int ???
|
* @return int ???
|
||||||
|
|||||||
@ -565,7 +565,7 @@ print '</div><div class="fichetwothirdright"><div class="ficheaddleft">';
|
|||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Payed
|
* Paid
|
||||||
*/
|
*/
|
||||||
|
|
||||||
print load_fiche_titre($langs->transcountry($LTPaid, $mysoc->country_code), '', '');
|
print load_fiche_titre($langs->transcountry($LTPaid, $mysoc->country_code), '', '');
|
||||||
|
|||||||
@ -373,6 +373,7 @@ if ($action == 'create' || $action == 'confirm_paiement' || $action == 'add_paie
|
|||||||
function setPaiementCode()
|
function setPaiementCode()
|
||||||
{
|
{
|
||||||
var code = $("#selectpaiementcode option:selected").val();
|
var code = $("#selectpaiementcode option:selected").val();
|
||||||
|
console.log("setPaiementCode code="+code);
|
||||||
|
|
||||||
if (code == \'CHQ\' || code == \'VIR\')
|
if (code == \'CHQ\' || code == \'VIR\')
|
||||||
{
|
{
|
||||||
|
|||||||
@ -192,6 +192,7 @@ class Paiement extends CommonObject
|
|||||||
$this->amount = $obj->amount;
|
$this->amount = $obj->amount;
|
||||||
$this->multicurrency_amount = $obj->multicurrency_amount;
|
$this->multicurrency_amount = $obj->multicurrency_amount;
|
||||||
$this->note = $obj->note;
|
$this->note = $obj->note;
|
||||||
|
$this->note_private = $obj->note;
|
||||||
$this->type_label = $obj->type_label;
|
$this->type_label = $obj->type_label;
|
||||||
$this->type_code = $obj->type_code;
|
$this->type_code = $obj->type_code;
|
||||||
$this->statut = $obj->statut;
|
$this->statut = $obj->statut;
|
||||||
|
|||||||
@ -148,7 +148,7 @@ llxHeader('', $langs->trans('ListPayment'));
|
|||||||
|
|
||||||
if (GETPOST("orphelins", "alpha")) {
|
if (GETPOST("orphelins", "alpha")) {
|
||||||
// Payments not linked to an invoice. Should not happend. For debug only.
|
// Payments not linked to an invoice. Should not happend. For debug only.
|
||||||
$sql = "SELECT p.ref, p.datep, p.amount, p.statut, p.num_paiement";
|
$sql = "SELECT p.rowid, p.ref, p.datep, p.amount, p.statut, p.num_paiement";
|
||||||
$sql .= ", c.code as paiement_code";
|
$sql .= ", c.code as paiement_code";
|
||||||
|
|
||||||
// Add fields from hooks
|
// Add fields from hooks
|
||||||
@ -166,7 +166,7 @@ if (GETPOST("orphelins", "alpha")) {
|
|||||||
$sql .= $hookmanager->resPrint;
|
$sql .= $hookmanager->resPrint;
|
||||||
} else {
|
} else {
|
||||||
// DISTINCT is to avoid duplicate when there is a link to sales representatives
|
// DISTINCT is to avoid duplicate when there is a link to sales representatives
|
||||||
$sql = "SELECT DISTINCT p.ref, p.datep, p.fk_bank, p.amount, p.statut, p.num_paiement";
|
$sql = "SELECT DISTINCT p.rowid, p.ref, p.datep, p.fk_bank, p.amount, p.statut, p.num_paiement";
|
||||||
$sql .= ", c.code as paiement_code";
|
$sql .= ", c.code as paiement_code";
|
||||||
$sql .= ", ba.rowid as bid, ba.ref as bref, ba.label as blabel, ba.number, ba.account_number as account_number, ba.fk_accountancy_journal as accountancy_journal";
|
$sql .= ", ba.rowid as bid, ba.ref as bref, ba.label as blabel, ba.number, ba.account_number as account_number, ba.fk_accountancy_journal as accountancy_journal";
|
||||||
$sql .= ", s.rowid as socid, s.nom as name, s.email";
|
$sql .= ", s.rowid as socid, s.nom as name, s.email";
|
||||||
@ -390,7 +390,7 @@ while ($i < min($num, $limit)) {
|
|||||||
$objp = $db->fetch_object($resql);
|
$objp = $db->fetch_object($resql);
|
||||||
|
|
||||||
$object->id = $objp->rowid;
|
$object->id = $objp->rowid;
|
||||||
$object->ref = $objp->ref;
|
$object->ref = ($objp->ref ? $objp->ref : $objp->rowid);
|
||||||
|
|
||||||
$companystatic->id = $objp->socid;
|
$companystatic->id = $objp->socid;
|
||||||
$companystatic->name = $objp->name;
|
$companystatic->name = $objp->name;
|
||||||
@ -497,6 +497,14 @@ while ($i < min($num, $limit)) {
|
|||||||
// Show total line
|
// Show total line
|
||||||
include DOL_DOCUMENT_ROOT.'/core/tpl/list_print_total.tpl.php';
|
include DOL_DOCUMENT_ROOT.'/core/tpl/list_print_total.tpl.php';
|
||||||
|
|
||||||
|
// If no record found
|
||||||
|
if ($num == 0)
|
||||||
|
{
|
||||||
|
$colspan = 1;
|
||||||
|
foreach ($arrayfields as $key => $val) { if (!empty($val['checked'])) $colspan++; }
|
||||||
|
print '<tr><td colspan="'.$colspan.'" class="opacitymedium">'.$langs->trans("NoRecordFound").'</td></tr>';
|
||||||
|
}
|
||||||
|
|
||||||
print "</table>";
|
print "</table>";
|
||||||
print "</div>";
|
print "</div>";
|
||||||
print "</form>";
|
print "</form>";
|
||||||
|
|||||||
@ -162,7 +162,7 @@ print dol_get_fiche_end();
|
|||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* List of social contributions payed
|
* List of social contributions paid
|
||||||
*/
|
*/
|
||||||
|
|
||||||
$disable_delete = 0;
|
$disable_delete = 0;
|
||||||
@ -213,7 +213,7 @@ if ($resql)
|
|||||||
print '<td class="right">'.price($objp->sc_amount).'</td>';
|
print '<td class="right">'.price($objp->sc_amount).'</td>';
|
||||||
// Status
|
// Status
|
||||||
print '<td class="center">'.$socialcontrib->getLibStatut(4, $objp->amount).'</td>';
|
print '<td class="center">'.$socialcontrib->getLibStatut(4, $objp->amount).'</td>';
|
||||||
// Amount payed
|
// Amount paid
|
||||||
print '<td class="right">'.price($objp->amount).'</td>';
|
print '<td class="right">'.price($objp->amount).'</td>';
|
||||||
print "</tr>\n";
|
print "</tr>\n";
|
||||||
if ($objp->paye == 1) // If at least one invoice is paid, disable delete
|
if ($objp->paye == 1) // If at least one invoice is paid, disable delete
|
||||||
|
|||||||
@ -98,7 +98,13 @@ if (empty($reshook))
|
|||||||
// Seems to no be used and replaced with $action == 'infocredit'
|
// Seems to no be used and replaced with $action == 'infocredit'
|
||||||
if ($action == 'confirm_credite' && GETPOST('confirm', 'alpha') == 'yes')
|
if ($action == 'confirm_credite' && GETPOST('confirm', 'alpha') == 'yes')
|
||||||
{
|
{
|
||||||
|
if ($object->statut == 2) {
|
||||||
|
$res = -1;
|
||||||
|
setEventMessages('WithdrawalCantBeCreditedTwice', array(), 'errors');
|
||||||
|
} else {
|
||||||
$res = $object->set_credite();
|
$res = $object->set_credite();
|
||||||
|
}
|
||||||
|
|
||||||
if ($res >= 0)
|
if ($res >= 0)
|
||||||
{
|
{
|
||||||
header("Location: card.php?id=".$id);
|
header("Location: card.php?id=".$id);
|
||||||
@ -145,7 +151,13 @@ if (empty($reshook))
|
|||||||
{
|
{
|
||||||
$dt = dol_mktime(12, 0, 0, GETPOST('remonth', 'int'), GETPOST('reday', 'int'), GETPOST('reyear', 'int'));
|
$dt = dol_mktime(12, 0, 0, GETPOST('remonth', 'int'), GETPOST('reday', 'int'), GETPOST('reyear', 'int'));
|
||||||
|
|
||||||
|
if ($object->statut == 2) {
|
||||||
|
$error = 1;
|
||||||
|
setEventMessages('WithdrawalCantBeCreditedTwice', array(), 'errors');
|
||||||
|
} else {
|
||||||
$error = $object->set_infocredit($user, $dt);
|
$error = $object->set_infocredit($user, $dt);
|
||||||
|
}
|
||||||
|
|
||||||
if ($error)
|
if ($error)
|
||||||
{
|
{
|
||||||
setEventMessages($object->error, $object->errors, 'errors');
|
setEventMessages($object->error, $object->errors, 'errors');
|
||||||
|
|||||||
@ -371,7 +371,7 @@ class BonPrelevement extends CommonObject
|
|||||||
$num = count($facs);
|
$num = count($facs);
|
||||||
for ($i = 0; $i < $num; $i++)
|
for ($i = 0; $i < $num; $i++)
|
||||||
{
|
{
|
||||||
/* Tag invoice as payed */
|
/* Tag invoice as paid */
|
||||||
dol_syslog(get_class($this)."::set_credite set_paid fac ".$facs[$i]);
|
dol_syslog(get_class($this)."::set_credite set_paid fac ".$facs[$i]);
|
||||||
$fac = new Facture($this->db);
|
$fac = new Facture($this->db);
|
||||||
$fac->fetch($facs[$i]);
|
$fac->fetch($facs[$i]);
|
||||||
@ -1704,7 +1704,7 @@ class BonPrelevement extends CommonObject
|
|||||||
fputs($this->file, ' <Id>'.$CrLf);
|
fputs($this->file, ' <Id>'.$CrLf);
|
||||||
fputs($this->file, ' <PrvtId>'.$CrLf);
|
fputs($this->file, ' <PrvtId>'.$CrLf);
|
||||||
fputs($this->file, ' <Othr>'.$CrLf);
|
fputs($this->file, ' <Othr>'.$CrLf);
|
||||||
fputs($this->file, ' <Id>'.$conf->global->PAYMENTBYBANKTRANSFER_ICS.'</Id>'.$CrLf);
|
fputs($this->file, ' <Id>'.$this->emetteur_ics.'</Id>'.$CrLf);
|
||||||
fputs($this->file, ' </Othr>'.$CrLf);
|
fputs($this->file, ' </Othr>'.$CrLf);
|
||||||
fputs($this->file, ' </PrvtId>'.$CrLf);
|
fputs($this->file, ' </PrvtId>'.$CrLf);
|
||||||
fputs($this->file, ' </Id>'.$CrLf);
|
fputs($this->file, ' </Id>'.$CrLf);
|
||||||
|
|||||||
@ -430,7 +430,7 @@ class ChargeSociales extends CommonObject
|
|||||||
|
|
||||||
// phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps
|
// phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps
|
||||||
/**
|
/**
|
||||||
* Tag social contribution as payed completely
|
* Tag social contribution as paid completely
|
||||||
*
|
*
|
||||||
* @param User $user Object user making change
|
* @param User $user Object user making change
|
||||||
* @return int <0 if KO, >0 if OK
|
* @return int <0 if KO, >0 if OK
|
||||||
@ -448,7 +448,7 @@ class ChargeSociales extends CommonObject
|
|||||||
|
|
||||||
// phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps
|
// phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps
|
||||||
/**
|
/**
|
||||||
* Remove tag payed on social contribution
|
* Remove tag paid on social contribution
|
||||||
*
|
*
|
||||||
* @param User $user Object user making change
|
* @param User $user Object user making change
|
||||||
* @return int <0 if KO, >0 if OK
|
* @return int <0 if KO, >0 if OK
|
||||||
@ -468,7 +468,7 @@ class ChargeSociales extends CommonObject
|
|||||||
* Retourne le libelle du statut d'une charge (impaye, payee)
|
* Retourne le libelle du statut d'une charge (impaye, payee)
|
||||||
*
|
*
|
||||||
* @param int $mode 0=long label, 1=short label, 2=Picto + short label, 3=Picto, 4=Picto + long label, 5=short label + picto, 6=Long label + picto
|
* @param int $mode 0=long label, 1=short label, 2=Picto + short label, 3=Picto, 4=Picto + long label, 5=short label + picto, 6=Long label + picto
|
||||||
* @param double $alreadypaid 0=No payment already done, >0=Some payments were already done (we recommand to put here amount payed if you have it, 1 otherwise)
|
* @param double $alreadypaid 0=No payment already done, >0=Some payments were already done (we recommand to put here amount paid if you have it, 1 otherwise)
|
||||||
* @return string Label
|
* @return string Label
|
||||||
*/
|
*/
|
||||||
public function getLibStatut($mode = 0, $alreadypaid = -1)
|
public function getLibStatut($mode = 0, $alreadypaid = -1)
|
||||||
@ -482,7 +482,7 @@ class ChargeSociales extends CommonObject
|
|||||||
*
|
*
|
||||||
* @param int $status Id status
|
* @param int $status Id status
|
||||||
* @param int $mode 0=long label, 1=short label, 2=Picto + short label, 3=Picto, 4=Picto + long label, 5=short label + picto, 6=Long label + picto
|
* @param int $mode 0=long label, 1=short label, 2=Picto + short label, 3=Picto, 4=Picto + long label, 5=short label + picto, 6=Long label + picto
|
||||||
* @param double $alreadypaid 0=No payment already done, >0=Some payments were already done (we recommand to put here amount payed if you have it, 1 otherwise)
|
* @param double $alreadypaid 0=No payment already done, >0=Some payments were already done (we recommand to put here amount paid if you have it, 1 otherwise)
|
||||||
* @return string Label
|
* @return string Label
|
||||||
*/
|
*/
|
||||||
public function LibStatut($status, $mode = 0, $alreadypaid = -1)
|
public function LibStatut($status, $mode = 0, $alreadypaid = -1)
|
||||||
|
|||||||
@ -115,7 +115,7 @@ class PaymentSocialContribution extends CommonObject
|
|||||||
* Use this->amounts to have list of lines for the payment
|
* Use this->amounts to have list of lines for the payment
|
||||||
*
|
*
|
||||||
* @param User $user User making payment
|
* @param User $user User making payment
|
||||||
* @param int $closepaidcontrib 1=Also close payed contributions to paid, 0=Do nothing more
|
* @param int $closepaidcontrib 1=Also close paid contributions to paid, 0=Do nothing more
|
||||||
* @return int <0 if KO, id of payment if OK
|
* @return int <0 if KO, id of payment if OK
|
||||||
*/
|
*/
|
||||||
public function create($user, $closepaidcontrib = 0)
|
public function create($user, $closepaidcontrib = 0)
|
||||||
@ -183,7 +183,7 @@ class PaymentSocialContribution extends CommonObject
|
|||||||
{
|
{
|
||||||
$amount = price2num($amount);
|
$amount = price2num($amount);
|
||||||
|
|
||||||
// If we want to closed payed invoices
|
// If we want to closed paid invoices
|
||||||
if ($closepaidcontrib)
|
if ($closepaidcontrib)
|
||||||
{
|
{
|
||||||
$contrib = new ChargeSociales($this->db);
|
$contrib = new ChargeSociales($this->db);
|
||||||
|
|||||||
@ -148,7 +148,7 @@ if (!empty($conf->projet->enabled)) $projectstatic = new Project($db);
|
|||||||
|
|
||||||
llxHeader('', $langs->trans("SocialContributions"));
|
llxHeader('', $langs->trans("SocialContributions"));
|
||||||
|
|
||||||
$sql = "SELECT cs.rowid, cs.fk_type as type, cs.fk_user, ";
|
$sql = "SELECT cs.rowid, cs.fk_type as type, cs.fk_user,";
|
||||||
$sql .= " cs.amount, cs.date_ech, cs.libelle as label, cs.paye, cs.periode,";
|
$sql .= " cs.amount, cs.date_ech, cs.libelle as label, cs.paye, cs.periode,";
|
||||||
if (!empty($conf->projet->enabled)) $sql .= " p.rowid as project_id, p.ref as project_ref, p.title as project_label,";
|
if (!empty($conf->projet->enabled)) $sql .= " p.rowid as project_id, p.ref as project_ref, p.title as project_label,";
|
||||||
$sql .= " c.libelle as type_label,";
|
$sql .= " c.libelle as type_label,";
|
||||||
@ -185,7 +185,7 @@ if ($filtre) {
|
|||||||
if ($search_typeid) {
|
if ($search_typeid) {
|
||||||
$sql .= " AND cs.fk_type=".$db->escape($search_typeid);
|
$sql .= " AND cs.fk_type=".$db->escape($search_typeid);
|
||||||
}
|
}
|
||||||
$sql .= " GROUP BY cs.rowid, cs.fk_type, cs.amount, cs.date_ech, cs.libelle, cs.paye, cs.periode, c.libelle";
|
$sql .= " GROUP BY cs.rowid, cs.fk_type, cs.fk_user, cs.amount, cs.date_ech, cs.libelle, cs.paye, cs.periode, c.libelle";
|
||||||
if (!empty($conf->projet->enabled)) $sql .= ", p.rowid, p.ref, p.title";
|
if (!empty($conf->projet->enabled)) $sql .= ", p.rowid, p.ref, p.title";
|
||||||
$sql .= $db->order($sortfield, $sortorder);
|
$sql .= $db->order($sortfield, $sortorder);
|
||||||
|
|
||||||
|
|||||||
@ -551,7 +551,7 @@ print '</div><div class="fichetwothirdright"><div class="ficheaddleft">';
|
|||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Payed
|
* Paid
|
||||||
*/
|
*/
|
||||||
|
|
||||||
print load_fiche_titre($langs->trans("VATPaid"), '', '');
|
print load_fiche_titre($langs->trans("VATPaid"), '', '');
|
||||||
|
|||||||
@ -83,6 +83,8 @@ dol_banner_tab($object, 'id', $linkback, 1, 'rowid', 'ref', $morehtmlref, '', 0,
|
|||||||
print '<div class="fichecenter">';
|
print '<div class="fichecenter">';
|
||||||
print '<div class="underbanner clearboth"></div>';
|
print '<div class="underbanner clearboth"></div>';
|
||||||
|
|
||||||
|
print '<br>';
|
||||||
|
|
||||||
print '<table width="100%"><tr><td>';
|
print '<table width="100%"><tr><td>';
|
||||||
dol_print_object_info($object);
|
dol_print_object_info($object);
|
||||||
print '</td></tr></table>';
|
print '</td></tr></table>';
|
||||||
|
|||||||
@ -657,7 +657,7 @@ while ($i < min($num, $limit))
|
|||||||
}
|
}
|
||||||
if (!empty($arrayfields['s.nom']['checked']))
|
if (!empty($arrayfields['s.nom']['checked']))
|
||||||
{
|
{
|
||||||
print '<td>';
|
print '<td class="tdoverflowmax150">';
|
||||||
if ($obj->socid > 0) {
|
if ($obj->socid > 0) {
|
||||||
// TODO Use a cache for this string
|
// TODO Use a cache for this string
|
||||||
print $socstatic->getNomUrl(1, '');
|
print $socstatic->getNomUrl(1, '');
|
||||||
@ -746,7 +746,7 @@ while ($i < min($num, $limit))
|
|||||||
}
|
}
|
||||||
//else print $langs->trans("NoSalesRepresentativeAffected");
|
//else print $langs->trans("NoSalesRepresentativeAffected");
|
||||||
} else {
|
} else {
|
||||||
print ' ';
|
print ' ';
|
||||||
}
|
}
|
||||||
print '</td>';
|
print '</td>';
|
||||||
}
|
}
|
||||||
|
|||||||
@ -291,9 +291,6 @@ class box_dolibarr_state_board extends ModeleBoxes
|
|||||||
$boxstat .= '<a class="boxstatsindicator thumbstat nobold nounderline"><div class="boxstatsempty"></div></a>';
|
$boxstat .= '<a class="boxstatsindicator thumbstat nobold nounderline"><div class="boxstatsempty"></div></a>';
|
||||||
$boxstat .= '<a class="boxstatsindicator thumbstat nobold nounderline"><div class="boxstatsempty"></div></a>';
|
$boxstat .= '<a class="boxstatsindicator thumbstat nobold nounderline"><div class="boxstatsempty"></div></a>';
|
||||||
|
|
||||||
$boxstat .= '</td></tr>';
|
|
||||||
$boxstat .= '</table>';
|
|
||||||
|
|
||||||
$this->info_box_contents[0][0] = array(
|
$this->info_box_contents[0][0] = array(
|
||||||
'td' => '',
|
'td' => '',
|
||||||
'textnoformat' => $boxstat
|
'textnoformat' => $boxstat
|
||||||
|
|||||||
@ -26,7 +26,7 @@ include_once DOL_DOCUMENT_ROOT.'/core/boxes/modules_boxes.php';
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class to manage the box to show not payed suppliers invoices
|
* Class to manage the box to show not paid suppliers invoices
|
||||||
*/
|
*/
|
||||||
class box_factures_fourn_imp extends ModeleBoxes
|
class box_factures_fourn_imp extends ModeleBoxes
|
||||||
{
|
{
|
||||||
|
|||||||
@ -110,7 +110,8 @@ class box_factures_imp extends ModeleBoxes
|
|||||||
$sql .= " AND fk_statut = 1";
|
$sql .= " AND fk_statut = 1";
|
||||||
if (!$user->rights->societe->client->voir && !$user->socid) $sql .= " AND s.rowid = sc.fk_soc AND sc.fk_user = ".$user->id;
|
if (!$user->rights->societe->client->voir && !$user->socid) $sql .= " AND s.rowid = sc.fk_soc AND sc.fk_user = ".$user->id;
|
||||||
if ($user->socid) $sql .= " AND s.rowid = ".$user->socid;
|
if ($user->socid) $sql .= " AND s.rowid = ".$user->socid;
|
||||||
$sql .= " GROUP BY s.nom, s.rowid, s.email, s.code_client, s.logo, f.ref, f.date_lim_reglement,";
|
$sql .= " GROUP BY s.rowid, s.nom, s.name_alias, s.code_client, s.code_compta, s.client, s.logo, s.email, s.entity, s.tva_intra, s.siren, s.siret, s.ape, s.idprof4, s.idprof5, s.idprof6,";
|
||||||
|
$sql .= " f.ref, f.date_lim_reglement,";
|
||||||
$sql .= " f.type, f.datef, f.total, f.tva, f.total_ttc, f.paye, f.fk_statut, f.rowid";
|
$sql .= " f.type, f.datef, f.total, f.tva, f.total_ttc, f.paye, f.fk_statut, f.rowid";
|
||||||
//$sql.= " ORDER BY f.datef DESC, f.ref DESC ";
|
//$sql.= " ORDER BY f.datef DESC, f.ref DESC ";
|
||||||
$sql .= " ORDER BY datelimite ASC, f.ref ASC ";
|
$sql .= " ORDER BY datelimite ASC, f.ref ASC ";
|
||||||
|
|||||||
@ -134,7 +134,7 @@ class box_last_ticket extends ModeleBoxes
|
|||||||
$thirdparty->name = $objp->company_name;
|
$thirdparty->name = $objp->company_name;
|
||||||
$link = $thirdparty->getNomUrl(1);
|
$link = $thirdparty->getNomUrl(1);
|
||||||
} else {
|
} else {
|
||||||
$link = dol_print_email($objp->origin_email);
|
$link = '<span title="'.$objp->origin_email.'">'.dol_print_email($objp->origin_email).'</span>';
|
||||||
}
|
}
|
||||||
|
|
||||||
$r = 0;
|
$r = 0;
|
||||||
@ -149,15 +149,15 @@ class box_last_ticket extends ModeleBoxes
|
|||||||
|
|
||||||
// Subject
|
// Subject
|
||||||
$this->info_box_contents[$i][$r] = array(
|
$this->info_box_contents[$i][$r] = array(
|
||||||
'td' => '',
|
'td' => 'class="tdoverflowmax200"',
|
||||||
'text' => $objp->subject, // Some event have no ref
|
'text' => '<span title="'.$objp->subject.'">'.$objp->subject.'</span>', // Some event have no ref
|
||||||
'url' => DOL_URL_ROOT."/ticket/card.php?track_id=".$objp->track_id,
|
'url' => DOL_URL_ROOT."/ticket/card.php?track_id=".$objp->track_id,
|
||||||
);
|
);
|
||||||
$r++;
|
$r++;
|
||||||
|
|
||||||
// Customer
|
// Customer
|
||||||
$this->info_box_contents[$i][$r] = array(
|
$this->info_box_contents[$i][$r] = array(
|
||||||
'td' => '',
|
'td' => 'class="tdoverflowmax100"',
|
||||||
'text' => $link,
|
'text' => $link,
|
||||||
'asis' => 1,
|
'asis' => 1,
|
||||||
);
|
);
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
/* Copyright (C) 2003 Rodolphe Quiedeville <rodolphe@quiedeville.org>
|
/* Copyright (C) 2003 Rodolphe Quiedeville <rodolphe@quiedeville.org>
|
||||||
* Copyright (C) 2004-2011 Laurent Destailleur <eldy@users.sourceforge.net>
|
* Copyright (C) 2004-2011 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||||
* Copyright (C) 2005-2012 Regis Houssin <regis.houssin@inodbox.com>
|
* Copyright (C) 2005-2012 Regis Houssin <regis.houssin@inodbox.com>
|
||||||
* Copyright (C) 2015 Frederic France <frederic.france@free.fr>
|
* Copyright (C) 2015-2021 Frederic France <frederic.france@netlogic.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
|
||||||
@ -196,7 +196,7 @@ class box_produits extends ModeleBoxes
|
|||||||
|
|
||||||
$this->info_box_contents[$line][] = array(
|
$this->info_box_contents[$line][] = array(
|
||||||
'td' => 'class="right" width="18"',
|
'td' => 'class="right" width="18"',
|
||||||
'text' => '<span class="statusrefsell">'.$productstatic->LibStatut($objp->tosell, 3, 0).'<span>',
|
'text' => '<span class="statusrefsell">'.$productstatic->LibStatut($objp->tosell, 3, 0).'</span>',
|
||||||
'asis' => 1
|
'asis' => 1
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|||||||
@ -3,7 +3,7 @@
|
|||||||
* Copyright (C) 2004-2011 Laurent Destailleur <eldy@users.sourceforge.net>
|
* Copyright (C) 2004-2011 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||||
* Copyright (C) 2005-2012 Regis Houssin <regis.houssin@inodbox.com>
|
* Copyright (C) 2005-2012 Regis Houssin <regis.houssin@inodbox.com>
|
||||||
* Copyright (C) 2005-2012 Maxime Kohlhaas <mko@atm-consulting.fr>
|
* Copyright (C) 2005-2012 Maxime Kohlhaas <mko@atm-consulting.fr>
|
||||||
* Copyright (C) 2015-2019 Frédéric France <frederic.france@netlogic.fr>
|
* Copyright (C) 2015-2021 Frédéric France <frederic.france@netlogic.fr>
|
||||||
* Copyright (C) 2015 Juanjo Menent <jmenent@2byte.es>
|
* Copyright (C) 2015 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
|
||||||
@ -206,23 +206,24 @@ class box_produits_alerte_stock extends ModeleBoxes
|
|||||||
|
|
||||||
$this->info_box_contents[$line][] = array(
|
$this->info_box_contents[$line][] = array(
|
||||||
'td' => 'class="right" width="18"',
|
'td' => 'class="right" width="18"',
|
||||||
'text' => '<span class="statusrefsell">'.$productstatic->LibStatut($objp->tosell, 3, 0).'<span>',
|
'text' => '<span class="statusrefsell">'.$productstatic->LibStatut($objp->tosell, 3, 0).'</span>',
|
||||||
'asis' => 1
|
'asis' => 1
|
||||||
);
|
);
|
||||||
|
|
||||||
$this->info_box_contents[$line][] = array(
|
$this->info_box_contents[$line][] = array(
|
||||||
'td' => 'class="right" width="18"',
|
'td' => 'class="right" width="18"',
|
||||||
'text' => '<span class="statusrefbuy">'.$productstatic->LibStatut($objp->tobuy, 3, 0).'<span>',
|
'text' => '<span class="statusrefbuy">'.$productstatic->LibStatut($objp->tobuy, 3, 0).'</span>',
|
||||||
'asis' => 1
|
'asis' => 1
|
||||||
);
|
);
|
||||||
|
|
||||||
$line++;
|
$line++;
|
||||||
}
|
}
|
||||||
if ($num == 0)
|
if ($num == 0) {
|
||||||
$this->info_box_contents[$line][0] = array(
|
$this->info_box_contents[$line][0] = array(
|
||||||
'td' => 'class="center"',
|
'td' => 'class="center"',
|
||||||
'text'=>$langs->trans("NoTooLowStockProducts"),
|
'text'=>$langs->trans("NoTooLowStockProducts"),
|
||||||
);
|
);
|
||||||
|
}
|
||||||
|
|
||||||
$this->db->free($result);
|
$this->db->free($result);
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@ -222,6 +222,12 @@ abstract class CommonObject
|
|||||||
*/
|
*/
|
||||||
public $statut;
|
public $statut;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var int The object's status
|
||||||
|
* @see setStatut()
|
||||||
|
*/
|
||||||
|
public $status;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var string
|
* @var string
|
||||||
* @see getFullAddress()
|
* @see getFullAddress()
|
||||||
@ -1055,7 +1061,6 @@ abstract class CommonObject
|
|||||||
{
|
{
|
||||||
$this->error = $this->db->errno();
|
$this->error = $this->db->errno();
|
||||||
$this->db->rollback();
|
$this->db->rollback();
|
||||||
echo 'err rollback';
|
|
||||||
return -2;
|
return -2;
|
||||||
} else {
|
} else {
|
||||||
$this->error = $this->db->error();
|
$this->error = $this->db->error();
|
||||||
@ -4910,7 +4915,7 @@ abstract class CommonObject
|
|||||||
$this->result['filename']=$ecmfile->filename;*/
|
$this->result['filename']=$ecmfile->filename;*/
|
||||||
//var_dump($obj->update_main_doc_field);exit;
|
//var_dump($obj->update_main_doc_field);exit;
|
||||||
|
|
||||||
// Update the last_main_doc field into main object (if documenent generator has property ->update_main_doc_field set)
|
// Update the last_main_doc field into main object (if document generator has property ->update_main_doc_field set)
|
||||||
$update_main_doc_field = 0;
|
$update_main_doc_field = 0;
|
||||||
if (!empty($obj->update_main_doc_field)) $update_main_doc_field = 1;
|
if (!empty($obj->update_main_doc_field)) $update_main_doc_field = 1;
|
||||||
if ($update_main_doc_field && !empty($this->table_element))
|
if ($update_main_doc_field && !empty($this->table_element))
|
||||||
@ -7044,10 +7049,10 @@ abstract class CommonObject
|
|||||||
$labeltoshow = $langs->trans($label);
|
$labeltoshow = $langs->trans($label);
|
||||||
$helptoshow = $langs->trans($extrafields->attributes[$this->table_element]['help'][$key]);
|
$helptoshow = $langs->trans($extrafields->attributes[$this->table_element]['help'][$key]);
|
||||||
|
|
||||||
if ($display_type=='card') {
|
if ($display_type == 'card') {
|
||||||
$out .= '<tr '.($html_id ? 'id="'.$html_id.'" ' : '').$csstyle.' class="'.$class.$this->element.'_extras_'.$key.' trextrafields_collapse'.$extrafields_collapse_num.'" '.$domData.' >';
|
$out .= '<tr '.($html_id ? 'id="'.$html_id.'" ' : '').$csstyle.' class="'.$class.$this->element.'_extras_'.$key.' trextrafields_collapse'.$extrafields_collapse_num.(!empty($this->id)?'_'.$this->id:'').'" '.$domData.' >';
|
||||||
$out .= '<td class="wordbreak';
|
$out .= '<td class="wordbreak';
|
||||||
} elseif ($display_type=='line') {
|
} elseif ($display_type == 'line') {
|
||||||
$out .= '<div '.($html_id ? 'id="'.$html_id.'" ' : '').$csstyle.' class="'.$class.$this->element.'_extras_'.$key.' trextrafields_collapse'.$extrafields_collapse_num.(!empty($this->id)?'_'.$this->id:'').'" '.$domData.' >';
|
$out .= '<div '.($html_id ? 'id="'.$html_id.'" ' : '').$csstyle.' class="'.$class.$this->element.'_extras_'.$key.' trextrafields_collapse'.$extrafields_collapse_num.(!empty($this->id)?'_'.$this->id:'').'" '.$domData.' >';
|
||||||
$out .= '<div style="display: inline-block; padding-right:4px" class="wordbreak';
|
$out .= '<div style="display: inline-block; padding-right:4px" class="wordbreak';
|
||||||
}
|
}
|
||||||
@ -7067,12 +7072,12 @@ abstract class CommonObject
|
|||||||
else $out .= $labeltoshow;
|
else $out .= $labeltoshow;
|
||||||
}
|
}
|
||||||
|
|
||||||
$out .= ($display_type=='card' ? '</td>' : '</div>');
|
$out .= ($display_type == 'card' ? '</td>' : '</div>');
|
||||||
|
|
||||||
$html_id = !empty($this->id) ? $this->element.'_extras_'.$key.'_'.$this->id : '';
|
$html_id = !empty($this->id) ? $this->element.'_extras_'.$key.'_'.$this->id : '';
|
||||||
if ($display_type=='card') {
|
if ($display_type == 'card') {
|
||||||
$out .= '<td '.($html_id ? 'id="'.$html_id.'" ' : '').' class="'.$this->element.'_extras_'.$key.'" '.($colspan ? ' colspan="'.$colspan.'"' : '').'>';
|
$out .= '<td '.($html_id ? 'id="'.$html_id.'" ' : '').' class="'.$this->element.'_extras_'.$key.'" '.($colspan ? ' colspan="'.$colspan.'"' : '').'>';
|
||||||
} elseif ($display_type=='line') {
|
} elseif ($display_type == 'line') {
|
||||||
$out .= '<div '.($html_id ? 'id="'.$html_id.'" ' : '').' style="display: inline-block" class="'.$this->element.'_extras_'.$key.'">';
|
$out .= '<div '.($html_id ? 'id="'.$html_id.'" ' : '').' style="display: inline-block" class="'.$this->element.'_extras_'.$key.'">';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -1952,12 +1952,12 @@ class ExtraFields
|
|||||||
$extrafield_collapse_display_value = intval($extrafield_param_list[0]);
|
$extrafield_collapse_display_value = intval($extrafield_param_list[0]);
|
||||||
if ($extrafield_collapse_display_value == 1 || $extrafield_collapse_display_value == 2) {
|
if ($extrafield_collapse_display_value == 1 || $extrafield_collapse_display_value == 2) {
|
||||||
// Set the collapse_display status to cookie in priority or if ignorecollapsesetup is 1, if cookie and ignorecollapsesetup not defined, use the setup.
|
// Set the collapse_display status to cookie in priority or if ignorecollapsesetup is 1, if cookie and ignorecollapsesetup not defined, use the setup.
|
||||||
$collapse_display = ((isset($_COOKIE['DOLCOLLAPSE_'.$object->table_element.'_extrafields_'.$key.(!empty($object->id)?'_'.$object->id:'')]) || GETPOST('ignorecollapsesetup', 'int')) ? ($_COOKIE['DOLCOLLAPSE_'.$object->table_element.'_extrafields_'.$key.(!empty($object->id)?'_'.$object->id:'')] ? true : false) : ($extrafield_collapse_display_value == 2 ? false : true));
|
$collapse_display = ((isset($_COOKIE['DOLCOLLAPSE_'.$object->table_element.'_extrafields_'.$key]) || GETPOST('ignorecollapsesetup', 'int')) ? ($_COOKIE['DOLCOLLAPSE_'.$object->table_element.'_extrafields_'.$key] ? true : false) : ($extrafield_collapse_display_value == 2 ? false : true));
|
||||||
$extrafields_collapse_num = $this->attributes[$object->table_element]['pos'][$key].(!empty($object->id)?'_'.$object->id:'');
|
$extrafields_collapse_num = $this->attributes[$object->table_element]['pos'][$key].(!empty($object->id)?'_'.$object->id:'');
|
||||||
|
|
||||||
$out .= '<!-- Add js script to manage the collpase/uncollapse of extrafields separators '.$key.' -->';
|
$out .= '<!-- Add js script to manage the collapse/uncollapse of extrafields separators '.$key.' -->'."\n";
|
||||||
$out .= '<script type="text/javascript">';
|
$out .= '<script type="text/javascript">'."\n";
|
||||||
$out .= 'jQuery(document).ready(function(){';
|
$out .= 'jQuery(document).ready(function(){'."\n";
|
||||||
if ($collapse_display === false) {
|
if ($collapse_display === false) {
|
||||||
$out .= ' jQuery("#trextrafieldseparator'.$key.(!empty($object->id)?'_'.$object->id:'').' '.$tagtype_dyn.'").prepend("<span class=\"cursorpointer far fa-plus-square\"></span> ");'."\n";
|
$out .= ' jQuery("#trextrafieldseparator'.$key.(!empty($object->id)?'_'.$object->id:'').' '.$tagtype_dyn.'").prepend("<span class=\"cursorpointer far fa-plus-square\"></span> ");'."\n";
|
||||||
$out .= ' jQuery(".trextrafields_collapse'.$extrafields_collapse_num.'").hide();'."\n";
|
$out .= ' jQuery(".trextrafields_collapse'.$extrafields_collapse_num.'").hide();'."\n";
|
||||||
@ -1966,18 +1966,19 @@ class ExtraFields
|
|||||||
$out .= ' document.cookie = "DOLCOLLAPSE_'.$object->table_element.'_extrafields_'.$key.'=1; path='.$_SERVER["PHP_SELF"].'"'."\n";
|
$out .= ' document.cookie = "DOLCOLLAPSE_'.$object->table_element.'_extrafields_'.$key.'=1; path='.$_SERVER["PHP_SELF"].'"'."\n";
|
||||||
}
|
}
|
||||||
$out .= ' jQuery("#trextrafieldseparator'.$key.(!empty($object->id)?'_'.$object->id:'').'").click(function(){'."\n";
|
$out .= ' jQuery("#trextrafieldseparator'.$key.(!empty($object->id)?'_'.$object->id:'').'").click(function(){'."\n";
|
||||||
|
$out .= ' console.log("We click on collapse/uncollapse .trextrafields_collapse'.$extrafields_collapse_num.'");'."\n";
|
||||||
$out .= ' jQuery(".trextrafields_collapse'.$extrafields_collapse_num.'").toggle(300, function(){'."\n";
|
$out .= ' jQuery(".trextrafields_collapse'.$extrafields_collapse_num.'").toggle(300, function(){'."\n";
|
||||||
$out .= ' if (jQuery(".trextrafields_collapse'.$extrafields_collapse_num.'").is(":hidden")) {'."\n";
|
$out .= ' if (jQuery(".trextrafields_collapse'.$extrafields_collapse_num.'").is(":hidden")) {'."\n";
|
||||||
$out .= ' jQuery("#trextrafieldseparator'.$key.(!empty($object->id)?'_'.$object->id:'').' '.$tagtype_dyn.' span").addClass("fa-plus-square").removeClass("fa-minus-square");'."\n";
|
$out .= ' jQuery("#trextrafieldseparator'.$key.(!empty($object->id)?'_'.$object->id:'').' '.$tagtype_dyn.' span").addClass("fa-plus-square").removeClass("fa-minus-square");'."\n";
|
||||||
$out .= ' document.cookie = "DOLCOLLAPSE_'.$object->table_element.'_extrafields_'.$key.(!empty($object->id)?'_'.$object->id:'').'=0; path='.$_SERVER["PHP_SELF"].'"'."\n";
|
$out .= ' document.cookie = "DOLCOLLAPSE_'.$object->table_element.'_extrafields_'.$key.'=0; path='.$_SERVER["PHP_SELF"].'"'."\n";
|
||||||
$out .= ' } else {'."\n";
|
$out .= ' } else {'."\n";
|
||||||
$out .= ' jQuery("#trextrafieldseparator'.$key.(!empty($object->id)?'_'.$object->id:'').' '.$tagtype_dyn.' span").addClass("fa-minus-square").removeClass("fa-plus-square");'."\n";
|
$out .= ' jQuery("#trextrafieldseparator'.$key.(!empty($object->id)?'_'.$object->id:'').' '.$tagtype_dyn.' span").addClass("fa-minus-square").removeClass("fa-plus-square");'."\n";
|
||||||
$out .= ' document.cookie = "DOLCOLLAPSE_'.$object->table_element.'_extrafields_'.$key.(!empty($object->id)?'_'.$object->id:'').'=1; path='.$_SERVER["PHP_SELF"].'"'."\n";
|
$out .= ' document.cookie = "DOLCOLLAPSE_'.$object->table_element.'_extrafields_'.$key.'=1; path='.$_SERVER["PHP_SELF"].'"'."\n";
|
||||||
$out .= ' }'."\n";
|
$out .= ' }'."\n";
|
||||||
$out .= ' });';
|
$out .= ' });'."\n";
|
||||||
$out .= ' });';
|
$out .= ' });'."\n";
|
||||||
$out .= '});';
|
$out .= '});'."\n";
|
||||||
$out .= '</script>';
|
$out .= '</script>'."\n";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -17,7 +17,7 @@
|
|||||||
* Copyright (C) 2012-2015 Raphaël Doursenaud <rdoursenaud@gpcsolutions.fr>
|
* Copyright (C) 2012-2015 Raphaël Doursenaud <rdoursenaud@gpcsolutions.fr>
|
||||||
* Copyright (C) 2014-2020 Alexandre Spangaro <aspangaro@open-dsi.fr>
|
* Copyright (C) 2014-2020 Alexandre Spangaro <aspangaro@open-dsi.fr>
|
||||||
* Copyright (C) 2018 Ferran Marcet <fmarcet@2byte.es>
|
* Copyright (C) 2018 Ferran Marcet <fmarcet@2byte.es>
|
||||||
* Copyright (C) 2018-2019 Frédéric France <frederic.france@netlogic.fr>
|
* Copyright (C) 2018-2021 Frédéric France <frederic.france@netlogic.fr>
|
||||||
* Copyright (C) 2018 Nicolas ZABOURI <info@inovea-conseil.com>
|
* Copyright (C) 2018 Nicolas ZABOURI <info@inovea-conseil.com>
|
||||||
* Copyright (C) 2018 Christophe Battarel <christophe@altairis.fr>
|
* Copyright (C) 2018 Christophe Battarel <christophe@altairis.fr>
|
||||||
* Copyright (C) 2018 Josep Lluis Amador <joseplluis@lliuretic.cat>
|
* Copyright (C) 2018 Josep Lluis Amador <joseplluis@lliuretic.cat>
|
||||||
@ -1800,10 +1800,9 @@ class Form
|
|||||||
}
|
}
|
||||||
$out .= ' data-html="';
|
$out .= ' data-html="';
|
||||||
$outhtml = '';
|
$outhtml = '';
|
||||||
if (!empty($obj->photo))
|
// if (!empty($obj->photo)) {
|
||||||
{
|
|
||||||
$outhtml .= $userstatic->getNomUrl(-3, '', 0, 1, 24, 1, 'login', '', 1).' ';
|
$outhtml .= $userstatic->getNomUrl(-3, '', 0, 1, 24, 1, 'login', '', 1).' ';
|
||||||
}
|
// }
|
||||||
if ($showstatus >= 0 && $obj->status == 0) $outhtml .= '<strike class="opacitymediumxxx">';
|
if ($showstatus >= 0 && $obj->status == 0) $outhtml .= '<strike class="opacitymediumxxx">';
|
||||||
$outhtml .= $labeltoshow;
|
$outhtml .= $labeltoshow;
|
||||||
if ($showstatus >= 0 && $obj->status == 0) $outhtml .= '</strike>';
|
if ($showstatus >= 0 && $obj->status == 0) $outhtml .= '</strike>';
|
||||||
@ -1927,7 +1926,7 @@ class Form
|
|||||||
* Return list of products for customer in Ajax if Ajax activated or go to select_produits_list
|
* Return list of products for customer in Ajax if Ajax activated or go to select_produits_list
|
||||||
*
|
*
|
||||||
* @param int $selected Preselected products
|
* @param int $selected Preselected products
|
||||||
* @param string $htmlname Name of HTML select field (must be unique in page)
|
* @param string $htmlname Name of HTML select field (must be unique in page).
|
||||||
* @param int $filtertype Filter on product type (''=nofilter, 0=product, 1=service)
|
* @param int $filtertype Filter on product type (''=nofilter, 0=product, 1=service)
|
||||||
* @param int $limit Limit on number of returned lines
|
* @param int $limit Limit on number of returned lines
|
||||||
* @param int $price_level Level of price to show
|
* @param int $price_level Level of price to show
|
||||||
@ -1949,7 +1948,7 @@ class Form
|
|||||||
* @param string $nooutput No print, return the output into a string
|
* @param string $nooutput No print, return the output into a string
|
||||||
* @return void|string
|
* @return void|string
|
||||||
*/
|
*/
|
||||||
public function select_produits($selected = '', $htmlname = 'productid', $filtertype = '', $limit = 0, $price_level = 0, $status = 1, $finished = 2, $selected_input_value = '', $hidelabel = 0, $ajaxoptions = array(), $socid = 0, $showempty = '1', $forcecombo = 0, $morecss = '', $hidepriceinlabel = 0, $warehouseStatus = '', $selected_combinations = array(), $nooutput = 0)
|
public function select_produits($selected = '', $htmlname = 'productid', $filtertype = '', $limit = 0, $price_level = 0, $status = 1, $finished = 2, $selected_input_value = '', $hidelabel = 0, $ajaxoptions = array(), $socid = 0, $showempty = '1', $forcecombo = 0, $morecss = '', $hidepriceinlabel = 0, $warehouseStatus = '', $selected_combinations = null, $nooutput = 0)
|
||||||
{
|
{
|
||||||
// phpcs:enable
|
// phpcs:enable
|
||||||
global $langs, $conf;
|
global $langs, $conf;
|
||||||
@ -1997,10 +1996,13 @@ class Form
|
|||||||
}
|
}
|
||||||
$out .= ajax_autocompleter($selected, $htmlname, DOL_URL_ROOT.'/product/ajax/products.php', $urloption, $conf->global->PRODUIT_USE_SEARCH_TO_SELECT, 1, $ajaxoptions);
|
$out .= ajax_autocompleter($selected, $htmlname, DOL_URL_ROOT.'/product/ajax/products.php', $urloption, $conf->global->PRODUIT_USE_SEARCH_TO_SELECT, 1, $ajaxoptions);
|
||||||
|
|
||||||
if (!empty($conf->variants->enabled)) {
|
if (!empty($conf->variants->enabled) && is_array($selected_combinations)) {
|
||||||
|
// Code to automatically insert with javascript the select of attributes under the select of product
|
||||||
|
// when a parent of variant has been selected.
|
||||||
$out .= '
|
$out .= '
|
||||||
|
<!-- script to auto show attributes select tags if a variant was selected -->
|
||||||
<script>
|
<script>
|
||||||
|
// auto show attributes fields
|
||||||
selected = '.json_encode($selected_combinations).';
|
selected = '.json_encode($selected_combinations).';
|
||||||
combvalues = {};
|
combvalues = {};
|
||||||
|
|
||||||
@ -2019,6 +2021,8 @@ class Form
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
console.log("A change has started. We get variants fields to inject html select");
|
||||||
|
|
||||||
jQuery.getJSON("'.DOL_URL_ROOT.'/variants/ajax/getCombinations.php", {
|
jQuery.getJSON("'.DOL_URL_ROOT.'/variants/ajax/getCombinations.php", {
|
||||||
id: jQuery(this).val()
|
id: jQuery(this).val()
|
||||||
}, function (data) {
|
}, function (data) {
|
||||||
@ -2035,8 +2039,7 @@ class Form
|
|||||||
span.append(
|
span.append(
|
||||||
jQuery(document.createElement(\'div\')).text(val.label).css({
|
jQuery(document.createElement(\'div\')).text(val.label).css({
|
||||||
\'font-weight\': \'bold\',
|
\'font-weight\': \'bold\',
|
||||||
\'display\': \'table-cell\',
|
\'display\': \'table-cell\'
|
||||||
\'text-align\': \'right\'
|
|
||||||
})
|
})
|
||||||
);
|
);
|
||||||
|
|
||||||
@ -4245,7 +4248,7 @@ class Form
|
|||||||
$output .= '<option value="-1"> </option>';
|
$output .= '<option value="-1"> </option>';
|
||||||
foreach ($cate_arbo as $key => $value)
|
foreach ($cate_arbo as $key => $value)
|
||||||
{
|
{
|
||||||
if ($cate_arbo[$key]['id'] == $selected || ($selected == 'auto' && count($cate_arbo) == 1))
|
if ($cate_arbo[$key]['id'] == $selected || ($selected === 'auto' && count($cate_arbo) == 1))
|
||||||
{
|
{
|
||||||
$add = 'selected ';
|
$add = 'selected ';
|
||||||
} else {
|
} else {
|
||||||
@ -5582,9 +5585,11 @@ class Form
|
|||||||
*/
|
*/
|
||||||
public function selectDateToDate($set_time = '', $set_time_end = '', $prefix = 're', $empty = 0)
|
public function selectDateToDate($set_time = '', $set_time_end = '', $prefix = 're', $empty = 0)
|
||||||
{
|
{
|
||||||
$ret = $this->selectDate($set_time, $prefix.'_start', 0, 0, $empty);
|
global $langs;
|
||||||
$ret .= '<br/>';
|
|
||||||
$ret .= $this->selectDate($set_time_end, $prefix.'_end', 0, 0, $empty);
|
$ret = $this->selectDate($set_time, $prefix.'_start', 0, 0, $empty, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans("from"), 'tzuserrel');
|
||||||
|
$ret .= '<br>';
|
||||||
|
$ret .= $this->selectDate($set_time_end, $prefix.'_end', 0, 0, $empty, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans("to"), 'tzuserrel');
|
||||||
return $ret;
|
return $ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -5611,7 +5616,7 @@ class Form
|
|||||||
* @param int $stepminutes Specify step for minutes between 1 and 30
|
* @param int $stepminutes Specify step for minutes between 1 and 30
|
||||||
* @param string $labeladddateof Label to use for the $adddateof parameter.
|
* @param string $labeladddateof Label to use for the $adddateof parameter.
|
||||||
* @param string $placeholder Placeholder
|
* @param string $placeholder Placeholder
|
||||||
* @param mixed $gm 'auto', 'gmt' or 'tzserver' or 'tzuserrel'
|
* @param mixed $gm 'auto' (for backward compatibility, avoid this), 'gmt' or 'tzserver' or 'tzuserrel'
|
||||||
* @return string Html for selectDate
|
* @return string Html for selectDate
|
||||||
* @see form_date(), select_month(), select_year(), select_dayofweek()
|
* @see form_date(), select_month(), select_year(), select_dayofweek()
|
||||||
*/
|
*/
|
||||||
@ -5619,8 +5624,8 @@ class Form
|
|||||||
{
|
{
|
||||||
global $conf, $langs;
|
global $conf, $langs;
|
||||||
|
|
||||||
if ($gm == 'auto') {
|
if ($gm === 'auto') {
|
||||||
$gm = $conf->tzuserinputkey;
|
$gm = (empty($conf) ? 'tzserver' : $conf->tzuserinputkey);
|
||||||
}
|
}
|
||||||
|
|
||||||
$retstring = '';
|
$retstring = '';
|
||||||
@ -5699,7 +5704,7 @@ class Form
|
|||||||
if (strval($set_time) != '' && $set_time != -1)
|
if (strval($set_time) != '' && $set_time != -1)
|
||||||
{
|
{
|
||||||
//$formated_date=dol_print_date($set_time,$conf->format_date_short);
|
//$formated_date=dol_print_date($set_time,$conf->format_date_short);
|
||||||
$formated_date = dol_print_date($set_time, $langs->trans("FormatDateShortInput")); // FormatDateShortInput for dol_print_date / FormatDateShortJavaInput that is same for javascript
|
$formated_date = dol_print_date($set_time, $langs->trans("FormatDateShortInput"), $gm); // FormatDateShortInput for dol_print_date / FormatDateShortJavaInput that is same for javascript
|
||||||
}
|
}
|
||||||
|
|
||||||
// Calendrier popup version eldy
|
// Calendrier popup version eldy
|
||||||
@ -6427,7 +6432,7 @@ class Form
|
|||||||
* @param string $htmlname Name of html select area. Must start with "multi" if this is a multiselect
|
* @param string $htmlname Name of html select area. Must start with "multi" if this is a multiselect
|
||||||
* @param array $array Array like array(key => value) or array(key=>array('label'=>..., 'data-...'=>..., 'disabled'=>..., 'css'=>...))
|
* @param array $array Array like array(key => value) or array(key=>array('label'=>..., 'data-...'=>..., 'disabled'=>..., 'css'=>...))
|
||||||
* @param string|string[] $id Preselected key or preselected keys for multiselect
|
* @param string|string[] $id Preselected key or preselected keys for multiselect
|
||||||
* @param int|string $show_empty 0 no empty value allowed, 1 or string to add an empty value into list (key is -1 and value is '' or ' ' if 1, key is -1 and value is the text if it is a placeholder string), <0 to add an empty value with key that is this value.
|
* @param int|string $show_empty 0 no empty value allowed, 1 or string to add an empty value into list (If 1: key is -1 and value is '' or ' ', If placeholder string: key is -1 and value is the string), <0 to add an empty value with key that is this value.
|
||||||
* @param int $key_in_label 1 to show key into label with format "[key] value"
|
* @param int $key_in_label 1 to show key into label with format "[key] value"
|
||||||
* @param int $value_as_key 1 to use value as key
|
* @param int $value_as_key 1 to use value as key
|
||||||
* @param string $moreparam Add more parameters onto the select tag. For example 'style="width: 95%"' to avoid select2 component to go over parent container
|
* @param string $moreparam Add more parameters onto the select tag. For example 'style="width: 95%"' to avoid select2 component to go over parent container
|
||||||
@ -6443,7 +6448,7 @@ class Form
|
|||||||
* @return string HTML select string.
|
* @return string HTML select string.
|
||||||
* @see multiselectarray(), selectArrayAjax(), selectArrayFilter()
|
* @see multiselectarray(), selectArrayAjax(), selectArrayFilter()
|
||||||
*/
|
*/
|
||||||
public static function selectarray($htmlname, $array, $id = '', $show_empty = 0, $key_in_label = 0, $value_as_key = 0, $moreparam = '', $translate = 0, $maxlen = 0, $disabled = 0, $sort = '', $morecss = '', $addjscombo = 0, $moreparamonempty = '', $disablebademail = 0, $nohtmlescape = 0)
|
public static function selectarray($htmlname, $array, $id = '', $show_empty = 0, $key_in_label = 0, $value_as_key = 0, $moreparam = '', $translate = 0, $maxlen = 0, $disabled = 0, $sort = '', $morecss = '', $addjscombo = 1, $moreparamonempty = '', $disablebademail = 0, $nohtmlescape = 0)
|
||||||
{
|
{
|
||||||
global $conf, $langs;
|
global $conf, $langs;
|
||||||
|
|
||||||
@ -6457,11 +6462,7 @@ class Form
|
|||||||
$out = '';
|
$out = '';
|
||||||
|
|
||||||
// Add code for jquery to use multiselect
|
// Add code for jquery to use multiselect
|
||||||
if ($addjscombo && $jsbeautify)
|
if ($addjscombo && $jsbeautify) {
|
||||||
{
|
|
||||||
$minLengthToAutocomplete = 0;
|
|
||||||
$tmpplugin = empty($conf->global->MAIN_USE_JQUERY_MULTISELECT) ? (constant('REQUIRE_JQUERY_MULTISELECT') ?constant('REQUIRE_JQUERY_MULTISELECT') : 'select2') : $conf->global->MAIN_USE_JQUERY_MULTISELECT;
|
|
||||||
|
|
||||||
// Enhance with select2
|
// Enhance with select2
|
||||||
include_once DOL_DOCUMENT_ROOT.'/core/lib/ajax.lib.php';
|
include_once DOL_DOCUMENT_ROOT.'/core/lib/ajax.lib.php';
|
||||||
$out .= ajax_combobox($htmlname);
|
$out .= ajax_combobox($htmlname);
|
||||||
@ -6471,16 +6472,14 @@ class Form
|
|||||||
$out .= ' name="'.preg_replace('/^\./', '', $htmlname).'" '.($moreparam ? $moreparam : '');
|
$out .= ' name="'.preg_replace('/^\./', '', $htmlname).'" '.($moreparam ? $moreparam : '');
|
||||||
$out .= '>';
|
$out .= '>';
|
||||||
|
|
||||||
if ($show_empty)
|
if ($show_empty) {
|
||||||
{
|
|
||||||
$textforempty = ' ';
|
$textforempty = ' ';
|
||||||
if (!empty($conf->use_javascript_ajax)) $textforempty = ' '; // If we use ajaxcombo, we need here to avoid to have an empty element that is too small.
|
if (!empty($conf->use_javascript_ajax)) $textforempty = ' '; // If we use ajaxcombo, we need here to avoid to have an empty element that is too small.
|
||||||
if (!is_numeric($show_empty)) $textforempty = $show_empty;
|
if (!is_numeric($show_empty)) $textforempty = $show_empty;
|
||||||
$out .= '<option class="optiongrey" '.($moreparamonempty ? $moreparamonempty.' ' : '').'value="'.($show_empty < 0 ? $show_empty : -1).'"'.($id == $show_empty ? ' selected' : '').'>'.$textforempty.'</option>'."\n";
|
$out .= '<option class="optiongrey" '.($moreparamonempty ? $moreparamonempty.' ' : '').'value="'.($show_empty < 0 ? $show_empty : -1).'"'.($id == $show_empty ? ' selected' : '').'>'.$textforempty.'</option>'."\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
if (is_array($array))
|
if (is_array($array)) {
|
||||||
{
|
|
||||||
// Translate
|
// Translate
|
||||||
if ($translate)
|
if ($translate)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -130,7 +130,7 @@ class FormActions
|
|||||||
//var_dump($selected);
|
//var_dump($selected);
|
||||||
if ($selected == 'done') $selected = '100';
|
if ($selected == 'done') $selected = '100';
|
||||||
print '<select '.($canedit ? '' : 'disabled ').'name="'.$htmlname.'" id="select'.$htmlname.'" class="flat'.($morecss ? ' '.$morecss : '').'">';
|
print '<select '.($canedit ? '' : 'disabled ').'name="'.$htmlname.'" id="select'.$htmlname.'" class="flat'.($morecss ? ' '.$morecss : '').'">';
|
||||||
if ($showempty) print '<option value=""'.($selected == '' ? ' selected' : '').'></option>';
|
if ($showempty) print '<option value=""'.($selected == '' ? ' selected' : '').'> </option>';
|
||||||
foreach ($listofstatus as $key => $val)
|
foreach ($listofstatus as $key => $val)
|
||||||
{
|
{
|
||||||
print '<option value="'.$key.'"'.(($selected == $key && strlen($selected) == strlen($key)) || (($selected > 0 && $selected < 100) && $key == '50') ? ' selected' : '').'>'.$val.'</option>';
|
print '<option value="'.$key.'"'.(($selected == $key && strlen($selected) == strlen($key)) || (($selected > 0 && $selected < 100) && $key == '50') ? ' selected' : '').'>'.$val.'</option>';
|
||||||
@ -142,6 +142,8 @@ class FormActions
|
|||||||
print '</select>';
|
print '</select>';
|
||||||
if ($selected == 0 || $selected == 100) $canedit = 0;
|
if ($selected == 0 || $selected == 100) $canedit = 0;
|
||||||
|
|
||||||
|
print ajax_combobox('select'.$htmlname);
|
||||||
|
|
||||||
if (empty($onlyselect))
|
if (empty($onlyselect))
|
||||||
{
|
{
|
||||||
print ' <input type="text" id="val'.$htmlname.'" name="percentage" class="flat hideifna" value="'.($selected >= 0 ? $selected : '').'" size="2"'.($canedit && ($selected >= 0) ? '' : ' disabled').'>';
|
print ' <input type="text" id="val'.$htmlname.'" name="percentage" class="flat hideifna" value="'.($selected >= 0 ? $selected : '').'" size="2"'.($canedit && ($selected >= 0) ? '' : ' disabled').'>';
|
||||||
@ -202,11 +204,10 @@ class FormActions
|
|||||||
$newcardbutton = '';
|
$newcardbutton = '';
|
||||||
if (!empty($conf->agenda->enabled) && !empty($user->rights->agenda->myactions->create))
|
if (!empty($conf->agenda->enabled) && !empty($user->rights->agenda->myactions->create))
|
||||||
{
|
{
|
||||||
$url = DOL_URL_ROOT.'/comm/action/card.php?action=create&datep='.urlencode(dol_print_date(dol_now(), 'dayhourlog')).'&origin='.urlencode($typeelement).'&originid='.$object->id.((!empty($object->socid) && $object->socid > 0) ? '&socid='.$object->socid : ((!empty($socid) && $socid > 0) ? '&socid='.$socid : '')).($projectid > 0 ? '&projectid='.$projectid : '').'&backtopage='.urlencode($urlbacktopage);
|
$url = DOL_URL_ROOT.'/comm/action/card.php?action=create&datep='.urlencode(dol_print_date(dol_now(), 'dayhourlog', 'tzuser')).'&origin='.urlencode($typeelement).'&originid='.$object->id.((!empty($object->socid) && $object->socid > 0) ? '&socid='.$object->socid : ((!empty($socid) && $socid > 0) ? '&socid='.$socid : '')).($projectid > 0 ? '&projectid='.$projectid : '').'&backtopage='.urlencode($urlbacktopage);
|
||||||
$newcardbutton .= dolGetButtonTitle($langs->trans("AddEvent"), '', 'fa fa-plus-circle', $url);
|
$newcardbutton .= dolGetButtonTitle($langs->trans("AddEvent"), '', 'fa fa-plus-circle', $url);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
print '<!-- formactions->showactions -->'."\n";
|
print '<!-- formactions->showactions -->'."\n";
|
||||||
print load_fiche_titre($title, $newcardbutton, '', 0, 0, '', $morehtmlcenter);
|
print load_fiche_titre($title, $newcardbutton, '', 0, 0, '', $morehtmlcenter);
|
||||||
|
|
||||||
|
|||||||
@ -52,7 +52,8 @@ class FormCategory extends Form
|
|||||||
|
|
||||||
$filter = '';
|
$filter = '';
|
||||||
$filter .= '<div class="divsearchfield">';
|
$filter .= '<div class="divsearchfield">';
|
||||||
$filter .= $langs->trans('Categories').": ";
|
$filter .= img_picto($langs->trans("Categories"), 'category', 'class="pictofixedwidth"');
|
||||||
|
//$filter .= $langs->trans('Categories').": ";
|
||||||
$filter .= Form::multiselectarray($htmlName, $categoryArray, $preSelected, 0, 0, "minwidth300");
|
$filter .= Form::multiselectarray($htmlName, $categoryArray, $preSelected, 0, 0, "minwidth300");
|
||||||
$filter .= "</div>";
|
$filter .= "</div>";
|
||||||
|
|
||||||
|
|||||||
@ -488,13 +488,18 @@ class FormMail extends Form
|
|||||||
|
|
||||||
// Zone to select email template
|
// Zone to select email template
|
||||||
if (count($modelmail_array) > 0) {
|
if (count($modelmail_array) > 0) {
|
||||||
|
$model_mail_selected_id = GETPOSTISSET('modelmailselected') ? GETPOST('modelmailselected', 'int') : $arraydefaultmessage->id;
|
||||||
|
|
||||||
// If list of template is filled
|
// If list of template is filled
|
||||||
$out .= '<div class="center" style="padding: 0px 0 12px 0">'."\n";
|
$out .= '<div class="center" style="padding: 0px 0 12px 0">'."\n";
|
||||||
|
|
||||||
$out .= '<span class="opacitymedium">'.$langs->trans('SelectMailModel').':</span> ';
|
$out .= '<span class="opacitymedium">'.$langs->trans('SelectMailModel').':</span> ';
|
||||||
$out .= $this->selectarray('modelmailselected', $modelmail_array, 0, 1, 0, 0, '', 0, 0, 0, '', 'minwidth100', 1, '', 0, 1);
|
|
||||||
|
$out .= $this->selectarray('modelmailselected', $modelmail_array, $model_mail_selected_id, 1, 0, 0, '', 0, 0, 0, '', 'minwidth100', 1, '', 0, 1);
|
||||||
if ($user->admin) {
|
if ($user->admin) {
|
||||||
$out .= info_admin($langs->trans("YouCanChangeValuesForThisListFrom", $langs->transnoentitiesnoconv('Setup').' - '.$langs->transnoentitiesnoconv('EMails')), 1);
|
$out .= info_admin($langs->trans("YouCanChangeValuesForThisListFrom", $langs->transnoentitiesnoconv('Setup').' - '.$langs->transnoentitiesnoconv('EMails')), 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
$out .= ' ';
|
$out .= ' ';
|
||||||
$out .= '<input class="button" type="submit" value="'.$langs->trans('Apply').'" name="modelselected" id="modelselected">';
|
$out .= '<input class="button" type="submit" value="'.$langs->trans('Apply').'" name="modelselected" id="modelselected">';
|
||||||
$out .= ' ';
|
$out .= ' ';
|
||||||
|
|||||||
@ -336,7 +336,7 @@ class FormOther
|
|||||||
* @param integer $selected Preselected value
|
* @param integer $selected Preselected value
|
||||||
* @param string $htmlname Name of combo list
|
* @param string $htmlname Name of combo list
|
||||||
* @param int $nocateg Show also an entry "Not categorized"
|
* @param int $nocateg Show also an entry "Not categorized"
|
||||||
* @param int $showempty Add also an empty line
|
* @param int|string $showempty Add also an empty line
|
||||||
* @param string $morecss More CSS
|
* @param string $morecss More CSS
|
||||||
* @return string Html combo list code
|
* @return string Html combo list code
|
||||||
* @see select_all_categories()
|
* @see select_all_categories()
|
||||||
@ -368,7 +368,13 @@ class FormOther
|
|||||||
|
|
||||||
// Print a select with each of them
|
// Print a select with each of them
|
||||||
$moreforfilter .= '<select class="flat minwidth100'.($morecss ? ' '.$morecss : '').'" id="select_categ_'.$htmlname.'" name="'.$htmlname.'">';
|
$moreforfilter .= '<select class="flat minwidth100'.($morecss ? ' '.$morecss : '').'" id="select_categ_'.$htmlname.'" name="'.$htmlname.'">';
|
||||||
if ($showempty) $moreforfilter .= '<option value="0"> </option>'; // Should use -1 to say nothing
|
if ($showempty) {
|
||||||
|
$textforempty = ' ';
|
||||||
|
if (!empty($conf->use_javascript_ajax)) $textforempty = ' '; // If we use ajaxcombo, we need here to avoid to have an empty element that is too small.
|
||||||
|
if (!is_numeric($showempty)) $textforempty = $showempty;
|
||||||
|
$moreforfilter .= '<option class="optiongrey" '.($moreparamonempty ? $moreparamonempty.' ' : '').'value="'.($showempty < 0 ? $showempty : -1).'"'.($selected == $showempty ? ' selected' : '').'>'.$textforempty.'</option>'."\n";
|
||||||
|
//$moreforfilter .= '<option value="0" '.($moreparamonempty ? $moreparamonempty.' ' : '').' class="optiongrey">'.(is_numeric($showempty) ? ' ' : $showempty).'</option>'; // Should use -1 to say nothing
|
||||||
|
}
|
||||||
|
|
||||||
if (is_array($tab_categs))
|
if (is_array($tab_categs))
|
||||||
{
|
{
|
||||||
@ -398,7 +404,7 @@ class FormOther
|
|||||||
* @param string $htmlname Name of combo list (example: 'search_sale')
|
* @param string $htmlname Name of combo list (example: 'search_sale')
|
||||||
* @param User $user Object user
|
* @param User $user Object user
|
||||||
* @param int $showstatus 0=show user status only if status is disabled, 1=always show user status into label, -1=never show user status
|
* @param int $showstatus 0=show user status only if status is disabled, 1=always show user status into label, -1=never show user status
|
||||||
* @param int $showempty 1=show also an empty value
|
* @param int|string $showempty 1=show also an empty value
|
||||||
* @param string $morecss More CSS
|
* @param string $morecss More CSS
|
||||||
* @param int $norepresentative Show also an entry "Not categorized"
|
* @param int $norepresentative Show also an entry "Not categorized"
|
||||||
* @return string Html combo list code
|
* @return string Html combo list code
|
||||||
@ -427,7 +433,12 @@ class FormOther
|
|||||||
|
|
||||||
// Select each sales and print them in a select input
|
// Select each sales and print them in a select input
|
||||||
$out .= '<select class="flat'.($morecss ? ' '.$morecss : '').'" id="'.$htmlname.'" name="'.$htmlname.'">';
|
$out .= '<select class="flat'.($morecss ? ' '.$morecss : '').'" id="'.$htmlname.'" name="'.$htmlname.'">';
|
||||||
if ($showempty) $out .= '<option value="0"> </option>';
|
if ($showempty) {
|
||||||
|
$textforempty = ' ';
|
||||||
|
if (!empty($conf->use_javascript_ajax)) $textforempty = ' '; // If we use ajaxcombo, we need here to avoid to have an empty element that is too small.
|
||||||
|
if (!is_numeric($showempty)) $textforempty = $showempty;
|
||||||
|
$out .= '<option class="optiongrey" value="'.($showempty < 0 ? $showempty : -1).'"'.($selected == $showempty ? ' selected' : '').'>'.$textforempty.'</option>'."\n";
|
||||||
|
}
|
||||||
|
|
||||||
// Get list of users allowed to be viewed
|
// Get list of users allowed to be viewed
|
||||||
$sql_usr = "SELECT u.rowid, u.lastname, u.firstname, u.statut as status, u.login, u.photo, u.gender, u.entity, u.admin";
|
$sql_usr = "SELECT u.rowid, u.lastname, u.firstname, u.statut as status, u.login, u.photo, u.gender, u.entity, u.admin";
|
||||||
@ -499,11 +510,7 @@ class FormOther
|
|||||||
$out .= '<option value="'.$obj_usr->rowid.'"';
|
$out .= '<option value="'.$obj_usr->rowid.'"';
|
||||||
if ($obj_usr->rowid == $selected) $out .= ' selected';
|
if ($obj_usr->rowid == $selected) $out .= ' selected';
|
||||||
$out .= ' data-html="';
|
$out .= ' data-html="';
|
||||||
$outhtml = '';
|
$outhtml = $userstatic->getNomUrl(-3, '', 0, 1, 24, 1, 'login', '', 1).' ';
|
||||||
if (!empty($obj_usr->photo))
|
|
||||||
{
|
|
||||||
$outhtml .= $userstatic->getNomUrl(-3, '', 0, 1, 24, 1, 'login', '', 1).' ';
|
|
||||||
}
|
|
||||||
if ($showstatus >= 0 && $obj_usr->status == 0) $outhtml .= '<strike class="opacitymediumxxx">';
|
if ($showstatus >= 0 && $obj_usr->status == 0) $outhtml .= '<strike class="opacitymediumxxx">';
|
||||||
$outhtml .= $labeltoshow;
|
$outhtml .= $labeltoshow;
|
||||||
if ($showstatus >= 0 && $obj_usr->status == 0) $outhtml .= '</strike>';
|
if ($showstatus >= 0 && $obj_usr->status == 0) $outhtml .= '</strike>';
|
||||||
|
|||||||
@ -111,6 +111,11 @@ class Menubase
|
|||||||
*/
|
*/
|
||||||
public $title;
|
public $title;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var string Prefix
|
||||||
|
*/
|
||||||
|
public $prefix;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var string Lang file to load for translation
|
* @var string Lang file to load for translation
|
||||||
*/
|
*/
|
||||||
@ -248,6 +253,7 @@ class Menubase
|
|||||||
$sql .= "url,";
|
$sql .= "url,";
|
||||||
$sql .= "target,";
|
$sql .= "target,";
|
||||||
$sql .= "titre,";
|
$sql .= "titre,";
|
||||||
|
$sql .= "prefix,";
|
||||||
$sql .= "langs,";
|
$sql .= "langs,";
|
||||||
$sql .= "perms,";
|
$sql .= "perms,";
|
||||||
$sql .= "enabled,";
|
$sql .= "enabled,";
|
||||||
@ -266,6 +272,7 @@ class Menubase
|
|||||||
$sql .= " '".$this->db->escape($this->url)."',";
|
$sql .= " '".$this->db->escape($this->url)."',";
|
||||||
$sql .= " '".$this->db->escape($this->target)."',";
|
$sql .= " '".$this->db->escape($this->target)."',";
|
||||||
$sql .= " '".$this->db->escape($this->title)."',";
|
$sql .= " '".$this->db->escape($this->title)."',";
|
||||||
|
$sql .= " '".$this->db->escape($this->prefix)."',";
|
||||||
$sql .= " '".$this->db->escape($this->langs)."',";
|
$sql .= " '".$this->db->escape($this->langs)."',";
|
||||||
$sql .= " '".$this->db->escape($this->perms)."',";
|
$sql .= " '".$this->db->escape($this->perms)."',";
|
||||||
$sql .= " '".$this->db->escape($this->enabled)."',";
|
$sql .= " '".$this->db->escape($this->enabled)."',";
|
||||||
@ -319,6 +326,7 @@ class Menubase
|
|||||||
$this->url = trim($this->url);
|
$this->url = trim($this->url);
|
||||||
$this->target = trim($this->target);
|
$this->target = trim($this->target);
|
||||||
$this->title = trim($this->title);
|
$this->title = trim($this->title);
|
||||||
|
$this->prefix = trim($this->prefix);
|
||||||
$this->langs = trim($this->langs);
|
$this->langs = trim($this->langs);
|
||||||
$this->perms = trim($this->perms);
|
$this->perms = trim($this->perms);
|
||||||
$this->enabled = trim($this->enabled);
|
$this->enabled = trim($this->enabled);
|
||||||
@ -341,6 +349,7 @@ class Menubase
|
|||||||
$sql .= " url='".$this->db->escape($this->url)."',";
|
$sql .= " url='".$this->db->escape($this->url)."',";
|
||||||
$sql .= " target='".$this->db->escape($this->target)."',";
|
$sql .= " target='".$this->db->escape($this->target)."',";
|
||||||
$sql .= " titre='".$this->db->escape($this->title)."',";
|
$sql .= " titre='".$this->db->escape($this->title)."',";
|
||||||
|
$sql .= " prefix='".$this->db->escape($this->prefix)."',";
|
||||||
$sql .= " langs='".$this->db->escape($this->langs)."',";
|
$sql .= " langs='".$this->db->escape($this->langs)."',";
|
||||||
$sql .= " perms='".$this->db->escape($this->perms)."',";
|
$sql .= " perms='".$this->db->escape($this->perms)."',";
|
||||||
$sql .= " enabled='".$this->db->escape($this->enabled)."',";
|
$sql .= " enabled='".$this->db->escape($this->enabled)."',";
|
||||||
@ -385,6 +394,7 @@ class Menubase
|
|||||||
$sql .= " t.url,";
|
$sql .= " t.url,";
|
||||||
$sql .= " t.target,";
|
$sql .= " t.target,";
|
||||||
$sql .= " t.titre as title,";
|
$sql .= " t.titre as title,";
|
||||||
|
$sql .= " t.prefix,";
|
||||||
$sql .= " t.langs,";
|
$sql .= " t.langs,";
|
||||||
$sql .= " t.perms,";
|
$sql .= " t.perms,";
|
||||||
$sql .= " t.enabled,";
|
$sql .= " t.enabled,";
|
||||||
@ -416,6 +426,7 @@ class Menubase
|
|||||||
$this->url = $obj->url;
|
$this->url = $obj->url;
|
||||||
$this->target = $obj->target;
|
$this->target = $obj->target;
|
||||||
$this->title = $obj->title;
|
$this->title = $obj->title;
|
||||||
|
$this->prefix = $obj->prefix;
|
||||||
$this->langs = $obj->langs;
|
$this->langs = $obj->langs;
|
||||||
$this->perms = $obj->perms;
|
$this->perms = $obj->perms;
|
||||||
$this->enabled = str_replace("\"", "'", $obj->enabled);
|
$this->enabled = str_replace("\"", "'", $obj->enabled);
|
||||||
@ -505,8 +516,7 @@ class Menubase
|
|||||||
$leftmenu = $myleftmenu; // To export to dol_eval function
|
$leftmenu = $myleftmenu; // To export to dol_eval function
|
||||||
|
|
||||||
$newTabMenu = array();
|
$newTabMenu = array();
|
||||||
foreach ($tabMenu as $val)
|
foreach ($tabMenu as $val) {
|
||||||
{
|
|
||||||
if ($val['type'] == 'top') $newTabMenu[] = $val;
|
if ($val['type'] == 'top') $newTabMenu[] = $val;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -554,15 +564,13 @@ class Menubase
|
|||||||
// Now complete $this->newmenu->list when fk_menu value is -1 (left menu added by modules with no top menu)
|
// Now complete $this->newmenu->list when fk_menu value is -1 (left menu added by modules with no top menu)
|
||||||
foreach ($tabMenu as $key => $val)
|
foreach ($tabMenu as $key => $val)
|
||||||
{
|
{
|
||||||
//var_dump($tabMenu);
|
|
||||||
if ($val['fk_menu'] == -1 && $val['fk_mainmenu'] == $mainmenu) // We found a menu entry not linked to parent with good mainmenu
|
if ($val['fk_menu'] == -1 && $val['fk_mainmenu'] == $mainmenu) // We found a menu entry not linked to parent with good mainmenu
|
||||||
{
|
{
|
||||||
//print 'Try to add menu (current is mainmenu='.$mainmenu.' leftmenu='.$leftmenu.') for '.join(',',$val).' fk_mainmenu='.$val['fk_mainmenu'].' fk_leftmenu='.$val['fk_leftmenu'].'<br>';
|
//print 'Try to add menu (current is mainmenu='.$mainmenu.' leftmenu='.$leftmenu.') for '.join(',',$val).' fk_mainmenu='.$val['fk_mainmenu'].' fk_leftmenu='.$val['fk_leftmenu'].'<br>';
|
||||||
//var_dump($this->newmenu->liste);exit;
|
//var_dump($this->newmenu->liste);exit;
|
||||||
|
|
||||||
if (empty($val['fk_leftmenu']))
|
if (empty($val['fk_leftmenu'])) {
|
||||||
{
|
$this->newmenu->add($val['url'], $val['titre'], 0, $val['perms'], $val['target'], $val['mainmenu'], $val['leftmenu'], $val['position'], '', '', '', $val['prefix']);
|
||||||
$this->newmenu->add($val['url'], $val['titre'], 0, $val['perms'], $val['target'], $val['mainmenu'], $val['leftmenu'], $val['position']);
|
|
||||||
//var_dump($this->newmenu->liste);
|
//var_dump($this->newmenu->liste);
|
||||||
} else {
|
} else {
|
||||||
// Search first menu with this couple (mainmenu,leftmenu)=(fk_mainmenu,fk_leftmenu)
|
// Search first menu with this couple (mainmenu,leftmenu)=(fk_mainmenu,fk_leftmenu)
|
||||||
@ -579,8 +587,7 @@ class Menubase
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ($valparent['mainmenu'] == $val['fk_mainmenu'] && $valparent['leftmenu'] == $val['fk_leftmenu'])
|
if ($valparent['mainmenu'] == $val['fk_mainmenu'] && $valparent['leftmenu'] == $val['fk_leftmenu']) {
|
||||||
{
|
|
||||||
//print "We found parent: keyparent='.$keyparent.' - level=".$valparent['level'].' - '.join(',',$valparent).'<br>';
|
//print "We found parent: keyparent='.$keyparent.' - level=".$valparent['level'].' - '.join(',',$valparent).'<br>';
|
||||||
// Now we look to find last subelement of this parent (we add at end)
|
// Now we look to find last subelement of this parent (we add at end)
|
||||||
$searchlastsub = ($valparent['level'] + 1);
|
$searchlastsub = ($valparent['level'] + 1);
|
||||||
@ -589,8 +596,9 @@ class Menubase
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
//print 'We must insert menu entry between entry '.$lastid.' and '.$nextid.'<br>';
|
//print 'We must insert menu entry between entry '.$lastid.' and '.$nextid.'<br>';
|
||||||
if ($found) $this->newmenu->insert($lastid, $val['url'], $val['titre'], $searchlastsub, $val['perms'], $val['target'], $val['mainmenu'], $val['leftmenu'], $val['position']);
|
if ($found) {
|
||||||
else {
|
$this->newmenu->insert($lastid, $val['url'], $val['titre'], $searchlastsub, $val['perms'], $val['target'], $val['mainmenu'], $val['leftmenu'], $val['position'], '', '', '', $val['prefix']);
|
||||||
|
} else {
|
||||||
dol_syslog("Error. Modules ".$val['module']." has defined a menu entry with a parent='fk_mainmenu=".$val['fk_leftmenu'].",fk_leftmenu=".$val['fk_leftmenu']."' and position=".$val['position'].'. The parent was not found. May be you forget it into your definition of menu, or may be the parent has a "position" that is after the child (fix field "position" of parent or child in this case).', LOG_WARNING);
|
dol_syslog("Error. Modules ".$val['module']." has defined a menu entry with a parent='fk_mainmenu=".$val['fk_leftmenu'].",fk_leftmenu=".$val['fk_leftmenu']."' and position=".$val['position'].'. The parent was not found. May be you forget it into your definition of menu, or may be the parent has a "position" that is after the child (fix field "position" of parent or child in this case).', LOG_WARNING);
|
||||||
//print "Parent menu not found !!<br>";
|
//print "Parent menu not found !!<br>";
|
||||||
}
|
}
|
||||||
@ -620,7 +628,7 @@ class Menubase
|
|||||||
$mainmenu = $mymainmenu; // To export to dol_eval function
|
$mainmenu = $mymainmenu; // To export to dol_eval function
|
||||||
$leftmenu = $myleftmenu; // To export to dol_eval function
|
$leftmenu = $myleftmenu; // To export to dol_eval function
|
||||||
|
|
||||||
$sql = "SELECT m.rowid, m.type, m.module, m.fk_menu, m.fk_mainmenu, m.fk_leftmenu, m.url, m.titre, m.langs, m.perms, m.enabled, m.target, m.mainmenu, m.leftmenu, m.position";
|
$sql = "SELECT m.rowid, m.type, m.module, m.fk_menu, m.fk_mainmenu, m.fk_leftmenu, m.url, m.titre, m.prefix, m.langs, m.perms, m.enabled, m.target, m.mainmenu, m.leftmenu, m.position";
|
||||||
$sql .= " FROM ".MAIN_DB_PREFIX."menu as m";
|
$sql .= " FROM ".MAIN_DB_PREFIX."menu as m";
|
||||||
$sql .= " WHERE m.entity IN (0,".$conf->entity.")";
|
$sql .= " WHERE m.entity IN (0,".$conf->entity.")";
|
||||||
$sql .= " AND m.menu_handler IN ('".$this->db->escape($menu_handler)."','all')";
|
$sql .= " AND m.menu_handler IN ('".$this->db->escape($menu_handler)."','all')";
|
||||||
@ -700,12 +708,15 @@ class Menubase
|
|||||||
$tabMenu[$b]['module'] = $menu['module'];
|
$tabMenu[$b]['module'] = $menu['module'];
|
||||||
$tabMenu[$b]['fk_menu'] = $menu['fk_menu'];
|
$tabMenu[$b]['fk_menu'] = $menu['fk_menu'];
|
||||||
$tabMenu[$b]['url'] = $menu['url'];
|
$tabMenu[$b]['url'] = $menu['url'];
|
||||||
if (!preg_match("/^(http:\/\/|https:\/\/)/i", $tabMenu[$b]['url']))
|
if (!preg_match("/^(http:\/\/|https:\/\/)/i", $tabMenu[$b]['url'])) {
|
||||||
{
|
if (preg_match('/\?/', $tabMenu[$b]['url'])) {
|
||||||
if (preg_match('/\?/', $tabMenu[$b]['url'])) $tabMenu[$b]['url'] .= '&idmenu='.$menu['rowid'];
|
$tabMenu[$b]['url'] .= '&idmenu='.$menu['rowid'];
|
||||||
else $tabMenu[$b]['url'] .= '?idmenu='.$menu['rowid'];
|
} else {
|
||||||
|
$tabMenu[$b]['url'] .= '?idmenu='.$menu['rowid'];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
$tabMenu[$b]['titre'] = $title;
|
$tabMenu[$b]['titre'] = $title;
|
||||||
|
$tabMenu[$b]['prefix'] = $menu['prefix'];
|
||||||
$tabMenu[$b]['target'] = $menu['target'];
|
$tabMenu[$b]['target'] = $menu['target'];
|
||||||
$tabMenu[$b]['mainmenu'] = $menu['mainmenu'];
|
$tabMenu[$b]['mainmenu'] = $menu['mainmenu'];
|
||||||
$tabMenu[$b]['leftmenu'] = $menu['leftmenu'];
|
$tabMenu[$b]['leftmenu'] = $menu['leftmenu'];
|
||||||
@ -750,9 +761,8 @@ class Menubase
|
|||||||
for ($x = 0; $x < $num; $x++)
|
for ($x = 0; $x < $num; $x++)
|
||||||
{
|
{
|
||||||
//si un element a pour pere : $pere
|
//si un element a pour pere : $pere
|
||||||
if ((($tab[$x]['fk_menu'] >= 0 && $tab[$x]['fk_menu'] == $pere)) && $tab[$x]['enabled'])
|
if ((($tab[$x]['fk_menu'] >= 0 && $tab[$x]['fk_menu'] == $pere)) && $tab[$x]['enabled']) {
|
||||||
{
|
$this->newmenu->add($tab[$x]['url'], $tab[$x]['titre'], ($level - 1), $tab[$x]['perms'], $tab[$x]['target'], $tab[$x]['mainmenu'], $tab[$x]['leftmenu'], 0, '', '', '', $tab[$x]['prefix']);
|
||||||
$this->newmenu->add($tab[$x]['url'], $tab[$x]['titre'], ($level - 1), $tab[$x]['perms'], $tab[$x]['target'], $tab[$x]['mainmenu'], $tab[$x]['leftmenu']);
|
|
||||||
$this->recur($tab, $tab[$x]['rowid'], ($level + 1));
|
$this->recur($tab, $tab[$x]['rowid'], ($level + 1));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -76,15 +76,15 @@ if (empty($conf->dol_no_mouse_hover)) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
print '
|
print '
|
||||||
jQuery(".classfortooltiponclicktext").dialog(
|
jQuery(".classfortooltiponclicktext").dialog({
|
||||||
{ closeOnEscape: true, classes: { "ui-dialog": "highlight" },
|
closeOnEscape: true, classes: { "ui-dialog": "highlight" },
|
||||||
maxHeight: window.innerHeight-60, width: '.($conf->browser->layout == 'phone' ? max($_SESSION['dol_screenwidth'] - 20, 320) : 700).',
|
maxHeight: window.innerHeight-60, width: '.($conf->browser->layout == 'phone' ? max($_SESSION['dol_screenwidth'] - 20, 320) : 700).',
|
||||||
modal: true,
|
modal: true,
|
||||||
autoOpen: false }).css("z-index: 5000");
|
autoOpen: false
|
||||||
|
}).css("z-index: 5000");
|
||||||
jQuery(".classfortooltiponclick").click(function () {
|
jQuery(".classfortooltiponclick").click(function () {
|
||||||
console.log("We click on tooltip for element with dolid="+$(this).attr(\'dolid\'));
|
console.log("We click on tooltip for element with dolid="+$(this).attr(\'dolid\'));
|
||||||
if ($(this).attr(\'dolid\'))
|
if ($(this).attr(\'dolid\')) {
|
||||||
{
|
|
||||||
obj=$("#idfortooltiponclick_"+$(this).attr(\'dolid\')); /* obj is a div component */
|
obj=$("#idfortooltiponclick_"+$(this).attr(\'dolid\')); /* obj is a div component */
|
||||||
obj.dialog("open");
|
obj.dialog("open");
|
||||||
return false;
|
return false;
|
||||||
|
|||||||
@ -73,8 +73,7 @@ function print_actions_filter($form, $canedit, $status, $year, $month, $day, $sh
|
|||||||
{
|
{
|
||||||
print '<div class="divsearchfield">';
|
print '<div class="divsearchfield">';
|
||||||
// Type
|
// Type
|
||||||
print '<span class="fas fa-square inline-block fawidth30" style=" color: #ddd;"></span>';
|
print '<span class="fas fa-square inline-block fawidth30" style=" color: #ddd;" title="'.$langs->trans("Type").'"></span>';
|
||||||
print '<span class="hideonsmartphone">'.$langs->trans("Type").'</span>';
|
|
||||||
$multiselect = 0;
|
$multiselect = 0;
|
||||||
if (!empty($conf->global->MAIN_ENABLE_MULTISELECT_TYPE)) // We use an option here because it adds bugs when used on agenda page "peruser" and "list"
|
if (!empty($conf->global->MAIN_ENABLE_MULTISELECT_TYPE)) // We use an option here because it adds bugs when used on agenda page "peruser" and "list"
|
||||||
{
|
{
|
||||||
@ -85,13 +84,11 @@ function print_actions_filter($form, $canedit, $status, $year, $month, $day, $sh
|
|||||||
|
|
||||||
// Assigned to
|
// Assigned to
|
||||||
print '<div class="divsearchfield">';
|
print '<div class="divsearchfield">';
|
||||||
print img_picto('', 'user', 'class="fawidth30 inline-block"');
|
print img_picto($langs->trans("ActionsToDoBy"), 'user', 'class="fawidth30 inline-block"');
|
||||||
print '<span class="hideonsmartphone">'.$langs->trans("ActionsToDoBy").'</span>';
|
|
||||||
print $form->select_dolusers($filtert, 'search_filtert', 1, '', !$canedit, '', '', 0, 0, 0, '', 0, '', 'maxwidth500 widthcentpercentminusxx');
|
print $form->select_dolusers($filtert, 'search_filtert', 1, '', !$canedit, '', '', 0, 0, 0, '', 0, '', 'maxwidth500 widthcentpercentminusxx');
|
||||||
print '</div>';
|
print '</div>';
|
||||||
print '<div class="divsearchfield">';
|
print '<div class="divsearchfield">';
|
||||||
print img_picto('', 'object_group', 'class="fawidth30 inline-block"');
|
print img_picto($langs->trans("ToUserOfGroup"), 'object_group', 'class="fawidth30 inline-block"');
|
||||||
print '<span class="hideonsmartphone">'.$langs->trans("ToUserOfGroup").'</span>';
|
|
||||||
print $form->select_dolgroups($usergroupid, 'usergroup', 1, '', !$canedit, '', '', '0', false, 'maxwidth500');
|
print $form->select_dolgroups($usergroupid, 'usergroup', 1, '', !$canedit, '', '', '0', false, 'maxwidth500');
|
||||||
print '</div>';
|
print '</div>';
|
||||||
|
|
||||||
@ -102,8 +99,7 @@ function print_actions_filter($form, $canedit, $status, $year, $month, $day, $sh
|
|||||||
|
|
||||||
// Resource
|
// Resource
|
||||||
print '<div class="divsearchfield">';
|
print '<div class="divsearchfield">';
|
||||||
print img_picto('', 'object_resource', 'class="fawidth30 inline-block"');
|
print img_picto($langs->trans("Resource"), 'object_resource', 'class="fawidth30 inline-block"');
|
||||||
print '<span class="hideonsmartphone">'.$langs->trans("Resource").'</span>';
|
|
||||||
print $formresource->select_resource_list($resourceid, "search_resourceid", '', 1, 0, 0, null, '', 2, 0, 'maxwidth500');
|
print $formresource->select_resource_list($resourceid, "search_resourceid", '', 1, 0, 0, null, '', 2, 0, 'maxwidth500');
|
||||||
print '</div>';
|
print '</div>';
|
||||||
}
|
}
|
||||||
@ -112,8 +108,7 @@ function print_actions_filter($form, $canedit, $status, $year, $month, $day, $sh
|
|||||||
if (!empty($conf->societe->enabled) && $user->rights->societe->lire)
|
if (!empty($conf->societe->enabled) && $user->rights->societe->lire)
|
||||||
{
|
{
|
||||||
print '<div class="divsearchfield">';
|
print '<div class="divsearchfield">';
|
||||||
print img_picto('', 'company', 'class="fawidth30 inline-block"');
|
print img_picto($langs->trans("ThirdParty"), 'company', 'class="fawidth30 inline-block"');
|
||||||
print '<span class="hideonsmartphone">'.$langs->trans("ThirdParty").'</span>';
|
|
||||||
print $form->select_company($socid, 'search_socid', '', ' ', 0, 0, null, 0, 'minwidth100 maxwidth500');
|
print $form->select_company($socid, 'search_socid', '', ' ', 0, 0, null, 0, 'minwidth100 maxwidth500');
|
||||||
print '</div>';
|
print '</div>';
|
||||||
}
|
}
|
||||||
@ -124,8 +119,7 @@ function print_actions_filter($form, $canedit, $status, $year, $month, $day, $sh
|
|||||||
$formproject = new FormProjets($db);
|
$formproject = new FormProjets($db);
|
||||||
|
|
||||||
print '<div class="divsearchfield">';
|
print '<div class="divsearchfield">';
|
||||||
print img_picto('', 'project', 'class="fawidth30 inline-block"');
|
print img_picto($langs->trans("Project"), 'project', 'class="fawidth30 inline-block"');
|
||||||
print '<span class="hideonsmartphone">'.$langs->trans("Project").'</span>';
|
|
||||||
print $formproject->select_projects($socid ? $socid : -1, $pid, 'search_projectid', 0, 0, 1, 0, 0, 0, 0, '', 1, 0, 'maxwidth500');
|
print $formproject->select_projects($socid ? $socid : -1, $pid, 'search_projectid', 0, 0, 1, 0, 0, 0, 0, '', 1, 0, 'maxwidth500');
|
||||||
print '</div>';
|
print '</div>';
|
||||||
}
|
}
|
||||||
@ -134,8 +128,7 @@ function print_actions_filter($form, $canedit, $status, $year, $month, $day, $sh
|
|||||||
{
|
{
|
||||||
// Status
|
// Status
|
||||||
print '<div class="divsearchfield">';
|
print '<div class="divsearchfield">';
|
||||||
print img_picto('', 'setup', 'class="fawidth30 inline-block"');
|
print img_picto($langs->trans("Status"), 'setup', 'class="fawidth30 inline-block"');
|
||||||
print '<span class="hideonsmartphone">'.$langs->trans("Status").'</span>';
|
|
||||||
$formactions->form_select_status_action('formaction', $status, 1, 'search_status', 1, 2, 'minwidth100');
|
$formactions->form_select_status_action('formaction', $status, 1, 'search_status', 1, 2, 'minwidth100');
|
||||||
print '</div>';
|
print '</div>';
|
||||||
}
|
}
|
||||||
|
|||||||
@ -149,9 +149,11 @@ function ajax_autocompleter($selected, $htmlname, $url, $urloption = '', $minLen
|
|||||||
dataType: "json",
|
dataType: "json",
|
||||||
minLength: '.$minLength.',
|
minLength: '.$minLength.',
|
||||||
select: function( event, ui ) { // Function ran once new value has been selected into javascript combo
|
select: function( event, ui ) { // Function ran once new value has been selected into javascript combo
|
||||||
console.log("Call change on input '.$htmlname.' because of select definition of autocomplete select call on input#search_'.$htmlname.'");
|
console.log("We will trigger change on input '.$htmlname.' because of the select definition of autocomplete code for input#search_'.$htmlname.'");
|
||||||
console.log("Selected id = "+ui.item.id+" - If this value is null, it means you select a record with key that is null so selection is not effective");
|
console.log("Selected id = "+ui.item.id+" - If this value is null, it means you select a record with key that is null so selection is not effective");
|
||||||
|
|
||||||
|
console.log("Propagate before some properties");
|
||||||
|
|
||||||
//console.log(ui.item);
|
//console.log(ui.item);
|
||||||
//For supplier price
|
//For supplier price
|
||||||
$("#'.$htmlname.'").attr("data-up", ui.item.up);
|
$("#'.$htmlname.'").attr("data-up", ui.item.up);
|
||||||
@ -162,7 +164,6 @@ function ajax_autocompleter($selected, $htmlname, $url, $urloption = '', $minLen
|
|||||||
|
|
||||||
//For customer price
|
//For customer price
|
||||||
';
|
';
|
||||||
|
|
||||||
if (!empty($conf->global->PRODUIT_CUSTOMER_PRICES_BY_QTY)) {
|
if (!empty($conf->global->PRODUIT_CUSTOMER_PRICES_BY_QTY)) {
|
||||||
$script .= '
|
$script .= '
|
||||||
$("#' . $htmlname . '").attr("data-pbq", ui.item.pbq);
|
$("#' . $htmlname . '").attr("data-pbq", ui.item.pbq);
|
||||||
@ -181,6 +182,7 @@ function ajax_autocompleter($selected, $htmlname, $url, $urloption = '', $minLen
|
|||||||
}
|
}
|
||||||
$script .= '
|
$script .= '
|
||||||
$("#'.$htmlname.'").val(ui.item.id).trigger("change"); // Select new value
|
$("#'.$htmlname.'").val(ui.item.id).trigger("change"); // Select new value
|
||||||
|
|
||||||
// Disable an element
|
// Disable an element
|
||||||
if (options.option_disabled) {
|
if (options.option_disabled) {
|
||||||
console.log("Make action option_disabled on #"+options.option_disabled+" with disabled="+ui.item.disabled)
|
console.log("Make action option_disabled on #"+options.option_disabled+" with disabled="+ui.item.disabled)
|
||||||
@ -196,6 +198,7 @@ function ajax_autocompleter($selected, $htmlname, $url, $urloption = '', $minLen
|
|||||||
$("#" + options.option_disabled).removeAttr("disabled");
|
$("#" + options.option_disabled).removeAttr("disabled");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (options.disabled) {
|
if (options.disabled) {
|
||||||
console.log("Make action disabled on each "+options.option_disabled)
|
console.log("Make action disabled on each "+options.option_disabled)
|
||||||
$.each(options.disabled, function(key, value) {
|
$.each(options.disabled, function(key, value) {
|
||||||
@ -208,6 +211,7 @@ function ajax_autocompleter($selected, $htmlname, $url, $urloption = '', $minLen
|
|||||||
$("#" + value).show().trigger("show");
|
$("#" + value).show().trigger("show");
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// Update an input
|
// Update an input
|
||||||
if (ui.item.update) {
|
if (ui.item.update) {
|
||||||
console.log("Make action update on each ui.item.update")
|
console.log("Make action update on each ui.item.update")
|
||||||
@ -228,7 +232,7 @@ function ajax_autocompleter($selected, $htmlname, $url, $urloption = '', $minLen
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
console.log("ajax_autocompleter new value selected, we trigger change on original component so field #search_'.$htmlname.'");
|
console.log("ajax_autocompleter new value selected, we trigger change also on original component so on field #search_'.$htmlname.'");
|
||||||
|
|
||||||
$("#search_'.$htmlname.'").trigger("change"); // We have changed value of the combo select, we must be sure to trigger all js hook binded on this event. This is required to trigger other javascript change method binded on original field by other code.
|
$("#search_'.$htmlname.'").trigger("change"); // We have changed value of the combo select, we must be sure to trigger all js hook binded on this event. This is required to trigger other javascript change method binded on original field by other code.
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1206,27 +1206,23 @@ function show_actions_done($conf, $langs, $db, $filterobj, $objcon = '', $noprin
|
|||||||
global $form;
|
global $form;
|
||||||
global $param, $massactionbutton;
|
global $param, $massactionbutton;
|
||||||
|
|
||||||
$start_year = GETPOST('dateevent_startyear');
|
$start_year = GETPOST('dateevent_startyear', 'int');
|
||||||
$start_month = GETPOST('dateevent_startmonth');
|
$start_month = GETPOST('dateevent_startmonth', 'int');
|
||||||
$start_day = GETPOST('dateevent_startday');
|
$start_day = GETPOST('dateevent_startday', 'int');
|
||||||
$end_year = GETPOST('dateevent_endyear');
|
$end_year = GETPOST('dateevent_endyear', 'int');
|
||||||
$end_month = GETPOST('dateevent_endmonth');
|
$end_month = GETPOST('dateevent_endmonth', 'int');
|
||||||
$end_day = GETPOST('dateevent_endday');
|
$end_day = GETPOST('dateevent_endday', 'int');
|
||||||
$tms_start = '';
|
$tms_start = '';
|
||||||
$tms_end = '';
|
$tms_end = '';
|
||||||
|
|
||||||
if (!empty($start_year) && !empty($start_month) && !empty($start_day)) {
|
if (!empty($start_year) && !empty($start_month) && !empty($start_day)) {
|
||||||
$search_start = $start_year.'-'.$start_month.'-'.$start_day;
|
$tms_start = dol_mktime(0, 0, 0, $start_month, $start_day, $start_year, 'tzuserrel');
|
||||||
$tms_start = strtotime($search_start);
|
|
||||||
}
|
}
|
||||||
if (!empty($end_year) && !empty($end_month) && !empty($end_day)) {
|
if (!empty($end_year) && !empty($end_month) && !empty($end_day)) {
|
||||||
$search_end = $end_year.'-'.$end_month.'-'.$end_day.' 23:59:59';
|
$tms_end = dol_mktime(23, 59, 59, $end_month, $end_day, $end_year, 'tzuserrel');
|
||||||
$tms_end = strtotime($search_end);
|
|
||||||
}
|
}
|
||||||
if (GETPOST('button_removefilter_x', 'alpha') || GETPOST('button_removefilter.x', 'alpha') || GETPOST('button_removefilter', 'alpha')) { // All test are required to be compatible with all browsers
|
if (GETPOST('button_removefilter_x', 'alpha') || GETPOST('button_removefilter.x', 'alpha') || GETPOST('button_removefilter', 'alpha')) { // All test are required to be compatible with all browsers
|
||||||
$search_start = '';
|
|
||||||
$tms_start = '';
|
$tms_start = '';
|
||||||
$search_end = '';
|
|
||||||
$tms_end = '';
|
$tms_end = '';
|
||||||
}
|
}
|
||||||
dol_include_once('/comm/action/class/actioncomm.class.php');
|
dol_include_once('/comm/action/class/actioncomm.class.php');
|
||||||
@ -1328,14 +1324,14 @@ function show_actions_done($conf, $langs, $db, $filterobj, $objcon = '', $noprin
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!empty($search_start) && !empty($search_end)) {
|
if (!empty($tms_start) && !empty($tms_end)) {
|
||||||
$sql .= " AND ((a.datep BETWEEN '$search_start' AND '$search_end') OR (a.datep2 BETWEEN '$search_start' AND '$search_end'))";
|
$sql .= " AND ((a.datep BETWEEN '".$db->idate($tms_start)."' AND '".$db->idate($tms_end)."') OR (a.datep2 BETWEEN '".$db->idate($tms_start)."' AND '".$db->idate($tms_end)."'))";
|
||||||
}
|
}
|
||||||
elseif (empty($search_start) && !empty($search_end)) {
|
elseif (empty($tms_start) && !empty($tms_end)) {
|
||||||
$sql .= " AND ((a.datep <= '$search_end') OR (a.datep2 <= '$search_end'))";
|
$sql .= " AND ((a.datep <= '".$db->idate($tms_end)."') OR (a.datep2 <= '".$db->idate($tms_end)."'))";
|
||||||
}
|
}
|
||||||
elseif (!empty($search_start) && empty($search_end)) {
|
elseif (!empty($tms_start) && empty($tms_end)) {
|
||||||
$sql .= " AND ((a.datep >= '$search_start') OR (a.datep2 >= '$search_start'))";
|
$sql .= " AND ((a.datep >= '".$db->idate($tms_start)."') OR (a.datep2 >= '".$db->idate($tms_start)."'))";
|
||||||
}
|
}
|
||||||
|
|
||||||
if (is_array($actioncode) && !empty($actioncode)) {
|
if (is_array($actioncode) && !empty($actioncode)) {
|
||||||
@ -1491,7 +1487,9 @@ function show_actions_done($conf, $langs, $db, $filterobj, $objcon = '', $noprin
|
|||||||
$out .= $formactions->select_type_actions($actioncode, "actioncode", '', empty($conf->global->AGENDA_USE_EVENT_TYPE) ? 1 : -1, 0, (empty($conf->global->AGENDA_USE_MULTISELECT_TYPE) ? 0 : 1), 1);
|
$out .= $formactions->select_type_actions($actioncode, "actioncode", '', empty($conf->global->AGENDA_USE_EVENT_TYPE) ? 1 : -1, 0, (empty($conf->global->AGENDA_USE_MULTISELECT_TYPE) ? 0 : 1), 1);
|
||||||
$out .= '</td>';
|
$out .= '</td>';
|
||||||
$out .= '<td class="liste_titre maxwidth100onsmartphone"><input type="text" class="maxwidth100onsmartphone" name="search_agenda_label" value="'.$filters['search_agenda_label'].'"></td>';
|
$out .= '<td class="liste_titre maxwidth100onsmartphone"><input type="text" class="maxwidth100onsmartphone" name="search_agenda_label" value="'.$filters['search_agenda_label'].'"></td>';
|
||||||
$out .= '<td class="liste_titre center">'.$form->selectDateToDate($tms_start, $tms_end, 'dateevent', 1).'</td>';
|
$out .= '<td class="liste_titre center">';
|
||||||
|
$out .= $form->selectDateToDate($tms_start, $tms_end, 'dateevent', 1);
|
||||||
|
$out .= '</td>';
|
||||||
$out .= '<td class="liste_titre"></td>';
|
$out .= '<td class="liste_titre"></td>';
|
||||||
$out .= '<td class="liste_titre"></td>';
|
$out .= '<td class="liste_titre"></td>';
|
||||||
$out .= '<td class="liste_titre"></td>';
|
$out .= '<td class="liste_titre"></td>';
|
||||||
|
|||||||
@ -1513,6 +1513,7 @@ function dol_init_file_process($pathtoscan = '', $trackid = '')
|
|||||||
* @param int $generatethumbs 1=Generate also thumbs for uploaded image files
|
* @param int $generatethumbs 1=Generate also thumbs for uploaded image files
|
||||||
* @param Object $object Object used to set 'src_object_*' fields
|
* @param Object $object Object used to set 'src_object_*' fields
|
||||||
* @return int <=0 if KO, >0 if OK
|
* @return int <=0 if KO, >0 if OK
|
||||||
|
* @see dol_remove_file_process()
|
||||||
*/
|
*/
|
||||||
function dol_add_file_process($upload_dir, $allowoverwrite = 0, $donotupdatesession = 0, $varfiles = 'addedfile', $savingdocmask = '', $link = null, $trackid = '', $generatethumbs = 1, $object = null)
|
function dol_add_file_process($upload_dir, $allowoverwrite = 0, $donotupdatesession = 0, $varfiles = 'addedfile', $savingdocmask = '', $link = null, $trackid = '', $generatethumbs = 1, $object = null)
|
||||||
{
|
{
|
||||||
@ -1673,6 +1674,7 @@ function dol_add_file_process($upload_dir, $allowoverwrite = 0, $donotupdatesess
|
|||||||
* @param int $donotdeletefile 1=Do not delete physically file
|
* @param int $donotdeletefile 1=Do not delete physically file
|
||||||
* @param string $trackid Track id (used to prefix name of session vars to avoid conflict)
|
* @param string $trackid Track id (used to prefix name of session vars to avoid conflict)
|
||||||
* @return void
|
* @return void
|
||||||
|
* @see dol_add_file_process()
|
||||||
*/
|
*/
|
||||||
function dol_remove_file_process($filenb, $donotupdatesession = 0, $donotdeletefile = 1, $trackid = '')
|
function dol_remove_file_process($filenb, $donotupdatesession = 0, $donotdeletefile = 1, $trackid = '')
|
||||||
{
|
{
|
||||||
|
|||||||
@ -2210,9 +2210,10 @@ function dol_mktime($hour, $minute, $second, $month, $day, $year, $gm = 'auto',
|
|||||||
{
|
{
|
||||||
global $conf;
|
global $conf;
|
||||||
//print "- ".$hour.",".$minute.",".$second.",".$month.",".$day.",".$year.",".$_SERVER["WINDIR"]." -";
|
//print "- ".$hour.",".$minute.",".$second.",".$month.",".$day.",".$year.",".$_SERVER["WINDIR"]." -";
|
||||||
|
//print 'gm:'.$gm.' gm==auto:'.($gm == 'auto').'<br>';
|
||||||
|
|
||||||
if ($gm == 'auto') {
|
if ($gm === 'auto') {
|
||||||
$gm = $conf->tzuserinputkey;
|
$gm = (empty($conf) ? 'tzserver' : $conf->tzuserinputkey);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Clean parameters
|
// Clean parameters
|
||||||
@ -2274,7 +2275,7 @@ function dol_mktime($hour, $minute, $second, $month, $day, $year, $gm = 'auto',
|
|||||||
/**
|
/**
|
||||||
* Return date for now. In most cases, we use this function without parameters (that means GMT time).
|
* Return date for now. In most cases, we use this function without parameters (that means GMT time).
|
||||||
*
|
*
|
||||||
* @param string $mode 'auto'
|
* @param string $mode 'auto' => for backward compatibility (avoid this),
|
||||||
* 'gmt' => we return GMT timestamp,
|
* 'gmt' => we return GMT timestamp,
|
||||||
* 'tzserver' => we add the PHP server timezone
|
* 'tzserver' => we add the PHP server timezone
|
||||||
* 'tzref' => we add the company timezone. Not implemented.
|
* 'tzref' => we add the company timezone. Not implemented.
|
||||||
@ -2285,8 +2286,8 @@ function dol_now($mode = 'auto')
|
|||||||
{
|
{
|
||||||
$ret = 0;
|
$ret = 0;
|
||||||
|
|
||||||
if ($mode == 'auto') {
|
if ($mode === 'auto') {
|
||||||
$mode = 'tzserver';
|
$mode = 'gmt';
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($mode == 'gmt') $ret = time(); // Time for now at greenwich.
|
if ($mode == 'gmt') $ret = time(); // Time for now at greenwich.
|
||||||
@ -3266,8 +3267,8 @@ function img_picto($titlealt, $picto, $moreatt = '', $pictoisfullpath = false, $
|
|||||||
'delete', 'dolly', 'dollyrevert', 'donation', 'download', 'edit', 'ellipsis-h', 'email', 'eraser', 'external-link-alt', 'external-link-square-alt',
|
'delete', 'dolly', 'dollyrevert', 'donation', 'download', 'edit', 'ellipsis-h', 'email', 'eraser', 'external-link-alt', 'external-link-square-alt',
|
||||||
'filter', 'file-code', 'file-export', 'file-import', 'file-upload', 'folder', 'folder-open', 'globe', 'globe-americas', 'grip', 'grip_title', 'group',
|
'filter', 'file-code', 'file-export', 'file-import', 'file-upload', 'folder', 'folder-open', 'globe', 'globe-americas', 'grip', 'grip_title', 'group',
|
||||||
'help', 'holiday',
|
'help', 'holiday',
|
||||||
'intervention', 'label', 'language', 'link', 'list', 'listlight', 'lot',
|
'intervention', 'label', 'language', 'link', 'list', 'listlight', 'loan', 'lot',
|
||||||
'map-marker-alt', 'member', 'money-bill-alt', 'mrp', 'note', 'next',
|
'margin', 'map-marker-alt', 'member', 'money-bill-alt', 'mrp', 'note', 'next',
|
||||||
'object_accounting', 'object_account', 'object_accountline', 'object_action', 'object_barcode', 'object_bill', 'object_billa', 'object_billd', 'object_bom',
|
'object_accounting', 'object_account', 'object_accountline', 'object_action', 'object_barcode', 'object_bill', 'object_billa', 'object_billd', 'object_bom',
|
||||||
'object_category', 'object_conversation', 'object_bookmark', 'object_bug', 'object_clock', 'object_dolly', 'object_dollyrevert', 'object_generic', 'object_folder',
|
'object_category', 'object_conversation', 'object_bookmark', 'object_bug', 'object_clock', 'object_dolly', 'object_dollyrevert', 'object_generic', 'object_folder',
|
||||||
'object_list-alt', 'object_calendar', 'object_calendarweek', 'object_calendarmonth', 'object_calendarday', 'object_calendarperuser',
|
'object_list-alt', 'object_calendar', 'object_calendarweek', 'object_calendarmonth', 'object_calendarday', 'object_calendarperuser',
|
||||||
@ -3278,7 +3279,7 @@ function img_picto($titlealt, $picto, $moreatt = '', $pictoisfullpath = false, $
|
|||||||
'object_payment', 'object_pdf', 'object_product', 'object_propal',
|
'object_payment', 'object_pdf', 'object_product', 'object_propal',
|
||||||
'object_paragraph', 'object_poll', 'object_printer', 'object_project', 'object_projectpub', 'object_propal', 'object_resource', 'object_rss', 'object_projecttask',
|
'object_paragraph', 'object_poll', 'object_printer', 'object_project', 'object_projectpub', 'object_propal', 'object_resource', 'object_rss', 'object_projecttask',
|
||||||
'object_recruitmentjobposition', 'object_recruitmentcandidature',
|
'object_recruitmentjobposition', 'object_recruitmentcandidature',
|
||||||
'object_shipment', 'object_share-alt', 'object_supplier_invoice', 'object_supplier_invoicea', 'object_supplier_invoiced', 'object_supplier_order', 'object_supplier_proposal', 'object_service', 'object_stock',
|
'object_salary', 'object_shipment', 'object_share-alt', 'object_supplier_invoice', 'object_supplier_invoicea', 'object_supplier_invoiced', 'object_supplier_order', 'object_supplier_proposal', 'object_service', 'object_stock',
|
||||||
'object_technic', 'object_ticket', 'object_trip', 'object_user', 'object_group', 'object_member',
|
'object_technic', 'object_ticket', 'object_trip', 'object_user', 'object_group', 'object_member',
|
||||||
'object_phoning', 'object_phoning_mobile', 'object_phoning_fax', 'object_email', 'object_website', 'object_movement',
|
'object_phoning', 'object_phoning_mobile', 'object_phoning_fax', 'object_email', 'object_website', 'object_movement',
|
||||||
'off', 'on', 'order',
|
'off', 'on', 'order',
|
||||||
@ -3287,10 +3288,10 @@ function img_picto($titlealt, $picto, $moreatt = '', $pictoisfullpath = false, $
|
|||||||
'jabber', 'skype', 'twitter', 'facebook', 'linkedin', 'instagram', 'snapchat', 'youtube', 'google-plus-g', 'whatsapp',
|
'jabber', 'skype', 'twitter', 'facebook', 'linkedin', 'instagram', 'snapchat', 'youtube', 'google-plus-g', 'whatsapp',
|
||||||
'chevron-left', 'chevron-right', 'chevron-down', 'chevron-top', 'commercial', 'companies',
|
'chevron-left', 'chevron-right', 'chevron-down', 'chevron-top', 'commercial', 'companies',
|
||||||
'generic', 'home', 'hrm', 'members', 'products', 'invoicing',
|
'generic', 'home', 'hrm', 'members', 'products', 'invoicing',
|
||||||
'payment', 'pencil-ruler', 'preview', 'project', 'projectpub', 'refresh', 'supplier_invoice', 'ticket',
|
'payment', 'pencil-ruler', 'preview', 'project', 'projectpub', 'refresh', 'salary', 'supplier_invoice', 'ticket',
|
||||||
'error', 'warning',
|
'error', 'warning',
|
||||||
'recruitmentcandidature', 'recruitmentjobposition', 'resource',
|
'recruitmentcandidature', 'recruitmentjobposition', 'resource',
|
||||||
'supplier_proposal', 'supplier_order', 'supplier_invoice',
|
'shapes', 'supplier_proposal', 'supplier_order', 'supplier_invoice',
|
||||||
'title_setup', 'title_accountancy', 'title_bank', 'title_hrm', 'title_agenda'
|
'title_setup', 'title_accountancy', 'title_bank', 'title_hrm', 'title_agenda'
|
||||||
)
|
)
|
||||||
)) {
|
)) {
|
||||||
@ -3308,14 +3309,15 @@ function img_picto($titlealt, $picto, $moreatt = '', $pictoisfullpath = false, $
|
|||||||
|
|
||||||
$arrayconvpictotofa = array(
|
$arrayconvpictotofa = array(
|
||||||
'account'=>'university', 'accountline'=>'receipt', 'accountancy'=>'money-check-alt', 'action'=>'calendar-alt', 'add'=>'plus-circle', 'address'=> 'address-book',
|
'account'=>'university', 'accountline'=>'receipt', 'accountancy'=>'money-check-alt', 'action'=>'calendar-alt', 'add'=>'plus-circle', 'address'=> 'address-book',
|
||||||
'bank_account'=>'university', 'bill'=>'file-invoice-dollar', 'billa'=>'file-excel', 'supplier_invoicea'=>'file-excel', 'billd'=>'file-medical', 'supplier_invoiced'=>'file-medical', 'bom'=>'cubes',
|
'bank_account'=>'university', 'bill'=>'file-invoice-dollar', 'billa'=>'file-excel', 'supplier_invoicea'=>'file-excel', 'billd'=>'file-medical', 'supplier_invoiced'=>'file-medical',
|
||||||
|
'bom'=>'shapes',
|
||||||
'company'=>'building', 'contact'=>'address-book', 'contract'=>'suitcase', 'conversation'=>'comments', 'donation'=>'file-alt', 'dynamicprice'=>'hand-holding-usd',
|
'company'=>'building', 'contact'=>'address-book', 'contract'=>'suitcase', 'conversation'=>'comments', 'donation'=>'file-alt', 'dynamicprice'=>'hand-holding-usd',
|
||||||
'setup'=>'cog', 'companies'=>'building', 'products'=>'cube', 'commercial'=>'suitcase', 'invoicing'=>'coins',
|
'setup'=>'cog', 'companies'=>'building', 'products'=>'cube', 'commercial'=>'suitcase', 'invoicing'=>'coins',
|
||||||
'accounting'=>'chart-line', 'category'=>'tag', 'dollyrevert'=>'dolly',
|
'accounting'=>'chart-line', 'category'=>'tag', 'dollyrevert'=>'dolly',
|
||||||
'hrm'=>'user-tie', 'margin'=>'calculator', 'members'=>'users', 'ticket'=>'ticket-alt', 'globe'=>'external-link-alt', 'lot'=>'barcode',
|
'hrm'=>'user-tie', 'margin'=>'calculator', 'members'=>'users', 'ticket'=>'ticket-alt', 'globe'=>'external-link-alt', 'lot'=>'barcode',
|
||||||
'email'=>'at',
|
'email'=>'at',
|
||||||
'edit'=>'pencil-alt', 'grip_title'=>'arrows-alt', 'grip'=>'arrows-alt', 'help'=>'question-circle',
|
'edit'=>'pencil-alt', 'grip_title'=>'arrows-alt', 'grip'=>'arrows-alt', 'help'=>'question-circle',
|
||||||
'generic'=>'file', 'holiday'=>'umbrella-beach', 'label'=>'layer-group',
|
'generic'=>'file', 'holiday'=>'umbrella-beach', 'label'=>'layer-group', 'loan'=>'money-bill-alt',
|
||||||
'member'=>'users', 'mrp'=>'cubes', 'next'=>'arrow-alt-circle-right',
|
'member'=>'users', 'mrp'=>'cubes', 'next'=>'arrow-alt-circle-right',
|
||||||
'trip'=>'wallet', 'group'=>'users', 'movement'=>'people-carry',
|
'trip'=>'wallet', 'group'=>'users', 'movement'=>'people-carry',
|
||||||
'sign-out'=>'sign-out-alt',
|
'sign-out'=>'sign-out-alt',
|
||||||
@ -3330,7 +3332,7 @@ function img_picto($titlealt, $picto, $moreatt = '', $pictoisfullpath = false, $
|
|||||||
'recruitmentjobposition'=>'id-card-alt', 'recruitmentcandidature'=>'id-badge',
|
'recruitmentjobposition'=>'id-card-alt', 'recruitmentcandidature'=>'id-badge',
|
||||||
'resize'=>'crop', 'supplier_order'=>'dol-order_supplier', 'supplier_proposal'=>'file-signature',
|
'resize'=>'crop', 'supplier_order'=>'dol-order_supplier', 'supplier_proposal'=>'file-signature',
|
||||||
'refresh'=>'redo', 'resource'=>'laptop-house',
|
'refresh'=>'redo', 'resource'=>'laptop-house',
|
||||||
'shipment'=>'dolly', 'stock'=>'box-open', 'stats' => 'chart-bar', 'split'=>'code-branch', 'supplier_invoice'=>'file-invoice-dollar', 'technic'=>'cogs', 'ticket'=>'ticket-alt',
|
'salary'=>'wallet', 'shipment'=>'dolly', 'stock'=>'box-open', 'stats' => 'chart-bar', 'split'=>'code-branch', 'supplier_invoice'=>'file-invoice-dollar', 'technic'=>'cogs', 'ticket'=>'ticket-alt',
|
||||||
'title_setup'=>'tools', 'title_accountancy'=>'money-check-alt', 'title_bank'=>'university', 'title_hrm'=>'umbrella-beach',
|
'title_setup'=>'tools', 'title_accountancy'=>'money-check-alt', 'title_bank'=>'university', 'title_hrm'=>'umbrella-beach',
|
||||||
'title_agenda'=>'calendar-alt',
|
'title_agenda'=>'calendar-alt',
|
||||||
'uparrow'=>'mail-forward', 'vcard'=>'address-card',
|
'uparrow'=>'mail-forward', 'vcard'=>'address-card',
|
||||||
@ -3362,6 +3364,12 @@ function img_picto($titlealt, $picto, $moreatt = '', $pictoisfullpath = false, $
|
|||||||
} else {
|
} else {
|
||||||
$fakey = 'fa-'.$pictowithouttext;
|
$fakey = 'fa-'.$pictowithouttext;
|
||||||
}
|
}
|
||||||
|
if (in_array($pictowithouttext, array('contract'))) {
|
||||||
|
$fasize = '0.92em';
|
||||||
|
}
|
||||||
|
if (in_array($pictowithouttext, array('intervention', 'payment', 'loan'))) {
|
||||||
|
$fasize = '0.80em';
|
||||||
|
}
|
||||||
|
|
||||||
// Define $marginleftonlyshort
|
// Define $marginleftonlyshort
|
||||||
$arrayconvpictotomarginleftonly = array(
|
$arrayconvpictotomarginleftonly = array(
|
||||||
@ -3386,11 +3394,11 @@ function img_picto($titlealt, $picto, $moreatt = '', $pictoisfullpath = false, $
|
|||||||
'order'=>'infobox-commande',
|
'order'=>'infobox-commande',
|
||||||
'user'=>'infobox-adherent', 'users'=>'infobox-adherent',
|
'user'=>'infobox-adherent', 'users'=>'infobox-adherent',
|
||||||
'error'=>'pictoerror', 'warning'=>'pictowarning', 'switch_on'=>'font-status4',
|
'error'=>'pictoerror', 'warning'=>'pictowarning', 'switch_on'=>'font-status4',
|
||||||
'holiday'=>'infobox-holiday', 'invoice'=>'infobox-commande',
|
'holiday'=>'infobox-holiday', 'invoice'=>'infobox-commande', 'loan'=>'infobox-bank_account',
|
||||||
'payment'=>'infobox-bank_account', 'poll'=>'infobox-adherent', 'project'=>'infobox-project', 'projecttask'=>'infobox-project', 'propal'=>'infobox-propal',
|
'payment'=>'infobox-bank_account', 'poll'=>'infobox-adherent', 'project'=>'infobox-project', 'projecttask'=>'infobox-project', 'propal'=>'infobox-propal',
|
||||||
'recruitmentjobposition'=>'infobox-adherent', 'recruitmentcandidature'=>'infobox-adherent',
|
'recruitmentjobposition'=>'infobox-adherent', 'recruitmentcandidature'=>'infobox-adherent',
|
||||||
'resource'=>'infobox-action',
|
'resource'=>'infobox-action',
|
||||||
'supplier_invoice'=>'infobox-order_supplier', 'supplier_invoicea'=>'infobox-order_supplier', 'supplier_invoiced'=>'infobox-order_supplier',
|
'salary'=>'infobox-bank_account', 'supplier_invoice'=>'infobox-order_supplier', 'supplier_invoicea'=>'infobox-order_supplier', 'supplier_invoiced'=>'infobox-order_supplier',
|
||||||
'supplier_order'=>'infobox-order_supplier', 'supplier_proposal'=>'infobox-supplier_proposal',
|
'supplier_order'=>'infobox-order_supplier', 'supplier_proposal'=>'infobox-supplier_proposal',
|
||||||
'ticket'=>'infobox-contrat', 'title_accountancy'=>'infobox-bank_account', 'title_hrm'=>'infobox-holiday', 'trip'=>'infobox-expensereport', 'title_agenda'=>'infobox-action',
|
'ticket'=>'infobox-contrat', 'title_accountancy'=>'infobox-bank_account', 'title_hrm'=>'infobox-holiday', 'trip'=>'infobox-expensereport', 'title_agenda'=>'infobox-action',
|
||||||
//'title_setup'=>'infobox-action', 'tools'=>'infobox-action',
|
//'title_setup'=>'infobox-action', 'tools'=>'infobox-action',
|
||||||
@ -4100,21 +4108,21 @@ function dol_print_error($db = '', $error = '', $errors = null)
|
|||||||
|
|
||||||
$out .= "<b>".$langs->trans("Date").":</b> ".dol_print_date(time(), 'dayhourlog')."<br>\n";
|
$out .= "<b>".$langs->trans("Date").":</b> ".dol_print_date(time(), 'dayhourlog')."<br>\n";
|
||||||
$out .= "<b>".$langs->trans("Dolibarr").":</b> ".DOL_VERSION." - https://www.dolibarr.org<br>\n";
|
$out .= "<b>".$langs->trans("Dolibarr").":</b> ".DOL_VERSION." - https://www.dolibarr.org<br>\n";
|
||||||
if (isset($conf->global->MAIN_FEATURES_LEVEL)) $out .= "<b>".$langs->trans("LevelOfFeature").":</b> ".$conf->global->MAIN_FEATURES_LEVEL."<br>\n";
|
if (isset($conf->global->MAIN_FEATURES_LEVEL)) $out .= "<b>".$langs->trans("LevelOfFeature").":</b> ".dol_htmlentities($conf->global->MAIN_FEATURES_LEVEL, ENT_COMPAT)."<br>\n";
|
||||||
if (function_exists("phpversion"))
|
if (function_exists("phpversion"))
|
||||||
{
|
{
|
||||||
$out .= "<b>".$langs->trans("PHP").":</b> ".phpversion()."<br>\n";
|
$out .= "<b>".$langs->trans("PHP").":</b> ".phpversion()."<br>\n";
|
||||||
}
|
}
|
||||||
$out .= "<b>".$langs->trans("Server").":</b> ".dol_htmlentities($_SERVER["SERVER_SOFTWARE"])."<br>\n";
|
$out .= "<b>".$langs->trans("Server").":</b> ".(isset($_SERVER["SERVER_SOFTWARE"]) ? dol_htmlentities($_SERVER["SERVER_SOFTWARE"], ENT_COMPAT) : '')."<br>\n";
|
||||||
if (function_exists("php_uname"))
|
if (function_exists("php_uname"))
|
||||||
{
|
{
|
||||||
$out .= "<b>".$langs->trans("OS").":</b> ".php_uname()."<br>\n";
|
$out .= "<b>".$langs->trans("OS").":</b> ".php_uname()."<br>\n";
|
||||||
}
|
}
|
||||||
$out .= "<b>".$langs->trans("UserAgent").":</b> ".dol_htmlentities($_SERVER["HTTP_USER_AGENT"], ENT_COMPAT, 'UTF-8')."<br>\n";
|
$out .= "<b>".$langs->trans("UserAgent").":</b> ".(isset($_SERVER["HTTP_USER_AGENT"]) ? dol_htmlentities($_SERVER["HTTP_USER_AGENT"], ENT_COMPAT) : '')."<br>\n";
|
||||||
$out .= "<br>\n";
|
$out .= "<br>\n";
|
||||||
$out .= "<b>".$langs->trans("RequestedUrl").":</b> ".dol_htmlentities($_SERVER["REQUEST_URI"], ENT_COMPAT, 'UTF-8')."<br>\n";
|
$out .= "<b>".$langs->trans("RequestedUrl").":</b> ".dol_htmlentities($_SERVER["REQUEST_URI"], ENT_COMPAT)."<br>\n";
|
||||||
$out .= "<b>".$langs->trans("Referer").":</b> ".(isset($_SERVER["HTTP_REFERER"]) ? dol_htmlentities($_SERVER["HTTP_REFERER"], ENT_COMPAT, 'UTF-8') : '')."<br>\n";
|
$out .= "<b>".$langs->trans("Referer").":</b> ".(isset($_SERVER["HTTP_REFERER"]) ? dol_htmlentities($_SERVER["HTTP_REFERER"], ENT_COMPAT) : '')."<br>\n";
|
||||||
$out .= "<b>".$langs->trans("MenuManager").":</b> ".(isset($conf->standard_menu) ? dol_htmlentities($conf->standard_menu) : '')."<br>\n";
|
$out .= "<b>".$langs->trans("MenuManager").":</b> ".(isset($conf->standard_menu) ? dol_htmlentities($conf->standard_menu, ENT_COMPAT) : '')."<br>\n";
|
||||||
$out .= "<br>\n";
|
$out .= "<br>\n";
|
||||||
$syslog .= "url=".dol_escape_htmltag($_SERVER["REQUEST_URI"]);
|
$syslog .= "url=".dol_escape_htmltag($_SERVER["REQUEST_URI"]);
|
||||||
$syslog .= ", query_string=".dol_escape_htmltag($_SERVER["QUERY_STRING"]);
|
$syslog .= ", query_string=".dol_escape_htmltag($_SERVER["QUERY_STRING"]);
|
||||||
@ -5786,8 +5794,8 @@ function dol_string_nohtmltag($stringtoclean, $removelinefeed = 1, $pagecodeto =
|
|||||||
// Example of $temp: <a href="/myurl" title="<u>A title</u>">0000-021</a>
|
// Example of $temp: <a href="/myurl" title="<u>A title</u>">0000-021</a>
|
||||||
$temp = preg_replace($pattern, "", $temp); // pass 1 - $temp after pass 1: <a href="/myurl" title="A title">0000-021
|
$temp = preg_replace($pattern, "", $temp); // pass 1 - $temp after pass 1: <a href="/myurl" title="A title">0000-021
|
||||||
$temp = preg_replace($pattern, "", $temp); // pass 2 - $temp after pass 2: 0000-021
|
$temp = preg_replace($pattern, "", $temp); // pass 2 - $temp after pass 2: 0000-021
|
||||||
// removed '<' into non closing html tags like '<a'
|
// Remove '<' into remainging, so non closing html tags like '<abc'. Note: '<123abc' is not a html tag (can be kept), but '<abc123' is (must be removed).
|
||||||
$temp = preg_replace('/<(\w+)/', '\1', $temp);
|
$temp = preg_replace('/<([a-z]+)/i', '\1', $temp);
|
||||||
}
|
}
|
||||||
|
|
||||||
$temp = dol_html_entity_decode($temp, ENT_COMPAT, $pagecodeto);
|
$temp = dol_html_entity_decode($temp, ENT_COMPAT, $pagecodeto);
|
||||||
|
|||||||
@ -315,7 +315,7 @@ function dol_print_object_info($object, $usetable = 0)
|
|||||||
if ($usetable) print '</td><td>';
|
if ($usetable) print '</td><td>';
|
||||||
else print ': ';
|
else print ': ';
|
||||||
print dol_print_date($object->date_validation, 'dayhour', 'tzserver');
|
print dol_print_date($object->date_validation, 'dayhour', 'tzserver');
|
||||||
if ($deltadateforuser) print ' '.$langs->trans("CurrentHour").' / '.dol_print_date($object->date_validation, "dayhour", 'tzserver').' '.$langs->trans("ClientHour");
|
if ($deltadateforuser) print ' '.$langs->trans("CurrentHour").' / '.dol_print_date($object->date_validation, "dayhour", 'tzuserrel').' '.$langs->trans("ClientHour");
|
||||||
if ($usetable) print '</td></tr>';
|
if ($usetable) print '</td></tr>';
|
||||||
else print '<br>';
|
else print '<br>';
|
||||||
}
|
}
|
||||||
@ -349,7 +349,7 @@ function dol_print_object_info($object, $usetable = 0)
|
|||||||
if ($usetable) print '</td><td>';
|
if ($usetable) print '</td><td>';
|
||||||
else print ': ';
|
else print ': ';
|
||||||
print dol_print_date($object->date_approve, 'dayhour', 'tzserver');
|
print dol_print_date($object->date_approve, 'dayhour', 'tzserver');
|
||||||
if ($deltadateforuser) print ' '.$langs->trans("CurrentHour").' / '.dol_print_date($object->date_approve, "dayhour", 'tzserver').' '.$langs->trans("ClientHour");
|
if ($deltadateforuser) print ' '.$langs->trans("CurrentHour").' / '.dol_print_date($object->date_approve, "dayhour", 'tzuserrel').' '.$langs->trans("ClientHour");
|
||||||
if ($usetable) print '</td></tr>';
|
if ($usetable) print '</td></tr>';
|
||||||
else print '<br>';
|
else print '<br>';
|
||||||
}
|
}
|
||||||
@ -377,7 +377,7 @@ function dol_print_object_info($object, $usetable = 0)
|
|||||||
if ($usetable) print '</td><td>';
|
if ($usetable) print '</td><td>';
|
||||||
else print ': ';
|
else print ': ';
|
||||||
print dol_print_date($object->date_approve2, 'dayhour', 'tzserver');
|
print dol_print_date($object->date_approve2, 'dayhour', 'tzserver');
|
||||||
if ($deltadateforuser) print ' '.$langs->trans("CurrentHour").' / '.dol_print_date($object->date_approve2, "dayhour", 'tzserver').' '.$langs->trans("ClientHour");
|
if ($deltadateforuser) print ' '.$langs->trans("CurrentHour").' / '.dol_print_date($object->date_approve2, "dayhour", 'tzuserrel').' '.$langs->trans("ClientHour");
|
||||||
if ($usetable) print '</td></tr>';
|
if ($usetable) print '</td></tr>';
|
||||||
else print '<br>';
|
else print '<br>';
|
||||||
}
|
}
|
||||||
@ -413,7 +413,7 @@ function dol_print_object_info($object, $usetable = 0)
|
|||||||
if ($usetable) print '</td><td>';
|
if ($usetable) print '</td><td>';
|
||||||
else print ': ';
|
else print ': ';
|
||||||
print dol_print_date($object->date_closing, 'dayhour', 'tzserver');
|
print dol_print_date($object->date_closing, 'dayhour', 'tzserver');
|
||||||
if ($deltadateforuser) print ' '.$langs->trans("CurrentHour").' / '.dol_print_date($object->date_closing, "dayhour", 'tzserver').' '.$langs->trans("ClientHour");
|
if ($deltadateforuser) print ' '.$langs->trans("CurrentHour").' / '.dol_print_date($object->date_closing, "dayhour", 'tzuserrel').' '.$langs->trans("ClientHour");
|
||||||
if ($usetable) print '</td></tr>';
|
if ($usetable) print '</td></tr>';
|
||||||
else print '<br>';
|
else print '<br>';
|
||||||
}
|
}
|
||||||
@ -447,7 +447,7 @@ function dol_print_object_info($object, $usetable = 0)
|
|||||||
if ($usetable) print '</td><td>';
|
if ($usetable) print '</td><td>';
|
||||||
else print ': ';
|
else print ': ';
|
||||||
print dol_print_date($object->date_rappro, 'dayhour', 'tzserver');
|
print dol_print_date($object->date_rappro, 'dayhour', 'tzserver');
|
||||||
if ($deltadateforuser) print ' '.$langs->trans("CurrentHour").' / '.dol_print_date($object->date_rappro, "dayhour", 'tzserver').' '.$langs->trans("ClientHour");
|
if ($deltadateforuser) print ' '.$langs->trans("CurrentHour").' / '.dol_print_date($object->date_rappro, "dayhour", 'tzuserrel').' '.$langs->trans("ClientHour");
|
||||||
if ($usetable) print '</td></tr>';
|
if ($usetable) print '</td></tr>';
|
||||||
else print '<br>';
|
else print '<br>';
|
||||||
}
|
}
|
||||||
@ -460,7 +460,7 @@ function dol_print_object_info($object, $usetable = 0)
|
|||||||
if ($usetable) print '</td><td>';
|
if ($usetable) print '</td><td>';
|
||||||
else print ': ';
|
else print ': ';
|
||||||
print dol_print_date($object->date_envoi, 'dayhour', 'tzserver');
|
print dol_print_date($object->date_envoi, 'dayhour', 'tzserver');
|
||||||
if ($deltadateforuser) print ' '.$langs->trans("CurrentHour").' / '.dol_print_date($object->date_envoi, "dayhour", 'tzserver').' '.$langs->trans("ClientHour");
|
if ($deltadateforuser) print ' '.$langs->trans("CurrentHour").' / '.dol_print_date($object->date_envoi, "dayhour", 'tzuserrel').' '.$langs->trans("ClientHour");
|
||||||
if ($usetable) print '</td></tr>';
|
if ($usetable) print '</td></tr>';
|
||||||
else print '<br>';
|
else print '<br>';
|
||||||
}
|
}
|
||||||
|
|||||||
@ -51,6 +51,11 @@ function holiday_prepare_head($object)
|
|||||||
$head[$h][2] = 'documents';
|
$head[$h][2] = 'documents';
|
||||||
$h++;
|
$h++;
|
||||||
|
|
||||||
|
$head[$h][0] = DOL_URL_ROOT.'/holiday/info.php?id='.$object->id;
|
||||||
|
$head[$h][1] = $langs->trans("Info");
|
||||||
|
$head[$h][2] = 'info';
|
||||||
|
$h++;
|
||||||
|
|
||||||
// Show more tabs from modules
|
// Show more tabs from modules
|
||||||
// Entries must be declared in modules descriptor with line
|
// Entries must be declared in modules descriptor with line
|
||||||
// $this->tabs = array('entity:+tabname:Title:@mymodule:/mymodule/mypage.php?id=__ID__'); to add new tab
|
// $this->tabs = array('entity:+tabname:Title:@mymodule:/mymodule/mypage.php?id=__ID__'); to add new tab
|
||||||
|
|||||||
@ -43,7 +43,11 @@ function import_prepare_head($param, $maxstep = 0)
|
|||||||
$i = 1;
|
$i = 1;
|
||||||
while ($i <= $maxstep)
|
while ($i <= $maxstep)
|
||||||
{
|
{
|
||||||
|
if ($i < 6) {
|
||||||
$head[$h][0] = DOL_URL_ROOT.'/imports/import.php?step='.$i.$param;
|
$head[$h][0] = DOL_URL_ROOT.'/imports/import.php?step='.$i.$param;
|
||||||
|
} else {
|
||||||
|
$head[$h][0] = DOL_URL_ROOT.'/imports/import.php?step=5'.$param; // For step6, link is to step 5
|
||||||
|
}
|
||||||
$head[$h][1] = $langs->trans("Step")." ".$i;
|
$head[$h][1] = $langs->trans("Step")." ".$i;
|
||||||
$head[$h][2] = 'step'.$i;
|
$head[$h][2] = 'step'.$i;
|
||||||
$h++;
|
$h++;
|
||||||
|
|||||||
@ -444,7 +444,7 @@ function checkUserAccessToObject($user, $featuresarray, $objectid = 0, $tableand
|
|||||||
$checksoc = array('societe'); // Test for societe object
|
$checksoc = array('societe'); // Test for societe object
|
||||||
$checkother = array('contact', 'agenda'); // Test on entity and link to third party. Allowed if link is empty (Ex: contacts...).
|
$checkother = array('contact', 'agenda'); // Test on entity and link to third party. Allowed if link is empty (Ex: contacts...).
|
||||||
$checkproject = array('projet', 'project'); // Test for project object
|
$checkproject = array('projet', 'project'); // Test for project object
|
||||||
$checktask = array('projet_task');
|
$checktask = array('projet_task'); // Test for task object
|
||||||
$nocheck = array('barcode', 'stock'); // No test
|
$nocheck = array('barcode', 'stock'); // No test
|
||||||
//$checkdefault = 'all other not already defined'; // Test on entity and link to third party. Not allowed if link is empty (Ex: invoice, orders...).
|
//$checkdefault = 'all other not already defined'; // Test on entity and link to third party. Not allowed if link is empty (Ex: invoice, orders...).
|
||||||
|
|
||||||
@ -582,29 +582,35 @@ function checkUserAccessToObject($user, $featuresarray, $objectid = 0, $tableand
|
|||||||
$sql .= " WHERE dbt.".$dbt_select." IN (".$objectid.")";
|
$sql .= " WHERE dbt.".$dbt_select." IN (".$objectid.")";
|
||||||
$sql .= " AND dbt.entity IN (".getEntity($sharedelement, 1).")";
|
$sql .= " AND dbt.entity IN (".getEntity($sharedelement, 1).")";
|
||||||
}
|
}
|
||||||
} elseif (!in_array($feature, $nocheck)) // By default (case of $checkdefault), we check on object entity + link to third party on field $dbt_keyfield
|
} elseif (!in_array($feature, $nocheck)) { // By default (case of $checkdefault), we check on object entity + link to third party on field $dbt_keyfield
|
||||||
{
|
|
||||||
// If external user: Check permission for external users
|
// If external user: Check permission for external users
|
||||||
if ($user->socid > 0)
|
if ($user->socid > 0) {
|
||||||
{
|
|
||||||
if (empty($dbt_keyfield)) dol_print_error('', 'Param dbt_keyfield is required but not defined');
|
if (empty($dbt_keyfield)) dol_print_error('', 'Param dbt_keyfield is required but not defined');
|
||||||
$sql = "SELECT COUNT(dbt.".$dbt_keyfield.") as nb";
|
$sql = "SELECT COUNT(dbt.".$dbt_keyfield.") as nb";
|
||||||
$sql .= " FROM ".MAIN_DB_PREFIX.$dbtablename." as dbt";
|
$sql .= " FROM ".MAIN_DB_PREFIX.$dbtablename." as dbt";
|
||||||
$sql .= " WHERE dbt.rowid IN (".$objectid.")";
|
$sql .= " WHERE dbt.rowid IN (".$objectid.")";
|
||||||
$sql .= " AND dbt.".$dbt_keyfield." = ".$user->socid;
|
$sql .= " AND dbt.".$dbt_keyfield." = ".$user->socid;
|
||||||
} // If internal user: Check permission for internal users that are restricted on their objects
|
} elseif (!empty($conf->societe->enabled)) {
|
||||||
elseif (!empty($conf->societe->enabled) && ($user->rights->societe->lire && !$user->rights->societe->client->voir))
|
// If internal user: Check permission for internal users that are restricted on their objects
|
||||||
{
|
if ($feature != 'ticket' && !$user->rights->societe->client->voir) {
|
||||||
if (empty($dbt_keyfield)) dol_print_error('', 'Param dbt_keyfield is required but not defined');
|
if (empty($dbt_keyfield)) dol_print_error('', 'Param dbt_keyfield is required but not defined');
|
||||||
$sql = "SELECT COUNT(sc.fk_soc) as nb";
|
$sql = "SELECT COUNT(sc.fk_soc) as nb";
|
||||||
$sql .= " FROM ".MAIN_DB_PREFIX.$dbtablename." as dbt";
|
$sql .= " FROM ".MAIN_DB_PREFIX.$dbtablename." as dbt";
|
||||||
$sql .= ", ".MAIN_DB_PREFIX."societe as s";
|
|
||||||
$sql .= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc";
|
$sql .= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc";
|
||||||
$sql .= " WHERE dbt.".$dbt_select." IN (".$objectid.")";
|
$sql .= " WHERE dbt.".$dbt_select." IN (".$objectid.")";
|
||||||
$sql .= " AND sc.fk_soc = dbt.".$dbt_keyfield;
|
|
||||||
$sql .= " AND dbt.".$dbt_keyfield." = s.rowid";
|
|
||||||
$sql .= " AND dbt.entity IN (".getEntity($sharedelement, 1).")";
|
$sql .= " AND dbt.entity IN (".getEntity($sharedelement, 1).")";
|
||||||
|
$sql .= " AND sc.fk_soc = dbt.".$dbt_keyfield;
|
||||||
$sql .= " AND sc.fk_user = ".$user->id;
|
$sql .= " AND sc.fk_user = ".$user->id;
|
||||||
|
}
|
||||||
|
// On ticket, the thirdparty is not mandatory, so we need a special test to accept record with no thirdparties.
|
||||||
|
if ($feature == 'ticket' && !$user->rights->societe->client->voir) {
|
||||||
|
$sql = "SELECT COUNT(dbt.".$dbt_select.") as nb";
|
||||||
|
$sql .= " FROM ".MAIN_DB_PREFIX.$dbtablename." as dbt";
|
||||||
|
$sql .= " LEFT JOIN ".MAIN_DB_PREFIX."societe_commerciaux as sc ON sc.fk_soc = dbt.".$dbt_keyfield." AND sc.fk_user = ".$user->id;
|
||||||
|
$sql .= " WHERE dbt.".$dbt_select." IN (".$objectid.")";
|
||||||
|
$sql .= " AND dbt.entity IN (".getEntity($sharedelement, 1).")";
|
||||||
|
$sql .= " AND (sc.fk_user = ".$user->id." OR sc.fk_user IS NULL)";
|
||||||
|
}
|
||||||
} // If multicompany and internal users with all permissions, check user is in correct entity
|
} // If multicompany and internal users with all permissions, check user is in correct entity
|
||||||
elseif (!empty($conf->multicompany->enabled))
|
elseif (!empty($conf->multicompany->enabled))
|
||||||
{
|
{
|
||||||
|
|||||||
@ -219,15 +219,14 @@ if (!function_exists('dol_loginfunction'))
|
|||||||
$width = 0;
|
$width = 0;
|
||||||
$urllogo = DOL_URL_ROOT.'/theme/common/login_logo.png';
|
$urllogo = DOL_URL_ROOT.'/theme/common/login_logo.png';
|
||||||
|
|
||||||
if (!empty($mysoc->logo_small) && is_readable($conf->mycompany->dir_output.'/logos/thumbs/'.$mysoc->logo_small))
|
if (!empty($mysoc->logo_small) && is_readable($conf->mycompany->dir_output.'/logos/thumbs/'.$mysoc->logo_small)) {
|
||||||
{
|
|
||||||
$urllogo = DOL_URL_ROOT.'/viewimage.php?cache=1&modulepart=mycompany&file='.urlencode('logos/thumbs/'.$mysoc->logo_small);
|
$urllogo = DOL_URL_ROOT.'/viewimage.php?cache=1&modulepart=mycompany&file='.urlencode('logos/thumbs/'.$mysoc->logo_small);
|
||||||
} elseif (!empty($mysoc->logo) && is_readable($conf->mycompany->dir_output.'/logos/'.$mysoc->logo))
|
} elseif (!empty($mysoc->logo) && is_readable($conf->mycompany->dir_output.'/logos/'.$mysoc->logo)) {
|
||||||
{
|
|
||||||
$urllogo = DOL_URL_ROOT.'/viewimage.php?cache=1&modulepart=mycompany&file='.urlencode('logos/'.$mysoc->logo);
|
$urllogo = DOL_URL_ROOT.'/viewimage.php?cache=1&modulepart=mycompany&file='.urlencode('logos/'.$mysoc->logo);
|
||||||
$width = 128;
|
$width = 128;
|
||||||
} elseif (is_readable(DOL_DOCUMENT_ROOT.'/theme/dolibarr_logo.svg'))
|
} elseif (!empty($mysoc->logo_squarred_small) && is_readable($conf->mycompany->dir_output.'/logos/thumbs/'.$mysoc->logo_squarred_small)) {
|
||||||
{
|
$urllogo = DOL_URL_ROOT.'/viewimage.php?cache=1&modulepart=mycompany&file='.urlencode('logos/thumbs/'.$mysoc->logo_squarred_small);
|
||||||
|
} elseif (is_readable(DOL_DOCUMENT_ROOT.'/theme/dolibarr_logo.svg')) {
|
||||||
$urllogo = DOL_URL_ROOT.'/theme/dolibarr_logo.svg';
|
$urllogo = DOL_URL_ROOT.'/theme/dolibarr_logo.svg';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -283,7 +283,7 @@ function show_ticket_messaging($conf, $langs, $db, $filterobj, $objcon = '', $no
|
|||||||
$out = '';
|
$out = '';
|
||||||
$histo = array();
|
$histo = array();
|
||||||
$numaction = 0;
|
$numaction = 0;
|
||||||
$now = dol_now('tzuser');
|
$now = dol_now();
|
||||||
|
|
||||||
// Open DSI -- Fix order by -- Begin
|
// Open DSI -- Fix order by -- Begin
|
||||||
$sortfield_list = explode(',', $sortfield);
|
$sortfield_list = explode(',', $sortfield);
|
||||||
@ -622,7 +622,7 @@ function show_ticket_messaging($conf, $langs, $db, $filterobj, $objcon = '', $no
|
|||||||
$out .= '<!-- timeline time label -->';
|
$out .= '<!-- timeline time label -->';
|
||||||
$out .= '<li class="time-label">';
|
$out .= '<li class="time-label">';
|
||||||
$out .= '<span class="timeline-badge-date">';
|
$out .= '<span class="timeline-badge-date">';
|
||||||
$out .= dol_print_date($histo[$key]['datestart'], 'daytext', 'tzserver', $langs);
|
$out .= dol_print_date($histo[$key]['datestart'], 'daytext', 'tzuserrel', $langs);
|
||||||
$out .= '</span>';
|
$out .= '</span>';
|
||||||
$out .= '</li>';
|
$out .= '</li>';
|
||||||
$out .= '<!-- /.timeline-label -->';
|
$out .= '<!-- /.timeline-label -->';
|
||||||
@ -660,14 +660,14 @@ function show_ticket_messaging($conf, $langs, $db, $filterobj, $objcon = '', $no
|
|||||||
$out .= '</span>';
|
$out .= '</span>';
|
||||||
// Date
|
// Date
|
||||||
$out .= '<span class="time"><i class="fa fa-clock-o"></i> ';
|
$out .= '<span class="time"><i class="fa fa-clock-o"></i> ';
|
||||||
$out .= dol_print_date($histo[$key]['datestart'], 'dayhour');
|
$out .= dol_print_date($histo[$key]['datestart'], 'dayhour', 'tzuserrel');
|
||||||
if ($histo[$key]['dateend'] && $histo[$key]['dateend'] != $histo[$key]['datestart']) {
|
if ($histo[$key]['dateend'] && $histo[$key]['dateend'] != $histo[$key]['datestart']) {
|
||||||
$tmpa = dol_getdate($histo[$key]['datestart'], true);
|
$tmpa = dol_getdate($histo[$key]['datestart'], true);
|
||||||
$tmpb = dol_getdate($histo[$key]['dateend'], true);
|
$tmpb = dol_getdate($histo[$key]['dateend'], true);
|
||||||
if ($tmpa['mday'] == $tmpb['mday'] && $tmpa['mon'] == $tmpb['mon'] && $tmpa['year'] == $tmpb['year']) {
|
if ($tmpa['mday'] == $tmpb['mday'] && $tmpa['mon'] == $tmpb['mon'] && $tmpa['year'] == $tmpb['year']) {
|
||||||
$out .= '-'.dol_print_date($histo[$key]['dateend'], 'hour');
|
$out .= '-'.dol_print_date($histo[$key]['dateend'], 'hour', 'tzuserrel');
|
||||||
} else {
|
} else {
|
||||||
$out .= '-'.dol_print_date($histo[$key]['dateend'], 'dayhour');
|
$out .= '-'.dol_print_date($histo[$key]['dateend'], 'dayhour', 'tzuserrel');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$late = 0;
|
$late = 0;
|
||||||
|
|||||||
@ -708,10 +708,10 @@ function print_left_eldy_menu($db, $menu_array_before, $menu_array_after, &$tabM
|
|||||||
$langs->load("users");
|
$langs->load("users");
|
||||||
|
|
||||||
// Home - dashboard
|
// Home - dashboard
|
||||||
$newmenu->add("/index.php?mainmenu=home&leftmenu=home", $langs->trans("MyDashboard"), 0, 1, '', $mainmenu, 'home', 0, '', '', '', '<i class="fa fa-bar-chart fa-fw paddingright"></i>');
|
$newmenu->add("/index.php?mainmenu=home&leftmenu=home", $langs->trans("MyDashboard"), 0, 1, '', $mainmenu, 'home', 0, '', '', '', '<i class="fa fa-bar-chart fa-fw paddingright pictofixedwidth"></i>');
|
||||||
|
|
||||||
// Setup
|
// Setup
|
||||||
$newmenu->add("/admin/index.php?mainmenu=home&leftmenu=setup", $langs->trans("Setup"), 0, $user->admin, '', $mainmenu, 'setup', 0, '', '', '', '<i class="fa fa-wrench fa-fw paddingright"></i>');
|
$newmenu->add("/admin/index.php?mainmenu=home&leftmenu=setup", $langs->trans("Setup"), 0, $user->admin, '', $mainmenu, 'setup', 0, '', '', '', '<i class="fa fa-wrench fa-fw paddingright pictofixedwidth"></i>');
|
||||||
|
|
||||||
if ($usemenuhider || empty($leftmenu) || $leftmenu == "setup") {
|
if ($usemenuhider || empty($leftmenu) || $leftmenu == "setup") {
|
||||||
// Load translation files required by the page
|
// Load translation files required by the page
|
||||||
@ -758,7 +758,7 @@ function print_left_eldy_menu($db, $menu_array_before, $menu_array_after, &$tabM
|
|||||||
}
|
}
|
||||||
|
|
||||||
// System tools
|
// System tools
|
||||||
$newmenu->add("/admin/tools/index.php?mainmenu=home&leftmenu=admintools", $langs->trans("AdminTools"), 0, $user->admin, '', $mainmenu, 'admintools', 0, '', '', '', '<i class="fa fa-server fa-fw paddingright"></i>');
|
$newmenu->add("/admin/tools/index.php?mainmenu=home&leftmenu=admintools", $langs->trans("AdminTools"), 0, $user->admin, '', $mainmenu, 'admintools', 0, '', '', '', '<i class="fa fa-server fa-fw paddingright pictofixedwidth"></i>');
|
||||||
if ($usemenuhider || empty($leftmenu) || preg_match('/^admintools/', $leftmenu)) {
|
if ($usemenuhider || empty($leftmenu) || preg_match('/^admintools/', $leftmenu)) {
|
||||||
// Load translation files required by the page
|
// Load translation files required by the page
|
||||||
$langs->loadLangs(array('admin', 'help'));
|
$langs->loadLangs(array('admin', 'help'));
|
||||||
@ -792,7 +792,7 @@ function print_left_eldy_menu($db, $menu_array_before, $menu_array_after, &$tabM
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$newmenu->add("/user/home.php?leftmenu=users", $langs->trans("MenuUsersAndGroups"), 0, $user->rights->user->user->lire, '', $mainmenu, 'users', 0, '', '', '', '<i class="fa fa-users fa-fw paddingright"></i>');
|
$newmenu->add("/user/home.php?leftmenu=users", $langs->trans("MenuUsersAndGroups"), 0, $user->rights->user->user->lire, '', $mainmenu, 'users', 0, '', '', '', img_picto('', 'user', 'class="paddingright pictofixedwidth"'));
|
||||||
if ($user->rights->user->user->lire) {
|
if ($user->rights->user->user->lire) {
|
||||||
if ($usemenuhider || empty($leftmenu) || $leftmenu == "users") {
|
if ($usemenuhider || empty($leftmenu) || $leftmenu == "users") {
|
||||||
$newmenu->add("", $langs->trans("Users"), 1, $user->rights->user->user->lire || $user->admin);
|
$newmenu->add("", $langs->trans("Users"), 1, $user->rights->user->user->lire || $user->admin);
|
||||||
@ -818,7 +818,7 @@ function print_left_eldy_menu($db, $menu_array_before, $menu_array_after, &$tabM
|
|||||||
// Societes
|
// Societes
|
||||||
if (!empty($conf->societe->enabled)) {
|
if (!empty($conf->societe->enabled)) {
|
||||||
$langs->load("companies");
|
$langs->load("companies");
|
||||||
$newmenu->add("/societe/index.php?leftmenu=thirdparties", $langs->trans("ThirdParty"), 0, $user->rights->societe->lire, '', $mainmenu, 'thirdparties');
|
$newmenu->add("/societe/index.php?leftmenu=thirdparties", $langs->trans("ThirdParty"), 0, $user->rights->societe->lire, '', $mainmenu, 'thirdparties', 0, '', '', '', img_picto('', 'company', 'class="paddingright pictofixedwidth"'));
|
||||||
|
|
||||||
if ($user->rights->societe->creer) {
|
if ($user->rights->societe->creer) {
|
||||||
$newmenu->add("/societe/card.php?action=create", $langs->trans("MenuNewThirdParty"), 1);
|
$newmenu->add("/societe/card.php?action=create", $langs->trans("MenuNewThirdParty"), 1);
|
||||||
@ -880,7 +880,8 @@ function print_left_eldy_menu($db, $menu_array_before, $menu_array_after, &$tabM
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Contacts
|
// Contacts
|
||||||
$newmenu->add("/societe/index.php?leftmenu=thirdparties", (!empty($conf->global->SOCIETE_ADDRESSES_MANAGEMENT) ? $langs->trans("Contacts") : $langs->trans("ContactsAddresses")), 0, $user->rights->societe->contact->lire, '', $mainmenu, 'contacts');
|
$newmenu->add("/societe/index.php?leftmenu=thirdparties", (!empty($conf->global->SOCIETE_ADDRESSES_MANAGEMENT) ? $langs->trans("Contacts") : $langs->trans("ContactsAddresses")), 0, $user->rights->societe->contact->lire, '', $mainmenu, 'contacts', 0, '', '', '', img_picto('', 'contact', 'class="paddingright pictofixedwidth"'));
|
||||||
|
|
||||||
$newmenu->add("/contact/card.php?leftmenu=contacts&action=create", (!empty($conf->global->SOCIETE_ADDRESSES_MANAGEMENT) ? $langs->trans("NewContact") : $langs->trans("NewContactAddress")), 1, $user->rights->societe->contact->creer);
|
$newmenu->add("/contact/card.php?leftmenu=contacts&action=create", (!empty($conf->global->SOCIETE_ADDRESSES_MANAGEMENT) ? $langs->trans("NewContact") : $langs->trans("NewContactAddress")), 1, $user->rights->societe->contact->creer);
|
||||||
$newmenu->add("/contact/list.php?leftmenu=contacts", $langs->trans("List"), 1, $user->rights->societe->contact->lire);
|
$newmenu->add("/contact/list.php?leftmenu=contacts", $langs->trans("List"), 1, $user->rights->societe->contact->lire);
|
||||||
if (empty($conf->global->SOCIETE_DISABLE_PROSPECTS)) {
|
if (empty($conf->global->SOCIETE_DISABLE_PROSPECTS)) {
|
||||||
@ -912,7 +913,7 @@ function print_left_eldy_menu($db, $menu_array_before, $menu_array_after, &$tabM
|
|||||||
// Customer proposal
|
// Customer proposal
|
||||||
if (!empty($conf->propal->enabled)) {
|
if (!empty($conf->propal->enabled)) {
|
||||||
$langs->load("propal");
|
$langs->load("propal");
|
||||||
$newmenu->add("/comm/propal/index.php?leftmenu=propals", $langs->trans("Proposals"), 0, $user->rights->propale->lire, '', $mainmenu, 'propals', 100);
|
$newmenu->add("/comm/propal/index.php?leftmenu=propals", $langs->trans("Proposals"), 0, $user->rights->propale->lire, '', $mainmenu, 'propals', 100, '', '', '', img_picto('', 'propal', 'class="paddingright pictofixedwidth"'));
|
||||||
$newmenu->add("/comm/propal/card.php?action=create&leftmenu=propals", $langs->trans("NewPropal"), 1, $user->rights->propale->creer);
|
$newmenu->add("/comm/propal/card.php?action=create&leftmenu=propals", $langs->trans("NewPropal"), 1, $user->rights->propale->creer);
|
||||||
$newmenu->add("/comm/propal/list.php?leftmenu=propals", $langs->trans("List"), 1, $user->rights->propale->lire);
|
$newmenu->add("/comm/propal/list.php?leftmenu=propals", $langs->trans("List"), 1, $user->rights->propale->lire);
|
||||||
if ($usemenuhider || empty($leftmenu) || $leftmenu == "propals") {
|
if ($usemenuhider || empty($leftmenu) || $leftmenu == "propals") {
|
||||||
@ -929,7 +930,7 @@ function print_left_eldy_menu($db, $menu_array_before, $menu_array_after, &$tabM
|
|||||||
// Customers orders
|
// Customers orders
|
||||||
if (!empty($conf->commande->enabled)) {
|
if (!empty($conf->commande->enabled)) {
|
||||||
$langs->load("orders");
|
$langs->load("orders");
|
||||||
$newmenu->add("/commande/index.php?leftmenu=orders", $langs->trans("CustomersOrders"), 0, $user->rights->commande->lire, '', $mainmenu, 'orders', 200);
|
$newmenu->add("/commande/index.php?leftmenu=orders", $langs->trans("CustomersOrders"), 0, $user->rights->commande->lire, '', $mainmenu, 'orders', 200, '', '', '', img_picto('', 'order', 'class="paddingright pictofixedwidth"'));
|
||||||
$newmenu->add("/commande/card.php?action=create&leftmenu=orders", $langs->trans("NewOrder"), 1, $user->rights->commande->creer);
|
$newmenu->add("/commande/card.php?action=create&leftmenu=orders", $langs->trans("NewOrder"), 1, $user->rights->commande->creer);
|
||||||
$newmenu->add("/commande/list.php?leftmenu=orders", $langs->trans("List"), 1, $user->rights->commande->lire);
|
$newmenu->add("/commande/list.php?leftmenu=orders", $langs->trans("List"), 1, $user->rights->commande->lire);
|
||||||
if ($usemenuhider || empty($leftmenu) || $leftmenu == "orders") {
|
if ($usemenuhider || empty($leftmenu) || $leftmenu == "orders") {
|
||||||
@ -948,7 +949,7 @@ function print_left_eldy_menu($db, $menu_array_before, $menu_array_after, &$tabM
|
|||||||
// Supplier proposal
|
// Supplier proposal
|
||||||
if (!empty($conf->supplier_proposal->enabled)) {
|
if (!empty($conf->supplier_proposal->enabled)) {
|
||||||
$langs->load("supplier_proposal");
|
$langs->load("supplier_proposal");
|
||||||
$newmenu->add("/supplier_proposal/index.php?leftmenu=propals_supplier", $langs->trans("SupplierProposalsShort"), 0, $user->rights->supplier_proposal->lire, '', $mainmenu, 'propals_supplier', 300);
|
$newmenu->add("/supplier_proposal/index.php?leftmenu=propals_supplier", $langs->trans("SupplierProposalsShort"), 0, $user->rights->supplier_proposal->lire, '', $mainmenu, 'propals_supplier', 300, '', '', '', img_picto('', 'supplier_proposal', 'class="paddingright pictofixedwidth"'));
|
||||||
$newmenu->add("/supplier_proposal/card.php?action=create&leftmenu=supplier_proposals", $langs->trans("SupplierProposalNew"), 1, $user->rights->supplier_proposal->creer);
|
$newmenu->add("/supplier_proposal/card.php?action=create&leftmenu=supplier_proposals", $langs->trans("SupplierProposalNew"), 1, $user->rights->supplier_proposal->creer);
|
||||||
$newmenu->add("/supplier_proposal/list.php?leftmenu=supplier_proposals", $langs->trans("List"), 1, $user->rights->supplier_proposal->lire);
|
$newmenu->add("/supplier_proposal/list.php?leftmenu=supplier_proposals", $langs->trans("List"), 1, $user->rights->supplier_proposal->lire);
|
||||||
$newmenu->add("/comm/propal/stats/index.php?leftmenu=supplier_proposals&mode=supplier", $langs->trans("Statistics"), 1, $user->rights->supplier_proposal->lire);
|
$newmenu->add("/comm/propal/stats/index.php?leftmenu=supplier_proposals&mode=supplier", $langs->trans("Statistics"), 1, $user->rights->supplier_proposal->lire);
|
||||||
@ -957,7 +958,7 @@ function print_left_eldy_menu($db, $menu_array_before, $menu_array_after, &$tabM
|
|||||||
// Suppliers orders
|
// Suppliers orders
|
||||||
if (!empty($conf->supplier_order->enabled)) {
|
if (!empty($conf->supplier_order->enabled)) {
|
||||||
$langs->load("orders");
|
$langs->load("orders");
|
||||||
$newmenu->add("/fourn/commande/index.php?leftmenu=orders_suppliers", $langs->trans("SuppliersOrders"), 0, $user->rights->fournisseur->commande->lire, '', $mainmenu, 'orders_suppliers', 400);
|
$newmenu->add("/fourn/commande/index.php?leftmenu=orders_suppliers", $langs->trans("SuppliersOrders"), 0, $user->rights->fournisseur->commande->lire, '', $mainmenu, 'orders_suppliers', 400, '', '', '', img_picto('', 'supplier_order', 'class="paddingright pictofixedwidth"'));
|
||||||
$newmenu->add("/fourn/commande/card.php?action=create&leftmenu=orders_suppliers", $langs->trans("NewOrder"), 1, $user->rights->fournisseur->commande->creer);
|
$newmenu->add("/fourn/commande/card.php?action=create&leftmenu=orders_suppliers", $langs->trans("NewOrder"), 1, $user->rights->fournisseur->commande->creer);
|
||||||
$newmenu->add("/fourn/commande/list.php?leftmenu=orders_suppliers", $langs->trans("List"), 1, $user->rights->fournisseur->commande->lire);
|
$newmenu->add("/fourn/commande/list.php?leftmenu=orders_suppliers", $langs->trans("List"), 1, $user->rights->fournisseur->commande->lire);
|
||||||
|
|
||||||
@ -982,7 +983,7 @@ function print_left_eldy_menu($db, $menu_array_before, $menu_array_after, &$tabM
|
|||||||
// Contrat
|
// Contrat
|
||||||
if (!empty($conf->contrat->enabled)) {
|
if (!empty($conf->contrat->enabled)) {
|
||||||
$langs->load("contracts");
|
$langs->load("contracts");
|
||||||
$newmenu->add("/contrat/index.php?leftmenu=contracts", $langs->trans("ContractsSubscriptions"), 0, $user->rights->contrat->lire, '', $mainmenu, 'contracts', 2000);
|
$newmenu->add("/contrat/index.php?leftmenu=contracts", $langs->trans("ContractsSubscriptions"), 0, $user->rights->contrat->lire, '', $mainmenu, 'contracts', 2000, '', '', '', img_picto('', 'contract', 'class="paddingright pictofixedwidth"'));
|
||||||
$newmenu->add("/contrat/card.php?action=create&leftmenu=contracts", $langs->trans("NewContractSubscription"), 1, $user->rights->contrat->creer);
|
$newmenu->add("/contrat/card.php?action=create&leftmenu=contracts", $langs->trans("NewContractSubscription"), 1, $user->rights->contrat->creer);
|
||||||
$newmenu->add("/contrat/list.php?leftmenu=contracts", $langs->trans("List"), 1, $user->rights->contrat->lire);
|
$newmenu->add("/contrat/list.php?leftmenu=contracts", $langs->trans("List"), 1, $user->rights->contrat->lire);
|
||||||
$newmenu->add("/contrat/services_list.php?leftmenu=contracts", $langs->trans("MenuServices"), 1, $user->rights->contrat->lire);
|
$newmenu->add("/contrat/services_list.php?leftmenu=contracts", $langs->trans("MenuServices"), 1, $user->rights->contrat->lire);
|
||||||
@ -997,7 +998,7 @@ function print_left_eldy_menu($db, $menu_array_before, $menu_array_after, &$tabM
|
|||||||
// Interventions
|
// Interventions
|
||||||
if (!empty($conf->ficheinter->enabled)) {
|
if (!empty($conf->ficheinter->enabled)) {
|
||||||
$langs->load("interventions");
|
$langs->load("interventions");
|
||||||
$newmenu->add("/fichinter/index.php?leftmenu=ficheinter", $langs->trans("Interventions"), 0, $user->rights->ficheinter->lire, '', $mainmenu, 'ficheinter', 2200);
|
$newmenu->add("/fichinter/index.php?leftmenu=ficheinter", $langs->trans("Interventions"), 0, $user->rights->ficheinter->lire, '', $mainmenu, 'ficheinter', 2200, '', '', '', img_picto('', 'intervention', 'class="paddingright pictofixedwidth"'));
|
||||||
$newmenu->add("/fichinter/card.php?action=create&leftmenu=ficheinter", $langs->trans("NewIntervention"), 1, $user->rights->ficheinter->creer, '', '', '', 201);
|
$newmenu->add("/fichinter/card.php?action=create&leftmenu=ficheinter", $langs->trans("NewIntervention"), 1, $user->rights->ficheinter->creer, '', '', '', 201);
|
||||||
$newmenu->add("/fichinter/list.php?leftmenu=ficheinter", $langs->trans("List"), 1, $user->rights->ficheinter->lire, '', '', '', 202);
|
$newmenu->add("/fichinter/list.php?leftmenu=ficheinter", $langs->trans("List"), 1, $user->rights->ficheinter->lire, '', '', '', 202);
|
||||||
if ($conf->global->MAIN_FEATURES_LEVEL >= 2) {
|
if ($conf->global->MAIN_FEATURES_LEVEL >= 2) {
|
||||||
@ -1017,7 +1018,7 @@ function print_left_eldy_menu($db, $menu_array_before, $menu_array_after, &$tabM
|
|||||||
// Customers invoices
|
// Customers invoices
|
||||||
if (!empty($conf->facture->enabled)) {
|
if (!empty($conf->facture->enabled)) {
|
||||||
$langs->load("bills");
|
$langs->load("bills");
|
||||||
$newmenu->add("/compta/facture/index.php?leftmenu=customers_bills", $langs->trans("BillsCustomers"), 0, $user->rights->facture->lire, '', $mainmenu, 'customers_bills');
|
$newmenu->add("/compta/facture/index.php?leftmenu=customers_bills", $langs->trans("BillsCustomers"), 0, $user->rights->facture->lire, '', $mainmenu, 'customers_bills', 0, '', '', '', img_picto('', 'bill', 'class="paddingright pictofixedwidth"'));
|
||||||
$newmenu->add("/compta/facture/card.php?action=create", $langs->trans("NewBill"), 1, $user->rights->facture->creer);
|
$newmenu->add("/compta/facture/card.php?action=create", $langs->trans("NewBill"), 1, $user->rights->facture->creer);
|
||||||
$newmenu->add("/compta/facture/list.php?leftmenu=customers_bills", $langs->trans("List"), 1, $user->rights->facture->lire, '', $mainmenu, 'customers_bills_list');
|
$newmenu->add("/compta/facture/list.php?leftmenu=customers_bills", $langs->trans("List"), 1, $user->rights->facture->lire, '', $mainmenu, 'customers_bills_list');
|
||||||
|
|
||||||
@ -1042,7 +1043,7 @@ function print_left_eldy_menu($db, $menu_array_before, $menu_array_after, &$tabM
|
|||||||
// Suppliers invoices
|
// Suppliers invoices
|
||||||
if (!empty($conf->societe->enabled) && !empty($conf->supplier_invoice->enabled)) {
|
if (!empty($conf->societe->enabled) && !empty($conf->supplier_invoice->enabled)) {
|
||||||
$langs->load("bills");
|
$langs->load("bills");
|
||||||
$newmenu->add("/fourn/facture/index.php?leftmenu=suppliers_bills", $langs->trans("BillsSuppliers"), 0, $user->rights->fournisseur->facture->lire, '', $mainmenu, 'suppliers_bills');
|
$newmenu->add("/fourn/facture/index.php?leftmenu=suppliers_bills", $langs->trans("BillsSuppliers"), 0, $user->rights->fournisseur->facture->lire, '', $mainmenu, 'suppliers_bills', 0, '', '', '', img_picto('', 'supplier_invoice', 'class="paddingright pictofixedwidth"'));
|
||||||
$newmenu->add("/fourn/facture/card.php?leftmenu=suppliers_bills&action=create", $langs->trans("NewBill"), 1, $user->rights->fournisseur->facture->creer, '', $mainmenu, 'suppliers_bills_create');
|
$newmenu->add("/fourn/facture/card.php?leftmenu=suppliers_bills&action=create", $langs->trans("NewBill"), 1, $user->rights->fournisseur->facture->creer, '', $mainmenu, 'suppliers_bills_create');
|
||||||
$newmenu->add("/fourn/facture/list.php?leftmenu=suppliers_bills", $langs->trans("List"), 1, $user->rights->fournisseur->facture->lire, '', $mainmenu, 'suppliers_bills_list');
|
$newmenu->add("/fourn/facture/list.php?leftmenu=suppliers_bills", $langs->trans("List"), 1, $user->rights->fournisseur->facture->lire, '', $mainmenu, 'suppliers_bills_list');
|
||||||
|
|
||||||
@ -1063,7 +1064,7 @@ function print_left_eldy_menu($db, $menu_array_before, $menu_array_after, &$tabM
|
|||||||
if (!empty($conf->commande->enabled)) {
|
if (!empty($conf->commande->enabled)) {
|
||||||
$langs->load("orders");
|
$langs->load("orders");
|
||||||
if (!empty($conf->facture->enabled)) {
|
if (!empty($conf->facture->enabled)) {
|
||||||
$newmenu->add("/commande/list.php?leftmenu=orders&search_status=-3&billed=0&contextpage=billableorders", $langs->trans("MenuOrdersToBill2"), 0, $user->rights->commande->lire, '', $mainmenu, 'orders');
|
$newmenu->add("/commande/list.php?leftmenu=orders&search_status=-3&billed=0&contextpage=billableorders", $langs->trans("MenuOrdersToBill2"), 0, $user->rights->commande->lire, '', $mainmenu, 'orders', 0, '', '', '', img_picto('', 'order', 'class="paddingright pictofixedwidth"'));
|
||||||
}
|
}
|
||||||
//if ($usemenuhider || empty($leftmenu) || $leftmenu=="orders") $newmenu->add("/commande/", $langs->trans("StatusOrderToBill"), 1, $user->rights->commande->lire);
|
//if ($usemenuhider || empty($leftmenu) || $leftmenu=="orders") $newmenu->add("/commande/", $langs->trans("StatusOrderToBill"), 1, $user->rights->commande->lire);
|
||||||
}
|
}
|
||||||
@ -1072,7 +1073,7 @@ function print_left_eldy_menu($db, $menu_array_before, $menu_array_after, &$tabM
|
|||||||
if (!empty($conf->supplier_invoice->enabled)) {
|
if (!empty($conf->supplier_invoice->enabled)) {
|
||||||
if (!empty($conf->global->SUPPLIER_MENU_ORDER_RECEIVED_INTO_INVOICE)) {
|
if (!empty($conf->global->SUPPLIER_MENU_ORDER_RECEIVED_INTO_INVOICE)) {
|
||||||
$langs->load("supplier");
|
$langs->load("supplier");
|
||||||
$newmenu->add("/fourn/commande/list.php?leftmenu=orders&search_status=5&billed=0", $langs->trans("MenuOrdersSupplierToBill"), 0, $user->rights->commande->lire, '', $mainmenu, 'orders');
|
$newmenu->add("/fourn/commande/list.php?leftmenu=orders&search_status=5&billed=0", $langs->trans("MenuOrdersSupplierToBill"), 0, $user->rights->commande->lire, '', $mainmenu, 'orders', 0, '', '', '', img_picto('', 'supplier_order', 'class="paddingright pictofixedwidth"'));
|
||||||
//if ($usemenuhider || empty($leftmenu) || $leftmenu=="orders") $newmenu->add("/commande/", $langs->trans("StatusOrderToBill"), 1, $user->rights->commande->lire);
|
//if ($usemenuhider || empty($leftmenu) || $leftmenu=="orders") $newmenu->add("/commande/", $langs->trans("StatusOrderToBill"), 1, $user->rights->commande->lire);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1081,7 +1082,7 @@ function print_left_eldy_menu($db, $menu_array_before, $menu_array_after, &$tabM
|
|||||||
// Donations
|
// Donations
|
||||||
if (!empty($conf->don->enabled)) {
|
if (!empty($conf->don->enabled)) {
|
||||||
$langs->load("donations");
|
$langs->load("donations");
|
||||||
$newmenu->add("/don/index.php?leftmenu=donations&mainmenu=billing", $langs->trans("Donations"), 0, $user->rights->don->lire, '', $mainmenu, 'donations');
|
$newmenu->add("/don/index.php?leftmenu=donations&mainmenu=billing", $langs->trans("Donations"), 0, $user->rights->don->lire, '', $mainmenu, 'donations', 0, '', '', '', img_picto('', 'donation', 'class="paddingright pictofixedwidth"'));
|
||||||
if ($usemenuhider || empty($leftmenu) || $leftmenu == "donations") {
|
if ($usemenuhider || empty($leftmenu) || $leftmenu == "donations") {
|
||||||
$newmenu->add("/don/card.php?leftmenu=donations&action=create", $langs->trans("NewDonation"), 1, $user->rights->don->creer);
|
$newmenu->add("/don/card.php?leftmenu=donations&action=create", $langs->trans("NewDonation"), 1, $user->rights->don->creer);
|
||||||
$newmenu->add("/don/list.php?leftmenu=donations", $langs->trans("List"), 1, $user->rights->don->lire);
|
$newmenu->add("/don/list.php?leftmenu=donations", $langs->trans("List"), 1, $user->rights->don->lire);
|
||||||
@ -1091,7 +1092,7 @@ function print_left_eldy_menu($db, $menu_array_before, $menu_array_after, &$tabM
|
|||||||
|
|
||||||
// Taxes and social contributions
|
// Taxes and social contributions
|
||||||
if (!empty($conf->tax->enabled)) {
|
if (!empty($conf->tax->enabled)) {
|
||||||
$newmenu->add("/compta/charges/index.php?leftmenu=tax&mainmenu=billing", $langs->trans("MenuTaxesAndSpecialExpenses"), 0, $user->rights->tax->charges->lire, '', $mainmenu, 'tax');
|
$newmenu->add("/compta/charges/index.php?leftmenu=tax&mainmenu=billing", $langs->trans("MenuTaxesAndSpecialExpenses"), 0, $user->rights->tax->charges->lire, '', $mainmenu, 'tax', 0, '', '', '', img_picto('', 'payment', 'class="paddingright pictofixedwidth"'));
|
||||||
|
|
||||||
$newmenu->add("/compta/sociales/list.php?leftmenu=tax_social", $langs->trans("MenuSocialContributions"), 1, $user->rights->tax->charges->lire);
|
$newmenu->add("/compta/sociales/list.php?leftmenu=tax_social", $langs->trans("MenuSocialContributions"), 1, $user->rights->tax->charges->lire);
|
||||||
if ($usemenuhider || empty($leftmenu) || preg_match('/^tax_social/i', $leftmenu)) {
|
if ($usemenuhider || empty($leftmenu) || preg_match('/^tax_social/i', $leftmenu)) {
|
||||||
@ -1141,7 +1142,7 @@ function print_left_eldy_menu($db, $menu_array_before, $menu_array_after, &$tabM
|
|||||||
// Salaries
|
// Salaries
|
||||||
if (!empty($conf->salaries->enabled)) {
|
if (!empty($conf->salaries->enabled)) {
|
||||||
$langs->load("salaries");
|
$langs->load("salaries");
|
||||||
$newmenu->add("/salaries/list.php?leftmenu=tax_salary&mainmenu=billing", $langs->trans("Salaries"), 0, $user->rights->salaries->read, '', $mainmenu, 'tax_salary');
|
$newmenu->add("/salaries/list.php?leftmenu=tax_salary&mainmenu=billing", $langs->trans("Salaries"), 0, $user->rights->salaries->read, '', $mainmenu, 'tax_salary', 0, '', '', '', img_picto('', 'salary', 'class="paddingright pictofixedwidth"'));
|
||||||
if ($usemenuhider || empty($leftmenu) || preg_match('/^tax_salary/i', $leftmenu)) {
|
if ($usemenuhider || empty($leftmenu) || preg_match('/^tax_salary/i', $leftmenu)) {
|
||||||
$newmenu->add("/salaries/card.php?leftmenu=tax_salary&action=create", $langs->trans("NewPayment"), 1, $user->rights->salaries->write);
|
$newmenu->add("/salaries/card.php?leftmenu=tax_salary&action=create", $langs->trans("NewPayment"), 1, $user->rights->salaries->write);
|
||||||
$newmenu->add("/salaries/list.php?leftmenu=tax_salary", $langs->trans("Payments"), 1, $user->rights->salaries->read);
|
$newmenu->add("/salaries/list.php?leftmenu=tax_salary", $langs->trans("Payments"), 1, $user->rights->salaries->read);
|
||||||
@ -1152,7 +1153,7 @@ function print_left_eldy_menu($db, $menu_array_before, $menu_array_after, &$tabM
|
|||||||
// Loan
|
// Loan
|
||||||
if (!empty($conf->loan->enabled)) {
|
if (!empty($conf->loan->enabled)) {
|
||||||
$langs->load("loan");
|
$langs->load("loan");
|
||||||
$newmenu->add("/loan/list.php?leftmenu=tax_loan&mainmenu=billing", $langs->trans("Loans"), 0, $user->rights->loan->read, '', $mainmenu, 'tax_loan');
|
$newmenu->add("/loan/list.php?leftmenu=tax_loan&mainmenu=billing", $langs->trans("Loans"), 0, $user->rights->loan->read, '', $mainmenu, 'tax_loan', 0, '', '', '', img_picto('', 'loan', 'class="paddingright pictofixedwidth"'));
|
||||||
if ($usemenuhider || empty($leftmenu) || preg_match('/^tax_loan/i', $leftmenu)) {
|
if ($usemenuhider || empty($leftmenu) || preg_match('/^tax_loan/i', $leftmenu)) {
|
||||||
$newmenu->add("/loan/card.php?leftmenu=tax_loan&action=create", $langs->trans("NewLoan"), 1, $user->rights->loan->write);
|
$newmenu->add("/loan/card.php?leftmenu=tax_loan&action=create", $langs->trans("NewLoan"), 1, $user->rights->loan->write);
|
||||||
//$newmenu->add("/loan/payment/list.php?leftmenu=tax_loan",$langs->trans("Payments"),2,$user->rights->loan->read);
|
//$newmenu->add("/loan/payment/list.php?leftmenu=tax_loan",$langs->trans("Payments"),2,$user->rights->loan->read);
|
||||||
@ -1162,7 +1163,7 @@ function print_left_eldy_menu($db, $menu_array_before, $menu_array_after, &$tabM
|
|||||||
// Various payment
|
// Various payment
|
||||||
if (!empty($conf->banque->enabled) && empty($conf->global->BANK_USE_OLD_VARIOUS_PAYMENT)) {
|
if (!empty($conf->banque->enabled) && empty($conf->global->BANK_USE_OLD_VARIOUS_PAYMENT)) {
|
||||||
$langs->load("banks");
|
$langs->load("banks");
|
||||||
$newmenu->add("/compta/bank/various_payment/list.php?leftmenu=tax_various&mainmenu=billing", $langs->trans("MenuVariousPayment"), 0, $user->rights->banque->lire, '', $mainmenu, 'tax_various');
|
$newmenu->add("/compta/bank/various_payment/list.php?leftmenu=tax_various&mainmenu=billing", $langs->trans("MenuVariousPayment"), 0, $user->rights->banque->lire, '', $mainmenu, 'tax_various', 0, '', '', '', img_picto('', 'payment', 'class="paddingright pictofixedwidth"'));
|
||||||
if ($usemenuhider || empty($leftmenu) || preg_match('/^tax_various/i', $leftmenu)) {
|
if ($usemenuhider || empty($leftmenu) || preg_match('/^tax_various/i', $leftmenu)) {
|
||||||
$newmenu->add("/compta/bank/various_payment/card.php?leftmenu=tax_various&action=create", $langs->trans("New"), 1, $user->rights->banque->modifier);
|
$newmenu->add("/compta/bank/various_payment/card.php?leftmenu=tax_various&action=create", $langs->trans("New"), 1, $user->rights->banque->modifier);
|
||||||
$newmenu->add("/compta/bank/various_payment/list.php?leftmenu=tax_various", $langs->trans("List"), 1, $user->rights->banque->lire);
|
$newmenu->add("/compta/bank/various_payment/list.php?leftmenu=tax_various", $langs->trans("List"), 1, $user->rights->banque->lire);
|
||||||
@ -1656,7 +1657,7 @@ function print_left_eldy_menu($db, $menu_array_before, $menu_array_after, &$tabM
|
|||||||
if (!empty($conf->bom->enabled) || !empty($conf->mrp->enabled)) {
|
if (!empty($conf->bom->enabled) || !empty($conf->mrp->enabled)) {
|
||||||
$langs->load("mrp");
|
$langs->load("mrp");
|
||||||
|
|
||||||
$newmenu->add("", $langs->trans("MenuBOM"), 0, $user->rights->bom->read, '', $mainmenu, 'bom');
|
$newmenu->add("", $langs->trans("MenuBOM"), 0, $user->rights->bom->read, '', $mainmenu, 'bom', 0, '', '', '', img_picto('', 'bom', 'class="paddingrightonly pictofixedwidth"'));
|
||||||
$newmenu->add("/bom/bom_card.php?leftmenu=bom&action=create", $langs->trans("NewBOM"), 1, $user->rights->bom->write, '', $mainmenu, 'bom');
|
$newmenu->add("/bom/bom_card.php?leftmenu=bom&action=create", $langs->trans("NewBOM"), 1, $user->rights->bom->write, '', $mainmenu, 'bom');
|
||||||
$newmenu->add("/bom/bom_list.php?leftmenu=bom", $langs->trans("List"), 1, $user->rights->bom->read, '', $mainmenu, 'bom');
|
$newmenu->add("/bom/bom_list.php?leftmenu=bom", $langs->trans("List"), 1, $user->rights->bom->read, '', $mainmenu, 'bom');
|
||||||
}
|
}
|
||||||
@ -1664,7 +1665,7 @@ function print_left_eldy_menu($db, $menu_array_before, $menu_array_after, &$tabM
|
|||||||
if (!empty($conf->mrp->enabled)) {
|
if (!empty($conf->mrp->enabled)) {
|
||||||
$langs->load("mrp");
|
$langs->load("mrp");
|
||||||
|
|
||||||
$newmenu->add("", $langs->trans("MenuMRP"), 0, $user->rights->mrp->read, '', $mainmenu, 'mo');
|
$newmenu->add("", $langs->trans("MenuMRP"), 0, $user->rights->mrp->read, '', $mainmenu, 'mo', 0, '', '', '', img_picto('', 'mrp', 'class="paddingrightonly pictofixedwidth"'));
|
||||||
$newmenu->add("/mrp/mo_card.php?leftmenu=mo&action=create", $langs->trans("NewMO"), 1, $user->rights->mrp->write, '', $mainmenu, 'mo');
|
$newmenu->add("/mrp/mo_card.php?leftmenu=mo&action=create", $langs->trans("NewMO"), 1, $user->rights->mrp->write, '', $mainmenu, 'mo');
|
||||||
$newmenu->add("/mrp/mo_list.php?leftmenu=mo", $langs->trans("List"), 1, $user->rights->mrp->read, '', $mainmenu, 'mo');
|
$newmenu->add("/mrp/mo_list.php?leftmenu=mo", $langs->trans("List"), 1, $user->rights->mrp->read, '', $mainmenu, 'mo');
|
||||||
}
|
}
|
||||||
@ -1808,11 +1809,11 @@ function print_left_eldy_menu($db, $menu_array_before, $menu_array_after, &$tabM
|
|||||||
if ($mainmenu == 'tools') {
|
if ($mainmenu == 'tools') {
|
||||||
if (empty($user->socid)) { // limit to internal users
|
if (empty($user->socid)) { // limit to internal users
|
||||||
$langs->load("mails");
|
$langs->load("mails");
|
||||||
$newmenu->add("/admin/mails_templates.php?leftmenu=email_templates", $langs->trans("EMailTemplates"), 0, 1, '', $mainmenu, 'email_templates');
|
$newmenu->add("/admin/mails_templates.php?leftmenu=email_templates", $langs->trans("EMailTemplates"), 0, 1, '', $mainmenu, 'email_templates', 0, '', '', '', img_picto('', 'email', 'class="paddingright pictofixedwidth"'));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!empty($conf->mailing->enabled)) {
|
if (!empty($conf->mailing->enabled)) {
|
||||||
$newmenu->add("/comm/mailing/index.php?leftmenu=mailing", $langs->trans("EMailings"), 0, $user->rights->mailing->lire, '', $mainmenu, 'mailing');
|
$newmenu->add("/comm/mailing/index.php?leftmenu=mailing", $langs->trans("EMailings"), 0, $user->rights->mailing->lire, '', $mainmenu, 'mailing', 0, '', '', '', img_picto('', 'email', 'class="paddingright pictofixedwidth"'));
|
||||||
$newmenu->add("/comm/mailing/card.php?leftmenu=mailing&action=create", $langs->trans("NewMailing"), 1, $user->rights->mailing->creer);
|
$newmenu->add("/comm/mailing/card.php?leftmenu=mailing&action=create", $langs->trans("NewMailing"), 1, $user->rights->mailing->creer);
|
||||||
$newmenu->add("/comm/mailing/list.php?leftmenu=mailing", $langs->trans("List"), 1, $user->rights->mailing->lire);
|
$newmenu->add("/comm/mailing/list.php?leftmenu=mailing", $langs->trans("List"), 1, $user->rights->mailing->lire);
|
||||||
}
|
}
|
||||||
@ -1839,7 +1840,7 @@ function print_left_eldy_menu($db, $menu_array_before, $menu_array_after, &$tabM
|
|||||||
// Load translation files required by the page
|
// Load translation files required by the page
|
||||||
$langs->loadLangs(array("members", "compta"));
|
$langs->loadLangs(array("members", "compta"));
|
||||||
|
|
||||||
$newmenu->add("/adherents/index.php?leftmenu=members&mainmenu=members", $langs->trans("Members"), 0, $user->rights->adherent->lire, '', $mainmenu, 'members');
|
$newmenu->add("/adherents/index.php?leftmenu=members&mainmenu=members", $langs->trans("Members"), 0, $user->rights->adherent->lire, '', $mainmenu, 'members', 0, '', '', '', img_picto('', 'member', 'class="paddingright pictofixedwidth"'));
|
||||||
$newmenu->add("/adherents/card.php?leftmenu=members&action=create", $langs->trans("NewMember"), 1, $user->rights->adherent->creer);
|
$newmenu->add("/adherents/card.php?leftmenu=members&action=create", $langs->trans("NewMember"), 1, $user->rights->adherent->creer);
|
||||||
$newmenu->add("/adherents/list.php?leftmenu=members", $langs->trans("List"), 1, $user->rights->adherent->lire);
|
$newmenu->add("/adherents/list.php?leftmenu=members", $langs->trans("List"), 1, $user->rights->adherent->lire);
|
||||||
$newmenu->add("/adherents/list.php?leftmenu=members&statut=-1", $langs->trans("MenuMembersToValidate"), 2, $user->rights->adherent->lire);
|
$newmenu->add("/adherents/list.php?leftmenu=members&statut=-1", $langs->trans("MenuMembersToValidate"), 2, $user->rights->adherent->lire);
|
||||||
@ -1889,7 +1890,6 @@ function print_left_eldy_menu($db, $menu_array_before, $menu_array_after, &$tabM
|
|||||||
//print $paramkey;
|
//print $paramkey;
|
||||||
if (!empty($conf->global->$paramkey)) {
|
if (!empty($conf->global->$paramkey)) {
|
||||||
$link = "/ftp/index.php?idmenu=".$_SESSION["idmenu"]."&numero_ftp=".$i;
|
$link = "/ftp/index.php?idmenu=".$_SESSION["idmenu"]."&numero_ftp=".$i;
|
||||||
|
|
||||||
$newmenu->add($link, dol_trunc($conf->global->$paramkey, 24));
|
$newmenu->add($link, dol_trunc($conf->global->$paramkey, 24));
|
||||||
}
|
}
|
||||||
$i++;
|
$i++;
|
||||||
|
|||||||
@ -198,8 +198,8 @@ class MenuManager
|
|||||||
$submenu->add("/admin/translation.php?mainmenu=home", $langs->trans("Translation"), 1);
|
$submenu->add("/admin/translation.php?mainmenu=home", $langs->trans("Translation"), 1);
|
||||||
$submenu->add("/admin/defaultvalues.php?mainmenu=home", $langs->trans("DefaultValues"), 1);
|
$submenu->add("/admin/defaultvalues.php?mainmenu=home", $langs->trans("DefaultValues"), 1);
|
||||||
|
|
||||||
$submenu->add("/admin/boxes.php", $langs->trans("Boxes"), 1);
|
$submenu->add("/admin/boxes.php?mainmenu=home", $langs->trans("Boxes"), 1);
|
||||||
$submenu->add("/admin/delais.php", $langs->trans("Alerts"), 1);
|
$submenu->add("/admin/delais.php?mainmenu=home", $langs->trans("Alerts"), 1);
|
||||||
$submenu->add("/admin/proxy.php?mainmenu=home", $langs->trans("Security"), 1);
|
$submenu->add("/admin/proxy.php?mainmenu=home", $langs->trans("Security"), 1);
|
||||||
$submenu->add("/admin/limits.php?mainmenu=home", $langs->trans("MenuLimits"), 1);
|
$submenu->add("/admin/limits.php?mainmenu=home", $langs->trans("MenuLimits"), 1);
|
||||||
$submenu->add("/admin/pdf.php?mainmenu=home", $langs->trans("PDF"), 1);
|
$submenu->add("/admin/pdf.php?mainmenu=home", $langs->trans("PDF"), 1);
|
||||||
@ -340,8 +340,8 @@ class MenuManager
|
|||||||
$this->menu->add("/admin/translation.php?mainmenu=home", $langs->trans("Translation"), 1);
|
$this->menu->add("/admin/translation.php?mainmenu=home", $langs->trans("Translation"), 1);
|
||||||
$this->menu->add("/admin/defaultvalues.php?mainmenu=home", $langs->trans("DefaultValues"), 1);
|
$this->menu->add("/admin/defaultvalues.php?mainmenu=home", $langs->trans("DefaultValues"), 1);
|
||||||
|
|
||||||
$this->menu->add("/admin/boxes.php", $langs->trans("Boxes"), 1);
|
$this->menu->add("/admin/boxes.php?mainmenu=home", $langs->trans("Boxes"), 1);
|
||||||
$this->menu->add("/admin/delais.php", $langs->trans("Alerts"), 1);
|
$this->menu->add("/admin/delais.php?mainmenu=home", $langs->trans("Alerts"), 1);
|
||||||
$this->menu->add("/admin/proxy.php?mainmenu=home", $langs->trans("Security"), 1);
|
$this->menu->add("/admin/proxy.php?mainmenu=home", $langs->trans("Security"), 1);
|
||||||
$this->menu->add("/admin/limits.php?mainmenu=home", $langs->trans("MenuLimits"), 1);
|
$this->menu->add("/admin/limits.php?mainmenu=home", $langs->trans("MenuLimits"), 1);
|
||||||
$this->menu->add("/admin/pdf.php?mainmenu=home", $langs->trans("PDF"), 1);
|
$this->menu->add("/admin/pdf.php?mainmenu=home", $langs->trans("PDF"), 1);
|
||||||
|
|||||||
@ -316,7 +316,7 @@ class DolibarrModules // Can not be abstract, because we need to instantiate it
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @var array Minimum version of PHP required by module.
|
* @var array Minimum version of PHP required by module.
|
||||||
* e.g.: PHP ≥ 5.4 = array(5, 4)
|
* e.g.: PHP ≥ 5.6 = array(5, 6)
|
||||||
*/
|
*/
|
||||||
public $phpmin;
|
public $phpmin;
|
||||||
|
|
||||||
@ -353,14 +353,12 @@ class DolibarrModules // Can not be abstract, because we need to instantiate it
|
|||||||
// phpcs:disable PEAR.NamingConventions.ValidFunctionName.PublicUnderscore
|
// phpcs:disable PEAR.NamingConventions.ValidFunctionName.PublicUnderscore
|
||||||
/**
|
/**
|
||||||
* Enables a module.
|
* Enables a module.
|
||||||
* Inserts all informations into database
|
* Inserts all informations into database.
|
||||||
*
|
*
|
||||||
* @param array $array_sql SQL requests to be executed when enabling module
|
* @param array $array_sql SQL requests to be executed when enabling module
|
||||||
* @param string $options String with options when disabling module:
|
* @param string $options String with options when disabling module:
|
||||||
* - 'noboxes' = Do not insert boxes -
|
* - 'noboxes' = Do not insert boxes
|
||||||
* 'newboxdefonly' = For boxes, insert def of
|
* - 'newboxdefonly' = For boxes, insert def of boxes only and not boxes activation
|
||||||
* boxes only and not boxes activation
|
|
||||||
*
|
|
||||||
* @return int 1 if OK, 0 if KO
|
* @return int 1 if OK, 0 if KO
|
||||||
*/
|
*/
|
||||||
protected function _init($array_sql, $options = '')
|
protected function _init($array_sql, $options = '')
|
||||||
@ -1869,8 +1867,9 @@ class DolibarrModules // Can not be abstract, because we need to instantiate it
|
|||||||
$menu->mainmenu = isset($this->menu[$key]['mainmenu']) ? $this->menu[$key]['mainmenu'] : (isset($menu->fk_mainmenu) ? $menu->fk_mainmenu : '');
|
$menu->mainmenu = isset($this->menu[$key]['mainmenu']) ? $this->menu[$key]['mainmenu'] : (isset($menu->fk_mainmenu) ? $menu->fk_mainmenu : '');
|
||||||
$menu->leftmenu = isset($this->menu[$key]['leftmenu']) ? $this->menu[$key]['leftmenu'] : '';
|
$menu->leftmenu = isset($this->menu[$key]['leftmenu']) ? $this->menu[$key]['leftmenu'] : '';
|
||||||
$menu->title = $this->menu[$key]['titre'];
|
$menu->title = $this->menu[$key]['titre'];
|
||||||
|
$menu->prefix = isset($this->menu[$key]['prefix']) ? $this->menu[$key]['prefix'] : '';
|
||||||
$menu->url = $this->menu[$key]['url'];
|
$menu->url = $this->menu[$key]['url'];
|
||||||
$menu->langs = $this->menu[$key]['langs'];
|
$menu->langs = isset($this->menu[$key]['langs']) ? $this->menu[$key]['langs'] : '';
|
||||||
$menu->position = $this->menu[$key]['position'];
|
$menu->position = $this->menu[$key]['position'];
|
||||||
$menu->perms = $this->menu[$key]['perms'];
|
$menu->perms = $this->menu[$key]['perms'];
|
||||||
$menu->target = isset($this->menu[$key]['target']) ? $this->menu[$key]['target'] : '';
|
$menu->target = isset($this->menu[$key]['target']) ? $this->menu[$key]['target'] : '';
|
||||||
|
|||||||
@ -126,7 +126,7 @@ class pdf_eratosthene extends ModelePDFCommandes
|
|||||||
public $emetteur;
|
public $emetteur;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var array of document table collumns
|
* @var array of document table columns
|
||||||
*/
|
*/
|
||||||
public $cols;
|
public $cols;
|
||||||
|
|
||||||
|
|||||||
@ -55,6 +55,11 @@ class pdf_strato extends ModelePDFContract
|
|||||||
*/
|
*/
|
||||||
public $description;
|
public $description;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var int Save the name of generated file as the main doc when generating a doc with this template
|
||||||
|
*/
|
||||||
|
public $update_main_doc_field;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var string document type
|
* @var string document type
|
||||||
*/
|
*/
|
||||||
@ -131,6 +136,7 @@ class pdf_strato extends ModelePDFContract
|
|||||||
$this->db = $db;
|
$this->db = $db;
|
||||||
$this->name = 'strato';
|
$this->name = 'strato';
|
||||||
$this->description = $langs->trans("StandardContractsTemplate");
|
$this->description = $langs->trans("StandardContractsTemplate");
|
||||||
|
$this->update_main_doc_field = 1; // Save the name of generated file as the main doc when generating a doc with this template
|
||||||
|
|
||||||
// Page size for A4 format
|
// Page size for A4 format
|
||||||
$this->type = 'pdf';
|
$this->type = 'pdf';
|
||||||
|
|||||||
@ -3,7 +3,7 @@
|
|||||||
* Copyright (C) 2005-2014 Regis Houssin <regis.houssin@inodbox.com>
|
* Copyright (C) 2005-2014 Regis Houssin <regis.houssin@inodbox.com>
|
||||||
* Copyright (C) 2007 Franky Van Liedekerke <franky.van.liedekerke@telenet.be>
|
* Copyright (C) 2007 Franky Van Liedekerke <franky.van.liedekerke@telenet.be>
|
||||||
* Copyright (C) 2008 Chiptronik
|
* Copyright (C) 2008 Chiptronik
|
||||||
* Copyright (C) 2011-2019 Philippe Grand <philippe.grand@atoo-net.com>
|
* Copyright (C) 2011-2021 Philippe Grand <philippe.grand@atoo-net.com>
|
||||||
* Copyright (C) 2015 Marcos García <marcosgdf@gmail.com>
|
* Copyright (C) 2015 Marcos García <marcosgdf@gmail.com>
|
||||||
* Copyright (C) 2020 John BOTELLA
|
* Copyright (C) 2020 John BOTELLA
|
||||||
|
|
||||||
@ -54,6 +54,11 @@ class pdf_storm extends ModelePDFDeliveryOrder
|
|||||||
*/
|
*/
|
||||||
public $description;
|
public $description;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var int Save the name of generated file as the main doc when generating a doc with this template
|
||||||
|
*/
|
||||||
|
public $update_main_doc_field;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var string document type
|
* @var string document type
|
||||||
*/
|
*/
|
||||||
@ -61,9 +66,9 @@ class pdf_storm extends ModelePDFDeliveryOrder
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @var array Minimum version of PHP required by module.
|
* @var array Minimum version of PHP required by module.
|
||||||
* e.g.: PHP ≥ 5.5 = array(5, 5)
|
* e.g.: PHP ≥ 5.6 = array(5, 6)
|
||||||
*/
|
*/
|
||||||
public $phpmin = array(5, 5);
|
public $phpmin = array(5, 6);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Dolibarr version of the loaded document
|
* Dolibarr version of the loaded document
|
||||||
@ -127,6 +132,7 @@ class pdf_storm extends ModelePDFDeliveryOrder
|
|||||||
$this->db = $db;
|
$this->db = $db;
|
||||||
$this->name = "Storm";
|
$this->name = "Storm";
|
||||||
$this->description = $langs->trans("DocumentModelStorm");
|
$this->description = $langs->trans("DocumentModelStorm");
|
||||||
|
$this->update_main_doc_field = 1; // Save the name of generated file as the main doc when generating a doc with this template
|
||||||
|
|
||||||
// Page size for A4 format
|
// Page size for A4 format
|
||||||
$this->type = 'pdf';
|
$this->type = 'pdf';
|
||||||
|
|||||||
@ -3,7 +3,7 @@
|
|||||||
* Copyright (C) 2005-2014 Regis Houssin <regis.houssin@inodbox.com>
|
* Copyright (C) 2005-2014 Regis Houssin <regis.houssin@inodbox.com>
|
||||||
* Copyright (C) 2007 Franky Van Liedekerke <franky.van.liedekerke@telenet.be>
|
* Copyright (C) 2007 Franky Van Liedekerke <franky.van.liedekerke@telenet.be>
|
||||||
* Copyright (C) 2008 Chiptronik
|
* Copyright (C) 2008 Chiptronik
|
||||||
* Copyright (C) 2011-2020 Philippe Grand <philippe.grand@atoo-net.com>
|
* Copyright (C) 2011-2021 Philippe Grand <philippe.grand@atoo-net.com>
|
||||||
* Copyright (C) 2015 Marcos García <marcosgdf@gmail.com>
|
* Copyright (C) 2015 Marcos García <marcosgdf@gmail.com>
|
||||||
|
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
@ -53,6 +53,11 @@ class pdf_typhon extends ModelePDFDeliveryOrder
|
|||||||
*/
|
*/
|
||||||
public $description;
|
public $description;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var int Save the name of generated file as the main doc when generating a doc with this template
|
||||||
|
*/
|
||||||
|
public $update_main_doc_field;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var string document type
|
* @var string document type
|
||||||
*/
|
*/
|
||||||
@ -126,6 +131,7 @@ class pdf_typhon extends ModelePDFDeliveryOrder
|
|||||||
$this->db = $db;
|
$this->db = $db;
|
||||||
$this->name = "Typhon";
|
$this->name = "Typhon";
|
||||||
$this->description = $langs->trans("DocumentModelTyphon");
|
$this->description = $langs->trans("DocumentModelTyphon");
|
||||||
|
$this->update_main_doc_field = 1; // Save the name of generated file as the main doc when generating a doc with this template
|
||||||
|
|
||||||
// Page size for A4 format
|
// Page size for A4 format
|
||||||
$this->type = 'pdf';
|
$this->type = 'pdf';
|
||||||
|
|||||||
@ -51,6 +51,11 @@ class pdf_espadon extends ModelePdfExpedition
|
|||||||
*/
|
*/
|
||||||
public $description;
|
public $description;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var int Save the name of generated file as the main doc when generating a doc with this template
|
||||||
|
*/
|
||||||
|
public $update_main_doc_field;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var string document type
|
* @var string document type
|
||||||
*/
|
*/
|
||||||
@ -122,6 +127,7 @@ class pdf_espadon extends ModelePdfExpedition
|
|||||||
$this->db = $db;
|
$this->db = $db;
|
||||||
$this->name = "espadon";
|
$this->name = "espadon";
|
||||||
$this->description = $langs->trans("DocumentModelStandardPDF");
|
$this->description = $langs->trans("DocumentModelStandardPDF");
|
||||||
|
$this->update_main_doc_field = 1; // Save the name of generated file as the main doc when generating a doc with this template
|
||||||
|
|
||||||
$this->type = 'pdf';
|
$this->type = 'pdf';
|
||||||
$formatarray = pdf_getFormat();
|
$formatarray = pdf_getFormat();
|
||||||
|
|||||||
@ -52,6 +52,11 @@ class pdf_merou extends ModelePdfExpedition
|
|||||||
*/
|
*/
|
||||||
public $description;
|
public $description;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var int Save the name of generated file as the main doc when generating a doc with this template
|
||||||
|
*/
|
||||||
|
public $update_main_doc_field;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var string document type
|
* @var string document type
|
||||||
*/
|
*/
|
||||||
@ -123,6 +128,7 @@ class pdf_merou extends ModelePdfExpedition
|
|||||||
$this->db = $db;
|
$this->db = $db;
|
||||||
$this->name = "merou";
|
$this->name = "merou";
|
||||||
$this->description = $langs->trans("DocumentModelMerou");
|
$this->description = $langs->trans("DocumentModelMerou");
|
||||||
|
$this->update_main_doc_field = 1; // Save the name of generated file as the main doc when generating a doc with this template
|
||||||
|
|
||||||
$this->type = 'pdf';
|
$this->type = 'pdf';
|
||||||
$formatarray = pdf_getFormat();
|
$formatarray = pdf_getFormat();
|
||||||
|
|||||||
@ -52,6 +52,11 @@ class pdf_rouget extends ModelePdfExpedition
|
|||||||
*/
|
*/
|
||||||
public $description;
|
public $description;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var int Save the name of generated file as the main doc when generating a doc with this template
|
||||||
|
*/
|
||||||
|
public $update_main_doc_field;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var string document type
|
* @var string document type
|
||||||
*/
|
*/
|
||||||
@ -123,6 +128,7 @@ class pdf_rouget extends ModelePdfExpedition
|
|||||||
$this->db = $db;
|
$this->db = $db;
|
||||||
$this->name = "rouget";
|
$this->name = "rouget";
|
||||||
$this->description = $langs->trans("DocumentModelStandardPDF");
|
$this->description = $langs->trans("DocumentModelStandardPDF");
|
||||||
|
$this->update_main_doc_field = 1; // Save the name of generated file as the main doc when generating a doc with this template
|
||||||
|
|
||||||
$this->type = 'pdf';
|
$this->type = 'pdf';
|
||||||
$formatarray = pdf_getFormat();
|
$formatarray = pdf_getFormat();
|
||||||
|
|||||||
@ -59,6 +59,11 @@ class pdf_standard extends ModeleExpenseReport
|
|||||||
*/
|
*/
|
||||||
public $description;
|
public $description;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var int Save the name of generated file as the main doc when generating a doc with this template
|
||||||
|
*/
|
||||||
|
public $update_main_doc_field;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var string document type
|
* @var string document type
|
||||||
*/
|
*/
|
||||||
@ -133,6 +138,7 @@ class pdf_standard extends ModeleExpenseReport
|
|||||||
$this->db = $db;
|
$this->db = $db;
|
||||||
$this->name = "";
|
$this->name = "";
|
||||||
$this->description = $langs->trans('PDFStandardExpenseReports');
|
$this->description = $langs->trans('PDFStandardExpenseReports');
|
||||||
|
$this->update_main_doc_field = 1; // Save the name of generated file as the main doc when generating a doc with this template
|
||||||
|
|
||||||
// Page size for A4 format
|
// Page size for A4 format
|
||||||
$this->type = 'pdf';
|
$this->type = 'pdf';
|
||||||
|
|||||||
@ -17,7 +17,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \file htdocs/core/modules/export/export_excel2007new.modules.php
|
* \file htdocs/core/modules/export/export_excel2007.modules.php
|
||||||
* \ingroup export
|
* \ingroup export
|
||||||
* \brief File of class to generate export file with Excel format
|
* \brief File of class to generate export file with Excel format
|
||||||
*/
|
*/
|
||||||
@ -32,7 +32,7 @@ use PhpOffice\PhpSpreadsheet\Cell\Coordinate;
|
|||||||
/**
|
/**
|
||||||
* Class to build export files with Excel format
|
* Class to build export files with Excel format
|
||||||
*/
|
*/
|
||||||
class ExportExcel2007new extends ModeleExports
|
class ExportExcel2007 extends ModeleExports
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* @var string ID
|
* @var string ID
|
||||||
@ -79,7 +79,7 @@ class ExportExcel2007new extends ModeleExports
|
|||||||
global $conf, $langs;
|
global $conf, $langs;
|
||||||
$this->db = $db;
|
$this->db = $db;
|
||||||
|
|
||||||
$this->id = 'excel2007new'; // Same value then xxx in file name export_xxx.modules.php
|
$this->id = 'excel2007'; // Same value then xxx in file name export_xxx.modules.php
|
||||||
$this->label = 'Excel 2007'; // Label of driver
|
$this->label = 'Excel 2007'; // Label of driver
|
||||||
$this->desc = $langs->trans('Excel2007FormatDesc');
|
$this->desc = $langs->trans('Excel2007FormatDesc');
|
||||||
$this->extension = 'xlsx'; // Extension for generated file by this driver
|
$this->extension = 'xlsx'; // Extension for generated file by this driver
|
||||||
@ -199,7 +199,7 @@ class ExportExcel2007new extends ModeleExports
|
|||||||
require_once DOL_DOCUMENT_ROOT.'/includes/Psr/autoloader.php';
|
require_once DOL_DOCUMENT_ROOT.'/includes/Psr/autoloader.php';
|
||||||
require_once PHPEXCELNEW_PATH.'Spreadsheet.php';
|
require_once PHPEXCELNEW_PATH.'Spreadsheet.php';
|
||||||
|
|
||||||
if ($this->id == 'excel2007new')
|
if ($this->id == 'excel2007')
|
||||||
{
|
{
|
||||||
if (!class_exists('ZipArchive')) // For Excel2007, PHPSpreadSheet may need ZipArchive
|
if (!class_exists('ZipArchive')) // For Excel2007, PHPSpreadSheet may need ZipArchive
|
||||||
{
|
{
|
||||||
@ -128,7 +128,7 @@ class pdf_sponge extends ModelePDFFactures
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var array of document table collumns
|
* @var array of document table columns
|
||||||
*/
|
*/
|
||||||
public $cols;
|
public $cols;
|
||||||
|
|
||||||
|
|||||||
@ -54,6 +54,11 @@ class pdf_soleil extends ModelePDFFicheinter
|
|||||||
*/
|
*/
|
||||||
public $description;
|
public $description;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var int Save the name of generated file as the main doc when generating a doc with this template
|
||||||
|
*/
|
||||||
|
public $update_main_doc_field;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var string document type
|
* @var string document type
|
||||||
*/
|
*/
|
||||||
@ -124,6 +129,7 @@ class pdf_soleil extends ModelePDFFicheinter
|
|||||||
$this->db = $db;
|
$this->db = $db;
|
||||||
$this->name = 'soleil';
|
$this->name = 'soleil';
|
||||||
$this->description = $langs->trans("DocumentModelStandardPDF");
|
$this->description = $langs->trans("DocumentModelStandardPDF");
|
||||||
|
$this->update_main_doc_field = 1; // Save the name of generated file as the main doc when generating a doc with this template
|
||||||
|
|
||||||
// Page size for A4 format
|
// Page size for A4 format
|
||||||
$this->type = 'pdf';
|
$this->type = 'pdf';
|
||||||
|
|||||||
@ -618,6 +618,7 @@ class ImportCsv extends ModeleImports
|
|||||||
if (!empty($objimport->array_import_regex[0][$val]) && ($newval != ''))
|
if (!empty($objimport->array_import_regex[0][$val]) && ($newval != ''))
|
||||||
{
|
{
|
||||||
// If test is "Must exist in a field@table or field@table:..."
|
// If test is "Must exist in a field@table or field@table:..."
|
||||||
|
$reg = array();
|
||||||
if (preg_match('/^(.+)@([^:]+)(:.+)?$/', $objimport->array_import_regex[0][$val], $reg))
|
if (preg_match('/^(.+)@([^:]+)(:.+)?$/', $objimport->array_import_regex[0][$val], $reg))
|
||||||
{
|
{
|
||||||
$field = $reg[1];
|
$field = $reg[1];
|
||||||
@ -844,7 +845,7 @@ class ImportCsv extends ModeleImports
|
|||||||
$sqlend .= ', '.$user->id;
|
$sqlend .= ', '.$user->id;
|
||||||
}
|
}
|
||||||
$sql = $sqlstart.$sqlend.')';
|
$sql = $sqlstart.$sqlend.')';
|
||||||
dol_syslog("import_csv.modules", LOG_DEBUG);
|
//dol_syslog("import_csv.modules", LOG_DEBUG);
|
||||||
|
|
||||||
// Run insert request
|
// Run insert request
|
||||||
if ($sql)
|
if ($sql)
|
||||||
|
|||||||
@ -636,6 +636,7 @@ class ImportXlsx extends ModeleImports
|
|||||||
// Test regexp
|
// Test regexp
|
||||||
if (!empty($objimport->array_import_regex[0][$val]) && ($newval != '')) {
|
if (!empty($objimport->array_import_regex[0][$val]) && ($newval != '')) {
|
||||||
// If test is "Must exist in a field@table or field@table:..."
|
// If test is "Must exist in a field@table or field@table:..."
|
||||||
|
$reg = array();
|
||||||
if (preg_match('/^(.+)@([^:]+)(:.+)?$/', $objimport->array_import_regex[0][$val], $reg)) {
|
if (preg_match('/^(.+)@([^:]+)(:.+)?$/', $objimport->array_import_regex[0][$val], $reg)) {
|
||||||
$field = $reg[1];
|
$field = $reg[1];
|
||||||
$table = $reg[2];
|
$table = $reg[2];
|
||||||
@ -845,7 +846,7 @@ class ImportXlsx extends ModeleImports
|
|||||||
$sqlend .= ', ' . $user->id;
|
$sqlend .= ', ' . $user->id;
|
||||||
}
|
}
|
||||||
$sql = $sqlstart . $sqlend . ')';
|
$sql = $sqlstart . $sqlend . ')';
|
||||||
dol_syslog("import_xlsx.modules", LOG_DEBUG);
|
//dol_syslog("import_xlsx.modules", LOG_DEBUG);
|
||||||
|
|
||||||
// Run insert request
|
// Run insert request
|
||||||
if ($sql) {
|
if ($sql) {
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user