Merge remote-tracking branch 'Dolibarr/develop' into MassClose
This commit is contained in:
commit
46f5e7b06b
@ -289,7 +289,7 @@ script:
|
|||||||
# Ensure we catch errors
|
# Ensure we catch errors
|
||||||
set -e
|
set -e
|
||||||
#parallel-lint --exclude htdocs/includes --blame .
|
#parallel-lint --exclude htdocs/includes --blame .
|
||||||
parallel-lint --exclude htdocs/includes/sabre --exclude htdocs/includes/squizlabs/php_codesniffer/tests --exclude htdocs/includes/jakub-onderka/php-parallel-lint/tests --exclude htdocs/includes/mike42/escpos-php/example --exclude htdocs/includes/phpunit/php-token-stream/tests --exclude htdocs/includes/composer/autoload_static.php --blame .
|
parallel-lint --exclude htdocs/includes/sabre --exclude htdocs/includes/sebastian --exclude htdocs/includes/squizlabs/php_codesniffer/tests --exclude htdocs/includes/jakub-onderka/php-parallel-lint/tests --exclude htdocs/includes/mike42/escpos-php/example --exclude htdocs/includes/phpunit/php-token-stream/tests --exclude htdocs/includes/composer/autoload_static.php --blame .
|
||||||
set +e
|
set +e
|
||||||
echo
|
echo
|
||||||
|
|
||||||
|
|||||||
103
ChangeLog
103
ChangeLog
@ -5,20 +5,111 @@ English Dolibarr ChangeLog
|
|||||||
|
|
||||||
***** ChangeLog for 9.0.0 compared to 8.0.0 *****
|
***** ChangeLog for 9.0.0 compared to 8.0.0 *****
|
||||||
For Users:
|
For Users:
|
||||||
NEW: Stable module: Website
|
NEW: Stable module: DAV (WebDAV only for the moment)
|
||||||
NEW: Stable module: WebDAV
|
|
||||||
NEW: Stable module: Module Builder
|
|
||||||
NEW: Stable module "Skype" has been replaced with module "Social Networks" to support more services.
|
NEW: Stable module "Skype" has been replaced with module "Social Networks" to support more services.
|
||||||
|
NEW: Stable module "Module Builder"
|
||||||
|
NEW: Stable module: Website
|
||||||
NEW: Experimental module "TakePos"
|
NEW: Experimental module "TakePos"
|
||||||
NEW: Experimental module "Ticket"
|
NEW: Experimental module "Ticket"
|
||||||
|
NEW: Experimental module "Data Privacy"
|
||||||
|
NEW: Experimental module "Email Collector"
|
||||||
NEW: Dolibarr can provide information in page title when multicompany is enabled of not, making
|
NEW: Dolibarr can provide information in page title when multicompany is enabled of not, making
|
||||||
Android application like DoliDroid able to provide native features for multicompany module.
|
Android application like DoliDroid able to provide native features for multicompany module.
|
||||||
NEW: Compatibility with PHP 7.3
|
NEW: Compatibility with PHP 7.3 =>
|
||||||
|
NEW: Add admin page for modulebuilder
|
||||||
|
NEW: Add civility in list of members. Close #9251
|
||||||
|
NEW: Add configuration to disable "customer/prospect" thirdparty type
|
||||||
|
NEW: Add CONTRACT_ALLOW_TO_LINK_FROM_OTHER_COMPANY and CONTRACT_HIDE_UNSELECTABLES by SELECT_HIDE_UNSELECTABLES
|
||||||
|
NEW: Add __DAY_TEXT__ and __MONTH_TEXT__ substitutions vars
|
||||||
|
NEW: Add due date column in payment lists
|
||||||
|
NEW: Add email in event history, for reminder email of expired subsription
|
||||||
|
NEW: Add event tab on resource record
|
||||||
|
NEW: Add FEC Export in accountancy
|
||||||
|
NEW: Add filter on staff range in list of thirdparties
|
||||||
|
NEW: Add a first complete template of website
|
||||||
|
NEW: Add format code into exported filename of ledger
|
||||||
|
NEW: Add hidden option EXPENSEREPORT_DEFAULT_VALIDATOR_UNCHANGEABLE
|
||||||
|
NEW: Add hidden option MAIN_DOCUMENTS_DESCRIPTION_FIRST
|
||||||
|
NEW: Add link to inventory code
|
||||||
|
NEW: Add more common social networks fields for business
|
||||||
|
NEW: Add option PDF_DISABLE_MYCOMPANY_LOGO to disable logo on PDF
|
||||||
|
NEW: add option PROPOSAL_AUTO_ADD_AUTHOR_AS_CONTACT
|
||||||
|
NEW: Add option to display thirdparty adress in combolist
|
||||||
|
NEW: Add option to swap sender/recipient address on PDF
|
||||||
|
NEW: Add option to display thirdparty adress in combolist
|
||||||
|
NEW: Add project on pament of salaries
|
||||||
|
NEW: Add SHIPPING_PDF_HIDE_WEIGHT_AND_VOLUME and
|
||||||
|
NEW: Add somes hooks in bank planned entries
|
||||||
|
NEW: Add supplier ref in item reception page
|
||||||
|
NEW: Advanced permission to ignore price min
|
||||||
|
NEW: Allow to enter a timespent with a numeric value
|
||||||
|
NEW: Automatic position of scroll when creating an extrafield
|
||||||
|
NEW: Can add autorefresh=X in any URLs to refresh page after X seconds
|
||||||
|
NEW: can add project's task to agenda on create event form
|
||||||
|
NEW: Can delete a website in experimental website module
|
||||||
|
NEW: Can disable meteo on smartphone only
|
||||||
|
NEW: Can export/import a website template
|
||||||
|
NEW: Can filter on EEC, not EEC, etc... in binding step of accountancy
|
||||||
|
NEW: Can mix offset before and after with rules for due date of invoices
|
||||||
|
NEW: Can record the supplier product description
|
||||||
|
NEW: Can select several prospect level in thirdparty filter.
|
||||||
|
NEW: Can set 2 url in url field of thirdparty
|
||||||
|
NEW: Can set if a field is mandatory on form level.
|
||||||
|
NEW: Can set the default focus of each page.
|
||||||
|
NEW: Add category filter on user list
|
||||||
|
NEW: Change forgotten password link in general parameters
|
||||||
|
NEW: Child label of variants change if parent label changes
|
||||||
|
NEW: Compatibility with new Paybox HMAC requirement
|
||||||
|
NEW: Each user can set its prefered default calendar page
|
||||||
|
NEW: Enhancement in process to make manual bank conciliation
|
||||||
|
NEW: Enhancement in the generic file manager
|
||||||
|
NEW: Extrafield totalizable
|
||||||
|
NEW: Hidden conf INVOICE_USE_DEFAULT_DOCUMENT
|
||||||
|
NEW: hidden conf to search product by supplier ref
|
||||||
|
NEW: hidden constant to be able to use a thirdparty for donation
|
||||||
|
NEW: hidden option to define an invoice template for each invoice type
|
||||||
|
NEW: Highlight lines on lists when they are checked
|
||||||
|
NEW: Notification module support expense report+holiday validation and approval
|
||||||
|
NEW: On customer/supplier card, add simple tooltip to amount boxes
|
||||||
|
NEW: Page to check if the operations/items created between two dates have attached item(s) and possibility to download all attachements
|
||||||
|
NEW: possibility to add all rights of all modules in one time
|
||||||
|
NEW: redirect if only one result on global search on card
|
||||||
|
NEW: Permission to ignore price min
|
||||||
|
NEW: Can build an archive of full documents directory from backup page
|
||||||
|
NEW: tag odt line_product_ref_fourn for supplier doc lines
|
||||||
|
NEW: The binding step in accountancy has a country filter with autocompletion
|
||||||
|
NEW: Top menu is always on screen with MD theme.
|
||||||
|
NEW: Withdraw request massaction can include already partially paid invoices
|
||||||
|
|
||||||
|
|
||||||
For developers:
|
For developers:
|
||||||
* Code changes to be more compatible with PSR2
|
NEW: Add lib for multiselect with checkboxes
|
||||||
* Removed trigger USER_LOGOUT, USER_LOGIN, USER_LOGIN_FAILED (Some hooks are already dedicated for that)
|
NEW: Add function isValidMXRecord
|
||||||
|
NEW: Add hook changeRoundingMode in update_price
|
||||||
|
NEW: Add hook formconfirm to contractcard
|
||||||
|
NEW: Add hook for virtual stock
|
||||||
|
NEW: ADD url to see the last version of a external module
|
||||||
|
NEW: Can enable a module, even external module, from command line
|
||||||
|
NEW: Can set a tooltip help text on extrafields
|
||||||
|
NEW: Add product search from barcode via REST api
|
||||||
|
NEW: can add documents on agenda events using API REST
|
||||||
|
NEW: Can set the datestart and dateend of cron job into module descriptor
|
||||||
|
NEW: Close #9296 Add field ref_ext into llx_categorie
|
||||||
|
NEW: move ticket dictionary in API /setup
|
||||||
|
NEW: PHPUnitTest on Loan class #3163
|
||||||
|
NEW: Code changes to be more compatible with PSR2
|
||||||
|
NEW: Removed trigger USER_LOGOUT, USER_LOGIN, USER_LOGIN_FAILED (Some hooks are already dedicated for that)
|
||||||
|
NEW: Add agenda documents in API REST
|
||||||
|
NEW: Add "checked" field for new list engine compatibility
|
||||||
|
NEW: REST API improvements
|
||||||
|
NEW: Save external payment IDs into table of payment
|
||||||
|
NEW: triggers add commercial and del commercial
|
||||||
|
NEW: #9236 Allow to import shipment lines via API
|
||||||
|
NEW: ADD civility list in API
|
||||||
|
NEW: support selllist in the module builder
|
||||||
|
NEW: optional param to show a specific extrafield
|
||||||
|
NEW: hook formConfirm always called if hooked
|
||||||
|
NEW: hook on dispatch order fourn
|
||||||
|
|
||||||
WARNING:
|
WARNING:
|
||||||
|
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
/* Copyright (C) 2013-2014 Olivier Geffroy <jeff@jeffinfo.com>
|
/* Copyright (C) 2013-2014 Olivier Geffroy <jeff@jeffinfo.com>
|
||||||
* Copyright (C) 2013-2017 Alexandre Spangaro <aspangaro@zendsi.com>
|
* Copyright (C) 2013-2018 Alexandre Spangaro <aspangaro@zendsi.com>
|
||||||
* Copyright (C) 2014 Florian Henry <florian.henry@open-concept.pro>
|
* Copyright (C) 2014 Florian Henry <florian.henry@open-concept.pro>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
@ -41,6 +41,7 @@ $id = GETPOST('id', 'int');
|
|||||||
$ref = GETPOST('ref', 'alpha');
|
$ref = GETPOST('ref', 'alpha');
|
||||||
$rowid = GETPOST('rowid', 'int');
|
$rowid = GETPOST('rowid', 'int');
|
||||||
$cancel = GETPOST('cancel','alpha');
|
$cancel = GETPOST('cancel','alpha');
|
||||||
|
$accountingaccount = GETPOST('accountingaccount','alpha');
|
||||||
|
|
||||||
// Security check
|
// Security check
|
||||||
|
|
||||||
@ -229,7 +230,7 @@ if ($action == 'create') {
|
|||||||
|
|
||||||
// Account number
|
// Account number
|
||||||
print '<tr><td class="titlefieldcreate"><span class="fieldrequired">' . $langs->trans("AccountNumber") . '</span></td>';
|
print '<tr><td class="titlefieldcreate"><span class="fieldrequired">' . $langs->trans("AccountNumber") . '</span></td>';
|
||||||
print '<td><input name="account_number" size="30" value="' . $object->account_number . '"></td></tr>';
|
print '<td><input name="account_number" size="30" value="' . $accountingaccount . '"></td></tr>';
|
||||||
|
|
||||||
// Label
|
// Label
|
||||||
print '<tr><td><span class="fieldrequired">' . $langs->trans("Label") . '</span></td>';
|
print '<tr><td><span class="fieldrequired">' . $langs->trans("Label") . '</span></td>';
|
||||||
|
|||||||
@ -266,7 +266,7 @@ if ($action != 'export_csv')
|
|||||||
$description = $object->get_compte_desc($line->numero_compte); // Search description of the account
|
$description = $object->get_compte_desc($line->numero_compte); // Search description of the account
|
||||||
$root_account_description = $object->get_compte_racine($line->numero_compte);
|
$root_account_description = $object->get_compte_racine($line->numero_compte);
|
||||||
if (empty($description)) {
|
if (empty($description)) {
|
||||||
$link = '<a href="../admin/card.php?action=create&compte=' . length_accountg($line->numero_compte) . '">' . img_edit_add() . '</a>';
|
$link = '<a href="../admin/card.php?action=create&accountingaccount=' . length_accountg($line->numero_compte) . '">' . img_edit_add() . '</a>';
|
||||||
}
|
}
|
||||||
print '<tr class="oddeven">';
|
print '<tr class="oddeven">';
|
||||||
|
|
||||||
|
|||||||
@ -129,4 +129,4 @@ print '</form>';
|
|||||||
|
|
||||||
// End of page
|
// End of page
|
||||||
llxFooter();
|
llxFooter();
|
||||||
$db->close();;
|
$db->close();
|
||||||
|
|||||||
@ -234,7 +234,7 @@ include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_search_param.tpl.php';
|
|||||||
|
|
||||||
$sql = "SELECT";
|
$sql = "SELECT";
|
||||||
if ($usergroup > 0) $sql.=" DISTINCT";
|
if ($usergroup > 0) $sql.=" DISTINCT";
|
||||||
$sql.= " s.nom as societe, s.rowid as socid, s.client,";
|
$sql.= " s.nom as societe, s.rowid as socid, s.client, s.email as socemail,";
|
||||||
$sql.= " a.id, a.label, a.datep as dp, a.datep2 as dp2,";
|
$sql.= " a.id, a.label, a.datep as dp, a.datep2 as dp2,";
|
||||||
$sql.= ' a.fk_user_author,a.fk_user_action,';
|
$sql.= ' a.fk_user_author,a.fk_user_action,';
|
||||||
$sql.= " a.fk_contact, a.note, a.percent as percent,";
|
$sql.= " a.fk_contact, a.note, a.percent as percent,";
|
||||||
@ -605,11 +605,13 @@ if ($resql)
|
|||||||
// Third party
|
// Third party
|
||||||
if (! empty($arrayfields['s.nom']['checked'])) {
|
if (! empty($arrayfields['s.nom']['checked'])) {
|
||||||
print '<td class="tdoverflowmax100">';
|
print '<td class="tdoverflowmax100">';
|
||||||
if ($obj->socid)
|
if ($obj->socid > 0)
|
||||||
{
|
{
|
||||||
$societestatic->id=$obj->socid;
|
$societestatic->id=$obj->socid;
|
||||||
$societestatic->client=$obj->client;
|
$societestatic->client=$obj->client;
|
||||||
$societestatic->name=$obj->societe;
|
$societestatic->name=$obj->societe;
|
||||||
|
$societestatic->email=$obj->socemail;
|
||||||
|
|
||||||
print $societestatic->getNomUrl(1,'',28);
|
print $societestatic->getNomUrl(1,'',28);
|
||||||
}
|
}
|
||||||
else print ' ';
|
else print ' ';
|
||||||
|
|||||||
@ -11,7 +11,7 @@
|
|||||||
* Copyright (C) 2013 Cédric Salvador <csalvador@gpcsolutions.fr>
|
* Copyright (C) 2013 Cédric Salvador <csalvador@gpcsolutions.fr>
|
||||||
* Copyright (C) 2015 Jean-François Ferry <jfefe@aternatik.fr>
|
* Copyright (C) 2015 Jean-François Ferry <jfefe@aternatik.fr>
|
||||||
* Copyright (C) 2016-2018 Ferran Marcet <fmarcet@2byte.es>
|
* Copyright (C) 2016-2018 Ferran Marcet <fmarcet@2byte.es>
|
||||||
* Copyright (C) 2017 Charlene Benke <charlie@patas-monkey.com>
|
* Copyright (C) 2017-2018 Charlene Benke <charlie@patas-monkey.com>
|
||||||
* Copyright (C) 2018 Nicolas ZABOURI <info@inovea-conseil.com>
|
* Copyright (C) 2018 Nicolas ZABOURI <info@inovea-conseil.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
|
||||||
@ -175,9 +175,6 @@ if (is_array($extrafields->attribute_label) && count($extrafields->attribute_lab
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$object = new Propal($db); // To be passed as parameter of executeHooks that need
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Actions
|
* Actions
|
||||||
*/
|
*/
|
||||||
|
|||||||
@ -589,7 +589,7 @@ else
|
|||||||
|
|
||||||
// Localtax
|
// Localtax
|
||||||
print '<td class="nowrap" align="right">';
|
print '<td class="nowrap" align="right">';
|
||||||
$temp_vat=($local==1?$fields['localtax1']:$fields['localtax2'])*$ratiopaymentinvoice;;
|
$temp_vat=($local==1?$fields['localtax1']:$fields['localtax2'])*$ratiopaymentinvoice;
|
||||||
print price(price2num($temp_vat,'MT'),1);
|
print price(price2num($temp_vat,'MT'),1);
|
||||||
//print price($fields['vat']);
|
//print price($fields['vat']);
|
||||||
print '</td>';
|
print '</td>';
|
||||||
|
|||||||
@ -63,7 +63,7 @@ $hookmanager->initHooks(array('salarycard','globalcard'));
|
|||||||
|
|
||||||
if ($cancel)
|
if ($cancel)
|
||||||
{
|
{
|
||||||
header("Location: index.php");
|
header("Location: list.php");
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -139,7 +139,7 @@ if ($action == 'add' && empty($cancel))
|
|||||||
if ($ret > 0)
|
if ($ret > 0)
|
||||||
{
|
{
|
||||||
$db->commit();
|
$db->commit();
|
||||||
header("Location: index.php");
|
header("Location: list.php");
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|||||||
@ -29,7 +29,7 @@ $mesg=array();
|
|||||||
|
|
||||||
$extrasize=GETPOST('size','int');
|
$extrasize=GETPOST('size','int');
|
||||||
$type=GETPOST('type','alpha');
|
$type=GETPOST('type','alpha');
|
||||||
$param=GETPOST('param','alpha');;
|
$param=GETPOST('param','alpha');
|
||||||
|
|
||||||
if ($type=='double' && strpos($extrasize,',')===false) $extrasize='24,8';
|
if ($type=='double' && strpos($extrasize,',')===false) $extrasize='24,8';
|
||||||
if ($type=='date') $extrasize='';
|
if ($type=='date') $extrasize='';
|
||||||
|
|||||||
@ -1108,7 +1108,7 @@ class DolGraph
|
|||||||
// Background color
|
// Background color
|
||||||
$color1=sprintf("%02x%02x%02x",$this->bgcolorgrid[0],$this->bgcolorgrid[0],$this->bgcolorgrid[2]);
|
$color1=sprintf("%02x%02x%02x",$this->bgcolorgrid[0],$this->bgcolorgrid[0],$this->bgcolorgrid[2]);
|
||||||
$color2=sprintf("%02x%02x%02x",$this->bgcolorgrid[0],$this->bgcolorgrid[1],$this->bgcolorgrid[2]);
|
$color2=sprintf("%02x%02x%02x",$this->bgcolorgrid[0],$this->bgcolorgrid[1],$this->bgcolorgrid[2]);
|
||||||
$this->stringtoshow.=', grid: { hoverable: true, backgroundColor: { colors: ["#'.$color1.'", "#'.$color2.'"] }, borderWidth: 1, borderColor: \'#eee\', tickColor : \'#f3f3f3\' }'."\n";
|
$this->stringtoshow.=', grid: { hoverable: true, backgroundColor: { colors: ["#'.$color1.'", "#'.$color2.'"] }, borderWidth: 1, borderColor: \'#e6e6e6\', tickColor : \'#e6e6e6\' }'."\n";
|
||||||
//$this->stringtoshow.=', shadowSize: 20'."\n"; TODO Uncommet this
|
//$this->stringtoshow.=', shadowSize: 20'."\n"; TODO Uncommet this
|
||||||
$this->stringtoshow.='});'."\n";
|
$this->stringtoshow.='});'."\n";
|
||||||
$this->stringtoshow.='}'."\n";
|
$this->stringtoshow.='}'."\n";
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
<?php
|
<?php
|
||||||
/* Copyright (C) 2005-2014 Laurent Destailleur <eldy@users.sourceforge.net>
|
/* Copyright (C) 2005-2018 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||||
* Copyright (C) 2005-2014 Regis Houssin <regis.houssin@inodbox.com>
|
* Copyright (C) 2005-2014 Regis Houssin <regis.houssin@inodbox.com>
|
||||||
* Copyright (C) 2015 Raphaël Doursenaud <rdoursenaud@gpcsolutions.fr>
|
* Copyright (C) 2015 Raphaël Doursenaud <rdoursenaud@gpcsolutions.fr>
|
||||||
*
|
*
|
||||||
@ -46,33 +46,33 @@ else header('Cache-Control: no-cache');
|
|||||||
|
|
||||||
// Define tradMonths javascript array (we define this in datepicker AND in parent page to avoid errors with IE8)
|
// Define tradMonths javascript array (we define this in datepicker AND in parent page to avoid errors with IE8)
|
||||||
$tradMonths=array(
|
$tradMonths=array(
|
||||||
dol_escape_js($langs->transnoentitiesnoconv("January")),
|
dol_escape_js($langs->transnoentitiesnoconv("Month01")),
|
||||||
dol_escape_js($langs->transnoentitiesnoconv("February")),
|
dol_escape_js($langs->transnoentitiesnoconv("Month02")),
|
||||||
dol_escape_js($langs->transnoentitiesnoconv("March")),
|
dol_escape_js($langs->transnoentitiesnoconv("Month03")),
|
||||||
dol_escape_js($langs->transnoentitiesnoconv("April")),
|
dol_escape_js($langs->transnoentitiesnoconv("Month04")),
|
||||||
dol_escape_js($langs->transnoentitiesnoconv("May")),
|
dol_escape_js($langs->transnoentitiesnoconv("Month05")),
|
||||||
dol_escape_js($langs->transnoentitiesnoconv("June")),
|
dol_escape_js($langs->transnoentitiesnoconv("Month06")),
|
||||||
dol_escape_js($langs->transnoentitiesnoconv("July")),
|
dol_escape_js($langs->transnoentitiesnoconv("Month07")),
|
||||||
dol_escape_js($langs->transnoentitiesnoconv("August")),
|
dol_escape_js($langs->transnoentitiesnoconv("Month08")),
|
||||||
dol_escape_js($langs->transnoentitiesnoconv("September")),
|
dol_escape_js($langs->transnoentitiesnoconv("Month09")),
|
||||||
dol_escape_js($langs->transnoentitiesnoconv("October")),
|
dol_escape_js($langs->transnoentitiesnoconv("Month10")),
|
||||||
dol_escape_js($langs->transnoentitiesnoconv("November")),
|
dol_escape_js($langs->transnoentitiesnoconv("Month11")),
|
||||||
dol_escape_js($langs->transnoentitiesnoconv("December"))
|
dol_escape_js($langs->transnoentitiesnoconv("Month12"))
|
||||||
);
|
);
|
||||||
|
|
||||||
$tradMonthsShort=array(
|
$tradMonthsShort=array(
|
||||||
$langs->trans("JanuaryMin"),
|
$langs->trans("MonthShort01"),
|
||||||
$langs->trans("FebruaryMin"),
|
$langs->trans("MonthShort02"),
|
||||||
$langs->trans("MarchMin"),
|
$langs->trans("MonthShort03"),
|
||||||
$langs->trans("AprilMin"),
|
$langs->trans("MonthShort04"),
|
||||||
$langs->trans("MayMin"),
|
$langs->trans("MonthShort05"),
|
||||||
$langs->trans("JuneMin"),
|
$langs->trans("MonthShort06"),
|
||||||
$langs->trans("JulyMin"),
|
$langs->trans("MonthShort07"),
|
||||||
$langs->trans("AugustMin"),
|
$langs->trans("MonthShort08"),
|
||||||
$langs->trans("SeptemberMin"),
|
$langs->trans("MonthShort09"),
|
||||||
$langs->trans("OctoberMin"),
|
$langs->trans("MonthShort10"),
|
||||||
$langs->trans("NovemberMin"),
|
$langs->trans("MonthShort11"),
|
||||||
$langs->trans("DecemberMin")
|
$langs->trans("MonthShort12")
|
||||||
);
|
);
|
||||||
|
|
||||||
$tradDays=array(
|
$tradDays=array(
|
||||||
|
|||||||
@ -1344,7 +1344,7 @@ function show_actions_done($conf, $langs, $db, $filterobj, $objcon='', $noprint=
|
|||||||
elseif (is_object($filterobj) && get_class($filterobj) == 'Product') $sql.= ", ".MAIN_DB_PREFIX."product as o";
|
elseif (is_object($filterobj) && get_class($filterobj) == 'Product') $sql.= ", ".MAIN_DB_PREFIX."product as o";
|
||||||
|
|
||||||
$sql.= " WHERE a.entity IN (".getEntity('agenda').")";
|
$sql.= " WHERE a.entity IN (".getEntity('agenda').")";
|
||||||
if (is_object($filterobj) && get_class($filterobj) == 'Societe' && $filterobj->id) $sql.= " AND a.fk_soc = ".$filterobj->id;
|
if (is_object($filterobj) && in_array(get_class($filterobj), array('Societe', 'Client', 'Fournisseur')) && $filterobj->id) $sql.= " AND a.fk_soc = ".$filterobj->id;
|
||||||
elseif (is_object($filterobj) && get_class($filterobj) == 'Project' && $filterobj->id) $sql.= " AND a.fk_project = ".$filterobj->id;
|
elseif (is_object($filterobj) && get_class($filterobj) == 'Project' && $filterobj->id) $sql.= " AND a.fk_project = ".$filterobj->id;
|
||||||
elseif (is_object($filterobj) && get_class($filterobj) == 'Adherent')
|
elseif (is_object($filterobj) && get_class($filterobj) == 'Adherent')
|
||||||
{
|
{
|
||||||
@ -1386,6 +1386,8 @@ function show_actions_done($conf, $langs, $db, $filterobj, $objcon='', $noprint=
|
|||||||
if ($donetodo == 'todo') $sql.= " AND ((a.percent >= 0 AND a.percent < 100) OR (a.percent = -1 AND a.datep > '".$db->idate($now)."'))";
|
if ($donetodo == 'todo') $sql.= " AND ((a.percent >= 0 AND a.percent < 100) OR (a.percent = -1 AND a.datep > '".$db->idate($now)."'))";
|
||||||
elseif ($donetodo == 'done') $sql.= " AND (a.percent = 100 OR (a.percent = -1 AND a.datep <= '".$db->idate($now)."'))";
|
elseif ($donetodo == 'done') $sql.= " AND (a.percent = 100 OR (a.percent = -1 AND a.datep <= '".$db->idate($now)."'))";
|
||||||
if (is_array($filters) && $filters['search_agenda_label']) $sql.= natural_search('a.label', $filters['search_agenda_label']);
|
if (is_array($filters) && $filters['search_agenda_label']) $sql.= natural_search('a.label', $filters['search_agenda_label']);
|
||||||
|
|
||||||
|
//TODO Add limit for thirdparty in contexte very all result
|
||||||
$sql.= $db->order($sortfield, $sortorder);
|
$sql.= $db->order($sortfield, $sortorder);
|
||||||
dol_syslog("company.lib::show_actions_done", LOG_DEBUG);
|
dol_syslog("company.lib::show_actions_done", LOG_DEBUG);
|
||||||
$resql=$db->query($sql);
|
$resql=$db->query($sql);
|
||||||
|
|||||||
@ -91,7 +91,7 @@ function report_header($reportname,$notused,$period,$periodlink,$description,$bu
|
|||||||
print '<td>'.$langs->trans("ReportPeriod").'</td>';
|
print '<td>'.$langs->trans("ReportPeriod").'</td>';
|
||||||
print '<td>';
|
print '<td>';
|
||||||
if ($period) print $period;
|
if ($period) print $period;
|
||||||
if ($variante) print '<td>'.$periodlink.'</td>';
|
if ($variante) print '<td class="nowraponall">'.$periodlink.'</td>';
|
||||||
print '</td>';
|
print '</td>';
|
||||||
print '</tr>';
|
print '</tr>';
|
||||||
|
|
||||||
|
|||||||
@ -822,22 +822,22 @@ function show_theme($fuser,$edit=0,$foruserprofile=false)
|
|||||||
//print ' ('.$langs->trans("NotSupportedByAllThemes").', '.$langs->trans("PressF5AfterChangingThis").')';
|
//print ' ('.$langs->trans("NotSupportedByAllThemes").', '.$langs->trans("PressF5AfterChangingThis").')';
|
||||||
if ($edit)
|
if ($edit)
|
||||||
{
|
{
|
||||||
if ($conf->global->THEME_ELDY_USE_HOVER == '1') $color='edf4fb';
|
if ($conf->global->THEME_ELDY_USE_HOVER == '1') $color='e6edf0';
|
||||||
else $color = colorArrayToHex(colorStringToArray($conf->global->THEME_ELDY_USE_HOVER,array()),'');
|
else $color = colorArrayToHex(colorStringToArray($conf->global->THEME_ELDY_USE_HOVER,array()),'');
|
||||||
print $formother->selectColor($color,'THEME_ELDY_USE_HOVER','formcolor',1).' ';
|
print $formother->selectColor($color,'THEME_ELDY_USE_HOVER','formcolor',1).' ';
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if ($conf->global->THEME_ELDY_USE_HOVER == '1') $color='edf4fb';
|
if ($conf->global->THEME_ELDY_USE_HOVER == '1') $color='e6edf0';
|
||||||
else $color = colorArrayToHex(colorStringToArray($conf->global->THEME_ELDY_USE_HOVER,array()),'');
|
else $color = colorArrayToHex(colorStringToArray($conf->global->THEME_ELDY_USE_HOVER,array()),'');
|
||||||
if ($color)
|
if ($color)
|
||||||
{
|
{
|
||||||
if ($color != 'edf4fb') print '<input type="text" class="colorthumb" disabled="disabled" style="padding: 1px; margin-top: 0; margin-bottom: 0; background-color: #'.$color.'" value="'.$color.'">';
|
if ($color != 'e6edf0') print '<input type="text" class="colorthumb" disabled="disabled" style="padding: 1px; margin-top: 0; margin-bottom: 0; background-color: #'.$color.'" value="'.$color.'">';
|
||||||
else print $langs->trans("Default");
|
else print $langs->trans("Default");
|
||||||
}
|
}
|
||||||
else print $langs->trans("None");
|
else print $langs->trans("None");
|
||||||
}
|
}
|
||||||
print ' <span class="nowraponall">('.$langs->trans("Default").': <strong>edf4fb</strong>) ';
|
print ' <span class="nowraponall">('.$langs->trans("Default").': <strong>e6edf0</strong>) ';
|
||||||
print $form->textwithpicto('', $langs->trans("NotSupportedByAllThemes").', '.$langs->trans("PressF5AfterChangingThis"));
|
print $form->textwithpicto('', $langs->trans("NotSupportedByAllThemes").', '.$langs->trans("PressF5AfterChangingThis"));
|
||||||
print '</span>';
|
print '</span>';
|
||||||
print '</td>';
|
print '</td>';
|
||||||
@ -866,22 +866,22 @@ function show_theme($fuser,$edit=0,$foruserprofile=false)
|
|||||||
//print ' ('.$langs->trans("NotSupportedByAllThemes").', '.$langs->trans("PressF5AfterChangingThis").')';
|
//print ' ('.$langs->trans("NotSupportedByAllThemes").', '.$langs->trans("PressF5AfterChangingThis").')';
|
||||||
if ($edit)
|
if ($edit)
|
||||||
{
|
{
|
||||||
if ($conf->global->THEME_ELDY_USE_CHECKED == '1') $color='ffefbb';
|
if ($conf->global->THEME_ELDY_USE_CHECKED == '1') $color='e6edf0';
|
||||||
else $color = colorArrayToHex(colorStringToArray($conf->global->THEME_ELDY_USE_CHECKED,array()),'');
|
else $color = colorArrayToHex(colorStringToArray($conf->global->THEME_ELDY_USE_CHECKED,array()),'');
|
||||||
print $formother->selectColor($color,'THEME_ELDY_USE_CHECKED','formcolor',1).' ';
|
print $formother->selectColor($color,'THEME_ELDY_USE_CHECKED','formcolor',1).' ';
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if ($conf->global->THEME_ELDY_USE_CHECKED == '1') $color='ffefbb';
|
if ($conf->global->THEME_ELDY_USE_CHECKED == '1') $color='e6edf0';
|
||||||
else $color = colorArrayToHex(colorStringToArray($conf->global->THEME_ELDY_USE_CHECKED,array()),'');
|
else $color = colorArrayToHex(colorStringToArray($conf->global->THEME_ELDY_USE_CHECKED,array()),'');
|
||||||
if ($color)
|
if ($color)
|
||||||
{
|
{
|
||||||
if ($color != 'ffefbb') print '<input type="text" class="colorthumb" disabled="disabled" style="padding: 1px; margin-top: 0; margin-bottom: 0; background-color: #'.$color.'" value="'.$color.'">';
|
if ($color != 'e6edf0') print '<input type="text" class="colorthumb" disabled="disabled" style="padding: 1px; margin-top: 0; margin-bottom: 0; background-color: #'.$color.'" value="'.$color.'">';
|
||||||
else print $langs->trans("Default");
|
else print $langs->trans("Default");
|
||||||
}
|
}
|
||||||
else print $langs->trans("None");
|
else print $langs->trans("None");
|
||||||
}
|
}
|
||||||
print ' <span class="nowraponall">('.$langs->trans("Default").': <strong>ffefbb</strong>) ';
|
print ' <span class="nowraponall">('.$langs->trans("Default").': <strong>e6edf0</strong>) ';
|
||||||
print $form->textwithpicto('', $langs->trans("NotSupportedByAllThemes").', '.$langs->trans("PressF5AfterChangingThis"));
|
print $form->textwithpicto('', $langs->trans("NotSupportedByAllThemes").', '.$langs->trans("PressF5AfterChangingThis"));
|
||||||
print '</span>';
|
print '</span>';
|
||||||
print '</td>';
|
print '</td>';
|
||||||
|
|||||||
@ -80,7 +80,7 @@ class modAccounting extends DolibarrModules
|
|||||||
"MAIN_COMPANY_CODE_ALWAYS_REQUIRED",
|
"MAIN_COMPANY_CODE_ALWAYS_REQUIRED",
|
||||||
"chaine",
|
"chaine",
|
||||||
"1",
|
"1",
|
||||||
"With this constants on, third party code is always required whatever is numbering module behaviour", 0, 'current', 0
|
"With this constants on, third party code is always required whatever is numbering module behaviour", 0, 'current', 1
|
||||||
);
|
);
|
||||||
$this->const[2] = array(
|
$this->const[2] = array(
|
||||||
"MAIN_BANK_ACCOUNTANCY_CODE_ALWAYS_REQUIRED",
|
"MAIN_BANK_ACCOUNTANCY_CODE_ALWAYS_REQUIRED",
|
||||||
|
|||||||
@ -97,7 +97,7 @@ class modCashDesk extends DolibarrModules
|
|||||||
// This is to declare the Top Menu entry:
|
// This is to declare the Top Menu entry:
|
||||||
$this->menu[$r]=array( 'fk_menu'=>0, // Put 0 if this is a top menu
|
$this->menu[$r]=array( 'fk_menu'=>0, // Put 0 if this is a top menu
|
||||||
'type'=>'top', // This is a Top menu entry
|
'type'=>'top', // This is a Top menu entry
|
||||||
'titre'=>'CashDeskMenu',
|
'titre'=>'PointOfSaleShort',
|
||||||
'mainmenu'=>'cashdesk',
|
'mainmenu'=>'cashdesk',
|
||||||
'url'=>'/cashdesk/index.php?user=__LOGIN__',
|
'url'=>'/cashdesk/index.php?user=__LOGIN__',
|
||||||
'langs'=>'cashdesk', // Lang file to use (without .lang) by module. File must be in langs/code_CODE/ directory.
|
'langs'=>'cashdesk', // Lang file to use (without .lang) by module. File must be in langs/code_CODE/ directory.
|
||||||
|
|||||||
@ -102,7 +102,7 @@ class modTakePos extends DolibarrModules
|
|||||||
$this->requiredby = array(); // List of module ids to disable if this one is disabled
|
$this->requiredby = array(); // List of module ids to disable if this one is disabled
|
||||||
$this->conflictwith = array(); // List of module class names as string this module is in conflict with
|
$this->conflictwith = array(); // List of module class names as string this module is in conflict with
|
||||||
$this->langfiles = array("cashdesk");
|
$this->langfiles = array("cashdesk");
|
||||||
$this->phpmin = array(5,43); // Minimum version of PHP required by module
|
$this->phpmin = array(5,4); // Minimum version of PHP required by module
|
||||||
$this->need_dolibarr_version = array(4,0); // Minimum version of Dolibarr required by module
|
$this->need_dolibarr_version = array(4,0); // Minimum version of Dolibarr required by module
|
||||||
$this->warnings_activation = array(); // Warning to show when we activate module. array('always'='text') or array('FR'='textfr','ES'='textes'...)
|
$this->warnings_activation = array(); // Warning to show when we activate module. array('always'='text') or array('FR'='textfr','ES'='textes'...)
|
||||||
$this->warnings_activation_ext = array(); // Warning to show when we activate an external module. array('always'='text') or array('FR'='textfr','ES'='textes'...)
|
$this->warnings_activation_ext = array(); // Warning to show when we activate an external module. array('always'='text') or array('FR'='textfr','ES'='textes'...)
|
||||||
@ -226,7 +226,7 @@ class modTakePos extends DolibarrModules
|
|||||||
/* BEGIN MODULEBUILDER TOPMENU */
|
/* BEGIN MODULEBUILDER TOPMENU */
|
||||||
$this->menu[$r++]=array('fk_menu'=>'', // '' if this is a top menu. For left menu, use 'fk_mainmenu=xxx' or 'fk_mainmenu=xxx,fk_leftmenu=yyy' where xxx is mainmenucode and yyy is a leftmenucode
|
$this->menu[$r++]=array('fk_menu'=>'', // '' if this is a top menu. For left menu, use 'fk_mainmenu=xxx' or 'fk_mainmenu=xxx,fk_leftmenu=yyy' where xxx is mainmenucode and yyy is a leftmenucode
|
||||||
'type'=>'top', // This is a Top menu entry
|
'type'=>'top', // This is a Top menu entry
|
||||||
'titre'=>'PointOfSale',
|
'titre'=>'PointOfSaleShort',
|
||||||
'mainmenu'=>'takepos',
|
'mainmenu'=>'takepos',
|
||||||
'leftmenu'=>'',
|
'leftmenu'=>'',
|
||||||
'url'=>'/takepos/takepos.php',
|
'url'=>'/takepos/takepos.php',
|
||||||
|
|||||||
@ -167,7 +167,7 @@ class modWebsite extends DolibarrModules
|
|||||||
if ($result < 0)
|
if ($result < 0)
|
||||||
{
|
{
|
||||||
$langs->load("errors");
|
$langs->load("errors");
|
||||||
$this->error=$langs->trans('ErrorFailToCopyDirectory',$src,$dest);
|
$this->error=$langs->trans('ErrorFailToCopyDir',$src,$dest);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -796,7 +796,7 @@ class doc_generic_project_odt extends ModelePDFProjects
|
|||||||
if (!empty($row['thm'])) {
|
if (!empty($row['thm'])) {
|
||||||
$row['amountht']=($row['task_duration'] / 3600) * $row['thm'];
|
$row['amountht']=($row['task_duration'] / 3600) * $row['thm'];
|
||||||
$defaultvat = get_default_tva($mysoc, $mysoc);
|
$defaultvat = get_default_tva($mysoc, $mysoc);
|
||||||
$row['amountttc']=price2num($row['amountht'] * (1 + ($defaultvat / 100)),'MT');;
|
$row['amountttc']=price2num($row['amountht'] * (1 + ($defaultvat / 100)),'MT');
|
||||||
} else {
|
} else {
|
||||||
$row['amountht']=0;
|
$row['amountht']=0;
|
||||||
$row['amountttc']=0;
|
$row['amountttc']=0;
|
||||||
|
|||||||
@ -150,7 +150,7 @@ class pdf_stdmovement extends ModelePDFMovement
|
|||||||
// Define position of columns
|
// Define position of columns
|
||||||
$this->wref = 15;
|
$this->wref = 15;
|
||||||
$this->posxidref = $this->marge_gauche;
|
$this->posxidref = $this->marge_gauche;
|
||||||
$this->posxdatemouv = $this->marge_gauche+8;;
|
$this->posxdatemouv = $this->marge_gauche+8;
|
||||||
$this->posxdesc=37;
|
$this->posxdesc=37;
|
||||||
$this->posxlabel=50;
|
$this->posxlabel=50;
|
||||||
$this->posxtva=80;
|
$this->posxtva=80;
|
||||||
|
|||||||
@ -711,6 +711,18 @@ class Don extends CommonObject
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Validate a intervention
|
||||||
|
*
|
||||||
|
* @param User $user User that validate
|
||||||
|
* @param int $notrigger 1=Does not execute triggers, 0= execute triggers
|
||||||
|
* @return int <0 if KO, >0 if OK
|
||||||
|
*/
|
||||||
|
function setValid($user, $notrigger=0)
|
||||||
|
{
|
||||||
|
return $this->valid_promesse($this->id, $user->id, $notrigger);
|
||||||
|
}
|
||||||
|
|
||||||
// phpcs:disable PEAR.NamingConventions.ValidFunctionName.NotCamelCaps
|
// phpcs:disable PEAR.NamingConventions.ValidFunctionName.NotCamelCaps
|
||||||
/**
|
/**
|
||||||
* Validate a promise of donation
|
* Validate a promise of donation
|
||||||
|
|||||||
@ -83,7 +83,7 @@ class EmailCollectorAction extends CommonObject
|
|||||||
*/
|
*/
|
||||||
public $fields=array(
|
public $fields=array(
|
||||||
'rowid' => array('type'=>'integer', 'label'=>'TechnicalID', 'enabled'=>1, 'visible'=>-1, 'position'=>1, 'notnull'=>1, 'index'=>1, 'comment'=>"Id",),
|
'rowid' => array('type'=>'integer', 'label'=>'TechnicalID', 'enabled'=>1, 'visible'=>-1, 'position'=>1, 'notnull'=>1, 'index'=>1, 'comment'=>"Id",),
|
||||||
'fk_emailcollector' => array('type'=>'integer', 'label'=>'Id of emailcollector', 'foreignkey'=>'emailcollecotr.rowid'),
|
'fk_emailcollector' => array('type'=>'integer', 'label'=>'Id of emailcollector', 'foreignkey'=>'emailcollector.rowid'),
|
||||||
'type' => array('type'=>'varchar(128)', 'label'=>'Type', 'enabled'=>1, 'visible'=>1, 'position'=>10, 'notnull'=>1, 'index'=>1),
|
'type' => array('type'=>'varchar(128)', 'label'=>'Type', 'enabled'=>1, 'visible'=>1, 'position'=>10, 'notnull'=>1, 'index'=>1),
|
||||||
'actionparam' => array('type'=>'varchar(255)', 'label'=>'ParamForAction', 'enabled'=>1, 'visible'=>1, 'position'=>40, 'notnull'=>-1),
|
'actionparam' => array('type'=>'varchar(255)', 'label'=>'ParamForAction', 'enabled'=>1, 'visible'=>1, 'position'=>40, 'notnull'=>-1),
|
||||||
'date_creation' => array('type'=>'datetime', 'label'=>'DateCreation', 'enabled'=>1, 'visible'=>-2, 'position'=>500, 'notnull'=>1,),
|
'date_creation' => array('type'=>'datetime', 'label'=>'DateCreation', 'enabled'=>1, 'visible'=>-2, 'position'=>500, 'notnull'=>1,),
|
||||||
|
|||||||
@ -1925,7 +1925,7 @@ else
|
|||||||
print $paymentexpensereportstatic->getNomUrl(1);
|
print $paymentexpensereportstatic->getNomUrl(1);
|
||||||
print '</td>';
|
print '</td>';
|
||||||
print '<td>'.dol_print_date($db->jdate($objp->dp),'day')."</td>\n";
|
print '<td>'.dol_print_date($db->jdate($objp->dp),'day')."</td>\n";
|
||||||
$labeltype=$langs->trans("PaymentType".$objp->p_code)!=("PaymentType".$objp->p_code)?$langs->trans("PaymentType".$objp->p_code):$objp->fk_typepayment;
|
$labeltype=$langs->trans("PaymentType".$objp->p_code)!=("PaymentType".$objp->p_code)?$langs->trans("PaymentType".$objp->p_code):$objp->payment_type;
|
||||||
print "<td>".$labeltype.' '.$objp->num_payment."</td>\n";
|
print "<td>".$labeltype.' '.$objp->num_payment."</td>\n";
|
||||||
if (! empty($conf->banque->enabled))
|
if (! empty($conf->banque->enabled))
|
||||||
{
|
{
|
||||||
|
|||||||
@ -315,7 +315,6 @@ class Fichinter extends CommonObject
|
|||||||
*/
|
*/
|
||||||
function update($user, $notrigger=0)
|
function update($user, $notrigger=0)
|
||||||
{
|
{
|
||||||
global $conf;
|
|
||||||
if (! is_numeric($this->duration)) {
|
if (! is_numeric($this->duration)) {
|
||||||
$this->duration = 0;
|
$this->duration = 0;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -2717,7 +2717,7 @@ else
|
|||||||
|
|
||||||
$paymentstatic->id=$objp->rowid;
|
$paymentstatic->id=$objp->rowid;
|
||||||
$paymentstatic->datepaye=$db->jdate($objp->dp);
|
$paymentstatic->datepaye=$db->jdate($objp->dp);
|
||||||
$paymentstatic->ref=($objp->ref ? $objp->ref : $objp->rowid);;
|
$paymentstatic->ref=($objp->ref ? $objp->ref : $objp->rowid);
|
||||||
$paymentstatic->num_paiement=$objp->num_paiement;
|
$paymentstatic->num_paiement=$objp->num_paiement;
|
||||||
$paymentstatic->payment_code=$objp->payment_code;
|
$paymentstatic->payment_code=$objp->payment_code;
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
@ -1843,6 +1843,7 @@ LoadThirdPartyFromName=Load thirdparty from name (load only)
|
|||||||
LoadThirdPartyFromNameOrCreate=Load thirdparty from name (create if not found)
|
LoadThirdPartyFromNameOrCreate=Load thirdparty from name (create if not found)
|
||||||
WithDolTrackingID=Dolibarr Tracking ID found
|
WithDolTrackingID=Dolibarr Tracking ID found
|
||||||
WithoutDolTrackingID=Dolibarr Tracking ID not found
|
WithoutDolTrackingID=Dolibarr Tracking ID not found
|
||||||
|
FormatZip=Zip
|
||||||
##### Resource ####
|
##### Resource ####
|
||||||
ResourceSetup=Configuration du module Resource
|
ResourceSetup=Configuration du module Resource
|
||||||
UseSearchToSelectResource=Use a search form to choose a resource (rather than a drop-down list).
|
UseSearchToSelectResource=Use a search form to choose a resource (rather than a drop-down list).
|
||||||
|
|||||||
@ -33,6 +33,7 @@ FilterRefOrLabelOrBC=Search (Ref/Label)
|
|||||||
UserNeedPermissionToEditStockToUsePos=You ask to decrease stock on invoice creation, so user that uses POS needs to have permission to edit stock.
|
UserNeedPermissionToEditStockToUsePos=You ask to decrease stock on invoice creation, so user that uses POS needs to have permission to edit stock.
|
||||||
DolibarrReceiptPrinter=Dolibarr Receipt Printer
|
DolibarrReceiptPrinter=Dolibarr Receipt Printer
|
||||||
PointOfSale=Point of sales
|
PointOfSale=Point of sales
|
||||||
|
PointOfSaleShort=POS
|
||||||
CloseBill=Close Bill
|
CloseBill=Close Bill
|
||||||
Floors=Floors
|
Floors=Floors
|
||||||
Floor=Floor
|
Floor=Floor
|
||||||
|
|||||||
@ -104,7 +104,7 @@ WriteBookKeeping=Registrar movimientos en el Libro Mayor
|
|||||||
Bookkeeping=Libro Mayor
|
Bookkeeping=Libro Mayor
|
||||||
AccountBalance=Saldo de la cuenta
|
AccountBalance=Saldo de la cuenta
|
||||||
ObjectsRef=Referencia de objeto origen
|
ObjectsRef=Referencia de objeto origen
|
||||||
CAHTF=Total purchase supplier before tax
|
CAHTF=Total compras a proveedor antes de impuestos
|
||||||
TotalExpenseReport=Total informe de gastos
|
TotalExpenseReport=Total informe de gastos
|
||||||
InvoiceLines=Líneas de facturas a contabilizar
|
InvoiceLines=Líneas de facturas a contabilizar
|
||||||
InvoiceLinesDone=Líneas de facturas contabilizadas
|
InvoiceLinesDone=Líneas de facturas contabilizadas
|
||||||
|
|||||||
@ -60,8 +60,8 @@ ActionAC_CLO=Cierre
|
|||||||
ActionAC_EMAILING=Envío mailing masivo
|
ActionAC_EMAILING=Envío mailing masivo
|
||||||
ActionAC_COM=Envío pedido de cliente por correo
|
ActionAC_COM=Envío pedido de cliente por correo
|
||||||
ActionAC_SHIP=Envío expedición por correo
|
ActionAC_SHIP=Envío expedición por correo
|
||||||
ActionAC_SUP_ORD=Send purchase order by mail
|
ActionAC_SUP_ORD=Envío pedido a proveedor por correo
|
||||||
ActionAC_SUP_INV=Send vendor invoice by mail
|
ActionAC_SUP_INV=Envío de factura de proveedor por correo
|
||||||
ActionAC_OTH=Otra
|
ActionAC_OTH=Otra
|
||||||
ActionAC_OTH_AUTO=Eventos creados automáticamente
|
ActionAC_OTH_AUTO=Eventos creados automáticamente
|
||||||
ActionAC_MANUAL=Eventos creados manualmente
|
ActionAC_MANUAL=Eventos creados manualmente
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
# Dolibarr language file - Source file is en_US - orders
|
# Dolibarr language file - Source file is en_US - orders
|
||||||
OrdersArea=Área pedidos de clientes
|
OrdersArea=Área pedidos de clientes
|
||||||
SuppliersOrdersArea=Purchase orders area
|
SuppliersOrdersArea=Área pedidos a proveedores
|
||||||
OrderCard=Ficha pedido
|
OrderCard=Ficha pedido
|
||||||
OrderId=Id pedido
|
OrderId=Id pedido
|
||||||
Order=Pedido
|
Order=Pedido
|
||||||
@ -13,9 +13,9 @@ OrderToProcess=Pedido a procesar
|
|||||||
NewOrder=Nuevo pedido
|
NewOrder=Nuevo pedido
|
||||||
ToOrder=Realizar pedido
|
ToOrder=Realizar pedido
|
||||||
MakeOrder=Realizar pedido
|
MakeOrder=Realizar pedido
|
||||||
SupplierOrder=Purchase order
|
SupplierOrder=Pedido a proveedor
|
||||||
SuppliersOrders=Purchase orders
|
SuppliersOrders=Pedidos a proveedores
|
||||||
SuppliersOrdersRunning=Current purchase orders
|
SuppliersOrdersRunning=Pedidos a proveedores actuales
|
||||||
CustomerOrder=Cuenta bloqueada
|
CustomerOrder=Cuenta bloqueada
|
||||||
CustomersOrders=Pedidos de clientes
|
CustomersOrders=Pedidos de clientes
|
||||||
CustomersOrdersRunning=Pedidos de clientes en curso
|
CustomersOrdersRunning=Pedidos de clientes en curso
|
||||||
@ -24,7 +24,7 @@ OrdersDeliveredToBill=Pedidos de clientes enviados a facturar
|
|||||||
OrdersToBill=Pedidos de clientes enviados
|
OrdersToBill=Pedidos de clientes enviados
|
||||||
OrdersInProcess=Pedidos de clientes en proceso
|
OrdersInProcess=Pedidos de clientes en proceso
|
||||||
OrdersToProcess=Pedidos de clientes a procesar
|
OrdersToProcess=Pedidos de clientes a procesar
|
||||||
SuppliersOrdersToProcess=Purchase orders to process
|
SuppliersOrdersToProcess=Pedidos a proveedores a procesar
|
||||||
StatusOrderCanceledShort=Anulado
|
StatusOrderCanceledShort=Anulado
|
||||||
StatusOrderDraftShort=Borrador
|
StatusOrderDraftShort=Borrador
|
||||||
StatusOrderValidatedShort=Validado
|
StatusOrderValidatedShort=Validado
|
||||||
|
|||||||
@ -21,20 +21,20 @@ SupplierPayment=Vendor payment
|
|||||||
SuppliersArea=Vendor area
|
SuppliersArea=Vendor area
|
||||||
RefSupplierShort=Ref. vendor
|
RefSupplierShort=Ref. vendor
|
||||||
Availability=Disponibilidad
|
Availability=Disponibilidad
|
||||||
ExportDataset_fournisseur_1=Vendor invoices list and invoice lines
|
ExportDataset_fournisseur_1=Facturas de proveedor y líneas de factura
|
||||||
ExportDataset_fournisseur_2=Vendor invoices and payments
|
ExportDataset_fournisseur_2=Facturas de proveedor y pagos
|
||||||
ExportDataset_fournisseur_3=Purchase orders and order lines
|
ExportDataset_fournisseur_3=Pedidos a proveedor y líneas de pedido
|
||||||
ApproveThisOrder=Aprobar este pedido
|
ApproveThisOrder=Aprobar este pedido
|
||||||
ConfirmApproveThisOrder=Está seguro de querer aprobar el pedido a proveedor <b>%s</b>?
|
ConfirmApproveThisOrder=Está seguro de querer aprobar el pedido a proveedor <b>%s</b>?
|
||||||
DenyingThisOrder=Denegar este pedido
|
DenyingThisOrder=Denegar este pedido
|
||||||
ConfirmDenyingThisOrder=¿Está seguro de querer denegar el pedido a proveedor <b>%s</b>?
|
ConfirmDenyingThisOrder=¿Está seguro de querer denegar el pedido a proveedor <b>%s</b>?
|
||||||
ConfirmCancelThisOrder=¿Está seguro de querer cancelar el pedido a proveedor <b>%s</b>?
|
ConfirmCancelThisOrder=¿Está seguro de querer cancelar el pedido a proveedor <b>%s</b>?
|
||||||
AddSupplierOrder=Create Purchase Order
|
AddSupplierOrder=Crear pedido a proveedor
|
||||||
AddSupplierInvoice=Create vendor invoice
|
AddSupplierInvoice=Crear factura de proveedor
|
||||||
ListOfSupplierProductForSupplier=List of products and prices for vendor <b>%s</b>
|
ListOfSupplierProductForSupplier=List of products and prices for vendor <b>%s</b>
|
||||||
SentToSuppliers=Sent to vendors
|
SentToSuppliers=Sent to vendors
|
||||||
ListOfSupplierOrders=List of purchase orders
|
ListOfSupplierOrders=Listado de pedidos a proveedor
|
||||||
MenuOrdersSupplierToBill=Purchase orders to invoice
|
MenuOrdersSupplierToBill=Pedidos a proveedor a facturar
|
||||||
NbDaysToDelivery=Tiempo de entrega en días
|
NbDaysToDelivery=Tiempo de entrega en días
|
||||||
DescNbDaysToDelivery=El mayor retraso en las entregas de productos de este pedido
|
DescNbDaysToDelivery=El mayor retraso en las entregas de productos de este pedido
|
||||||
SupplierReputation=Vendor reputation
|
SupplierReputation=Vendor reputation
|
||||||
|
|||||||
@ -868,7 +868,7 @@ if (! $variants) {
|
|||||||
print '<td align="right">';
|
print '<td align="right">';
|
||||||
if (empty($conf->global->PRODUIT_MULTIPRICES)) print price(price2num($object->price * $obj->reel, 'MT'), 1) . '</td>';
|
if (empty($conf->global->PRODUIT_MULTIPRICES)) print price(price2num($object->price * $obj->reel, 'MT'), 1) . '</td>';
|
||||||
else print $langs->trans("Variable");
|
else print $langs->trans("Variable");
|
||||||
print '</tr>';;
|
print '</tr>';
|
||||||
$total += $obj->reel;
|
$total += $obj->reel;
|
||||||
if (price2num($object->pmp)) $totalwithpmp += $obj->reel;
|
if (price2num($object->pmp)) $totalwithpmp += $obj->reel;
|
||||||
$totalvalue = $totalvalue + ($object->pmp * $obj->reel);
|
$totalvalue = $totalvalue + ($object->pmp * $obj->reel);
|
||||||
|
|||||||
@ -544,7 +544,7 @@ print '<td class="center">'.$langs->trans("Note").'</td>';
|
|||||||
print '<td class="center"></td>';
|
print '<td class="center"></td>';
|
||||||
print "</tr>\n";
|
print "</tr>\n";
|
||||||
|
|
||||||
$colspan = 6+(empty($conf->global->PROJECT_TIMESHEET_DISABLEBREAK_ON_PROJECT)?0:2);;
|
$colspan = 6+(empty($conf->global->PROJECT_TIMESHEET_DISABLEBREAK_ON_PROJECT)?0:2);
|
||||||
|
|
||||||
if ($conf->use_javascript_ajax)
|
if ($conf->use_javascript_ajax)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -642,7 +642,7 @@ if ($source && in_array($ref, array('member_ref', 'contractline_ref', 'invoice_r
|
|||||||
dol_print_error_email('BADREFINPAYMENTFORM', $langs->trans("ErrorBadLinkSourceSetButBadValueForRef", $source, $ref));
|
dol_print_error_email('BADREFINPAYMENTFORM', $langs->trans("ErrorBadLinkSourceSetButBadValueForRef", $source, $ref));
|
||||||
// End of page
|
// End of page
|
||||||
llxFooter();
|
llxFooter();
|
||||||
$db->close();;
|
$db->close();
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1423,7 +1423,150 @@ if ($source == 'membersubscription')
|
|||||||
print '<input type="hidden" name="desc" value="'.dol_escape_htmltag($labeldesc).'">'."\n";
|
print '<input type="hidden" name="desc" value="'.dol_escape_htmltag($labeldesc).'">'."\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Payment on donation
|
||||||
|
if ($source == 'donation')
|
||||||
|
{
|
||||||
|
$found=true;
|
||||||
|
$langs->load("don");
|
||||||
|
|
||||||
|
require_once DOL_DOCUMENT_ROOT.'/don/class/don.class.php';
|
||||||
|
|
||||||
|
$don=new Don($db);
|
||||||
|
$result=$don->fetch($ref);
|
||||||
|
if ($result <= 0)
|
||||||
|
{
|
||||||
|
$mesg=$don->error;
|
||||||
|
$error++;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$don->fetch_thirdparty();
|
||||||
|
$object = $don;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($action != 'dopayment') // Do not change amount if we just click on first dopayment
|
||||||
|
{
|
||||||
|
$amount=$subscription->total_ttc;
|
||||||
|
if (GETPOST("amount",'int')) $amount=GETPOST("amount",'int');
|
||||||
|
$amount=price2num($amount);
|
||||||
|
}
|
||||||
|
|
||||||
|
$fulltag='DON='.$don->ref.'.DAT='.dol_print_date(dol_now(),'%Y%m%d%H%M');
|
||||||
|
if (! empty($TAG)) { $tag=$TAG; $fulltag.='.TAG='.$TAG; }
|
||||||
|
$fulltag=dol_string_unaccent($fulltag);
|
||||||
|
|
||||||
|
// Creditor
|
||||||
|
|
||||||
|
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("Creditor");
|
||||||
|
print '</td><td class="CTableRow'.($var?'1':'2').'"><b>'.$creditor.'</b>';
|
||||||
|
print '<input type="hidden" name="creditor" value="'.$creditor.'">';
|
||||||
|
print '</td></tr>'."\n";
|
||||||
|
|
||||||
|
// Debitor
|
||||||
|
|
||||||
|
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("Member");
|
||||||
|
print '</td><td class="CTableRow'.($var?'1':'2').'"><b>';
|
||||||
|
if ($don->morphy == 'mor' && ! empty($don->societe)) print $don->societe;
|
||||||
|
else print $don->getFullName($langs);
|
||||||
|
print '</b>';
|
||||||
|
|
||||||
|
// Object
|
||||||
|
|
||||||
|
$text='<b>'.$langs->trans("PaymentDonation").'</b>';
|
||||||
|
if (GETPOST('desc','alpha')) $text='<b>'.$langs->trans(GETPOST('desc','alpha')).'</b>';
|
||||||
|
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("Designation");
|
||||||
|
print '</td><td class="CTableRow'.($var?'1':'2').'">'.$text;
|
||||||
|
print '<input type="hidden" name="source" value="'.dol_escape_htmltag($source).'">';
|
||||||
|
print '<input type="hidden" name="ref" value="'.dol_escape_htmltag($don->ref).'">';
|
||||||
|
print '</td></tr>'."\n";
|
||||||
|
|
||||||
|
// Amount
|
||||||
|
|
||||||
|
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("Amount");
|
||||||
|
if (empty($amount))
|
||||||
|
{
|
||||||
|
if (empty($conf->global->MEMBER_NEWFORM_AMOUNT)) print ' ('.$langs->trans("ToComplete");
|
||||||
|
if (! empty($conf->global->MEMBER_EXT_URL_SUBSCRIPTION_INFO)) print ' - <a href="'.$conf->global->MEMBER_EXT_URL_SUBSCRIPTION_INFO.'" rel="external" target="_blank">'.$langs->trans("SeeHere").'</a>';
|
||||||
|
if (empty($conf->global->MEMBER_NEWFORM_AMOUNT)) print ')';
|
||||||
|
}
|
||||||
|
print '</td><td class="CTableRow'.($var?'1':'2').'">';
|
||||||
|
$valtoshow='';
|
||||||
|
if (empty($amount) || ! is_numeric($amount))
|
||||||
|
{
|
||||||
|
$valtoshow=price2num(GETPOST("newamount",'alpha'),'MT');
|
||||||
|
// force default subscription amount to value defined into constant...
|
||||||
|
if (empty($valtoshow))
|
||||||
|
{
|
||||||
|
if (! empty($conf->global->MEMBER_NEWFORM_EDITAMOUNT)) {
|
||||||
|
if (! empty($conf->global->MEMBER_NEWFORM_AMOUNT)) {
|
||||||
|
$valtoshow = $conf->global->MEMBER_NEWFORM_AMOUNT;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
if (! empty($conf->global->MEMBER_NEWFORM_AMOUNT)) {
|
||||||
|
$amount = $conf->global->MEMBER_NEWFORM_AMOUNT;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (empty($amount) || ! is_numeric($amount))
|
||||||
|
{
|
||||||
|
//$valtoshow=price2num(GETPOST("newamount",'alpha'),'MT');
|
||||||
|
if (! empty($conf->global->MEMBER_MIN_AMOUNT) && $valtoshow) $valtoshow=max($conf->global->MEMBER_MIN_AMOUNT,$valtoshow);
|
||||||
|
print '<input type="hidden" name="amount" value="'.GETPOST("amount",'int').'">';
|
||||||
|
print '<input class="flat maxwidth75" type="text" name="newamount" value="'.$valtoshow.'">';
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$valtoshow=$amount;
|
||||||
|
if (! empty($conf->global->MEMBER_MIN_AMOUNT) && $valtoshow) $valtoshow=max($conf->global->MEMBER_MIN_AMOUNT,$valtoshow);
|
||||||
|
print '<b>'.price($valtoshow).'</b>';
|
||||||
|
print '<input type="hidden" name="amount" value="'.$valtoshow.'">';
|
||||||
|
print '<input type="hidden" name="newamount" value="'.$valtoshow.'">';
|
||||||
|
}
|
||||||
|
// Currency
|
||||||
|
print ' <b>'.$langs->trans("Currency".$currency).'</b>';
|
||||||
|
print '<input type="hidden" name="currency" value="'.$currency.'">';
|
||||||
|
print '</td></tr>'."\n";
|
||||||
|
|
||||||
|
// Tag
|
||||||
|
|
||||||
|
print '<tr class="CTableRow'.($var?'1':'2').'"><td class="CTableRow'.($var?'1':'2').'">'.$langs->trans("PaymentCode");
|
||||||
|
print '</td><td class="CTableRow'.($var?'1':'2').'"><b style="word-break: break-all;">'.$fulltag.'</b>';
|
||||||
|
print '<input type="hidden" name="tag" value="'.$tag.'">';
|
||||||
|
print '<input type="hidden" name="fulltag" value="'.$fulltag.'">';
|
||||||
|
print '</td></tr>'."\n";
|
||||||
|
|
||||||
|
// Shipping address
|
||||||
|
$shipToName=$don->getFullName($langs);
|
||||||
|
$shipToStreet=$don->address;
|
||||||
|
$shipToCity=$don->town;
|
||||||
|
$shipToState=$don->state_code;
|
||||||
|
$shipToCountryCode=$don->country_code;
|
||||||
|
$shipToZip=$don->zip;
|
||||||
|
$shipToStreet2='';
|
||||||
|
$phoneNum=$don->phone;
|
||||||
|
if ($shipToName && $shipToStreet && $shipToCity && $shipToCountryCode && $shipToZip)
|
||||||
|
{
|
||||||
|
print '<!-- Shipping address information -->';
|
||||||
|
print '<input type="hidden" name="shipToName" value="'.$shipToName.'">'."\n";
|
||||||
|
print '<input type="hidden" name="shipToStreet" value="'.$shipToStreet.'">'."\n";
|
||||||
|
print '<input type="hidden" name="shipToCity" value="'.$shipToCity.'">'."\n";
|
||||||
|
print '<input type="hidden" name="shipToState" value="'.$shipToState.'">'."\n";
|
||||||
|
print '<input type="hidden" name="shipToCountryCode" value="'.$shipToCountryCode.'">'."\n";
|
||||||
|
print '<input type="hidden" name="shipToZip" value="'.$shipToZip.'">'."\n";
|
||||||
|
print '<input type="hidden" name="shipToStreet2" value="'.$shipToStreet2.'">'."\n";
|
||||||
|
print '<input type="hidden" name="phoneNum" value="'.$phoneNum.'">'."\n";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
print '<!-- Shipping address not complete, so we don t use it -->'."\n";
|
||||||
|
}
|
||||||
|
if (is_object($don->thirdparty)) print '<input type="hidden" name="thirdparty_id" value="'.$don->thirdparty->id.'">'."\n";
|
||||||
|
print '<input type="hidden" name="email" value="'.$don->email.'">'."\n";
|
||||||
|
$labeldesc = $langs->trans("PaymentSubscription");
|
||||||
|
if (GETPOST('desc','alpha')) $labeldesc=GETPOST('desc','alpha');
|
||||||
|
print '<input type="hidden" name="desc" value="'.dol_escape_htmltag($labeldesc).'">'."\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
if (! $found && ! $mesg) $mesg=$langs->trans("ErrorBadParameters");
|
if (! $found && ! $mesg) $mesg=$langs->trans("ErrorBadParameters");
|
||||||
|
|||||||
@ -176,4 +176,4 @@ if ($messagetoshow)
|
|||||||
|
|
||||||
// End of page
|
// End of page
|
||||||
llxFooter();
|
llxFooter();
|
||||||
$db->close();;
|
$db->close();
|
||||||
|
|||||||
@ -25,7 +25,7 @@
|
|||||||
* \ingroup stripe
|
* \ingroup stripe
|
||||||
* \brief File Class actionsstripeconnect
|
* \brief File Class actionsstripeconnect
|
||||||
*/
|
*/
|
||||||
require_once DOL_DOCUMENT_ROOT.'/stripe/class/stripe.class.php';;
|
require_once DOL_DOCUMENT_ROOT.'/stripe/class/stripe.class.php';
|
||||||
|
|
||||||
|
|
||||||
$langs->load("stripe@stripe");
|
$langs->load("stripe@stripe");
|
||||||
@ -44,8 +44,8 @@ class ActionsStripeconnect
|
|||||||
private $config=array();
|
private $config=array();
|
||||||
|
|
||||||
// For Hookmanager return
|
// For Hookmanager return
|
||||||
var $resprints;
|
public $resprints;
|
||||||
var $results=array();
|
public $results=array();
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -237,7 +237,7 @@ function Print(id){
|
|||||||
function TakeposPrinting(id){
|
function TakeposPrinting(id){
|
||||||
var receipt;
|
var receipt;
|
||||||
$.get("receipt.php?facid="+id, function(data, status){
|
$.get("receipt.php?facid="+id, function(data, status){
|
||||||
receipt=data.replace(/([^>\r\n]?)(\r\n|\n\r|\r|\n)/g, '');;
|
receipt=data.replace(/([^>\r\n]?)(\r\n|\n\r|\r|\n)/g, '');
|
||||||
$.ajax({
|
$.ajax({
|
||||||
type: "POST",
|
type: "POST",
|
||||||
url: 'http://<?php print $conf->global->TAKEPOS_PRINT_SERVER;?>:8111/print',
|
url: 'http://<?php print $conf->global->TAKEPOS_PRINT_SERVER;?>:8111/print',
|
||||||
|
|||||||
@ -47,7 +47,7 @@ $colorbacklineimpair1='255,255,255'; // line impair
|
|||||||
$colorbacklineimpair2='255,255,255'; // line impair
|
$colorbacklineimpair2='255,255,255'; // line impair
|
||||||
$colorbacklinepair1='250,250,250'; // line pair
|
$colorbacklinepair1='250,250,250'; // line pair
|
||||||
$colorbacklinepair2='250,250,250'; // line pair
|
$colorbacklinepair2='250,250,250'; // line pair
|
||||||
$colorbacklinepairhover='238,246,252'; // line pair
|
$colorbacklinepairhover='230,237,244'; // line hover
|
||||||
$colorbacklinebreak='214,218,220'; // line break
|
$colorbacklinebreak='214,218,220'; // line break
|
||||||
$colorbackbody='255,255,255';
|
$colorbackbody='255,255,255';
|
||||||
$colortexttitlenotab='100,60,20';
|
$colortexttitlenotab='100,60,20';
|
||||||
@ -144,12 +144,12 @@ $fontsize =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty(
|
|||||||
$fontsizesmaller =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_FONT_SIZE2) ?$fontsize:$conf->global->THEME_ELDY_FONT_SIZE2) :(empty($user->conf->THEME_ELDY_FONT_SIZE2)?$fontsize:$user->conf->THEME_ELDY_FONT_SIZE2);
|
$fontsizesmaller =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_FONT_SIZE2) ?$fontsize:$conf->global->THEME_ELDY_FONT_SIZE2) :(empty($user->conf->THEME_ELDY_FONT_SIZE2)?$fontsize:$user->conf->THEME_ELDY_FONT_SIZE2);
|
||||||
|
|
||||||
// Hover color
|
// Hover color
|
||||||
$colorbacklinepairhover=((! isset($conf->global->THEME_ELDY_USE_HOVER) || (string) $conf->global->THEME_ELDY_USE_HOVER === '0')?'':($conf->global->THEME_ELDY_USE_HOVER === '1'?'edf4fb':$conf->global->THEME_ELDY_USE_HOVER));
|
$colorbacklinepairhover=((! isset($conf->global->THEME_ELDY_USE_HOVER) || (string) $conf->global->THEME_ELDY_USE_HOVER === '0')?'':($conf->global->THEME_ELDY_USE_HOVER === '1'?'e6edf0':$conf->global->THEME_ELDY_USE_HOVER));
|
||||||
$colorbacklinepairchecked=((! isset($conf->global->THEME_ELDY_USE_CHECKED) || (string) $conf->global->THEME_ELDY_USE_CHECKED === '0')?'':($conf->global->THEME_ELDY_USE_CHECKED === '1'?'edf4fb':$conf->global->THEME_ELDY_USE_CHECKED));
|
$colorbacklinepairchecked=((! isset($conf->global->THEME_ELDY_USE_CHECKED) || (string) $conf->global->THEME_ELDY_USE_CHECKED === '0')?'':($conf->global->THEME_ELDY_USE_CHECKED === '1'?'e6edf0':$conf->global->THEME_ELDY_USE_CHECKED));
|
||||||
if (! empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED))
|
if (! empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED))
|
||||||
{
|
{
|
||||||
$colorbacklinepairhover=((! isset($user->conf->THEME_ELDY_USE_HOVER) || $user->conf->THEME_ELDY_USE_HOVER === '0')?'':($user->conf->THEME_ELDY_USE_HOVER === '1'?'edf4fb':$user->conf->THEME_ELDY_USE_HOVER));
|
$colorbacklinepairhover=((! isset($user->conf->THEME_ELDY_USE_HOVER) || $user->conf->THEME_ELDY_USE_HOVER === '0')?'':($user->conf->THEME_ELDY_USE_HOVER === '1'?'e6edf0':$user->conf->THEME_ELDY_USE_HOVER));
|
||||||
$colorbacklinepairchecked=((! isset($user->conf->THEME_ELDY_USE_CHECKED) || $user->conf->THEME_ELDY_USE_CHECKED === '0')?'':($user->conf->THEME_ELDY_USE_CHECKED === '1'?'edf4fb':$user->conf->THEME_ELDY_USE_CHECKED));
|
$colorbacklinepairchecked=((! isset($user->conf->THEME_ELDY_USE_CHECKED) || $user->conf->THEME_ELDY_USE_CHECKED === '0')?'':($user->conf->THEME_ELDY_USE_CHECKED === '1'?'e6edf0':$user->conf->THEME_ELDY_USE_CHECKED));
|
||||||
}
|
}
|
||||||
|
|
||||||
//$colortopbordertitle1=$colorbackhmenu1;
|
//$colortopbordertitle1=$colorbackhmenu1;
|
||||||
@ -2306,7 +2306,6 @@ div.tabs {
|
|||||||
padding-right: 6px !important;
|
padding-right: 6px !important;
|
||||||
clear:both;
|
clear:both;
|
||||||
height:100%;
|
height:100%;
|
||||||
/* background-image: linear-gradient(to top,#f6f6f6 0,#fff 8px); */
|
|
||||||
}
|
}
|
||||||
div.tabsElem {
|
div.tabsElem {
|
||||||
margin-top: 1px;
|
margin-top: 1px;
|
||||||
@ -2464,7 +2463,7 @@ span.butAction, span.butActionDelete {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.butAction {
|
.butAction {
|
||||||
background: rgb(230, 236, 230)
|
background: rgb(225, 231, 225)
|
||||||
/* background: rgb(230, 232, 239); */
|
/* background: rgb(230, 232, 239); */
|
||||||
}
|
}
|
||||||
.butActionRefused, .butAction, .butAction:link, .butAction:visited, .butAction:hover, .butAction:active, .butActionDelete, .butActionDelete:link, .butActionDelete:visited, .butActionDelete:hover, .butActionDelete:active {
|
.butActionRefused, .butAction, .butAction:link, .butAction:visited, .butAction:hover, .butAction:active, .butActionDelete, .butActionDelete:link, .butActionDelete:visited, .butActionDelete:hover, .butActionDelete:active {
|
||||||
@ -2522,7 +2521,7 @@ a.butActionNewRefused>span.fa-plus-circle, a.butActionNewRefused>span.fa-plus-ci
|
|||||||
}
|
}
|
||||||
|
|
||||||
.butActionDelete, .butActionDelete:link, .butActionDelete:visited, .butActionDelete:hover, .butActionDelete:active, .buttonDelete {
|
.butActionDelete, .butActionDelete:link, .butActionDelete:visited, .butActionDelete:hover, .butActionDelete:active, .buttonDelete {
|
||||||
background: rgb(239, 232, 230);
|
background: rgb(234, 228, 225);
|
||||||
/* border: 1px solid #633; */
|
/* border: 1px solid #633; */
|
||||||
color: #633;
|
color: #633;
|
||||||
}
|
}
|
||||||
@ -3410,7 +3409,7 @@ table.noborder.boxtable tr td {
|
|||||||
border-bottom-width: 0 !important;
|
border-bottom-width: 0 !important;
|
||||||
}
|
}
|
||||||
.boxtable .fichehalfright, .boxtable .fichehalfleft {
|
.boxtable .fichehalfright, .boxtable .fichehalfleft {
|
||||||
min-width: 300px;
|
min-width: 275px; /* increasing this, make chart on box not side by side on laptops */
|
||||||
}
|
}
|
||||||
.tdboxstats {
|
.tdboxstats {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
@ -3885,7 +3884,7 @@ tr.visible {
|
|||||||
}
|
}
|
||||||
.websitebar {
|
.websitebar {
|
||||||
border-bottom: 1px solid #ccc;
|
border-bottom: 1px solid #ccc;
|
||||||
background: #eee;
|
background: #e6e6e6;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
}
|
}
|
||||||
.websitebar .buttonDelete, .websitebar .button {
|
.websitebar .buttonDelete, .websitebar .button {
|
||||||
|
|||||||
@ -48,7 +48,7 @@ $colorbacklineimpair1='255,255,255'; // line impair
|
|||||||
$colorbacklineimpair2='255,255,255'; // line impair
|
$colorbacklineimpair2='255,255,255'; // line impair
|
||||||
$colorbacklinepair1='248,248,248'; // line pair
|
$colorbacklinepair1='248,248,248'; // line pair
|
||||||
$colorbacklinepair2='246,246,246'; // line pair
|
$colorbacklinepair2='246,246,246'; // line pair
|
||||||
$colorbacklinepairhover='244,244,244'; // line pair
|
$colorbacklinepairhover='230,237,244'; // line pair
|
||||||
$colorbacklinebreak='214,218,220';
|
$colorbacklinebreak='214,218,220';
|
||||||
$colorbackbody='248,248,248';
|
$colorbackbody='248,248,248';
|
||||||
$colortexttitlenotab='90,90,90';
|
$colortexttitlenotab='90,90,90';
|
||||||
@ -3323,7 +3323,7 @@ span.dashboardlineko {
|
|||||||
/* border-bottom-width: 0 !important; */
|
/* border-bottom-width: 0 !important; */
|
||||||
}
|
}
|
||||||
.boxtable .fichehalfright, .boxtable .fichehalfleft {
|
.boxtable .fichehalfright, .boxtable .fichehalfleft {
|
||||||
min-width: 300px;
|
min-width: 275px;
|
||||||
}
|
}
|
||||||
.tdboxstats {
|
.tdboxstats {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
@ -4705,7 +4705,7 @@ a span.select2-chosen
|
|||||||
|
|
||||||
/* Special case for the select2 add widget */
|
/* Special case for the select2 add widget */
|
||||||
#addbox .select2-container .select2-choice > .select2-chosen, #actionbookmark .select2-container .select2-choice > .select2-chosen {
|
#addbox .select2-container .select2-choice > .select2-chosen, #actionbookmark .select2-container .select2-choice > .select2-chosen {
|
||||||
text-align: <?php echo $left; ?>;;
|
text-align: <?php echo $left; ?>;
|
||||||
opacity: 0.3;
|
opacity: 0.3;
|
||||||
}
|
}
|
||||||
.select2-container--default .select2-selection--single .select2-selection__placeholder {
|
.select2-container--default .select2-selection--single .select2-selection__placeholder {
|
||||||
|
|||||||
@ -2283,7 +2283,7 @@ class User extends CommonObject
|
|||||||
$label.= '<br><b>'.$langs->trans("Browser").':</b> '.$conf->browser->name.($conf->browser->version?' '.$conf->browser->version:'').' ('.$_SERVER['HTTP_USER_AGENT'].')';
|
$label.= '<br><b>'.$langs->trans("Browser").':</b> '.$conf->browser->name.($conf->browser->version?' '.$conf->browser->version:'').' ('.$_SERVER['HTTP_USER_AGENT'].')';
|
||||||
$label.= '<br><b>'.$langs->trans("Layout").':</b> '.$conf->browser->layout;
|
$label.= '<br><b>'.$langs->trans("Layout").':</b> '.$conf->browser->layout;
|
||||||
$label.= '<br><b>'.$langs->trans("Screen").':</b> '.$_SESSION['dol_screenwidth'].' x '.$_SESSION['dol_screenheight'];
|
$label.= '<br><b>'.$langs->trans("Screen").':</b> '.$_SESSION['dol_screenwidth'].' x '.$_SESSION['dol_screenheight'];
|
||||||
if ($conf->browser->layout == 'phone') $label.= '<br><b>'.$langs->trans("Phone").':</b> '.$langs->trans("Yes");;
|
if ($conf->browser->layout == 'phone') $label.= '<br><b>'.$langs->trans("Phone").':</b> '.$langs->trans("Yes");
|
||||||
if (! empty($_SESSION["disablemodules"])) $label.= '<br><b>'.$langs->trans("DisabledModules").':</b> <br>'.join(', ',explode(',',$_SESSION["disablemodules"]));
|
if (! empty($_SESSION["disablemodules"])) $label.= '<br><b>'.$langs->trans("DisabledModules").':</b> <br>'.join(', ',explode(',',$_SESSION["disablemodules"]));
|
||||||
}
|
}
|
||||||
if ($infologin < 0) $label='';
|
if ($infologin < 0) $label='';
|
||||||
|
|||||||
@ -300,4 +300,4 @@ if ($action == 'edit') { ?>
|
|||||||
|
|
||||||
// End of page
|
// End of page
|
||||||
llxFooter();
|
llxFooter();
|
||||||
$db->close();;
|
$db->close();
|
||||||
|
|||||||
@ -348,6 +348,15 @@ if ($action == 'addcontainer')
|
|||||||
{
|
{
|
||||||
include_once DOL_DOCUMENT_ROOT.'/core/lib/geturl.lib.php';
|
include_once DOL_DOCUMENT_ROOT.'/core/lib/geturl.lib.php';
|
||||||
|
|
||||||
|
if (! preg_match('/^http/', $urltograb))
|
||||||
|
{
|
||||||
|
$error++;
|
||||||
|
setEventMessages('Error URL must start with http:// or https://', null, 'errors');
|
||||||
|
$action = 'createcontainer';
|
||||||
|
}
|
||||||
|
|
||||||
|
if (! $error)
|
||||||
|
{
|
||||||
// Clean url to grab, so url can be
|
// Clean url to grab, so url can be
|
||||||
// http://www.example.com/ or http://www.example.com/dir1/ or http://www.example.com/dir1/aaa
|
// http://www.example.com/ or http://www.example.com/dir1/ or http://www.example.com/dir1/aaa
|
||||||
$urltograbwithoutdomainandparam = preg_replace('/^https?:\/\/[^\/]+\/?/i', '', $urltograb);
|
$urltograbwithoutdomainandparam = preg_replace('/^https?:\/\/[^\/]+\/?/i', '', $urltograb);
|
||||||
@ -362,6 +371,7 @@ if ($action == 'addcontainer')
|
|||||||
$urltograbdirrootwithoutslash = getRootURLFromURL($urltograbdirwithoutslash);
|
$urltograbdirrootwithoutslash = getRootURLFromURL($urltograbdirwithoutslash);
|
||||||
// Exemple, now $urltograbdirwithoutslash is https://www.dolimed.com/screenshots
|
// Exemple, now $urltograbdirwithoutslash is https://www.dolimed.com/screenshots
|
||||||
// and $urltograbdirrootwithoutslash is https://www.dolimed.com
|
// and $urltograbdirrootwithoutslash is https://www.dolimed.com
|
||||||
|
}
|
||||||
|
|
||||||
// Check pageurl is not already used
|
// Check pageurl is not already used
|
||||||
if ($pageurl)
|
if ($pageurl)
|
||||||
@ -465,6 +475,7 @@ if ($action == 'addcontainer')
|
|||||||
$tmp = $objectpage->htmlheader;
|
$tmp = $objectpage->htmlheader;
|
||||||
|
|
||||||
preg_match_all('/<script([^\.>]+)src=["\']([^"\'>]+)["\']([^>]*)><\/script>/i', $objectpage->htmlheader, $regs);
|
preg_match_all('/<script([^\.>]+)src=["\']([^"\'>]+)["\']([^>]*)><\/script>/i', $objectpage->htmlheader, $regs);
|
||||||
|
$errorforsubresource = 0;
|
||||||
foreach ($regs[0] as $key => $val)
|
foreach ($regs[0] as $key => $val)
|
||||||
{
|
{
|
||||||
dol_syslog("We will grab the resource found into script tag ".$regs[2][$key]);
|
dol_syslog("We will grab the resource found into script tag ".$regs[2][$key]);
|
||||||
@ -500,13 +511,15 @@ if ($action == 'addcontainer')
|
|||||||
if ($tmpgeturl['curl_error_no'])
|
if ($tmpgeturl['curl_error_no'])
|
||||||
{
|
{
|
||||||
$error++;
|
$error++;
|
||||||
setEventMessages('Error getting '.$urltograbbis.': '.$tmpgeturl['curl_error_msg'], null, 'errors');
|
setEventMessages('Error getting script url '.$urltograbbis.': '.$tmpgeturl['curl_error_msg'], null, 'errors');
|
||||||
|
$errorforsubresource++;
|
||||||
$action='createcontainer';
|
$action='createcontainer';
|
||||||
}
|
}
|
||||||
elseif ($tmpgeturl['http_code'] != '200')
|
elseif ($tmpgeturl['http_code'] != '200')
|
||||||
{
|
{
|
||||||
$error++;
|
$error++;
|
||||||
setEventMessages('Error getting '.$urltograbbis.': '.$tmpgeturl['http_code'], null, 'errors');
|
setEventMessages('Error getting script url '.$urltograbbis.': '.$tmpgeturl['http_code'], null, 'errors');
|
||||||
|
$errorforsubresource++;
|
||||||
$action='createcontainer';
|
$action='createcontainer';
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -531,9 +544,10 @@ if ($action == 'addcontainer')
|
|||||||
$pagecsscontent = "\n".'<style>'."\n";
|
$pagecsscontent = "\n".'<style>'."\n";
|
||||||
|
|
||||||
preg_match_all('/<link([^\.>]+)href=["\']([^"\'>]+\.css[^"\'>]*)["\']([^>]*)>/i', $objectpage->htmlheader, $regs);
|
preg_match_all('/<link([^\.>]+)href=["\']([^"\'>]+\.css[^"\'>]*)["\']([^>]*)>/i', $objectpage->htmlheader, $regs);
|
||||||
|
$errorforsubresource = 0;
|
||||||
foreach ($regs[0] as $key => $val)
|
foreach ($regs[0] as $key => $val)
|
||||||
{
|
{
|
||||||
dol_syslog("We will grab the resource found into link tag ".$regs[2][$key]);
|
dol_syslog("We will grab the resources found into link tag ".$regs[2][$key]);
|
||||||
|
|
||||||
$linkwithoutdomain = $regs[2][$key];
|
$linkwithoutdomain = $regs[2][$key];
|
||||||
if (preg_match('/^\//', $regs[2][$key]))
|
if (preg_match('/^\//', $regs[2][$key]))
|
||||||
@ -564,14 +578,16 @@ if ($action == 'addcontainer')
|
|||||||
$tmpgeturl = getURLContent($urltograbbis);
|
$tmpgeturl = getURLContent($urltograbbis);
|
||||||
if ($tmpgeturl['curl_error_no'])
|
if ($tmpgeturl['curl_error_no'])
|
||||||
{
|
{
|
||||||
$error++;
|
$errorforsubresource++;
|
||||||
setEventMessages('Error getting '.$urltograbbis.': '.$tmpgeturl['curl_error_msg'], null, 'errors');
|
setEventMessages('Error getting link tag url '.$urltograbbis.': '.$tmpgeturl['curl_error_msg'], null, 'errors');
|
||||||
|
dol_syslog('Error getting '.$urltograbbis.': '.$tmpgeturl['curl_error_msg']);
|
||||||
$action='createcontainer';
|
$action='createcontainer';
|
||||||
}
|
}
|
||||||
elseif ($tmpgeturl['http_code'] != '200')
|
elseif ($tmpgeturl['http_code'] != '200')
|
||||||
{
|
{
|
||||||
$error++;
|
$errorforsubresource++;
|
||||||
setEventMessages('Error getting '.$urltograbbis.': '.$tmpgeturl['http_code'], null, 'errors');
|
setEventMessages('Error getting link tag url'.$urltograbbis.': '.$tmpgeturl['http_code'], null, 'errors');
|
||||||
|
dol_syslog('Error getting '.$urltograbbis.': '.$tmpgeturl['curl_error_msg']);
|
||||||
$action='createcontainer';
|
$action='createcontainer';
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -694,14 +710,11 @@ if ($action == 'addcontainer')
|
|||||||
if ($result)
|
if ($result)
|
||||||
{
|
{
|
||||||
setEventMessages($langs->trans("Saved"), null, 'mesgs');
|
setEventMessages($langs->trans("Saved"), null, 'mesgs');
|
||||||
//header("Location: ".$_SERVER["PHP_SELF"].'?website='.$websitekey.'&pageid='.$pageid);
|
|
||||||
//exit;
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
setEventMessages('Failed to write file '.$filetpl, null, 'errors');
|
setEventMessages('Failed to write file '.$filetpl, null, 'errors');
|
||||||
//header("Location: ".$_SERVER["PHP_SELF"].'?website='.$websitekey.'&pageid='.$pageid);
|
$action = 'createcontainer';
|
||||||
//exit;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -852,6 +865,18 @@ if ($action == 'updatecss')
|
|||||||
$res = $object->fetch(0, $websitekey);
|
$res = $object->fetch(0, $websitekey);
|
||||||
$website = $object;
|
$website = $object;
|
||||||
|
|
||||||
|
// Save master.inc.php file
|
||||||
|
$filemaster=$pathofwebsite.'/master.inc.php';
|
||||||
|
|
||||||
|
dol_syslog("Save master file ".$filemaster);
|
||||||
|
|
||||||
|
dol_mkdir($pathofwebsite);
|
||||||
|
|
||||||
|
// Now generate the master.inc.php page
|
||||||
|
$result = dolSaveMasterFile($filemaster);
|
||||||
|
if (! $result) setEventMessages('Failed to write file '.$filemaster, null, 'errors');
|
||||||
|
|
||||||
|
|
||||||
// Html header file
|
// Html header file
|
||||||
$htmlheadercontent ='';
|
$htmlheadercontent ='';
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user