Merge branch 'develop' of git://github.com/Dolibarr/dolibarr into develop
This commit is contained in:
commit
9fe2806804
@ -38,7 +38,7 @@ require_once DOL_DOCUMENT_ROOT.'/core/class/html.formother.class.php';
|
||||
// Load translation files required by the page
|
||||
$langs->loadLangs(array("accountancy"));
|
||||
|
||||
$page = GETPOST("page");
|
||||
$page = GETPOST("page", 'int');
|
||||
$sortorder = GETPOST("sortorder", 'alpha');
|
||||
$sortfield = GETPOST("sortfield", 'alpha');
|
||||
$action = GETPOST('action', 'aZ09');
|
||||
|
||||
@ -575,8 +575,8 @@ if ($action == 'delmouv') {
|
||||
}
|
||||
if ($action == 'delbookkeepingyear') {
|
||||
$form_question = array();
|
||||
$delyear = GETPOST('delyear');
|
||||
$deljournal = GETPOST('deljournal');
|
||||
$delyear = GETPOST('delyear', 'int');
|
||||
$deljournal = GETPOST('deljournal', 'alpha');
|
||||
|
||||
if (empty($delyear)) {
|
||||
$delyear = dol_print_date(dol_now(), '%Y');
|
||||
|
||||
@ -418,10 +418,25 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea
|
||||
if (function_exists('imap_open'))
|
||||
{
|
||||
$connectstringserver = $object->getConnectStringIMAP();
|
||||
$connectstringsource = $connectstringserver.imap_utf7_encode($sourcedir);
|
||||
$connectstringtarget = $connectstringserver.imap_utf7_encode($targetdir);
|
||||
|
||||
$connection = imap_open($connectstringsource, $object->login, $object->password);
|
||||
try {
|
||||
if ($sourcedir) {
|
||||
//$connectstringsource = $connectstringserver.imap_utf7_encode($sourcedir);
|
||||
$connectstringsource = $connectstringserver.$object->getEncodedUtf7($sourcedir);
|
||||
}
|
||||
if ($targetdir) {
|
||||
//$connectstringtarget = $connectstringserver.imap_utf7_encode($targetdir);
|
||||
$connectstringtarget = $connectstringserver.$object->getEncodedUtf7($targetdir);
|
||||
}
|
||||
|
||||
$connection = imap_open($connectstringsource, $object->login, $object->password);
|
||||
}
|
||||
catch(Exception $e)
|
||||
{
|
||||
print $e->getMessage();
|
||||
}
|
||||
|
||||
$morehtml .= $form->textwithpicto('', 'connect string '.$connectstringserver);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -509,11 +524,11 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea
|
||||
else { jQuery("#rulevalue").prop("disabled", false); }
|
||||
jQuery("#rulevalue").attr("placeholder", (jQuery("#filtertype option:selected").attr("data-placeholder")));
|
||||
';
|
||||
$noparam = array();
|
||||
/*$noparam = array();
|
||||
foreach ($arrayoftypes as $key => $value)
|
||||
{
|
||||
if ($value['noparam']) $noparam[] = $key;
|
||||
}
|
||||
}*/
|
||||
print '})';
|
||||
print '</script>'."\n";
|
||||
|
||||
|
||||
@ -315,7 +315,7 @@ if ($action == 'edit')
|
||||
// SuperAdministrator access only
|
||||
if (empty($conf->multicompany->enabled) || ($user->admin && ! $user->entity))
|
||||
{
|
||||
print '<input class="flat" id="MAIN_MAIL_SMTP_SERVER" name="MAIN_MAIL_SMTP_SERVER" size="18" value="' . $mainserver . '">';
|
||||
print '<input class="flat" id="MAIN_MAIL_SMTP_SERVER" name="MAIN_MAIL_SMTP_SERVER" size="18" value="' . $mainserver . '" autocomplete="off">';
|
||||
print '<input type="hidden" id="MAIN_MAIL_SMTP_SERVER_sav" name="MAIN_MAIL_SMTP_SERVER_sav" value="' . $mainserver . '">';
|
||||
print '<span id="smtp_server_mess" class="opacitymedium">'.$langs->trans("SeeLocalSendMailSetup").'</span>';
|
||||
}
|
||||
@ -388,7 +388,7 @@ if ($action == 'edit')
|
||||
// SuperAdministrator access only
|
||||
if (empty($conf->multicompany->enabled) || ($user->admin && !$user->entity))
|
||||
{
|
||||
print '<input class="flat" type="password" name="MAIN_MAIL_SMTPS_PW" size="32" value="' . $mainsmtppw . '">';
|
||||
print '<input class="flat" type="password" name="MAIN_MAIL_SMTPS_PW" size="32" value="' . $mainsmtppw . '" autocomplete="off">';
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@ -271,6 +271,12 @@ if ($result)
|
||||
print "</tr>\n";
|
||||
$i++;
|
||||
}
|
||||
if (empty($num)) {
|
||||
$colspan = 6;
|
||||
if (!$filteremail) $colspan++;
|
||||
print '<tr><td colspan="'.$colspan.'"><span class="opacitymedium">'.$langs->trans("NoRecordFound").'</td></tr>';
|
||||
}
|
||||
|
||||
print '</table>';
|
||||
print '</div>';
|
||||
print '</form>';
|
||||
|
||||
@ -80,7 +80,7 @@ $search_total_ttc = GETPOST('search_total_ttc', 'alpha');
|
||||
$search_categ_cus = trim(GETPOST("search_categ_cus", 'int'));
|
||||
$optioncss = GETPOST('optioncss', 'alpha');
|
||||
$billed = GETPOST('billed', 'int');
|
||||
$viewstatut = GETPOST('viewstatut');
|
||||
$viewstatut = GETPOST('viewstatut', 'int');
|
||||
$search_btn = GETPOST('button_search', 'alpha');
|
||||
$search_remove_btn = GETPOST('button_removefilter', 'alpha');
|
||||
$search_project_ref = GETPOST('search_project_ref', 'alpha');
|
||||
|
||||
@ -698,10 +698,7 @@ if ($resql)
|
||||
print '<td> </td>';
|
||||
print '<td>'.$langs->trans("Type").'</td>';
|
||||
print '<td>'.$langs->trans("Numero").'</td>';
|
||||
//if (! $search_account > 0)
|
||||
//{
|
||||
print '<td class=right>'.$langs->trans("BankAccount").'</td>';
|
||||
//}
|
||||
print '<td class=right>'.$langs->trans("BankAccount").'</td>';
|
||||
print '<td class=right>'.$langs->trans("Debit").'</td>';
|
||||
print '<td class=right>'.$langs->trans("Credit").'</td>';
|
||||
/*if (! empty($conf->accounting->enabled))
|
||||
@ -824,19 +821,21 @@ if ($resql)
|
||||
$moreforfilter = '';
|
||||
|
||||
$moreforfilter .= '<div class="divsearchfield">';
|
||||
$moreforfilter .= $langs->trans('DateOperationShort').' : ';
|
||||
$moreforfilter .= '<div class="nowrap'.($conf->browser->layout == 'phone' ? ' centpercent' : '').' inline-block">'.$langs->trans('From').' ';
|
||||
$moreforfilter .= $langs->trans('DateOperationShort').' :';
|
||||
$moreforfilter .= ($conf->browser->layout == 'phone' ? '<br>' : ' ');
|
||||
$moreforfilter .= '<div class="nowrap inline-block">'.$langs->trans('From').' ';
|
||||
$moreforfilter .= $form->selectDate($search_dt_start, 'search_start_dt', 0, 0, 1, "search_form", 1, 0).'</div>';
|
||||
//$moreforfilter .= ' - ';
|
||||
$moreforfilter .= '<div class="nowrap'.($conf->browser->layout == 'phone' ? ' centpercent' : '').' inline-block">'.$langs->trans('to').' '.$form->selectDate($search_dt_end, 'search_end_dt', 0, 0, 1, "search_form", 1, 0).'</div>';
|
||||
$moreforfilter .= '<div class="nowrap inline-block">'.$langs->trans('to').' '.$form->selectDate($search_dt_end, 'search_end_dt', 0, 0, 1, "search_form", 1, 0).'</div>';
|
||||
$moreforfilter .= '</div>';
|
||||
|
||||
$moreforfilter .= '<div class="divsearchfield">';
|
||||
$moreforfilter .= $langs->trans('DateValueShort').' : ';
|
||||
$moreforfilter .= '<div class="nowrap'.($conf->browser->layout == 'phone' ? ' centpercent' : '').' inline-block">'.$langs->trans('From').' ';
|
||||
$moreforfilter .= ($conf->browser->layout == 'phone' ? '<br>' : ' ');
|
||||
$moreforfilter .= '<div class="nowrap inline-block">'.$langs->trans('From').' ';
|
||||
$moreforfilter .= $form->selectDate($search_dv_start, 'search_start_dv', 0, 0, 1, "search_form", 1, 0).'</div>';
|
||||
//$moreforfilter .= ' - ';
|
||||
$moreforfilter .= '<div class="nowrap'.($conf->browser->layout == 'phone' ? ' centpercent' : '').' inline-block">'.$langs->trans('to').' '.$form->selectDate($search_dv_end, 'search_end_dv', 0, 0, 1, "search_form", 1, 0).'</div>';
|
||||
$moreforfilter .= '<div class="nowrap inline-block">'.$langs->trans('to').' '.$form->selectDate($search_dv_end, 'search_end_dv', 0, 0, 1, "search_form", 1, 0).'</div>';
|
||||
$moreforfilter .= '</div>';
|
||||
|
||||
if (!empty($conf->categorie->enabled))
|
||||
|
||||
@ -283,7 +283,7 @@ if ($action == 'create')
|
||||
// Label
|
||||
print '<tr><td>';
|
||||
print $form->editfieldkey('Label', 'label', '', $object, 0, 'string', '', 1).'</td><td>';
|
||||
print '<input name="label" id="label" class="minwidth300" value="'.($label ? $label : $langs->trans("VariousPayment")).'">';
|
||||
print '<input name="label" id="label" class="minwidth300 maxwidth150onsmartphone" value="'.($label ? $label : $langs->trans("VariousPayment")).'">';
|
||||
print '</td></tr>';
|
||||
|
||||
// Sens
|
||||
@ -296,7 +296,7 @@ if ($action == 'create')
|
||||
// Amount
|
||||
print '<tr><td>';
|
||||
print $form->editfieldkey('Amount', 'amount', '', $object, 0, 'string', '', 1).'</td><td>';
|
||||
print '<input name="amount" id="amount" class="minwidth100" value="'.$amount.'">';
|
||||
print '<input name="amount" id="amount" class="minwidth100 maxwidth150onsmartphone" value="'.$amount.'">';
|
||||
print '</td></tr>';
|
||||
|
||||
// Bank
|
||||
@ -321,7 +321,7 @@ if ($action == 'create')
|
||||
print '<tr><td><label for="num_payment">'.$langs->trans('Numero');
|
||||
print ' <em>('.$langs->trans("ChequeOrTransferNumber").')</em>';
|
||||
print '</label></td>';
|
||||
print '<td><input name="num_payment" id="num_payment" type="text" value="'.GETPOST("num_payment").'"></td></tr>'."\n";
|
||||
print '<td><input name="num_payment" class="maxwidth150onsmartphone" id="num_payment" type="text" value="'.GETPOST("num_payment").'"></td></tr>'."\n";
|
||||
}
|
||||
|
||||
// Project
|
||||
@ -358,13 +358,13 @@ if ($action == 'create')
|
||||
// TODO Remove the fieldrequired and allow instead to edit a various payment to enter accounting code
|
||||
print '<tr><td class="titlefieldcreate fieldrequired">'.$langs->trans("AccountAccounting").'</td>';
|
||||
print '<td>';
|
||||
print $formaccounting->select_account($accountancy_code, 'accountancy_code', 1, null, 1, 1, '');
|
||||
print $formaccounting->select_account($accountancy_code, 'accountancy_code', 1, null, 1, 1);
|
||||
print '</td></tr>';
|
||||
}
|
||||
else // For external software
|
||||
{
|
||||
print '<tr><td class="titlefieldcreate">'.$langs->trans("AccountAccounting").'</td>';
|
||||
print '<td class="maxwidthonsmartphone"><input class="minwidth100" name="accountancy_code" value="'.$accountancy_code.'">';
|
||||
print '<td><input class="minwidth100 maxwidthonsmartphone" name="accountancy_code" value="'.$accountancy_code.'">';
|
||||
print '</td></tr>';
|
||||
}
|
||||
|
||||
@ -379,14 +379,14 @@ if ($action == 'create')
|
||||
}
|
||||
else
|
||||
{
|
||||
print '<input type="text" class="maxwidth200" name="subledger_account" value="'.$subledger_account.'">';
|
||||
print '<input type="text" class="maxwidth200 maxwidthonsmartphone" name="subledger_account" value="'.$subledger_account.'">';
|
||||
}
|
||||
print '</td></tr>';
|
||||
}
|
||||
else // For external software
|
||||
{
|
||||
print '<tr><td>'.$langs->trans("SubledgerAccount").'</td>';
|
||||
print '<td class="maxwidthonsmartphone"><input class="minwidth100" name="subledger_account" value="'.$subledger_account.'">';
|
||||
print '<td><input class="minwidth100 maxwidthonsmartphone" name="subledger_account" value="'.$subledger_account.'">';
|
||||
print '</td></tr>';
|
||||
}
|
||||
|
||||
|
||||
@ -622,9 +622,14 @@ else
|
||||
|
||||
// Name
|
||||
print '<tr><td class="titlefieldcreate fieldrequired"><label for="lastname">'.$langs->trans("Lastname").' / '.$langs->trans("Label").'</label></td>';
|
||||
print '<td><input name="lastname" id="lastname" type="text" class="maxwidth100onsmartphone" maxlength="80" value="'.dol_escape_htmltag(GETPOST("lastname", 'alpha') ?GETPOST("lastname", 'alpha') : $object->lastname).'" autofocus="autofocus"></td>';
|
||||
print '<td><label for="firstname">'.$langs->trans("Firstname").'</label></td>';
|
||||
print '<td><input name="firstname" id="firstname"type="text" class="maxwidth100onsmartphone" maxlength="80" value="'.dol_escape_htmltag(GETPOST("firstname", 'alpha') ?GETPOST("firstname", 'alpha') : $object->firstname).'"></td></tr>';
|
||||
print '<td colspan="3"><input name="lastname" id="lastname" type="text" class="maxwidth100onsmartphone" maxlength="80" value="'.dol_escape_htmltag(GETPOST("lastname", 'alpha') ?GETPOST("lastname", 'alpha') : $object->lastname).'" autofocus="autofocus"></td>';
|
||||
print '</tr>';
|
||||
|
||||
print '<tr>';
|
||||
print '<td><label for="firstname">';
|
||||
print $form->textwithpicto($langs->trans("Firstname"), $langs->trans("KeepEmptyIfGenericAddress")).'</label></td>';
|
||||
print '<td colspan="3"><input name="firstname" id="firstname"type="text" class="maxwidth100onsmartphone" maxlength="80" value="'.dol_escape_htmltag(GETPOST("firstname", 'alpha') ?GETPOST("firstname", 'alpha') : $object->firstname).'"></td>';
|
||||
print '</tr>';
|
||||
|
||||
// Company
|
||||
if (empty($conf->global->SOCIETE_DISABLE_CONTACTS))
|
||||
@ -715,19 +720,24 @@ else
|
||||
// Phone / Fax
|
||||
print '<tr><td>'.img_picto('', 'object_phoning').' '.$form->editfieldkey('PhonePro', 'phone_pro', '', $object, 0).'</td>';
|
||||
print '<td><input type="text" name="phone_pro" id="phone_pro" class="maxwidth200" value="'.(GETPOSTISSET('phone_pro') ?GETPOST('phone_pro', 'alpha') : $object->phone_pro).'"></td>';
|
||||
if ($conf->browser->layout == 'phone') print '</tr><tr>';
|
||||
print '<td>'.img_picto('', 'object_phoning').' '.$form->editfieldkey('PhonePerso', 'phone_perso', '', $object, 0).'</td>';
|
||||
print '<td><input type="text" name="phone_perso" id="phone_perso" class="maxwidth200" value="'.(GETPOSTISSET('phone_perso') ?GETPOST('phone_perso', 'alpha') : $object->phone_perso).'"></td></tr>';
|
||||
|
||||
print '<tr><td>'.img_picto('', 'object_phoning_mobile').' '.$form->editfieldkey('PhoneMobile', 'phone_mobile', '', $object, 0).'</td>';
|
||||
print '<td><input type="text" name="phone_mobile" id="phone_mobile" class="maxwidth200" value="'.(GETPOSTISSET('phone_mobile') ?GETPOST('phone_mobile', 'alpha') : $object->phone_mobile).'"></td>';
|
||||
if ($conf->browser->layout == 'phone') print '</tr><tr>';
|
||||
print '<td>'.img_picto('', 'object_phoning_fax').' '.$form->editfieldkey('Fax', 'fax', '', $object, 0).'</td>';
|
||||
print '<td><input type="text" name="fax" id="fax" class="maxwidth200" value="'.(GETPOSTISSET('fax') ?GETPOST('fax', 'alpha') : $object->fax).'"></td></tr>';
|
||||
print '<td><input type="text" name="fax" id="fax" class="maxwidth200" value="'.(GETPOSTISSET('fax') ?GETPOST('fax', 'alpha') : $object->fax).'"></td>';
|
||||
print '</tr>';
|
||||
|
||||
if (($objsoc->typent_code == 'TE_PRIVATE' || !empty($conf->global->CONTACT_USE_COMPANY_ADDRESS)) && dol_strlen(trim($object->email)) == 0) $object->email = $objsoc->email; // Predefined with third party
|
||||
|
||||
// Email
|
||||
print '<tr><td>'.img_picto('', 'object_email').' '.$form->editfieldkey('EMail', 'email', '', $object, 0, 'string', '').'</td>';
|
||||
print '<td><input type="text" name="email" id="email" value="'.(GETPOSTISSET('email') ?GETPOST('email', 'alpha') : $object->email).'"></td>';
|
||||
print '</tr>';
|
||||
|
||||
if (!empty($conf->mailing->enabled))
|
||||
{
|
||||
$noemail = '';
|
||||
@ -743,12 +753,10 @@ else
|
||||
}
|
||||
}
|
||||
|
||||
print '<tr>';
|
||||
print '<td><label for="no_email">'.$langs->trans("No_Email").'</label></td>';
|
||||
print '<td>'.$form->selectyesno('no_email', (GETPOSTISSET("no_email") ?GETPOST("no_email", 'alpha') : $noemail), 1).'</td>';
|
||||
}
|
||||
else
|
||||
{
|
||||
print '<td colspan="2"> </td>';
|
||||
print '</tr>';
|
||||
}
|
||||
print '</tr>';
|
||||
|
||||
@ -842,7 +850,7 @@ else
|
||||
print '<table class="border centpercent">';
|
||||
|
||||
// Date To Birth
|
||||
print '<tr><td width="20%"><label for="birthday">'.$langs->trans("DateToBirth").'</label></td><td width="30%">';
|
||||
print '<tr><td><label for="birthday">'.$langs->trans("DateToBirth").'</label></td><td>';
|
||||
$form = new Form($db);
|
||||
if ($object->birthday)
|
||||
{
|
||||
@ -854,15 +862,16 @@ else
|
||||
}
|
||||
print '</td>';
|
||||
|
||||
print '<td colspan="2"><label for="birthday_alert">'.$langs->trans("Alert").'</label>: ';
|
||||
print '<td><label for="birthday_alert">'.$langs->trans("Alert").'</label>: ';
|
||||
if ($object->birthday_alert)
|
||||
{
|
||||
print '<input type="checkbox" name="birthday_alert" id="birthday_alert" checked></td>';
|
||||
print '<input type="checkbox" name="birthday_alert" id="birthday_alert" checked>';
|
||||
}
|
||||
else
|
||||
{
|
||||
print '<input type="checkbox" name="birthday_alert" id="birthday_alert"></td>';
|
||||
print '<input type="checkbox" name="birthday_alert" id="birthday_alert">';
|
||||
}
|
||||
print '</td>';
|
||||
print '</tr>';
|
||||
|
||||
print "</table>";
|
||||
|
||||
@ -626,6 +626,7 @@ class CMailFile
|
||||
}
|
||||
|
||||
// Force parameters
|
||||
//dol_syslog("CMailFile::sendfile conf->global->".$keyforsmtpserver."=".$conf->global->$keyforsmtpserver." cpnf->global->".$keyforsmtpport."=".$conf->global->$keyforsmtpport, LOG_DEBUG);
|
||||
if (!empty($conf->global->$keyforsmtpserver)) ini_set('SMTP', $conf->global->$keyforsmtpserver);
|
||||
if (!empty($conf->global->$keyforsmtpport)) ini_set('smtp_port', $conf->global->$keyforsmtpport);
|
||||
|
||||
@ -776,7 +777,7 @@ class CMailFile
|
||||
else
|
||||
{
|
||||
if (empty($this->error)) $this->error = $result;
|
||||
dol_syslog("CMailFile::sendfile: mail end error=".$this->error, LOG_ERR);
|
||||
dol_syslog("CMailFile::sendfile: mail end error with smtps lib to HOST=".$server.", PORT=".$conf->global->$keyforsmtpport."<br>".$this->error, LOG_ERR);
|
||||
$res = false;
|
||||
}
|
||||
}
|
||||
|
||||
@ -3911,9 +3911,9 @@ function dol_print_error($db = '', $error = '', $errors = null)
|
||||
}
|
||||
|
||||
if (empty($dolibarr_main_prod)) print $out;
|
||||
else
|
||||
else // This should not happen, except if there is a bug somewhere. Enabled and check log in such case.
|
||||
{
|
||||
print 'This website is currently temporarly offline. This may be due to a maintenance operation. Current status of operation are on next line...<br><br>'."\n";
|
||||
print 'This website is currently temporarly offline.<br><br>This may be due to a maintenance operation. Current status of operation are on next line...<br><br>'."\n";
|
||||
$langs->load("errors");
|
||||
print $langs->trans("DolibarrHasDetectedError").'. ';
|
||||
print $langs->trans("YouCanSetOptionDolibarrMainProdToZero");
|
||||
|
||||
@ -91,7 +91,7 @@ $(document).ready(function () {
|
||||
|
||||
<form id="login" name="login" method="post" action="<?php echo $php_self; ?>">
|
||||
<input type="hidden" name="token" value="<?php echo $_SESSION['newtoken']; ?>" />
|
||||
<input type="hidden" name="action" value="login">
|
||||
<input type="hidden" name="actionlogin" value="login">
|
||||
<input type="hidden" name="loginfunction" value="loginfunction" />
|
||||
<!-- Add fields to send local user information -->
|
||||
<input type="hidden" name="tz" id="tz" value="" />
|
||||
|
||||
@ -667,22 +667,56 @@ class EmailCollector extends CommonObject
|
||||
/**
|
||||
* Return the connectstring to use with IMAP connection function
|
||||
*
|
||||
* @param int $norsh Add /norsh to connectstring
|
||||
* @return string
|
||||
*/
|
||||
public function getConnectStringIMAP()
|
||||
public function getConnectStringIMAP($ssl = 1, $norsh = 0)
|
||||
{
|
||||
global $conf;
|
||||
|
||||
// Connect to IMAP
|
||||
$flags = '/service=imap'; // IMAP
|
||||
$flags .= '/ssl'; // '/tls'
|
||||
if ($ssl) $flags .= '/ssl'; // '/tls'
|
||||
$flags .= '/novalidate-cert';
|
||||
//$flags.='/readonly';
|
||||
//$flags.='/debug';
|
||||
if ($norsh || ! empty($conf->global->IMPA_FORCE_NORSH)) $flags .= '/norsh';
|
||||
|
||||
$connectstringserver = '{'.$this->host.':993'.$flags.'}';
|
||||
|
||||
return $connectstringserver;
|
||||
}
|
||||
|
||||
/**
|
||||
* Convert str to UTF-7 imap default mailbox names
|
||||
*
|
||||
* @param string $str String to encode
|
||||
* @return string Encode string
|
||||
*/
|
||||
function getEncodedUtf7($str) {
|
||||
if (function_exists('mb_convert_encoding')) {
|
||||
# change spaces by entropy because mb_convert fail with spaces
|
||||
$str=preg_replace("/ /", "xyxy", $str);
|
||||
# if mb_convert work
|
||||
if ($str = mb_convert_encoding($str, "UTF-7")) {
|
||||
# change characters
|
||||
$str=preg_replace("/\+A/", "&A", $str);
|
||||
# change to spaces again
|
||||
$str=preg_replace("/xyxy/", " ", $str);
|
||||
# return encoded string
|
||||
return $str;
|
||||
# else
|
||||
} else {
|
||||
# print error and return false
|
||||
$this->error = "error: is not possible to encode this string '".$str."'";
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else {
|
||||
return $str;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Action executed by scheduler
|
||||
* CAN BE A CRON TASK. In such a case, paramerts come from the schedule job setup field 'Parameters'
|
||||
@ -1060,7 +1094,6 @@ class EmailCollector extends CommonObject
|
||||
// If there is a filter on trackid
|
||||
if ($searchfilterdoltrackid > 0)
|
||||
{
|
||||
//if (empty($headers['X-Dolibarr-TRACKID'])) continue;
|
||||
if (empty($headers['References']) || !preg_match('/@'.preg_quote($host, '/').'/', $headers['References']))
|
||||
{
|
||||
$nbemailprocessed++;
|
||||
@ -1074,7 +1107,6 @@ class EmailCollector extends CommonObject
|
||||
$nbemailprocessed++;
|
||||
continue;
|
||||
}
|
||||
//if (! empty($headers['X-Dolibarr-TRACKID']) continue;
|
||||
}
|
||||
|
||||
$thirdpartystatic = new Societe($this->db);
|
||||
@ -1459,78 +1491,85 @@ class EmailCollector extends CommonObject
|
||||
// Create event
|
||||
elseif ($operation['type'] == 'recordevent')
|
||||
{
|
||||
if ($projectstatic->id > 0)
|
||||
{
|
||||
if ($projectfoundby) $descriptionmeta = dol_concatdesc($descriptionmeta, 'Project found from '.$projectfoundby);
|
||||
}
|
||||
if ($thirdpartystatic->id > 0)
|
||||
{
|
||||
if ($thirdpartyfoundby) $descriptionmeta = dol_concatdesc($descriptionmeta, 'Third party found from '.$thirdpartyfoundby);
|
||||
}
|
||||
if ($contactstatic->id > 0)
|
||||
{
|
||||
if ($contactfoundby) $descriptionmeta = dol_concatdesc($descriptionmeta, 'Contact/address found from '.$contactfoundby);
|
||||
}
|
||||
$alreadycreated = 0;
|
||||
// TODO Check if $msg ID already in database for $conf->entity
|
||||
|
||||
$description = $descriptiontitle;
|
||||
$description = dol_concatdesc($description, "-----");
|
||||
$description = dol_concatdesc($description, $descriptionmeta);
|
||||
$description = dol_concatdesc($description, "-----");
|
||||
$description = dol_concatdesc($description, $messagetext);
|
||||
|
||||
$descriptionfull = $description;
|
||||
$descriptionfull = dol_concatdesc($descriptionfull, "----- Header");
|
||||
$descriptionfull = dol_concatdesc($descriptionfull, $header);
|
||||
if (! $alreadycreated)
|
||||
{
|
||||
if ($projectstatic->id > 0)
|
||||
{
|
||||
if ($projectfoundby) $descriptionmeta = dol_concatdesc($descriptionmeta, 'Project found from '.$projectfoundby);
|
||||
}
|
||||
if ($thirdpartystatic->id > 0)
|
||||
{
|
||||
if ($thirdpartyfoundby) $descriptionmeta = dol_concatdesc($descriptionmeta, 'Third party found from '.$thirdpartyfoundby);
|
||||
}
|
||||
if ($contactstatic->id > 0)
|
||||
{
|
||||
if ($contactfoundby) $descriptionmeta = dol_concatdesc($descriptionmeta, 'Contact/address found from '.$contactfoundby);
|
||||
}
|
||||
|
||||
// Insert record of emails sent
|
||||
$actioncomm = new ActionComm($this->db);
|
||||
$actioncomm->type_code = 'AC_OTH_AUTO'; // Type of event ('AC_OTH', 'AC_OTH_AUTO', 'AC_XXX'...)
|
||||
$actioncomm->code = 'AC_'.$actioncode;
|
||||
$actioncomm->label = $langs->trans("ActionAC_".$actioncode).' - '.$langs->trans("MailFrom").' '.$from;
|
||||
$actioncomm->note_private= $descriptionfull;
|
||||
$actioncomm->fk_project = $projectstatic->id;
|
||||
$actioncomm->datep = $date;
|
||||
$actioncomm->datef = $date;
|
||||
$actioncomm->percentage = -1; // Not applicable
|
||||
$actioncomm->socid = $thirdpartystatic->id;
|
||||
$actioncomm->contactid = $contactstatic->id;
|
||||
$actioncomm->socpeopleassigned = (!empty($contactstatic->id) ? array($contactstatic->id => '') : array());
|
||||
$actioncomm->authorid = $user->id; // User saving action
|
||||
$actioncomm->userownerid = $user->id; // Owner of action
|
||||
// Fields when action is an email (content should be added into note)
|
||||
$actioncomm->email_msgid = $msgid;
|
||||
$actioncomm->email_from = $fromstring;
|
||||
$actioncomm->email_sender= $sender;
|
||||
$actioncomm->email_to = $to;
|
||||
$actioncomm->email_tocc = $sendtocc;
|
||||
$actioncomm->email_tobcc = $sendtobcc;
|
||||
$actioncomm->email_subject = $subject;
|
||||
$actioncomm->errors_to = '';
|
||||
$description = $descriptiontitle;
|
||||
$description = dol_concatdesc($description, "-----");
|
||||
$description = dol_concatdesc($description, $descriptionmeta);
|
||||
$description = dol_concatdesc($description, "-----");
|
||||
$description = dol_concatdesc($description, $messagetext);
|
||||
|
||||
if (! in_array($fk_element_type, array('societe','contact','project','user')))
|
||||
{
|
||||
$actioncomm->fk_element = $fk_element_id;
|
||||
$actioncomm->elementtype = $fk_element_type;
|
||||
}
|
||||
$descriptionfull = $description;
|
||||
$descriptionfull = dol_concatdesc($descriptionfull, "----- Header");
|
||||
$descriptionfull = dol_concatdesc($descriptionfull, $header);
|
||||
|
||||
//$actioncomm->extraparams = $extraparams;
|
||||
// Insert record of emails sent
|
||||
$actioncomm = new ActionComm($this->db);
|
||||
$actioncomm->type_code = 'AC_OTH_AUTO'; // Type of event ('AC_OTH', 'AC_OTH_AUTO', 'AC_XXX'...)
|
||||
$actioncomm->code = 'AC_'.$actioncode;
|
||||
$actioncomm->label = $langs->trans("ActionAC_".$actioncode).' - '.$langs->trans("MailFrom").' '.$from;
|
||||
$actioncomm->note_private= $descriptionfull;
|
||||
$actioncomm->fk_project = $projectstatic->id;
|
||||
$actioncomm->datep = $date;
|
||||
$actioncomm->datef = $date;
|
||||
$actioncomm->percentage = -1; // Not applicable
|
||||
$actioncomm->socid = $thirdpartystatic->id;
|
||||
$actioncomm->contactid = $contactstatic->id;
|
||||
$actioncomm->socpeopleassigned = (!empty($contactstatic->id) ? array($contactstatic->id => '') : array());
|
||||
$actioncomm->authorid = $user->id; // User saving action
|
||||
$actioncomm->userownerid = $user->id; // Owner of action
|
||||
// Fields when action is an email (content should be added into note)
|
||||
$actioncomm->email_msgid = $msgid;
|
||||
$actioncomm->email_from = $fromstring;
|
||||
$actioncomm->email_sender= $sender;
|
||||
$actioncomm->email_to = $to;
|
||||
$actioncomm->email_tocc = $sendtocc;
|
||||
$actioncomm->email_tobcc = $sendtobcc;
|
||||
$actioncomm->email_subject = $subject;
|
||||
$actioncomm->errors_to = '';
|
||||
|
||||
// Overwrite values with values extracted from source email
|
||||
$errorforthisaction = $this->overwritePropertiesOfObject($actioncomm, $operation['actionparam'], $messagetext, $subject, $header);
|
||||
if (! in_array($fk_element_type, array('societe','contact','project','user')))
|
||||
{
|
||||
$actioncomm->fk_element = $fk_element_id;
|
||||
$actioncomm->elementtype = $fk_element_type;
|
||||
}
|
||||
|
||||
if ($errorforthisaction)
|
||||
{
|
||||
$errorforactions++;
|
||||
}
|
||||
else
|
||||
{
|
||||
$result = $actioncomm->create($user);
|
||||
if ($result <= 0)
|
||||
{
|
||||
$errorforactions++;
|
||||
$this->errors = $actioncomm->errors;
|
||||
}
|
||||
}
|
||||
//$actioncomm->extraparams = $extraparams;
|
||||
|
||||
// Overwrite values with values extracted from source email
|
||||
$errorforthisaction = $this->overwritePropertiesOfObject($actioncomm, $operation['actionparam'], $messagetext, $subject, $header);
|
||||
|
||||
if ($errorforthisaction)
|
||||
{
|
||||
$errorforactions++;
|
||||
}
|
||||
else
|
||||
{
|
||||
$result = $actioncomm->create($user);
|
||||
if ($result <= 0)
|
||||
{
|
||||
$errorforactions++;
|
||||
$this->errors = $actioncomm->errors;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// Create event
|
||||
elseif ($operation['type'] == 'project')
|
||||
|
||||
@ -48,9 +48,18 @@ UPDATE llx_c_units SET label = 'SurfaceUnitm2' WHERE code IN ('M2');
|
||||
|
||||
ALTER TABLE llx_adherent_type ADD UNIQUE INDEX uk_adherent_type_libelle (libelle, entity);
|
||||
|
||||
ALTER TABLE llx_mailing_cibles MODIFY COLUMN lastname varchar(160);
|
||||
ALTER TABLE llx_mailing_cibles MODIFY COLUMN firstname varchar(160);
|
||||
|
||||
ALTER TABLE llx_emailcollector_emailcollector ADD COLUMN login varchar(128);
|
||||
ALTER TABLE llx_emailcollector_emailcollector ADD COLUMN codelastresult varchar(16);
|
||||
ALTER TABLE llx_emailcollector_emailcollectoraction ADD COLUMN position integer DEFAULT 0;
|
||||
|
||||
|
||||
|
||||
-- For v11
|
||||
|
||||
|
||||
insert into llx_c_type_container (code,label,module,active) values ('menu', 'Menu', 'system', 1);
|
||||
|
||||
INSERT INTO llx_c_ticket_type (code, pos, label, active, use_default, description) VALUES('HELP', '15', 'Request for functionnal help', 1, 0, NULL);
|
||||
|
||||
@ -1905,8 +1905,8 @@ CodeLastResult=Latest result code
|
||||
NbOfEmailsInInbox=Number of emails in source directory
|
||||
LoadThirdPartyFromName=Load third party searching on %s (load only)
|
||||
LoadThirdPartyFromNameOrCreate=Load third party searching on %s (create if not found)
|
||||
WithDolTrackingID=Dolibarr Tracking ID found
|
||||
WithoutDolTrackingID=Dolibarr Tracking ID not found
|
||||
WithDolTrackingID=Dolibarr Reference found in Message ID
|
||||
WithoutDolTrackingID=Dolibarr Reference not found in Message ID
|
||||
FormatZip=Zip
|
||||
MainMenuCode=Menu entry code (mainmenu)
|
||||
ECMAutoTree=Show automatic ECM tree
|
||||
|
||||
@ -553,7 +553,7 @@ if (!defined('NOLOGIN'))
|
||||
// Validation of login/pass/entity
|
||||
// If ok, the variable login will be returned
|
||||
// If error, we will put error message in session under the name dol_loginmesg
|
||||
if ($test && $goontestloop && GETPOST('action', 'aZ09') == 'login')
|
||||
if ($test && $goontestloop && GETPOST('actionlogin', 'aZ09') == 'login')
|
||||
{
|
||||
$login = checkLoginPassEntity($usertotest, $passwordtotest, $entitytotest, $authmode);
|
||||
if ($login)
|
||||
@ -611,8 +611,8 @@ if (!defined('NOLOGIN'))
|
||||
// End test login / passwords
|
||||
if (! $login || (in_array('ldap', $authmode) && empty($passwordtotest))) // With LDAP we refused empty password because some LDAP are "opened" for anonymous access so connexion is a success.
|
||||
{
|
||||
// No data to test login, so we show the login page
|
||||
dol_syslog("--- Access to ".$_SERVER["PHP_SELF"]." - action=".GETPOST('action', 'aZ09').", showing the login form and exit");
|
||||
// No data to test login, so we show the login page.
|
||||
dol_syslog("--- Access to ".$_SERVER["PHP_SELF"]." - action=".GETPOST('action', 'aZ09')." - actionlogin=".GETPOST('actionlogin', 'aZ09')." - showing the login form and exit");
|
||||
if (defined('NOREDIRECTBYMAINTOLOGIN')) return 'ERROR_NOT_LOGGED';
|
||||
else dol_loginfunction($langs, $conf, (! empty($mysoc)?$mysoc:''));
|
||||
exit;
|
||||
|
||||
@ -54,8 +54,8 @@ $search_dateday = GETPOST('search_dateday', 'int');
|
||||
$search_date = dol_mktime(0, 0, 0, $search_datemonth, $search_dateday, $search_dateyear);
|
||||
|
||||
$limit = GETPOST('limit', 'int')?GETPOST('limit', 'int'):$conf->liste_limit;
|
||||
$sortfield = GETPOST("sortfield");
|
||||
$sortorder = GETPOST("sortorder");
|
||||
$sortfield = GETPOST("sortfield", 'alpha');
|
||||
$sortorder = GETPOST("sortorder", 'alpha');
|
||||
if (!$sortorder) $sortorder = 'DESC';
|
||||
if (!$sortfield) $sortfield = 'cf.date_creation';
|
||||
$page = GETPOST('page', 'int') ? GETPOST('page', 'int') : 0;
|
||||
|
||||
@ -36,8 +36,8 @@ $sref=GETPOST("sref", 'alpha');
|
||||
$snom=GETPOST("snom", 'alpha');
|
||||
$sall=trim((GETPOST('search_all', 'alphanohtml')!='')?GETPOST('search_all', 'alphanohtml'):GETPOST('sall', 'alphanohtml'));
|
||||
|
||||
$sortfield = GETPOST("sortfield");
|
||||
$sortorder = GETPOST("sortorder");
|
||||
$sortfield = GETPOST("sortfield", 'alpha');
|
||||
$sortorder = GETPOST("sortorder", 'alpha');
|
||||
if (! $sortfield) $sortfield="e.ref";
|
||||
if (! $sortorder) $sortorder="ASC";
|
||||
$page = $_GET["page"];
|
||||
|
||||
@ -38,8 +38,8 @@ $action = GETPOST('action', 'aZ09');
|
||||
|
||||
$limit = GETPOST('limit', 'int')?GETPOST('limit', 'int'):$conf->liste_limit;
|
||||
$sortfield = GETPOST("sortfield", "alpha");
|
||||
$sortorder = GETPOST("sortorder");
|
||||
$page = GETPOST("page");
|
||||
$sortorder = GETPOST("sortorder", 'alpha');
|
||||
$page = GETPOST("page", 'int');
|
||||
$page = is_numeric($page) ? $page : 0;
|
||||
$page = $page == -1 ? 0 : $page;
|
||||
if (! $sortfield) $sortfield="a.datep,a.id";
|
||||
|
||||
@ -61,8 +61,8 @@ $diroutputmassaction = $conf->projet->dir_output.'/temp/massgeneration/'.$user->
|
||||
|
||||
$limit = GETPOST('limit', 'int') ?GETPOST('limit', 'int') : $conf->liste_limit;
|
||||
$sortfield = GETPOST("sortfield", "alpha");
|
||||
$sortorder = GETPOST("sortorder");
|
||||
$page = GETPOST("page");
|
||||
$sortorder = GETPOST("sortorder", 'alpha');
|
||||
$page = GETPOST("page", 'int');
|
||||
$page = is_numeric($page) ? $page : 0;
|
||||
$page = $page == -1 ? 0 : $page;
|
||||
if (!$sortfield) $sortfield = "p.ref";
|
||||
|
||||
@ -93,7 +93,7 @@ if (empty($sortfield)) $sortfield="t.ref";
|
||||
if (empty($arch)) $arch = 0;
|
||||
|
||||
$limit = GETPOST('limit', 'int')?GETPOST('limit', 'int'):$conf->liste_limit;
|
||||
$page = GETPOST("page");
|
||||
$page = GETPOST("page", 'int');
|
||||
if (empty($page) || $page == -1) { $page = 0; } // If $page is not defined, or '' or -1
|
||||
$offset = $limit * $page ;
|
||||
$pageprev = $page - 1;
|
||||
|
||||
@ -1220,6 +1220,8 @@ else
|
||||
print $formcompany->selectProspectCustomerType($selected);
|
||||
print '</td>';
|
||||
|
||||
if ($conf->browser->layout == 'phone') print '</tr><tr>';
|
||||
|
||||
print '<td>'.$form->editfieldkey('CustomerCode', 'customer_code', '', $object, 0).'</td><td>';
|
||||
print '<table class="nobordernopadding"><tr><td>';
|
||||
$tmpcode = $object->code_client;
|
||||
@ -1241,6 +1243,10 @@ else
|
||||
if (!empty($conf->global->THIRDPARTY_SUPPLIER_BY_DEFAULT)) $default = 1;
|
||||
print $form->selectyesno("fournisseur", (GETPOST('fournisseur', 'int') != '' ?GETPOST('fournisseur', 'int') : (GETPOST("type", 'alpha') == '' ? $default : $object->fournisseur)), 1, 0, (GETPOST("type", 'alpha') == '' ? 1 : 0));
|
||||
print '</td>';
|
||||
|
||||
|
||||
if ($conf->browser->layout == 'phone') print '</tr><tr>';
|
||||
|
||||
print '<td>';
|
||||
if (!empty($conf->fournisseur->enabled) && !empty($user->rights->fournisseur->lire))
|
||||
{
|
||||
@ -1283,7 +1289,9 @@ else
|
||||
// Zip / Town
|
||||
print '<tr><td>'.$form->editfieldkey('Zip', 'zipcode', '', $object, 0).'</td><td>';
|
||||
print $formcompany->select_ziptown($object->zip, 'zipcode', array('town', 'selectcountry_id', 'state_id'), 0, 0, '', 'maxwidth100 quatrevingtpercent');
|
||||
print '</td><td>'.$form->editfieldkey('Town', 'town', '', $object, 0).'</td><td>';
|
||||
print '</td>';
|
||||
if ($conf->browser->layout == 'phone') print '</tr><tr>';
|
||||
print '<td>'.$form->editfieldkey('Town', 'town', '', $object, 0).'</td><td>';
|
||||
print $formcompany->select_ziptown($object->town, 'town', array('zipcode', 'selectcountry_id', 'state_id'), 0, 0, '', 'maxwidth100 quatrevingtpercent');
|
||||
print '</td></tr>';
|
||||
|
||||
@ -1313,6 +1321,7 @@ else
|
||||
// Phone / Fax
|
||||
print '<tr><td>'.img_picto('', 'object_phoning').' '.$form->editfieldkey('Phone', 'phone', '', $object, 0).'</td>';
|
||||
print '<td><input type="text" name="phone" id="phone" class="maxwidth200" value="'.(GETPOSTISSET('phone') ?GETPOST('phone', 'alpha') : $object->phone).'"></td>';
|
||||
if ($conf->browser->layout == 'phone') print '</tr><tr>';
|
||||
print '<td>'.img_picto('', 'object_phoning_fax').' '.$form->editfieldkey('Fax', 'fax', '', $object, 0).'</td>';
|
||||
print '<td><input type="text" name="fax" id="fax" class="maxwidth200" value="'.(GETPOSTISSET('fax') ?GETPOST('fax', 'alpha') : $object->fax).'"></td></tr>';
|
||||
|
||||
@ -1374,7 +1383,7 @@ else
|
||||
// }
|
||||
|
||||
// Prof ids
|
||||
$i = 1; $j = 0;
|
||||
$i = 1; $j = 0; $NBCOLS = ($conf->browser->layout == 'phone' ? 1 : 2);
|
||||
while ($i <= 6)
|
||||
{
|
||||
$idprof = $langs->transcountry('ProfId'.$i, $object->country_code);
|
||||
@ -1382,7 +1391,7 @@ else
|
||||
{
|
||||
$key = 'idprof'.$i;
|
||||
|
||||
if (($j % 2) == 0) print '<tr>';
|
||||
if (($j % $NBCOLS) == 0) print '<tr>';
|
||||
|
||||
$idprof_mandatory = 'SOCIETE_IDPROF'.($i).'_MANDATORY';
|
||||
print '<td>'.$form->editfieldkey($idprof, $key, '', $object, 0, 'string', '', (empty($conf->global->$idprof_mandatory) ? 0 : 1)).'</td><td>';
|
||||
@ -1401,6 +1410,7 @@ else
|
||||
print '<td>';
|
||||
print $form->selectyesno('assujtva_value', GETPOSTISSET('assujtva_value') ?GETPOST('assujtva_value', 'int') : 1, 1); // Assujeti par defaut en creation
|
||||
print '</td>';
|
||||
if ($conf->browser->layout == 'phone') print '</tr><tr>';
|
||||
print '<td class="nowrap">'.$form->editfieldkey('VATIntra', 'intra_vat', '', $object, 0).'</td>';
|
||||
print '<td class="nowrap">';
|
||||
$s = '<input type="text" class="flat maxwidthonsmartphone" name="tva_intra" id="intra_vat" maxlength="20" value="'.$object->tva_intra.'">';
|
||||
@ -1462,6 +1472,7 @@ else
|
||||
print $form->selectarray("typent_id", $formcompany->typent_array(0), $object->typent_id, 0, 0, 0, '', 0, 0, 0, $sortparam);
|
||||
if ($user->admin) print ' '.info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionarySetup"), 1);
|
||||
print '</td>';
|
||||
if ($conf->browser->layout == 'phone') print '</tr><tr>';
|
||||
print '<td>'.$form->editfieldkey('Staff', 'effectif_id', '', $object, 0).'</td><td class="maxwidthonsmartphone">';
|
||||
print $form->selectarray("effectif_id", $formcompany->effectif_array(0), $object->effectif_id);
|
||||
if ($user->admin) print ' '.info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionarySetup"), 1);
|
||||
|
||||
@ -293,7 +293,7 @@ hr { border: 0; border-top: 1px solid #ccc; }
|
||||
margin-top: 0;
|
||||
margin-left: 5px;
|
||||
margin-right: 5px;
|
||||
font-family: <?php print $fontlist ?>;
|
||||
font-family: <?php print $fontlist ?>;
|
||||
display: inline-block;
|
||||
padding: 4px 14px;
|
||||
text-align: center;
|
||||
@ -529,7 +529,9 @@ body[class*="colorblind-"] .text-success{
|
||||
|
||||
.fa-toggle-on, .fa-toggle-off { font-size: 2em; }
|
||||
.websiteselectionsection .fa-toggle-on, .websiteselectionsection .fa-toggle-off,
|
||||
.asetresetmodule .fa-toggle-on, .asetresetmodule .fa-toggle-off { font-size: 1.5em; vertical-align: text-bottom; }
|
||||
.asetresetmodule .fa-toggle-on, .asetresetmodule .fa-toggle-off {
|
||||
font-size: 1.5em; vertical-align: text-bottom;
|
||||
}
|
||||
|
||||
/* Themes for badges */
|
||||
<?php include dol_buildpath($path.'/theme/'.$theme.'/badges.inc.php', 0); ?>
|
||||
@ -1263,7 +1265,6 @@ div.fiche>table:first-child {
|
||||
margin-bottom: 15px !important;
|
||||
}
|
||||
div.fichecenter {
|
||||
/* margin-top: 10px; */
|
||||
width: 100%;
|
||||
clear: both; /* This is to have div fichecenter that are true rectangles */
|
||||
}
|
||||
@ -1630,18 +1631,6 @@ li.tmenusel::after, li.tmenu:hover::after{
|
||||
border-width: 0px 6px 5px 6px;
|
||||
border-color: transparent transparent #ffffff transparent;
|
||||
}
|
||||
/*
|
||||
// Add a bottom arrow
|
||||
li.tmenusel::before, li.tmenu:hover::before{
|
||||
content: "";
|
||||
position:absolute;
|
||||
top:0px;
|
||||
left:0;
|
||||
width: 100%;
|
||||
height: 2px;
|
||||
background: #fff;
|
||||
}*/
|
||||
|
||||
|
||||
.tmenuend .tmenuleft { width: 0px; }
|
||||
.tmenuend { display: none; }
|
||||
@ -2431,6 +2420,11 @@ div.popuptab {
|
||||
padding-left: 5px;
|
||||
padding-right: 5px;
|
||||
}
|
||||
|
||||
/* ============================================================================== */
|
||||
/* Buttons for actions */
|
||||
/* ============================================================================== */
|
||||
|
||||
div.tabsAction {
|
||||
margin: 20px 0em 30px 0em;
|
||||
padding: 0em 0em;
|
||||
@ -3113,7 +3107,9 @@ tr.liste_titre:last-child th.liste_titre, tr.liste_titre:last-child th.liste_tit
|
||||
border-bottom: unset;
|
||||
}
|
||||
|
||||
|
||||
div.liste_titre {
|
||||
padding-left: 3px;
|
||||
}
|
||||
tr.liste_titre_sel th, th.liste_titre_sel, tr.liste_titre_sel td, td.liste_titre_sel, form.liste_titre_sel div
|
||||
{
|
||||
font-family: <?php print $fontlist ?>;
|
||||
@ -3246,7 +3242,6 @@ ul.noborder li:nth-child(even):not(.liste_titre) {
|
||||
min-height: 40px;
|
||||
padding-right: 0px;
|
||||
padding-left: 0px;
|
||||
/*padding-bottom: 25px;*/
|
||||
padding-bottom: 10px;
|
||||
}
|
||||
.ficheaddleft div.boxstats, .ficheaddright div.boxstats {
|
||||
@ -3380,9 +3375,6 @@ span.dashboardlineok {
|
||||
}
|
||||
span.dashboardlineko {
|
||||
color: #FFF;
|
||||
/*color: #8c4446 ! important;
|
||||
padding-left: 1px;*/
|
||||
|
||||
font-size: 80%;
|
||||
}
|
||||
.dashboardlinelatecoin {
|
||||
@ -4493,7 +4485,6 @@ td.gminorheading {
|
||||
.ecmfiletree {
|
||||
width: 99%;
|
||||
height: 99%;
|
||||
/* background: #FFF; */
|
||||
padding-left: 2px;
|
||||
font-weight: normal;
|
||||
}
|
||||
@ -5962,6 +5953,11 @@ div.tabsElem a.tab {
|
||||
.text-plus-circle {
|
||||
display: none;
|
||||
}
|
||||
|
||||
table.table-fiche-title .col-title div.titre{
|
||||
line-height: unset;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
<?php
|
||||
|
||||
@ -109,7 +109,7 @@ if (empty($conf->global->THEME_ELDY_ENABLE_PERSONALIZED))
|
||||
$conf->global->THEME_ELDY_BACKTABCARD1='255,255,255'; // card
|
||||
$conf->global->THEME_ELDY_BACKTABACTIVE='234,234,234';
|
||||
$conf->global->THEME_ELDY_TEXT='0,0,0';
|
||||
$conf->global->THEME_ELDY_FONT_SIZE1='0.86em';
|
||||
$conf->global->THEME_ELDY_FONT_SIZE1=$fontsize;
|
||||
$conf->global->THEME_ELDY_FONT_SIZE2='0.75em';
|
||||
}
|
||||
|
||||
|
||||
@ -44,7 +44,6 @@ define('ISLOADEDBYSTEELSHEET', '1');
|
||||
require __DIR__.'/theme_vars.inc.php';
|
||||
if (defined('THEME_ONLY_CONSTANT')) return;
|
||||
|
||||
|
||||
session_cache_limiter('public');
|
||||
|
||||
|
||||
@ -112,7 +111,7 @@ if (empty($conf->global->THEME_ELDY_ENABLE_PERSONALIZED))
|
||||
$conf->global->THEME_ELDY_BACKTABCARD1 = '255,255,255'; // card
|
||||
$conf->global->THEME_ELDY_BACKTABACTIVE = '234,234,234';
|
||||
$conf->global->THEME_ELDY_TEXT = '0,0,0';
|
||||
$conf->global->THEME_ELDY_FONT_SIZE1 = '14';
|
||||
$conf->global->THEME_ELDY_FONT_SIZE1 = $fontsize;
|
||||
$conf->global->THEME_ELDY_FONT_SIZE2 = '11';
|
||||
}
|
||||
|
||||
@ -238,7 +237,7 @@ body {
|
||||
background: rgb(<?php print $colorbackbody; ?>);
|
||||
<?php } ?>
|
||||
color: rgb(<?php echo $colortext; ?>);
|
||||
font-size: <?php print $fontsize ?>px;
|
||||
font-size: <?php print is_numeric($fontsize) ? $fontsize.'px' : $fontsize; ?>;
|
||||
line-height: 1.3;
|
||||
font-family: <?php print $fontlist ?>;
|
||||
margin-top: 0;
|
||||
@ -300,7 +299,6 @@ select#date_startday, select#date_startmonth, select#date_endday, select#date_en
|
||||
margin-right: 4px;
|
||||
}
|
||||
input, input.flat, textarea, textarea.flat, form.flat select, select, select.flat, .dataTables_length label select {
|
||||
font-size: <?php print $fontsize ?>px;
|
||||
font-family: <?php print $fontlist ?>;
|
||||
border: none;
|
||||
border<?php echo empty($conf->global->THEME_HIDE_BORDER_ON_INPUT) ? '-bottom' : ''; ?>: solid 1px rgba(0,0,0,.2);
|
||||
@ -422,7 +420,7 @@ a.buttonticket {
|
||||
padding-right: 5px;
|
||||
}
|
||||
|
||||
/* Used for timesheets */
|
||||
/* Used by timesheets */
|
||||
span.timesheetalreadyrecorded input {
|
||||
border: none;
|
||||
border-bottom: solid 1px rgba(0,0,0,0.1);
|
||||
@ -434,9 +432,6 @@ td.onholidaymorning, td.onholidayafternoon {
|
||||
td.onholidayallday {
|
||||
background-color: #f4eede;
|
||||
}
|
||||
td.actionbuttons a {
|
||||
padding-left: 6px;
|
||||
}
|
||||
td.leftborder, td.hide0 {
|
||||
border-left: 1px solid #ccc;
|
||||
}
|
||||
@ -447,6 +442,9 @@ td.rightborder {
|
||||
border-right: 1px solid #ccc;
|
||||
}
|
||||
|
||||
td.actionbuttons a {
|
||||
padding-left: 6px;
|
||||
}
|
||||
select.flat, form.flat select {
|
||||
font-weight: normal;
|
||||
font-size: unset;
|
||||
@ -467,8 +465,9 @@ select.flat, form.flat select {
|
||||
.opacitytransp {
|
||||
opacity: 0;
|
||||
}
|
||||
select:invalid { color: gray; }
|
||||
|
||||
select:invalid {
|
||||
color: gray;
|
||||
}
|
||||
input:disabled, textarea:disabled, select[disabled='disabled']
|
||||
{
|
||||
background:#eee;
|
||||
@ -514,13 +513,13 @@ div#moretabsList, div#moretabsListaction {
|
||||
hr { border: 0; border-top: 1px solid #ccc; }
|
||||
|
||||
.button, .buttonDelete, input[name="sbmtConnexion"] {
|
||||
font-family: <?php print $fontlist ?>;
|
||||
border-color: #c5c5c5;
|
||||
border-color: rgba(0, 0, 0, 0.15) rgba(0, 0, 0, 0.15) rgba(0, 0, 0, 0.25);
|
||||
display: inline-block;
|
||||
padding: 4px 14px;
|
||||
margin-bottom: 0;
|
||||
margin-top: 0;
|
||||
font-family: <?php print $fontlist ?>;
|
||||
text-align: center;
|
||||
cursor: pointer;
|
||||
color: #333333 !important;
|
||||
@ -567,6 +566,9 @@ hr { border: 0; border-top: 1px solid #ccc; }
|
||||
border: unset;
|
||||
background: unset;
|
||||
}
|
||||
.button_search:hover, .button_removefilter:hover {
|
||||
cursor: pointer;
|
||||
}
|
||||
form {
|
||||
padding:0px;
|
||||
margin:0px;
|
||||
@ -621,6 +623,19 @@ th .button {
|
||||
textarea.centpercent {
|
||||
width: 96%;
|
||||
}
|
||||
.small, small {
|
||||
font-size: 85%;
|
||||
}
|
||||
|
||||
.h1 .small, .h1 small, .h2 .small, .h2 small, .h3 .small, .h3 small, h1 .small, h1 small, h2 .small, h2 small, h3 .small, h3 small {
|
||||
font-size: 65%;
|
||||
}
|
||||
.h1 .small, .h1 small, .h2 .small, .h2 small, .h3 .small, .h3 small, .h4 .small, .h4 small, .h5 .small, .h5 small, .h6 .small, .h6 small, h1 .small, h1 small, h2 .small, h2 small, h3 .small, h3 small, h4 .small, h4 small, h5 .small, h5 small, h6 .small, h6 small {
|
||||
font-weight: 400;
|
||||
line-height: 1;
|
||||
color: #777;
|
||||
}
|
||||
|
||||
.center {
|
||||
text-align: center;
|
||||
margin: 0px auto;
|
||||
@ -634,6 +649,12 @@ textarea.centpercent {
|
||||
.justify {
|
||||
text-align: justify;
|
||||
}
|
||||
.pull-left {
|
||||
float: left!important;
|
||||
}
|
||||
.pull-right {
|
||||
float: right!important;
|
||||
}
|
||||
.nowrap {
|
||||
white-space: <?php print ($dol_optimize_smallscreen ? 'normal' : 'nowrap'); ?>;
|
||||
}
|
||||
@ -722,15 +743,18 @@ body[class*="colorblind-"] .text-success{
|
||||
color : <?php print $textDanger; ?>
|
||||
}
|
||||
|
||||
.editfielda span.fa-pencil-alt {
|
||||
.editfielda span.fa-pencil-alt, .editfielda span.fa-trash {
|
||||
color: #ccc !important;
|
||||
}
|
||||
.editfielda span.fa-pencil-alt:hover {
|
||||
.editfielda span.fa-pencil-alt:hover, .editfielda span.fa-trash:hover {
|
||||
color: rgb(<?php echo $colortexttitle; ?>) !important;
|
||||
}
|
||||
|
||||
.fa-toggle-on, .fa-toggle-off { font-size: 2em; }
|
||||
.websiteselectionsection .fa-toggle-on, .websiteselectionsection .fa-toggle-off { font-size: 1.5em; vertical-align: text-bottom; }
|
||||
.websiteselectionsection .fa-toggle-on, .websiteselectionsection .fa-toggle-off,
|
||||
.asetresetmodule .fa-toggle-on, .asetresetmodule .fa-toggle-off {
|
||||
font-size: 1.5em; vertical-align: text-bottom;
|
||||
}
|
||||
|
||||
|
||||
/* Themes for badges */
|
||||
@ -768,6 +792,14 @@ div.divsearchfield {
|
||||
padding-bottom: 5px;
|
||||
opacity: 0.6;
|
||||
}
|
||||
<?php
|
||||
// Add a nowrap on smartphone, so long list of field used for filter are overflowed with clip
|
||||
if ($conf->browser->layout == 'phone') {
|
||||
?>
|
||||
.divsearchfieldfilter {
|
||||
white-space: nowrap;
|
||||
}
|
||||
<?php } ?>
|
||||
div.confirmmessage {
|
||||
padding-top: 6px;
|
||||
}
|
||||
@ -804,13 +836,13 @@ select.flat.selectlimit {
|
||||
margin-right: 10px !important;
|
||||
}
|
||||
.marginleftonly {
|
||||
margin-left: 10px !important;
|
||||
margin-<?php echo $left; ?>: 10px !important;
|
||||
}
|
||||
.marginleftonlyshort {
|
||||
margin-left: 4px !important;
|
||||
margin-<?php echo $left; ?>: 4px !important;
|
||||
}
|
||||
.nomarginleft {
|
||||
margin-left: 0px !important;
|
||||
margin-<?php echo $left; ?>: 0px !important;
|
||||
}
|
||||
.margintoponly {
|
||||
margin-top: 10px !important;
|
||||
@ -871,6 +903,20 @@ select.flat.selectlimit {
|
||||
max-width: 0;
|
||||
overflow: auto;
|
||||
}
|
||||
.divintdwithtwolinesmax {
|
||||
width: 75px;
|
||||
display: -webkit-box;
|
||||
-webkit-box-orient: vertical;
|
||||
-webkit-line-clamp: 2;
|
||||
overflow: hidden;
|
||||
}
|
||||
.twolinesmax {
|
||||
display: -webkit-box;
|
||||
-webkit-box-orient: vertical;
|
||||
-webkit-line-clamp: 2;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.tablelistofcalendars {
|
||||
margin-top: 25px !important;
|
||||
}
|
||||
@ -914,6 +960,10 @@ select.flat.selectlimit {
|
||||
color: #505;
|
||||
}
|
||||
|
||||
.fa-15 {
|
||||
font-size: 1.5em;
|
||||
}
|
||||
|
||||
/* DOL_XXX for future usage (when left menu has been removed). If we do not use datatable */
|
||||
/*.table-responsive {
|
||||
width: calc(100% - 330px);
|
||||
@ -938,7 +988,7 @@ div.fiche>form>div.div-table-responsive {
|
||||
}
|
||||
|
||||
.flexcontainer {
|
||||
<?php if (in_array($conf->browser->browsername, array('chrome', 'firefox'))) echo 'display: inline-flex;' ?>
|
||||
<?php if (in_array($conf->browser->name, array('chrome', 'firefox'))) echo 'display: inline-flex;' ?>
|
||||
flex-flow: row wrap;
|
||||
justify-content: flex-start;
|
||||
}
|
||||
@ -1032,6 +1082,16 @@ table[summary="list_of_modules"] .fa-cog {
|
||||
.titlefield { /* width: 25%; */ width: 250px; }
|
||||
.titlefieldmiddle { width: 50%; }
|
||||
.imgmaxwidth180 { max-width: 180px; }
|
||||
.imgmaxheight50 { max-height: 50px; }
|
||||
|
||||
.width20p { width:20%; }
|
||||
.width25p { width:25%; }
|
||||
.width40p { width:40%; }
|
||||
.width50p { width:50%; }
|
||||
.width60p { width:60%; }
|
||||
.width75p { width:75%; }
|
||||
.width80p { width:80%; }
|
||||
.width100p { width:100%; }
|
||||
|
||||
|
||||
/* Force values for small screen 1400 */
|
||||
@ -1047,6 +1107,11 @@ table[summary="list_of_modules"] .fa-cog {
|
||||
.minwidth300imp { min-width: 300px !important; }
|
||||
.minwidth400imp { min-width: 300px !important; }
|
||||
.minwidth500imp { min-width: 300px !important; }
|
||||
|
||||
|
||||
.linkedcol-element {
|
||||
min-width: unset;
|
||||
}
|
||||
}
|
||||
|
||||
/* Force values for small screen 1000 */
|
||||
@ -1067,10 +1132,10 @@ table[summary="list_of_modules"] .fa-cog {
|
||||
@media only screen and (max-width: 767px)
|
||||
{
|
||||
body {
|
||||
font-size: <?php print is_numeric($fontsize) ? ($fontsize + 3).'px' : $fontsize; ?>;
|
||||
font-size: <?php print is_numeric($fontsize) ? ($fontsize).'px' : $fontsize; ?>;
|
||||
}
|
||||
div.refidno {
|
||||
font-size: <?php print is_numeric($fontsize) ? ($fontsize + 3).'px' : $fontsize; ?> !important;
|
||||
font-size: <?php print is_numeric($fontsize) ? ($fontsize).'px' : $fontsize; ?> !important;
|
||||
}
|
||||
}
|
||||
|
||||
@ -1078,10 +1143,10 @@ table[summary="list_of_modules"] .fa-cog {
|
||||
@media only screen and (max-width: 570px)
|
||||
{
|
||||
body {
|
||||
font-size: <?php print $fontsize + 3; ?>px;
|
||||
font-size: <?php print is_numeric($fontsize) ? ($fontsize).'px' : $fontsize; ?>;
|
||||
}
|
||||
div.refidno {
|
||||
font-size: <?php print $fontsize + 3; ?>px !important;
|
||||
font-size: <?php print is_numeric($fontsize) ? ($fontsize).'px' : $fontsize; ?> !important;
|
||||
}
|
||||
|
||||
.login_vertical_align {
|
||||
@ -1099,7 +1164,7 @@ table[summary="list_of_modules"] .fa-cog {
|
||||
div.fiche {
|
||||
margin-top: <?php print ($dol_hide_topmenu ? '12' : '6'); ?>px !important;
|
||||
}
|
||||
.border tbody tr, .border tbody tr td, div.tabBar table.border tr {
|
||||
.border tbody tr, .border tbody tr td, div.tabBar table.border tr, div.tabBar table.border tr td, div.tabBar div.border .table-border-row, div.tabBar div.border .table-key-border-col, div.tabBar div.border .table-val-border-col {
|
||||
height: 40px !important;
|
||||
}
|
||||
|
||||
@ -1112,6 +1177,9 @@ table[summary="list_of_modules"] .fa-cog {
|
||||
padding-bottom: 5px;
|
||||
}
|
||||
|
||||
.login_table .tdinputlogin {
|
||||
min-width: unset !important;
|
||||
}
|
||||
input, input[type=text], input[type=password], select, textarea {
|
||||
min-width: 20px;
|
||||
min-height: 1.4em;
|
||||
@ -1119,6 +1187,7 @@ table[summary="list_of_modules"] .fa-cog {
|
||||
}
|
||||
|
||||
.hideonsmartphone { display: none; }
|
||||
.hideonsmartphoneimp { display: none !important; }
|
||||
.noenlargeonsmartphone { width : 50px !important; display: inline !important; }
|
||||
.maxwidthonsmartphone, #search_newcompany.ui-autocomplete-input { max-width: 100px; }
|
||||
.maxwidth50onsmartphone { max-width: 40px; }
|
||||
@ -1152,7 +1221,7 @@ table[summary="list_of_modules"] .fa-cog {
|
||||
}
|
||||
|
||||
div.divphotoref {
|
||||
padding-right: 5px;
|
||||
padding-<?php echo $right; ?>: 5px;
|
||||
padding-bottom: 5px;
|
||||
}
|
||||
img.photoref, div.photoref {
|
||||
@ -1410,6 +1479,9 @@ div.fiche {
|
||||
body.onlinepaymentbody div.fiche { /* For online payment page */
|
||||
margin: 20px !important;
|
||||
}
|
||||
div.fiche>table:first-child {
|
||||
margin-bottom: 15px !important;
|
||||
}
|
||||
div.fichecenter {
|
||||
width: 100%;
|
||||
clear: both; /* This is to have div fichecenter that are true rectangles */
|
||||
@ -1496,17 +1568,13 @@ div.secondcolumn div.box {
|
||||
}
|
||||
|
||||
/* For table into table into card */
|
||||
div.fichehalfright tr.liste_titre:first-child td table.nobordernopadding td, div.nopadding {
|
||||
div.fichehalfright tr.liste_titre:first-child td table.nobordernopadding td {
|
||||
padding: 0 0 0 0;
|
||||
}
|
||||
div.nopadding {
|
||||
padding: 0 !important;
|
||||
}
|
||||
|
||||
/*table.noborder tr.liste_titre td {
|
||||
padding: 3px !important;
|
||||
}*/
|
||||
|
||||
.containercenter {
|
||||
display : table;
|
||||
margin : 0px auto;
|
||||
@ -1575,7 +1643,7 @@ div.heightref {
|
||||
min-height: 80px;
|
||||
}
|
||||
div.divphotoref {
|
||||
padding-right: 20px;
|
||||
padding-<?php echo $right; ?>: 20px;
|
||||
}
|
||||
div.paginationref {
|
||||
padding-bottom: 10px;
|
||||
@ -1626,7 +1694,7 @@ img.photorefnoborder {
|
||||
.underrefbanner {
|
||||
}
|
||||
.underbanner {
|
||||
border-bottom: <?php echo $borderwidth; ?>px solid rgb(<?php echo $colortopbordertitle1 ?>);
|
||||
border-bottom: <?php echo $borderwidth ?>px solid rgb(<?php echo $colortopbordertitle1 ?>);
|
||||
}
|
||||
|
||||
.trextrafieldseparator td {
|
||||
@ -1922,9 +1990,7 @@ div.mainmenu.website {
|
||||
'don'=>'accountancy', 'tax'=>'accountancy', 'banque'=>'accountancy', 'facture'=>'accountancy', 'compta'=>'accountancy', 'accounting'=>'accountancy', 'adherent'=>'members', 'import'=>'tools', 'export'=>'tools', 'mailing'=>'tools',
|
||||
'contrat'=>'commercial', 'ficheinter'=>'commercial', 'ticket'=>'ticket', 'deplacement'=>'commercial',
|
||||
'fournisseur'=>'companies',
|
||||
'barcode'=>'',
|
||||
'fckeditor'=>'',
|
||||
'categorie'=>'',
|
||||
'barcode'=>'', 'fckeditor'=>'', 'categorie'=>'',
|
||||
);
|
||||
$mainmenuused = 'home';
|
||||
foreach ($conf->modules as $val)
|
||||
@ -2507,6 +2573,7 @@ div.tabBar.tabBarNoTop {
|
||||
}
|
||||
*/
|
||||
|
||||
/* tabBar used for creation/update/send forms */
|
||||
div.tabBarWithBottom {
|
||||
padding-bottom: 18px;
|
||||
border-bottom: 1px solid #aaa;
|
||||
@ -2517,6 +2584,10 @@ div.tabBar table.tableforservicepart2:last-child {
|
||||
.tableforservicepart1 .tdhrthin {
|
||||
height: unset;
|
||||
}
|
||||
/* Payment Screen : Pointer cursor in the autofill image */
|
||||
.AutoFillAmount {
|
||||
cursor:pointer;
|
||||
}
|
||||
|
||||
/* ============================================================================== */
|
||||
/* Buttons for actions */
|
||||
@ -2680,6 +2751,10 @@ tr.nocellnopadd td.nobordernopadding, tr.nocellnopadd td.nocellnopadd
|
||||
margin: 0px 0px 0px 0px;
|
||||
}
|
||||
|
||||
table.tableforemailform tr td {
|
||||
padding-top: 3px;
|
||||
padding-bottom: 3px;
|
||||
}
|
||||
|
||||
table.border, table.bordernooddeven, table.dataTable, .table-border, .table-border-col, .table-key-border-col, .table-val-border-col, div.border {
|
||||
border: 1px solid #f4f4f4;
|
||||
@ -2690,7 +2765,7 @@ table.borderplus {
|
||||
border: 1px solid #BBB;
|
||||
}
|
||||
|
||||
.border tbody tr, .border tbody tr td, div.tabBar table.border tr, div.tabBar table.border tr td, div.tabBar div.border .table-border-row, div.tabBar div.border .table-key-border-col, div.tabBar div.border .table-val-border-col {
|
||||
.border tbody tr, .bordernooddeven tbody tr, .border tbody tr td, .bordernooddeven tbody tr td, div.tabBar table.border tr, div.tabBar table.border tr td, div.tabBar div.border .table-border-row, div.tabBar div.border .table-key-border-col, div.tabBar div.border .table-val-border-col {
|
||||
height: 26px;
|
||||
}
|
||||
tr.liste_titre.box_titre td table td, .bordernooddeven tr td {
|
||||
@ -3051,7 +3126,16 @@ ul.noborder li:nth-child(odd):not(.liste_titre) {
|
||||
}
|
||||
<?php } ?>
|
||||
|
||||
.oddeven, .evenodd, .impair, .nohover .impair:hover, tr.impair td.nohover
|
||||
.nohover:hover {
|
||||
background: unset;
|
||||
}
|
||||
.nohoverborder:hover {
|
||||
border: unset;
|
||||
box-shadow: unset;
|
||||
-webkit-box-shadow: unset;
|
||||
}
|
||||
|
||||
.oddeven, .evenodd, .impair, .nohover .impair:hover, tr.impair td.nohover, .tagtr.oddeven
|
||||
{
|
||||
font-family: <?php print $fontlist ?>;
|
||||
border: 0px;
|
||||
@ -3063,10 +3147,10 @@ ul.noborder li:nth-child(odd):not(.liste_titre) {
|
||||
background: #<?php echo colorArrayToHex(colorStringToArray($colorbacklineimpair1)); ?>;
|
||||
}
|
||||
#GanttChartDIV {
|
||||
background: #<?php echo colorArrayToHex(colorStringToArray($colorbacklineimpair1)); ?>;
|
||||
background-color: #<?php echo colorArrayToHex(colorStringToArray($colorbacklineimpair1)); ?>;
|
||||
}
|
||||
|
||||
.oddeven, .evenodd, .pair, .nohover .pair:hover, tr.pair td.nohover {
|
||||
.oddeven, .evenodd, .pair, .nohover .pair:hover, tr.pair td.nohover, .tagtr.oddeven {
|
||||
font-family: <?php print $fontlist ?>;
|
||||
margin-bottom: 1px;
|
||||
color: #202020;
|
||||
@ -3083,7 +3167,7 @@ td.oddeven, table.nohover tr.impair, table.nohover tr.pair, table.nohover tr.imp
|
||||
background-color: #<?php echo colorArrayToHex(colorStringToArray($colorbacklineimpair1)); ?> !important;
|
||||
background: #<?php echo colorArrayToHex(colorStringToArray($colorbacklineimpair1)); ?> !important;
|
||||
}
|
||||
td.evenodd, tr.nohoverpair td {
|
||||
td.evenodd, tr.nohoverpair td, #trlinefordates td {
|
||||
background-color: #<?php echo colorArrayToHex(colorStringToArray($colorbacklinepair1)); ?> !important;
|
||||
background: #<?php echo colorArrayToHex(colorStringToArray($colorbacklinepair1)); ?> !important;
|
||||
}
|
||||
@ -3388,9 +3472,9 @@ ul.noborder li:nth-child(even):not(.liste_titre) {
|
||||
box-shadow: 0px 0px 8px 0px rgba(0,0,0,0.20);
|
||||
}
|
||||
span.boxstatstext {
|
||||
/* opacity: 0.7; */ /* a bug if browser make z-index infintie when opacity is set so we disable it */
|
||||
line-height: 18px;
|
||||
color: #000;
|
||||
/* opacity: 0.7; */ /* a bug if browser make z-index infintie when opacity is set so we disable it */
|
||||
}
|
||||
.boxstatsindicator.thumbstat150 { /* If we remove this, box position is ko on ipad */
|
||||
display: inline-flex;
|
||||
@ -3499,7 +3583,10 @@ img.boxhandle, img.boxclose {
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
|
||||
.modulebuilderbox {
|
||||
border: 1px solid #888;
|
||||
padding: 16px;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -3667,6 +3754,9 @@ div.titre, .secondary {
|
||||
color: rgb(<?php print $colortexttitlenotab; ?>);
|
||||
}
|
||||
|
||||
table.centpercent.notopnoleftnoright.table-fiche-title {
|
||||
margin-bottom: 10px !important;
|
||||
}
|
||||
table.table-fiche-title .col-title div.titre{
|
||||
line-height: 40px;
|
||||
}
|
||||
@ -3743,6 +3833,19 @@ div#card-errors {
|
||||
font-size: <?php print $fontsize; ?>px !important;
|
||||
}
|
||||
|
||||
|
||||
/* ============================================================================== */
|
||||
/* For content of image preview */
|
||||
/* ============================================================================== */
|
||||
|
||||
/*
|
||||
.ui-dialog-content.ui-widget-content > object {
|
||||
max-height: none;
|
||||
width: auto; margin-left: auto; margin-right: auto; display: block;
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
/* ============================================================================== */
|
||||
/* Formulaire confirmation (When HTML is used) */
|
||||
/* ============================================================================== */
|
||||
@ -3939,6 +4042,9 @@ tr.visible {
|
||||
display: inline-block;
|
||||
padding: 4px 0 4px 0;
|
||||
}
|
||||
.websitebar .buttonDelete, .websitebar .button {
|
||||
text-shadow: none;
|
||||
}
|
||||
.websitebar .button, .websitebar .buttonDelete
|
||||
{
|
||||
padding: 2px 4px 2px 4px !important;
|
||||
@ -3958,17 +4064,21 @@ tr.visible {
|
||||
float: right;
|
||||
}
|
||||
.websiteselection, .websitetools {
|
||||
margin-top: 3px;
|
||||
/* margin-top: 3px;
|
||||
padding-top: 3px;
|
||||
padding-bottom: 3px;
|
||||
padding-bottom: 3px; */
|
||||
}
|
||||
.websiteinputurl {
|
||||
display: inline-block;
|
||||
vertical-align: top;
|
||||
line-height: 28px;
|
||||
}
|
||||
.websiteiframenoborder {
|
||||
border: 0px;
|
||||
}
|
||||
span.websitebuttonsitepreview, a.websitebuttonsitepreview {
|
||||
vertical-align: middle;
|
||||
}
|
||||
span.websitebuttonsitepreview img, a.websitebuttonsitepreview img {
|
||||
width: 26px;
|
||||
display: inline-block;
|
||||
@ -3984,6 +4094,14 @@ span.websitebuttonsitepreviewdisabled img, a.websitebuttonsitepreviewdisabled im
|
||||
float: right;
|
||||
padding-top: 8px;
|
||||
}
|
||||
.websiteselectionsection {
|
||||
border-left: 1px solid #bbb;
|
||||
border-right: 1px solid #bbb;
|
||||
margin-left: 0px;
|
||||
padding-left: 8px;
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
|
||||
/* ============================================================================== */
|
||||
/* Module agenda */
|
||||
@ -4028,6 +4146,8 @@ table.cal_event td.cal_event_right { padding: 4px 4px !important; }
|
||||
.cal_event_busy { }
|
||||
.cal_peruserviewname { max-width: 140px; height: 22px; }
|
||||
|
||||
.calendarviewcontainertr { height: 100px; }
|
||||
|
||||
.topmenuimage {
|
||||
background-size: 24px auto;
|
||||
}
|
||||
@ -4262,7 +4382,6 @@ A.none, A.none:active, A.none:visited, A.none:hover {
|
||||
}
|
||||
.ui-widget {
|
||||
font-family:<?php echo $fontlist; ?>;
|
||||
font-size:<?php echo $fontsize; ?>px;
|
||||
}
|
||||
.ui-button { margin-left: -2px; <?php print (preg_match('/chrome/', $conf->browser->name) ? 'padding-top: 1px;' : ''); ?> }
|
||||
.ui-button-icon-only .ui-button-text { height: 8px; }
|
||||
@ -4278,6 +4397,10 @@ A.none, A.none:active, A.none:visited, A.none:hover {
|
||||
/* CKEditor */
|
||||
/* ============================================================================== */
|
||||
|
||||
body.cke_show_borders {
|
||||
margin: 5px !important;
|
||||
}
|
||||
|
||||
.cke_dialog {
|
||||
border: 1px #bbb solid ! important;
|
||||
}
|
||||
@ -4387,6 +4510,65 @@ pre#editfilecontentaceeditorid {
|
||||
}
|
||||
|
||||
|
||||
/* ============================================================================== */
|
||||
/* Comments */
|
||||
/* ============================================================================== */
|
||||
|
||||
#comment div {
|
||||
box-sizing:border-box;
|
||||
}
|
||||
#comment .comment {
|
||||
border-radius:7px;
|
||||
margin-bottom:10px;
|
||||
overflow:hidden;
|
||||
}
|
||||
#comment .comment-table {
|
||||
display:table;
|
||||
height:100%;
|
||||
}
|
||||
#comment .comment-cell {
|
||||
display:table-cell;
|
||||
}
|
||||
#comment .comment-info {
|
||||
font-size:0.8em;
|
||||
border-right:1px solid #dedede;
|
||||
margin-right:10px;
|
||||
width:160px;
|
||||
text-align:center;
|
||||
background:rgba(255,255,255,0.5);
|
||||
vertical-align:middle;
|
||||
padding:10px 2px;
|
||||
}
|
||||
#comment .comment-info a {
|
||||
color:inherit;
|
||||
}
|
||||
#comment .comment-right {
|
||||
vertical-align:top;
|
||||
}
|
||||
#comment .comment-description {
|
||||
padding:10px;
|
||||
vertical-align:top;
|
||||
}
|
||||
#comment .comment-delete {
|
||||
width: 100px;
|
||||
text-align:center;
|
||||
vertical-align:middle;
|
||||
}
|
||||
#comment .comment-delete:hover {
|
||||
background:rgba(250,20,20,0.8);
|
||||
}
|
||||
#comment .comment-edit {
|
||||
width: 100px;
|
||||
text-align:center;
|
||||
vertical-align:middle;
|
||||
}
|
||||
#comment .comment-edit:hover {
|
||||
background:rgba(0,184,148,0.8);
|
||||
}
|
||||
#comment textarea {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
|
||||
/* ============================================================================== */
|
||||
/* JSGantt */
|
||||
@ -4481,10 +4663,6 @@ ul.filedirelem li {
|
||||
border: solid 1px #f4f4f4;
|
||||
}
|
||||
|
||||
.ui-layout-north {
|
||||
|
||||
}
|
||||
|
||||
ul.ecmjqft {
|
||||
line-height: 16px;
|
||||
padding: 0px;
|
||||
@ -4554,6 +4732,7 @@ div#ecm-layout-center {
|
||||
max-width: 1024px;
|
||||
padding-left: 10px !important;
|
||||
padding-right: 10px !important;
|
||||
word-wrap: break-word;
|
||||
}
|
||||
.jnotify-container .jnotify-notification .jnotify-message {
|
||||
font-weight: normal;
|
||||
@ -4591,7 +4770,7 @@ div.dolEventError h1, div.dolEventError h2 {
|
||||
/* Maps */
|
||||
/* ============================================================================== */
|
||||
|
||||
.divmap, #google-visualization-geomap-embed-0, #google-visualization-geomap-embed-1, google-visualization-geomap-embed-2 {
|
||||
.divmap, #google-visualization-geomap-embed-0, #google-visualization-geomap-embed-1, #google-visualization-geomap-embed-2 {
|
||||
}
|
||||
|
||||
|
||||
@ -5031,7 +5210,7 @@ dl.dropdown {
|
||||
}
|
||||
.dropdown ul {
|
||||
margin: -1px 0 0 0;
|
||||
text-align: left;
|
||||
text-align: <?php echo $left; ?>;
|
||||
}
|
||||
.dropdown dd {
|
||||
position:relative;
|
||||
@ -5053,7 +5232,7 @@ dl.dropdown {
|
||||
background-color: #FFF;
|
||||
box-shadow: 1px 1px 10px #aaa;
|
||||
display:none;
|
||||
right:0px; /* pop is align on right */
|
||||
<?php echo $right; ?>:0px; /* pop is align on right */
|
||||
padding: 0 0 0 0;
|
||||
position:absolute;
|
||||
top:2px;
|
||||
@ -5065,13 +5244,14 @@ dl.dropdown {
|
||||
white-space: nowrap;
|
||||
font-weight: normal;
|
||||
padding: 7px 8px 7px 8px;
|
||||
/* color: rgb(<?php print $colortext; ?>); */
|
||||
color: #000;
|
||||
}
|
||||
.dropdown dd ul li:hover {
|
||||
background: #eee;
|
||||
}
|
||||
.dropdown dd ul li input[type="checkbox"] {
|
||||
margin-right: 3px;
|
||||
margin-<?php echo $right; ?>: 3px;
|
||||
}
|
||||
.dropdown dd ul li a, .dropdown dd ul li span {
|
||||
padding: 3px;
|
||||
@ -5125,7 +5305,7 @@ a.ui-link, a.ui-link:hover, .ui-btn:hover, span.ui-btn-text:hover, span.ui-btn-i
|
||||
min-width: .4em;
|
||||
padding-left: 6px;
|
||||
padding-right: 6px;
|
||||
font-size: <?php print $fontsize ?>px;
|
||||
font-size: <?php print is_numeric($fontsize) ? $fontsize.'px' : $fontsize; ?>;
|
||||
/* white-space: normal; */ /* Warning, enable this break the truncate feature */
|
||||
}
|
||||
.ui-btn-icon-right .ui-btn-inner {
|
||||
@ -5845,7 +6025,7 @@ border-top-right-radius: 6px;
|
||||
}
|
||||
|
||||
.titlefield {
|
||||
width: auto !important; /* We want to ignor the 30%, try to use more if you can */
|
||||
width: auto !important; /* We want to ignore the 30%, try to use more if you can */
|
||||
}
|
||||
.tableforfield>tr>td:first-child, .tableforfield>tbody>tr>td:first-child, div.tableforfield div.tagtr>div.tagtd:first-of-type {
|
||||
/* max-width: 100px; */ /* but no more than 100px */
|
||||
@ -5853,6 +6033,10 @@ border-top-right-radius: 6px;
|
||||
.tableforfield>tr>td:nth-child(2), .tableforfield>tbody>tr>td:nth-child(2), div.tableforfield div.tagtr>div.tagtd:nth-child(2) {
|
||||
word-break: break-word;
|
||||
}
|
||||
|
||||
table.table-fiche-title .col-title div.titre{
|
||||
line-height: unset;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -67,7 +67,7 @@ $colortexttitlenotab='90,90,90';
|
||||
$colortexttitle='20,20,20';
|
||||
$colortext='0,0,0';
|
||||
$colortextlink='0,0,120';
|
||||
$fontsize='14';
|
||||
$fontsize = '14';
|
||||
$fontsizesmaller='11';
|
||||
|
||||
// text color
|
||||
|
||||
@ -42,8 +42,8 @@ $action = GETPOST('action', 'aZ09');
|
||||
|
||||
$limit = GETPOST('limit', 'int') ?GETPOST('limit', 'int') : $conf->liste_limit;
|
||||
$sortfield = GETPOST("sortfield", "alpha");
|
||||
$sortorder = GETPOST("sortorder");
|
||||
$page = GETPOST("page");
|
||||
$sortorder = GETPOST("sortorder", 'alpha');
|
||||
$page = GETPOST("page", 'int');
|
||||
$page = is_numeric($page) ? $page : 0;
|
||||
$page = $page == -1 ? 0 : $page;
|
||||
if (!$sortfield) $sortfield = "a.datep,a.id";
|
||||
|
||||
@ -42,8 +42,8 @@ $action = GETPOST('action', 'aZ09');
|
||||
|
||||
$limit = GETPOST('limit', 'int') ?GETPOST('limit', 'int') : $conf->liste_limit;
|
||||
$sortfield = GETPOST("sortfield", "alpha");
|
||||
$sortorder = GETPOST("sortorder");
|
||||
$page = GETPOST("page");
|
||||
$sortorder = GETPOST("sortorder", 'alpha');
|
||||
$page = GETPOST("page", 'int');
|
||||
$page = is_numeric($page) ? $page : 0;
|
||||
$page = $page == -1 ? 0 : $page;
|
||||
if (!$sortfield) $sortfield = "a.datep,a.id";
|
||||
|
||||
Loading…
Reference in New Issue
Block a user