Merge branch '21.0' into 21vpstatus

This commit is contained in:
Alexandre SPANGARO
2025-01-15 06:49:20 +01:00
39 changed files with 87 additions and 56 deletions

View File

@@ -336,7 +336,7 @@ class Commande extends CommonOrder
'fk_mode_reglement' => array('type' => 'integer', 'label' => 'PaymentMode', 'enabled' => 1, 'visible' => -1, 'position' => 185),
'date_livraison' => array('type' => 'date', 'label' => 'DateDeliveryPlanned', 'enabled' => 1, 'visible' => -1, 'position' => 190, 'csslist' => 'nowraponall'),
'fk_shipping_method' => array('type' => 'integer', 'label' => 'ShippingMethod', 'enabled' => 1, 'visible' => -1, 'position' => 195),
'fk_warehouse' => array('type' => 'integer:Entrepot:product/stock/class/entrepot.class.php', 'label' => 'Fk warehouse', 'enabled' => 'isModEnabled("stock")', 'visible' => -1, 'position' => 200),
'fk_warehouse' => array('type' => 'integer:Entrepot:product/stock/class/entrepot.class.php', 'label' => 'DefaultWarehouse', 'enabled' => 'isModEnabled("stock")', 'visible' => -1, 'position' => 200, 'nodepth' => 1),
'fk_availability' => array('type' => 'integer', 'label' => 'Availability', 'enabled' => 1, 'visible' => -1, 'position' => 205),
'fk_input_reason' => array('type' => 'integer', 'label' => 'InputReason', 'enabled' => 1, 'visible' => -1, 'position' => 210),
//'fk_delivery_address' =>array('type'=>'integer', 'label'=>'DeliveryAddress', 'enabled'=>1, 'visible'=>-1, 'position'=>215),
@@ -856,7 +856,7 @@ class Commande extends CommonOrder
*/
public function cancel($idwarehouse = -1)
{
global $conf, $user, $langs;
global $user, $langs;
$error = 0;

View File

@@ -1415,7 +1415,7 @@ if (getDolGlobalString('MAIN_VIEW_LINE_NUMBER_IN_LIST')) {
}
// Ref
if (!empty($arrayfields['f.ref']['checked'])) {
print '<td class="liste_titre" align="left">';
print '<td class="liste_titre">';
print '<input class="flat maxwidth50imp" type="text" name="search_ref" value="'.dol_escape_htmltag($search_ref).'">';
print '</td>';
}
@@ -1439,7 +1439,7 @@ if (!empty($arrayfields['f.type']['checked'])) {
}
//$listtype[Facture::TYPE_PROFORMA]=$langs->trans("InvoiceProForma"); // A proformat invoice is not an invoice but must be an order.
// @phan-suppress-next-line PhanPluginSuspiciousParamOrder
print $form->selectarray('search_type', $listtype, $search_type, 1, 0, 0, '', 0, 0, 0, '', 'maxwidth100');
print $form->selectarray('search_type', $listtype, $search_type, 1, 0, 0, '', 0, 0, 0, '', 'maxwidth75');
print '</td>';
}
// Invoice Subtype
@@ -2505,7 +2505,7 @@ if ($num > 0) {
// Author
if (!empty($arrayfields['u.login']['checked'])) {
print '<td class="tdoverflowmax200">';
print '<td class="tdoverflowmax125">';
if ($userstatic->id) {
print $userstatic->getNomUrl(-1);
} else {

View File

@@ -664,7 +664,7 @@ class Contact extends CommonObject
$sql .= ", phone = ".(isset($this->phone_pro) ? "'".$this->db->escape($this->phone_pro)."'" : "NULL");
$sql .= ", phone_perso = ".(isset($this->phone_perso) ? "'".$this->db->escape($this->phone_perso)."'" : "NULL");
$sql .= ", phone_mobile = ".(isset($this->phone_mobile) ? "'".$this->db->escape($this->phone_mobile)."'" : "NULL");
$sql .= ", priv = '".$this->db->escape($this->priv)."'";
$sql .= ", priv = ".((int) $this->priv);
$sql .= ", fk_prospectlevel = '".$this->db->escape($this->fk_prospectlevel)."'";
if (isset($this->stcomm_id)) {
$sql .= ", fk_stcommcontact = ".($this->stcomm_id > 0 || $this->stcomm_id == -1 ? $this->stcomm_id : "0");

View File

@@ -12,7 +12,7 @@
* Copyright (C) 2019-2024 Frédéric France <frederic.france@free.fr>
* Copyright (C) 2019 Josep Lluís Amador <joseplluis@lliuretic.cat>
* Copyright (C) 2020 Open-Dsi <support@open-dsi.fr>
* Copyright (C) 2024 MDW <mdeweerd@users.noreply.github.com>
* Copyright (C) 2024-2025 MDW <mdeweerd@users.noreply.github.com>
* Copyright (C) 2024 Benjamin Falière <benjamin.faliere@altairis.fr>
*
* This program is free software; you can redistribute it and/or modify
@@ -368,7 +368,7 @@ if (empty($reshook)) {
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_all = "";
$search_id = '';
$search_ref = '';
$search_ref_ext = '';
$search_firstlast_only = "";
$search_lastname = "";
$search_firstname = "";
@@ -866,8 +866,8 @@ if ($search_all != '') {
if ($search_id > 0) {
$param .= "&search_id=".((int) $search_id);
}
if ($search_ref) {
$param .= "&search_ref=".urlencode($search_ref);
if ($search_ref_ext) {
$param .= "&search_ref_ext=".urlencode($search_ref_ext);
}
if ($search_lastname != '') {
$param .= '&search_lastname='.urlencode($search_lastname);

View File

@@ -103,7 +103,7 @@ class DolEditor
* @param string $toolbarname Name of the toolbar set to use ('dolibarr_details[_encoded]'=the less featured, 'dolibarr_notes[_encoded]' for notes content, 'dolibarr_mailings[_encoded]' for emailing content, 'dolibarr_readonly').
* @param string $toolbarlocation Deprecated. Not used
* @param bool $toolbarstartexpanded Bar is visible or not at start
* @param bool|int $uselocalbrowser Enabled to add links to local object with a local media filemanager. If false, only external images URL can be added into content, or images saved inline with src="data:..." with a cut/paste.
* @param bool|int $uselocalbrowser Enabled to add links to local object with a local media filemanager. -1=auto, false=only external images URL can be added into content, or images saved inline with src="data:..." with a cut/paste.
* @param bool|int|string $okforextendededitor 1 or True=Allow usage of extended editor tool if qualified (like ckeditor). If 'textarea', force use of simple textarea. If 'ace', force use of Ace.
* Warning: If you use 'ace', don't forget to also include ace.js in page header. Also, the button "save" must have class="buttonforacesave".
* @param int $rows Size of rows for textarea tool

View File

@@ -32,7 +32,7 @@
* include DOL_DOCUMENT_ROOT.'/core/customreports.php';
*/
/**
/**
* @var Conf $conf
* @var DoliDB $db
* @var HookManager $hookmanager
@@ -322,6 +322,7 @@ $HH = substr($langs->trans("Hour"), 0, 1).substr($langs->trans("Hour"), 0, 1);
$MI = substr($langs->trans("Minute"), 0, 1).substr($langs->trans("Minute"), 0, 1);
$SS = substr($langs->trans("Second"), 0, 1).substr($langs->trans("Second"), 0, 1);
$arrayoffilterfields = array();
$arrayofmesures = array();
$arrayofxaxis = array();
$arrayofgroupby = array();
@@ -375,6 +376,10 @@ foreach ($arrayoftype as $key => $val) {
}
}
$count = 0;
$arrayoffilterfields = fillArrayOfFilterFields($object, 't', $langs->trans($newarrayoftype[$objecttype]['label']), $arrayoffilterfields, 0, $count);
$arrayoffilterfields = dol_sort_array($arrayoffilterfields, 'position', 'asc', 0, 0, 1);
$count = 0;
$arrayofmesures = fillArrayOfMeasures($object, 't', $langs->trans($newarrayoftype[$objecttype]['label']), $arrayofmesures, 0, $count);
$arrayofmesures = dol_sort_array($arrayofmesures, 'position', 'asc', 0, 0, 1);
@@ -387,10 +392,6 @@ $count = 0;
$arrayofgroupby = fillArrayOfGroupBy($object, 't', $langs->trans($newarrayoftype[$objecttype]['label']), $arrayofgroupby, 0, $count);
$arrayofgroupby = dol_sort_array($arrayofgroupby, 'position', 'asc', 0, 0, 1);
$count = 0;
$arrayoffilterfields = fillArrayOfFilterFields($object, 't', $langs->trans($newarrayoftype[$objecttype]['label']), $arrayoffilterfields, 0, $count);
$arrayoffilterfields = dol_sort_array($arrayoffilterfields, 'position', 'asc', 0, 0, 1);
// Check parameters
if ($action == 'viewgraph') {

View File

@@ -523,10 +523,12 @@ function fillArrayOfFilterFields($object, $tablealias, $labelofobject, &$arrayof
{
global $langs, $extrafields, $db;
$MAXLEVEL = 2;
if (empty($object)) { // Protection against bad use of method
return array();
}
if ($level >= 3) { // Limit scan on 2 levels max
if ($level > $MAXLEVEL) { // Limit scan on 2 levels max
return $arrayoffields;
}
@@ -612,7 +614,11 @@ function fillArrayOfFilterFields($object, $tablealias, $labelofobject, &$arrayof
if (class_exists($newobject)) {
$tmpobject = new $newobject($db);
$count++;
$arrayoffields = fillArrayOfFilterFields($tmpobject, $tablealias.'__'.$key, $langs->trans($val['label']), $arrayoffields, $level + 1, $count, $tablepath);
if (!empty($val['nodepth'])) {
$arrayoffields = fillArrayOfFilterFields($tmpobject, $tablealias.'__'.$key, $langs->trans($val['label']), $arrayoffields, $MAXLEVEL, $count, $tablepath);
} else {
$arrayoffields = fillArrayOfFilterFields($tmpobject, $tablealias.'__'.$key, $langs->trans($val['label']), $arrayoffields, $level + 1, $count, $tablepath);
}
} else {
print 'For property '.$object->element.'->'.$key.', type="'.$val['type'].'": Failed to find class '.$newobject." in file ".$tmptype[2]."<br>\n";
}

View File

@@ -33,7 +33,7 @@
*/
function dolStripPhpCode($str, $replacewith = '')
{
$str = str_replace('<?=', '<?php', $str);
$str = str_replace('<?=', '<?php echo', $str); // replace a bad practive
$newstr = '';
@@ -77,9 +77,9 @@ function dolStripPhpCode($str, $replacewith = '')
*/
function dolKeepOnlyPhpCode($str)
{
$str = str_replace('<?=', '<?php', $str);
$str = str_replace('<?=', '<?php echo', $str);
$str = str_replace('<?php', '__LTINTPHP__', $str);
$str = str_replace('<?', '<?php', $str); // replace the short_open_tag. It is recommended to set this is Off in php.ini
$str = str_replace('<?', '<?php', $str); // replace the short_open_tag. It is recommended to set this to Off in php.ini
$str = str_replace('__LTINTPHP__', '<?php', $str);
$newstr = '';

View File

@@ -98,6 +98,8 @@ class modGeneratePassNone extends ModeleGenPassword
*/
public function validatePassword($password)
{
dol_syslog("modGeneratePassNone::validatePassword");
return 1;
}
}

View File

@@ -221,6 +221,8 @@ class modGeneratePassPerso extends ModeleGenPassword
$this->initAll(); // For the case this method is called alone
dol_syslog("modGeneratePassPerso::validatePassword");
$password_a = preg_split('//u', $password, 0, PREG_SPLIT_NO_EMPTY);
$maj = preg_split('//u', $this->Maj, 0, PREG_SPLIT_NO_EMPTY);
$num = preg_split('//u', $this->Nb, 0, PREG_SPLIT_NO_EMPTY);

View File

@@ -125,6 +125,8 @@ class modGeneratePassStandard extends ModeleGenPassword
{
global $langs;
dol_syslog("modGeneratePassStandard::validatePassword");
if (dol_strlen($password) < $this->length2) {
$langs->load("other");
$this->error = $langs->trans("YourPasswordMustHaveAtLeastXChars", $this->length2);

View File

@@ -291,7 +291,7 @@ class ConferenceOrBooth extends ActionComm
$link_subscription = $dolibarr_main_url_root.'/public/eventorganization/attendee_new.php?id='.urlencode((string) ($id)).'&type=conf';
$encodedsecurekey = dol_hash(getDolGlobalString('EVENTORGANIZATION_SECUREKEY').'conferenceorbooth'.$id, '2');
$encodedsecurekey = dol_hash(getDolGlobalString('EVENTORGANIZATION_SECUREKEY').'conferenceorbooth'.((int) $id), 'md5');
$link_subscription .= '&securekey='.urlencode($encodedsecurekey);
/*$this->fields['pubregister'] = array('type'=>'url', 'label'=>$langs->trans("PublicAttendeeSubscriptionPage"), 'enabled'=>'1', 'position'=>72, 'notnull'=>0, 'visible'=>1);

View File

@@ -489,9 +489,9 @@ class ConferenceOrBoothAttendee extends CommonObject
if (count($filter) > 0) {
foreach ($filter as $key => $value) {
if ($key == 't.rowid' || $key == 't.fk_soc' || $key == 't.fk_project' || $key == 't.fk_actioncomm') {
$sqlwhere[] = $key.'='.((int) $value);
} elseif (in_array($this->fields[$key]['type'], array('date', 'datetime', 'timestamp'))) {
$sqlwhere[] = $key." = '".$this->db->idate($value)."'";
$sqlwhere[] = $this->db->sanitize($key).' = '.((int) $value);
} elseif (!empty($this->fields[$key]) && in_array($this->fields[$key]['type'], array('date', 'datetime', 'timestamp'))) {
$sqlwhere[] = $this->db->sanitize($key)." = '".$this->db->idate($value)."'";
} elseif ($key == 'customsql') {
$sqlwhere[] = $value;
} elseif (strpos($value, '%') === false) {

View File

@@ -307,7 +307,7 @@ yourCompanyInformation=Your company information
emailAlreadyRegistered=This email is already registered.
firstnameContainsLettersOnly=<b>Firstname</b> must contain letters and spaces only
lastnameContainsLettersOnly=<b>Lastname</b> must contain letters and spaces only
passwordCriteria=<b>Password</b> must meet the following criteria:<br>- 12 characters<br>- 1 uppercase letter<br>- 1 digit<br>- No special characters<br>- Avoid repeating characters more than 3 times<br>
passwordCriteria=<b>Password</b> must meet the following criteria:<br>- At least 12 characters<br>- At lest 1 uppercase letter<br>- At least 1 digit<br>- At last 1 special characters<br>- Avoid repeating characters more than 3 times<br>
errorOccurred=An error has occurred.
accountCreation=Create an account
errorsOccurred=There are %s error%s

View File

@@ -257,6 +257,7 @@ logOutFromYourCustomerAccount=Déconnectez-vous de votre compte client
filteredByVersion=Filtré par version
removeFilter=Supprimer filtre
viewMyCart=Voir mon panier
Shipping=Expédition
freeShipping=Expédition gratuite !
noProducts=Aucun produits
nbrItemsInCart=Il y a <span class="ajax_cart_quantity">0</span> articles dans votre panier.

View File

@@ -362,7 +362,7 @@ if (empty($reshook) && $action == 'add' && (!empty($conference->id) && $conferen
// If the registration has already been paid for this attendee
if (!empty($confattendee->date_subscription) && !empty($confattendee->amount)) {
$securekeyurl = dol_hash(getDolGlobalString('EVENTORGANIZATION_SECUREKEY') . 'conferenceorbooth'.$id, 'master');
$securekeyurl = dol_hash(getDolGlobalString('EVENTORGANIZATION_SECUREKEY') . 'conferenceorbooth'.((int) $id), 'md5');
$redirection = $dolibarr_main_url_root.'/public/eventorganization/subscriptionok.php?id='.((int) $id).'&securekey='.urlencode($securekeyurl);
$mesg = $langs->trans("RegistrationAndPaymentWereAlreadyRecorded", $email);
@@ -698,7 +698,7 @@ if (empty($reshook) && $action == 'add' && (!empty($conference->id) && $conferen
dol_syslog("Failed to send EMail to ".$sendto, LOG_ERR, 0, '_payment');
}
$securekeyurl = dol_hash(getDolGlobalString('EVENTORGANIZATION_SECUREKEY') . 'conferenceorbooth'.$id, '2');
$securekeyurl = dol_hash(getDolGlobalString('EVENTORGANIZATION_SECUREKEY') . 'conferenceorbooth'.((int) $id), 'md5');
$redirection = $dolibarr_main_url_root.'/public/eventorganization/subscriptionok.php?id='.((int) $id).'&securekey='.urlencode($securekeyurl);
header("Location: ".$redirection);

View File

@@ -81,7 +81,7 @@ $error = 0;
// Security check
$id = GETPOSTINT("id");
$securekeyreceived = GETPOST("securekey");
$securekeytocompare = dol_hash(getDolGlobalString('EVENTORGANIZATION_SECUREKEY') . 'conferenceorbooth'.$id, '2');
$securekeytocompare = dol_hash(getDolGlobalString('EVENTORGANIZATION_SECUREKEY') . 'conferenceorbooth'.((int) $id), 'md5');
if ($securekeyreceived != $securekeytocompare) {
print $langs->trans('MissingOrBadSecureKey');

View File

@@ -94,7 +94,7 @@ if ($resultproject < 0) {
// Security check
$securekeyreceived = GETPOST('securekey', 'alpha');
$securekeytocompare = dol_hash(getDolGlobalString('EVENTORGANIZATION_SECUREKEY') . 'conferenceorbooth'.$id, 'md5');
$securekeytocompare = dol_hash(getDolGlobalString('EVENTORGANIZATION_SECUREKEY') . 'conferenceorbooth'.((int) $id), 'md5');
if ($securekeytocompare != $securekeyreceived) {
print $langs->trans('MissingOrBadSecureKey');
@@ -550,7 +550,7 @@ if (empty($reshook) && $action == 'add') { // Test on permission not required he
dol_syslog("Failed to send EMail to ".$sendto, LOG_ERR, 0, '_payment');
}
$securekeyurl = dol_hash(getDolGlobalString('EVENTORGANIZATION_SECUREKEY') . 'conferenceorbooth'.$id, '2');
$securekeyurl = dol_hash(getDolGlobalString('EVENTORGANIZATION_SECUREKEY') . 'conferenceorbooth'.((int) $id), 'md5');
$redirection = $dolibarr_main_url_root.'/public/eventorganization/subscriptionok.php?id='.$id.'&securekey='.$securekeyurl;
header("Location: ".$redirection);
exit;

View File

@@ -94,7 +94,7 @@ if ($resultproject < 0) {
// Security check
$securekeyreceived = GETPOST('securekey', 'alpha');
$securekeytocompare = dol_hash(getDolGlobalString('EVENTORGANIZATION_SECUREKEY') . 'conferenceorbooth'.$id, 'md5');
$securekeytocompare = dol_hash(getDolGlobalString('EVENTORGANIZATION_SECUREKEY') . 'conferenceorbooth'.((int) $id), 'md5');
if ($securekeytocompare != $securekeyreceived) {
print $langs->trans('MissingOrBadSecureKey');
@@ -486,7 +486,7 @@ if (empty($reshook) && $action == 'add') { // Test on permission not required he
if (!$error) {
$db->commit();
$securekeyurl = dol_hash(getDolGlobalString('EVENTORGANIZATION_SECUREKEY') . 'conferenceorbooth'.$id, '2');
$securekeyurl = dol_hash(getDolGlobalString('EVENTORGANIZATION_SECUREKEY') . 'conferenceorbooth'.((int) $id), 'md5');
$redirection = $dolibarr_main_url_root.'/public/eventorganization/subscriptionok.php?id='.((int) $id).'&securekey='.urlencode($securekeyurl);
header("Location: ".$redirection);
exit;

View File

@@ -81,7 +81,7 @@ $error = 0;
$action = GETPOST('action', 'aZ09');
$id = GETPOST('id');
$securekeyreceived = GETPOST("securekey");
$securekeytocompare = dol_hash(getDolGlobalString('EVENTORGANIZATION_SECUREKEY') . 'conferenceorbooth'.$id, 'md5');
$securekeytocompare = dol_hash(getDolGlobalString('EVENTORGANIZATION_SECUREKEY') . 'conferenceorbooth'.((int) $id), 'md5');
if ($securekeytocompare != $securekeyreceived) {
print $langs->trans('MissingOrBadSecureKey');
@@ -173,10 +173,10 @@ while ($i < $db->num_rows($result)) {
*/
// Get vote result
$idvote = GETPOST("vote");
$hashedvote = dol_hash(getDolGlobalString('EVENTORGANIZATION_SECUREKEY') . 'vote'.$idvote);
$idvote = GETPOSTINT("vote");
$hashedvote = dol_hash(getDolGlobalString('EVENTORGANIZATION_SECUREKEY').'vote'.$idvote);
if (strlen($idvote)) {
if ($idvote > 0) {
if (in_array($hashedvote, $listofvotes)) {
// Has already voted
$votestatus = 'ko';

View File

@@ -28,6 +28,9 @@ if (!defined('ISLOADEDBYSTEELSHEET')) {
@phan-var-force string $colorblind_deuteranopes_badgeWarning
';
?>
/* IDE Hack <style type="text/css"> */
/* Badge style is based on bootstrap framework */
.badge {

View File

@@ -16,7 +16,8 @@ if (!defined('ISLOADEDBYSTEELSHEET')) {
* @var string $left
*/
?>
/* <style type="text/css" > */
/* IDE Hack <style type="text/css"> */
:root {
--btncolortext: rgb(<?php print $colortextlink; ?>);

View File

@@ -4,7 +4,9 @@ if (!defined('ISLOADEDBYSTEELSHEET')) {
}
include_once DOL_DOCUMENT_ROOT."/core/lib/functions2.lib.php";
?>
/* <style type="text/css" > don't remove this line it's an ide hack */
/* IDE Hack <style type="text/css"> */
/*
* Dropdown of user popup
*/

View File

@@ -3,6 +3,8 @@ if (!defined('ISLOADEDBYSTEELSHEET')) {
die('Must be call by steelsheet');
}
?>
/* IDE Hack <style type="text/css"> */
.template-container {
display: flex;
justify-content: space-between;

View File

@@ -28,7 +28,7 @@ if (!defined('ISLOADEDBYSTEELSHEET')) {
* @var string $path
*/
?>
/* <style type="text/css" > */ /* don't remove this line it's an ide hack */
/* IDE Hack <style type="text/css"> */
.flag-sprite {
background:url(<?php echo dol_buildpath($path.'/theme/common/flags/flag-sprite.png', 1) ?>) no-repeat top left; display:inline-block;

View File

@@ -153,7 +153,7 @@ $leftmenuwidth = 240;
$borderradius = getDolGlobalString('THEME_ELDY_USEBORDERONTABLE') ? getDolGlobalInt('THEME_ELDY_BORDER_RADIUS', 6) : 0;
?>
/* <style type="text/css" > */
/* IDE Hack <style type="text/css"> */
/* ============================================================================== */
/* Default styles */

View File

@@ -14,7 +14,7 @@ if (!defined('ISLOADEDBYSTEELSHEET')) {
@phan-var-force string $left
';
?>
/* <style type="text/css" > */
/* IDE Hack <style type="text/css"> */
/*
* Component: Info Box

View File

@@ -25,7 +25,7 @@ if (!defined('ISLOADEDBYSTEELSHEET')) {
die('Must be call by stylesheet');
}
?>
/* <style type="text/css" > */
/* IDE Hack <style type="text/css"> */
.mainmenu::before{
/* font part */

View File

@@ -55,6 +55,7 @@ if (!defined('NOSESSION')) {
}
require_once __DIR__.'/../../main.inc.php';
/**
* @var Conf $conf
*/

View File

@@ -2,7 +2,9 @@
if (!defined('ISLOADEDBYSTEELSHEET')) {
die('Must be call by steelsheet');
} ?>
/* <style type="text/css" > */
/* IDE Hack <style type="text/css"> */
/*
progress style is based on bootstrap and admin lte framework
*/
@@ -198,4 +200,3 @@ body[class*="colorblind-"] .progress-bar-red, body[class*="colorblind-"] .progre
.progress-bar-consumed-late {
background-color: <?php echo colorAgressiveness($badgeDanger, -95, +70) ?>;
}

View File

@@ -11,7 +11,8 @@
if (!defined('ISLOADEDBYSTEELSHEET')) {
die('Must be call by steelsheet');
} ?>
/* <style type="text/css" > */
/* IDE Hack <style type="text/css"> */
/*

View File

@@ -18,7 +18,9 @@ if (!defined('ISLOADEDBYSTEELSHEET')) {
@phan-var-force string $colorblind_deuteranopes_badgeWarning
';
?>
/* <style type="text/css" > */
/* IDE Hack <style type="text/css"> */
/*
Badge style is based on bootstrap framework
*/

View File

@@ -13,7 +13,8 @@ if (!defined('ISLOADEDBYSTEELSHEET')) {
* @var string $textbutaction
*/
?>
/* <style type="text/css" > */
/* IDE Hack <style type="text/css"> */
:root {
--btncolortext:rgb(<?php print $colortextlink; ?>);

View File

@@ -7,7 +7,9 @@ if (!defined('ISLOADEDBYSTEELSHEET')) {
$atoploginusername = empty($user->photo) ? 52 : 0;
?>
/* <style type="text/css" > don't remove this line it's an ide hack */
/* IDE Hack <style type="text/css"> */
/*
* Dropdown of user popup
*/

View File

@@ -2,7 +2,8 @@
if (!defined('ISLOADEDBYSTEELSHEET')) {
die('Must be call by steelsheet');
} ?>
/* <style type="text/css" > don't remove this line it's an ide hack */
/* IDE Hack <style type="text/css"> */
.flag-sprite {
background:url(<?php echo dol_buildpath($path.'/theme/common/flags/flag-sprite.png', 1) ?>) no-repeat top left; display:inline-block;

View File

@@ -16,7 +16,8 @@ if (!defined('ISLOADEDBYSTEELSHEET')) {
@phan-var-force string $left
';
?>
/* <style type="text/css" > */
/* IDE Hack <style type="text/css"> */
/*

View File

@@ -1,7 +1,8 @@
<?php if (!defined('ISLOADEDBYSTEELSHEET')) {
die('Must be call by steelsheet');
} ?>
/* <style type="text/css" > */
/* IDE Hack <style type="text/css"> */
.mainmenu::before{
/* font part */

View File

@@ -4,6 +4,3 @@ if (!defined('ISLOADEDBYSTEELSHEET')) {
}
include dol_buildpath($path.'/theme/eldy/progress.inc.php', 0); // actually md use same style as eldy theme
?>
/* <style type="text/css" > */

View File

@@ -396,7 +396,8 @@ print '*/'."\n";
$leftmenuwidth = 242;
?>
/* <style type="text/css" > */
/* IDE Hack <style type="text/css"> */
/* ============================================================================== */