29require
'../main.inc.php';
37require_once DOL_DOCUMENT_ROOT.
'/core/lib/files.lib.php';
38require_once DOL_DOCUMENT_ROOT.
'/core/lib/functions2.lib.php';
39require_once DOL_DOCUMENT_ROOT.
'/core/lib/usergroups.lib.php';
40require_once DOL_DOCUMENT_ROOT.
'/core/class/html.formadmin.class.php';
43$langs->loadLangs(array(
'companies',
'products',
'admin',
'users',
'languages',
'projects',
'members'));
46$canreaduser = ($user->admin || $user->hasRight(
"user",
"user",
"read"));
50$action =
GETPOST(
'action',
'aZ09');
51$contextpage =
GETPOST(
'contextpage',
'aZ') ?
GETPOST(
'contextpage',
'aZ') :
'userihm';
53if (!isset($id) || empty($id)) {
56'@phan-var-force int<1,max> $id';
59$caneditfield = ((($user->id ==
$id) && $user->hasRight(
"user",
"self",
"write"))
60|| (($user->id != $id) && $user->hasRight(
"user",
"user",
"write")));
65if ($user->socid > 0) {
66 $socid = $user->socid;
68$feature2 = (($socid && $user->hasRight(
"user",
"self",
"write")) ?
'' :
'user');
71$hookmanager->initHooks(array(
'usercard',
'userihm',
'globalcard'));
73$result =
restrictedArea($user,
'user', $id,
'user&user', $feature2);
74if ($user->id != $id && !$canreaduser) {
78$dirtop =
"../core/menus/standard";
79$dirleft =
"../core/menus/standard";
101$parameters = array(
'id' => $socid);
102$reshook = $hookmanager->executeHooks(
'doActions', $parameters, $object, $action);
107if (empty($reshook)) {
108 if ($action ==
'update' && ($caneditfield || !empty($user->admin))) {
112 if (
GETPOST(
"check_MAIN_LANDING_PAGE") ==
"on") {
113 $tabparam[
"MAIN_LANDING_PAGE"] =
GETPOST(
"MAIN_LANDING_PAGE",
'alphanohtml');
115 $tabparam[
"MAIN_LANDING_PAGE"] =
'';
118 if (
GETPOST(
"check_MAIN_LANG_DEFAULT") ==
"on") {
119 $tabparam[
"MAIN_LANG_DEFAULT"] =
GETPOST(
"main_lang_default",
'aZ09');
121 $tabparam[
"MAIN_LANG_DEFAULT"] =
'';
124 if (
GETPOST(
"check_MAIN_SIZE_LISTE_LIMIT") ==
"on") {
125 $tabparam[
"MAIN_SIZE_LISTE_LIMIT"] =
GETPOSTINT(
"MAIN_SIZE_LISTE_LIMIT");
127 $tabparam[
"MAIN_SIZE_LISTE_LIMIT"] =
'';
130 if (
GETPOST(
"check_MAIN_CHECKBOX_LEFT_COLUMN") ==
"on") {
131 $tabparam[
"MAIN_CHECKBOX_LEFT_COLUMN"] = array(
"forcevalue" => 1,
"value" =>
GETPOSTINT(
"MAIN_CHECKBOX_LEFT_COLUMN"));
133 $tabparam[
"MAIN_CHECKBOX_LEFT_COLUMN"] =
'';
136 if (
GETPOST(
"check_MAIN_SIZE_SHORTLIST_LIMIT") ==
"on") {
137 $tabparam[
"MAIN_SIZE_SHORTLIST_LIMIT"] =
GETPOSTINT(
"MAIN_SIZE_SHORTLIST_LIMIT");
139 $tabparam[
"MAIN_SIZE_SHORTLIST_LIMIT"] =
'';
142 if (
GETPOST(
"check_AGENDA_DEFAULT_VIEW") ==
"on") {
143 $tabparam[
"AGENDA_DEFAULT_VIEW"] =
GETPOST(
"AGENDA_DEFAULT_VIEW",
'aZ09');
145 $tabparam[
"AGENDA_DEFAULT_VIEW"] =
'';
148 if (
GETPOST(
"check_MAIN_THEME") ==
"on") {
149 $tabparam[
"MAIN_THEME"] =
GETPOST(
'main_theme',
'aZ09');
151 $tabparam[
"MAIN_THEME"] =
'';
156 $tabparam[
'THEME_ELDY_TOPMENU_BACK1'] =
'';
158 $tabparam[
'THEME_ELDY_TOPMENU_BACK1'] = implode(
166 $tabparam[
'THEME_ELDY_BACKTITLE1'] =
'';
168 $tabparam[
'THEME_ELDY_BACKTITLE1'] = implode(
174 if (
GETPOST(
'check_THEME_ELDY_USE_HOVER') ==
'on') {
175 $tabparam[
"THEME_ELDY_USE_HOVER"] = 1;
177 $tabparam[
"THEME_ELDY_USE_HOVER"] = 0;
180 if (
GETPOST(
'check_THEME_ELDY_USE_CHECKED') ==
'on') {
181 $tabparam[
"THEME_ELDY_USE_CHECKED"] = 1;
183 $tabparam[
"THEME_ELDY_USE_CHECKED"] = 0;
186 if (
GETPOST(
'MAIN_OPTIMIZEFORTEXTBROWSER')) {
187 $tabparam[
"MAIN_OPTIMIZEFORTEXTBROWSER"] = 1;
189 $tabparam[
"MAIN_OPTIMIZEFORTEXTBROWSER"] = 0;
192 if (
GETPOST(
'MAIN_OPTIMIZEFORCOLORBLIND')) {
193 $tabparam[
"MAIN_OPTIMIZEFORCOLORBLIND"] =
GETPOST(
'MAIN_OPTIMIZEFORCOLORBLIND',
'aZ09');
195 $tabparam[
"MAIN_OPTIMIZEFORCOLORBLIND"] = 0;
201 include_once DOL_DOCUMENT_ROOT.
'/core/lib/files.lib.php';
202 $cachedir = DOL_DATA_ROOT.
'/users/temp/widgets';
205 header(
'Location: '.$_SERVER[
"PHP_SELF"].
'?id='.$id);
217$title = $person_name.
" - ".$langs->trans(
'Card');
220llxHeader(
'', $title, $help_url,
'', 0, 0,
'',
'',
'',
'mod-user page-card_param_ihm');
224$tmparray[
'index.php'] = array(
'label' =>
'Dashboard',
'picto' =>
'graph');
226 $tmparray[
'societe/index.php?mainmenu=companies&leftmenu='] = array(
'label' =>
'ThirdPartiesArea',
'picto' =>
'company');
229 $tmparray[
'projet/index.php?mainmenu=project&leftmenu='] = array(
'label' =>
'ProjectsArea',
'picto' =>
'project');
231 $tmparray[
'projet/list.php?mainmenu=project&leftmenu=&search_usage_opportunity=1&search_status=99&search_opp_status=openedopp&contextpage=lead'] = array(
'label' =>
'ListOpenLeads',
'picto' =>
'project');
235 $tmparray[
'hrm/index.php?mainmenu=hrm&leftmenu='] = array(
'label' =>
'HRMArea',
'picto' =>
'user');
238 $tmparray[
'product/index.php?mainmenu=products&leftmenu='] = array(
'label' =>
'ProductsAndServicesArea',
'picto' =>
'product');
241 $tmparray[
'comm/index.php?mainmenu=commercial&leftmenu='] = array(
'label' =>
'CommercialArea',
'picto' =>
'commercial');
244 $tmparray[
'compta/index.php?mainmenu=billing&leftmenu='] = array(
'label' =>
'InvoicesArea',
'picto' =>
'bill');
247 $tmparray[
'compta/index.php?mainmenu=accountancy&leftmenu='] = array(
'label' =>
'AccountancyTreasuryArea',
'picto' =>
'bill');
250 $tmparray[
'adherents/index.php?mainmenu=members&leftmenu='] = array(
'label' =>
'MembersArea',
'picto' =>
'member');
253 $tmparray[
'comm/action/index.php?mainmenu=agenda&leftmenu='] = array(
'label' =>
'Agenda',
'picto' =>
'action');
256 $tmparray[
'ticket/list.php?mainmenu=ticket&leftmenu='] = array(
'label' =>
'Tickets',
'picto' =>
'ticket');
260 $sql =
"SELECT b.rowid, b.fk_user, b.url, b.title";
261 $sql .=
" FROM ".MAIN_DB_PREFIX.
"bookmark as b";
262 $sql .=
" WHERE b.entity IN (".getEntity(
'bookmark').
")";
263 $sql .=
" AND b.url NOT LIKE 'http%'";
265 $sql .=
" AND (b.fk_user = ".((int)
$object->id).
" OR b.fk_user is NULL OR b.fk_user = 0)";
267 $resql = $db->query($sql);
270 $num_rows = $db->num_rows($resql);
272 $tmparray[
'sep'.$i] = array(
273 'data-html' =>
'<span class="opacitymedium">--- '.$langs->trans(
"Bookmarks").
'</span>',
274 'label' =>
'--- '.$langs->trans(
"Bookmarks"),
277 while ($i < $num_rows) {
278 $obj = $db->fetch_object($resql);
280 $landing_url = str_replace(DOL_URL_ROOT,
'', $obj->url);
281 $tmparray[$landing_url] = array(
'label' => $obj->title,
'picto' =>
'generic');
289$reshook = $hookmanager->executeHooks(
'addToLandingPageList', $tmparray, $object);
292} elseif ($reshook > 0) {
293 $tmparray = $hookmanager->resArray;
294} elseif ($reshook == 0) {
295 $tmparray = array_merge($tmparray, $hookmanager->resArray);
299foreach ($tmparray as $k => $v) {
302 'label' => is_string($v) ? $v : (is_string($k) ? $k : (string) $k),
303 'picto' =>
'generic',
306 $tmparray[$k][
'label'] = $tmparray[$k][
'label'] ?? (is_string($k) ? $k : (string) $k);
307 $tmparray[$k][
'picto'] = !empty($tmparray[$k][
'picto']) ? $tmparray[$k][
'picto'] :
'generic';
311foreach ($tmparray as $key => $val) {
312 $tmparray[$key][
'data-html'] =
img_picto(
313 $langs->trans($val[
'label']),
315 'class="pictofixedwidth"'
316 ) . $langs->trans($val[
'label']);
318 $tmparray[$key][
'label'] = $langs->trans($val[
'label']);
323$title = $langs->trans(
"User");
325if ($action ==
'edit') {
326 print
'<form method="post" action="'.dolBuildUrl($_SERVER[
"PHP_SELF"]).
'">';
327 print
'<input type="hidden" name="token" value="'.newToken().
'">';
328 print
'<input type="hidden" name="action" value="update">';
329 print
'<input type="hidden" name="id" value="'.$id.
'">';
333if ($action ==
'edit') {
338 if ($user->hasRight(
"user",
"user",
"read") || $user->admin) {
339 $linkback =
'<a href="'.DOL_URL_ROOT.
'/user/list.php?restore_lastsearch_values=1">'.$langs->trans(
"BackToList").
'</a>';
342 dol_banner_tab($object,
'id', $linkback, $user->hasRight(
"user",
"user",
"read") || $user->admin);
344 print
'<div class="underbanner clearboth"></div>';
347 print
'<table class="border centpercent tableforfield">';
350 print
'<tr><td class="titlefield">'.$langs->trans(
"Login").
'</td>';
352 print
'<td class="error">';
353 print $langs->trans(
"LoginAccountDisableInDolibarr");
359 $addadmin .=
img_picto($langs->trans(
"SuperAdministratorDesc"),
"superadmin",
'class="paddingleft valignmiddle"');
360 } elseif (!empty(
$object->admin)) {
361 $addadmin .=
img_picto($langs->trans(
"AdministratorDesc"),
"admin",
'class="paddingleft valignmiddle"');
373 if (!empty($conf->use_javascript_ajax)) {
374 print
'<script type="text/javascript">
375 jQuery(document).ready(function() {
376 function init_myfunc()
378 if (jQuery("#check_MAIN_LANDING_PAGE").prop("checked")) { jQuery("#MAIN_LANDING_PAGE").removeAttr(\'disabled\'); }
379 else { jQuery("#MAIN_LANDING_PAGE").attr(\'disabled\',\'disabled\'); }
381 if (jQuery("#check_MAIN_LANG_DEFAULT").prop("checked")) { jQuery("#main_lang_default").removeAttr(\'disabled\'); }
382 else { jQuery("#main_lang_default").attr(\'disabled\',\'disabled\'); }
384 if (jQuery("#check_MAIN_CHECKBOX_LEFT_COLUMN").prop("checked")) { jQuery("#MAIN_CHECKBOX_LEFT_COLUMN").removeAttr(\'disabled\');}
385 else { jQuery("#MAIN_CHECKBOX_LEFT_COLUMN").attr(\'disabled\',\'disabled\');}
387 if (jQuery("#check_MAIN_SIZE_LISTE_LIMIT").prop("checked")) { jQuery("#MAIN_SIZE_LISTE_LIMIT").removeAttr(\'disabled\'); }
388 else { jQuery("#MAIN_SIZE_LISTE_LIMIT").attr(\'disabled\',\'disabled\'); }
390 if (jQuery("#check_MAIN_SIZE_SHORTLIST_LIMIT").prop("checked")) { jQuery("#MAIN_SIZE_SHORTLIST_LIMIT").removeAttr(\'disabled\'); }
391 else { jQuery("#MAIN_SIZE_SHORTLIST_LIMIT").attr(\'disabled\',\'disabled\'); }
393 if (jQuery("#check_AGENDA_DEFAULT_VIEW").prop("checked")) { jQuery("#AGENDA_DEFAULT_VIEW").removeAttr(\'disabled\'); }
394 else { jQuery("#AGENDA_DEFAULT_VIEW").attr(\'disabled\',\'disabled\'); }
396 if (jQuery("#check_MAIN_THEME").prop("checked")) { jQuery(".themethumbs").removeAttr(\'disabled\'); }
397 else { jQuery(".themethumbs").attr(\'disabled\',\'disabled\'); }
399 if (jQuery("#check_THEME_ELDY_TOPMENU_BACK1").prop("checked")) { jQuery("#colorpickerTHEME_ELDY_TOPMENU_BACK1").removeAttr(\'disabled\'); }
400 else { jQuery("#colorpickerTHEME_ELDY_TOPMENU_BACK1").attr(\'disabled\',\'disabled\'); }
403 jQuery("#check_MAIN_LANDING_PAGE").click(function() { init_myfunc(); });
404 jQuery("#check_MAIN_LANG_DEFAULT").click(function() { init_myfunc(); });
405 jQuery("#check_MAIN_CHECKBOX_LEFT_COLUMN").click(function() { init_myfunc(); });
406 jQuery("#check_MAIN_SIZE_LISTE_LIMIT").click(function() { init_myfunc(); });
407 jQuery("#check_MAIN_SIZE_SHORTLIST_LIMIT").click(function() { init_myfunc(); });
408 jQuery("#check_AGENDA_DEFAULT_VIEW").click(function() { init_myfunc(); });
409 jQuery("#check_MAIN_THEME").click(function() { init_myfunc(); });
410 jQuery("#check_THEME_ELDY_TOPMENU_BACK1").click(function() { init_myfunc(); });
411 jQuery("#check_THEME_ELDY_BACKTITLE1").click(function() { init_myfunc(); });
421 print
'<table class="noborder centpercent">';
422 print
'<tr class="liste_titre"><td>'.$langs->trans(
"Parameter").
'</td>';
423 print
'<td class="nowraponall">'.$langs->trans(
"DefaultValue").
'</td><td></td><td>'.$langs->trans(
"PersonalValue").
'</td></tr>';
426 print
'<tr class="oddeven"><td class="titlefieldmiddle">'.$langs->trans(
"Language").
'</td>';
429 print $s ? $s.
' ' :
'';
430 print (
getDolGlobalString(
'MAIN_LANG_DEFAULT') ==
'auto' ? $form->textwithpicto($langs->trans(
"Automatic"), $langs->trans(
"AutoDetectLang")) : $langs->trans(
"Language_" .
getDolGlobalString(
'MAIN_LANG_DEFAULT')));
432 print
'<td class="nowrap"><input class="oddeven" name="check_MAIN_LANG_DEFAULT" id="check_MAIN_LANG_DEFAULT" type="checkbox" '.(getDolGlobalString(
'MAIN_LANG_DEFAULT') ?
" checked" :
"");
433 print empty($dolibarr_main_demo) ?
'' :
' disabled="disabled"';
434 print
'> <label for="check_MAIN_LANG_DEFAULT">'.$langs->trans(
"UsePersonalValue").
'</label></td>';
436 print $formadmin->select_language((!empty(
$object->conf->MAIN_LANG_DEFAULT) ?
$object->conf->MAIN_LANG_DEFAULT :
''),
'main_lang_default', 1, array(), 0, 0, (int) (!empty($dolibarr_main_demo)));
440 print
'<tr class="oddeven"><td>'.$langs->trans(
"LandingPage").
'</td>';
444 print
'<td class="nowrap"><input class="oddeven" name="check_MAIN_LANDING_PAGE" id="check_MAIN_LANDING_PAGE" type="checkbox" '.(!empty(
$object->conf->MAIN_LANDING_PAGE) ?
" checked" :
"");
445 print empty($dolibarr_main_demo) ?
'' :
' disabled="disabled"';
446 print
'> <label for="check_MAIN_LANDING_PAGE">'.$langs->trans(
"UsePersonalValue").
'</label></td>';
448 print $form->selectarray(
'MAIN_LANDING_PAGE', $tmparray, (!empty(
$object->conf->MAIN_LANDING_PAGE) ?
$object->conf->MAIN_LANDING_PAGE :
''), 0, 0, 0,
'', 0, 0, 0,
'',
'maxwidth250');
453 print
'<tr class="oddeven">'.
"\n";
454 print
'<td>'.$langs->trans(
"AGENDA_DEFAULT_VIEW").
'</td>'.
"\n";
455 print
'<td class="center"> </td>'.
"\n";
456 print
'<td class="nowrap" width="20%"><input class="oddeven" name="check_AGENDA_DEFAULT_VIEW" id="check_AGENDA_DEFAULT_VIEW" type="checkbox" '.(!empty(
$object->conf->AGENDA_DEFAULT_VIEW) ?
" checked" :
"");
457 print empty($dolibarr_main_demo) ?
'' :
' disabled="disabled"';
458 print
'> <label for="check_AGENDA_DEFAULT_VIEW">'.$langs->trans(
"UsePersonalValue").
'</label></td>';
460 $tmplist = array(
'' =>
' ',
'show_list' => $langs->trans(
"ViewList"),
'show_month' => $langs->trans(
"ViewCal"),
'show_week' => $langs->trans(
"ViewWeek"),
'show_day' => $langs->trans(
"ViewDay"),
'show_peruser' => $langs->trans(
"ViewPerUser"));
461 print $form->selectarray(
'AGENDA_DEFAULT_VIEW', $tmplist, (isset(
$object->conf->AGENDA_DEFAULT_VIEW) ?
$object->conf->AGENDA_DEFAULT_VIEW :
''), 0, 0, 0,
'');
462 print
'</td></tr>'.
"\n";
465 print
'<tr class="oddeven"><td>'.$langs->trans(
"MAIN_CHECKBOX_LEFT_COLUMN").
'</td>';
466 print
'<td>'.(getDolGlobalString(
'MAIN_CHECKBOX_LEFT_COLUMN') ? $langs->trans(
"Yes") : $langs->trans(
"No")).
'</td>';
467 print
'<td class="nowrap" width="20%"><input class="oddeven" name="check_MAIN_CHECKBOX_LEFT_COLUMN" id="check_MAIN_CHECKBOX_LEFT_COLUMN" type="checkbox" '.(isset(
$object->conf->MAIN_CHECKBOX_LEFT_COLUMN) ?
" checked" :
"");
468 print empty($dolibarr_main_demo) ?
'' :
' disabled="disabled"';
469 print
'> <label for="check_MAIN_CHECKBOX_LEFT_COLUMN">'.$langs->trans(
"UsePersonalValue").
'</label></td>';
470 print
'<td>'.$form->selectyesno(
"MAIN_CHECKBOX_LEFT_COLUMN", isset(
$object->conf->MAIN_CHECKBOX_LEFT_COLUMN) ?
$object->conf->MAIN_CHECKBOX_LEFT_COLUMN :
getDolGlobalString(
'MAIN_CHECKBOX_LEFT_COLUMN'), 1).
'</td></tr>';
473 print
'<tr class="oddeven"><td>'.$langs->trans(
"MaxSizeList").
'</td>';
475 print
'<td>'.($mainsizelistelimit > 0 ?
getDolGlobalString(
'MAIN_SIZE_LISTE_LIMIT') :
'<span class="">'.$langs->trans(
"Automatic").
'</span>').
'</td>';
476 print
'<td class="nowrap" width="20%"><input class="oddeven" name="check_MAIN_SIZE_LISTE_LIMIT" id="check_MAIN_SIZE_LISTE_LIMIT" type="checkbox" '.(!empty(
$object->conf->MAIN_SIZE_LISTE_LIMIT) ?
" checked" :
"");
477 print empty($dolibarr_main_demo) ?
'' :
' disabled="disabled"';
478 print
'> <label for="check_MAIN_SIZE_LISTE_LIMIT">'.$langs->trans(
"UsePersonalValue").
'</label></td>';
479 print
'<td><input class="flat" name="MAIN_SIZE_LISTE_LIMIT" id="MAIN_SIZE_LISTE_LIMIT" size="4" value="'.(!empty(
$object->conf->MAIN_SIZE_LISTE_LIMIT) ?
$object->conf->MAIN_SIZE_LISTE_LIMIT :
'').
'"></td></tr>';
482 print
'<tr class="oddeven"><td>'.$langs->trans(
"MaxSizeShortList").
'</td>';
484 print
'<td class="nowrap" width="20%"><input class="oddeven" name="check_MAIN_SIZE_SHORTLIST_LIMIT" id="check_MAIN_SIZE_SHORTLIST_LIMIT" type="checkbox" '.(!empty(
$object->conf->MAIN_SIZE_SHORTLIST_LIMIT) ?
" checked" :
"");
485 print empty($dolibarr_main_demo) ?
'' :
' disabled="disabled"';
486 print
'> <label for="check_MAIN_SIZE_SHORTLIST_LIMIT">'.$langs->trans(
"UsePersonalValue").
'</label></td>';
487 print
'<td><input class="flat" name="MAIN_SIZE_SHORTLIST_LIMIT" id="MAIN_SIZE_SHORTLIST_LIMIT" size="4" value="'.(!empty(
$object->conf->MAIN_SIZE_SHORTLIST_LIMIT) ?
$object->conf->MAIN_SIZE_SHORTLIST_LIMIT :
'').
'"></td></tr>';
489 print
'</table><br>';
492 showSkins($object, (($user->admin || empty($dolibarr_main_demo)) ? 1 : 0), true);
495 print $form->buttonsSaveCancel();
499 $linkback =
'<a href="'.DOL_URL_ROOT.
'/user/list.php?restore_lastsearch_values=1">'.$langs->trans(
"BackToList").
'</a>';
501 $morehtmlref =
'<a href="'.DOL_URL_ROOT.
'/user/vcard.php?id='.
$object->id.
'&output=file&file='.urlencode(
dol_sanitizeFileName(
$object->getFullName($langs).
'.vcf')).
'" class="refid valignmiddle" rel="noopener">';
502 $morehtmlref .=
img_picto($langs->trans(
"Download").
' '.$langs->trans(
"VCard"),
'vcard',
'class="valignmiddle marginleftonly paddingrightonly"');
503 $morehtmlref .=
'</a>';
505 $urltovirtualcard =
'/user/virtualcard.php?id='.((int)
$object->id);
506 $morehtmlref .=
dolButtonToOpenUrlInDialogPopup(
'publicvirtualcard', $langs->transnoentitiesnoconv(
"PublicVirtualCardUrl").
' - '.
$object->getFullName($langs),
img_picto($langs->trans(
"PublicVirtualCardUrl"),
'card',
'class="valignmiddle marginleftonly paddingrightonly"'), $urltovirtualcard,
'',
'refid valignmiddle nohover');
508 dol_banner_tab($object,
'id', $linkback, $user->hasRight(
"user",
"user",
"read") || $user->admin,
'rowid',
'ref', $morehtmlref);
510 print
'<div class="fichecenter">';
512 print
'<div class="underbanner clearboth"></div>';
514 print
'<table class="border centpercent tableforfield">';
517 print
'<tr><td class="titlefield">'.$langs->trans(
"Login").
'</td>';
519 print
'<td class="error">';
520 print $langs->trans(
"LoginAccountDisableInDolibarr");
526 $addadmin .=
img_picto($langs->trans(
"SuperAdministratorDesc"),
"superadmin",
'class="paddingleft valignmiddle"');
527 } elseif (!empty(
$object->admin)) {
528 $addadmin .=
img_picto($langs->trans(
"AdministratorDesc"),
"admin",
'class="paddingleft valignmiddle"');
543 print
'<div class="div-table-responsive">';
544 print
'<table class="noborder centpercent">';
545 print
'<tr class="liste_titre"><td class="titlefieldmiddle">'.$langs->trans(
"Parameter").
'</td><td>'.$langs->trans(
"DefaultValue").
'</td><td> </td><td>'.$langs->trans(
"PersonalValue").
'</td></tr>';
548 print
'<tr class="oddeven"><td>'.$langs->trans(
"Language").
'</td>';
551 print ($s ? $s.
' ' :
'');
552 print (
getDolGlobalString(
'MAIN_LANG_DEFAULT') ==
'auto' ? $form->textwithpicto($langs->trans(
"Automatic"), $langs->trans(
"AutoDetectLang")) : $langs->trans(
"Language_" .
getDolGlobalString(
'MAIN_LANG_DEFAULT')));
554 print
'<td class="nowrap"><input class="oddeven" type="checkbox" disabled '.(!empty(
$object->conf->MAIN_LANG_DEFAULT) ?
" checked" :
"").
'> '.$langs->trans(
"UsePersonalValue").
'</td>';
557 print($s ? $s.
' ' :
'');
558 print(isset(
$object->conf->MAIN_LANG_DEFAULT) &&
$object->conf->MAIN_LANG_DEFAULT ==
'auto' ? $langs->trans(
"AutoDetectLang") : (!empty(
$object->
conf->MAIN_LANG_DEFAULT) ? $langs->trans(
"Language_".
$object->
conf->MAIN_LANG_DEFAULT) :
''));
562 print
'<tr class="oddeven"><td>'.$langs->trans(
"LandingPage").
'</td>';
564 print(!
getDolGlobalString(
'MAIN_LANDING_PAGE') ?
'' : $conf->global->MAIN_LANDING_PAGE);
566 print
'<td class="nowrap"><input class="oddeven" name="check_MAIN_LANDING_PAGE" disabled id="check_MAIN_LANDING_PAGE" type="checkbox" '.(!empty(
$object->conf->MAIN_LANDING_PAGE) ?
" checked" :
"");
567 print empty($dolibarr_main_demo) ?
'' :
' disabled="disabled"';
568 print
'> '.$langs->trans(
"UsePersonalValue").
'</td>';
569 print
'<td class="tdoverflowmax300">';
570 if (!empty(
$object->conf->MAIN_LANDING_PAGE)) {
572 if (!empty($tmparray[
$object->conf->MAIN_LANDING_PAGE])) {
573 if (is_array($tmparray[
$object->conf->MAIN_LANDING_PAGE])) {
574 $urltoshow = $langs->trans($tmparray[
$object->conf->MAIN_LANDING_PAGE][
'label']);
576 $urltoshow = $langs->trans($tmparray[
$object->conf->MAIN_LANDING_PAGE]);
579 $urltoshow =
$object->conf->MAIN_LANDING_PAGE;
581 print
'<a href="'.DOL_URL_ROOT.
'/'.
$object->conf->MAIN_LANDING_PAGE.
'" target="_blank" rel="noopener">';
583 if (isset($tmparray[
$object->conf->MAIN_LANDING_PAGE][
'picto']) && !empty($tmparray[
$object->conf->MAIN_LANDING_PAGE][
'picto'])) {
584 $s =
img_picto($urltoshow, $tmparray[
$object->conf->MAIN_LANDING_PAGE][
'picto'],
'class="pictofixedwidth"');
587 print
img_picto($urltoshow,
'globe',
'class="pictofixedwidth"');
597 print
'<tr class="oddeven">'.
"\n";
598 print
'<td>'.$langs->trans(
"AGENDA_DEFAULT_VIEW").
'</td>'.
"\n";
599 print
'<td class="center"> </td>'.
"\n";
600 print
'<td class="nowrap" width="20%"><input class="oddeven" type="checkbox" disabled '.(!empty(
$object->conf->AGENDA_DEFAULT_VIEW) ?
" checked" :
"").
'> '.$langs->trans(
"UsePersonalValue").
'</td>';
602 $tmplist = array(
'' =>
' ',
'show_list' => $langs->trans(
"ViewList"),
'show_month' => $langs->trans(
"ViewCal"),
'show_week' => $langs->trans(
"ViewWeek"),
'show_day' => $langs->trans(
"ViewDay"),
'show_peruser' => $langs->trans(
"ViewPerUser"));
603 if (!empty(
$object->conf->AGENDA_DEFAULT_VIEW)) {
604 print $form->selectarray(
'AGENDA_DEFAULT_VIEW', $tmplist,
$object->conf->AGENDA_DEFAULT_VIEW, 0, 0, 0,
'', 0, 0, 1);
606 print
'</td></tr>'.
"\n";
609 print
'<tr class="oddeven"><td>'.$langs->trans(
"MAIN_CHECKBOX_LEFT_COLUMN").
'</td>';
610 print
'<td>'.(getDolGlobalString(
'MAIN_CHECKBOX_LEFT_COLUMN') ? $langs->trans(
"Yes") : $langs->trans(
"No")).
'</td>';
611 print
'<td class="nowrap" width="20%"><input class="oddeven" type="checkbox" disabled '.(isset(
$object->conf->MAIN_CHECKBOX_LEFT_COLUMN) ?
" checked" :
"").
'> '.$langs->trans(
"UsePersonalValue").
'</td>';
612 print
'<td>'.(isset(
$object->conf->MAIN_CHECKBOX_LEFT_COLUMN) ? (
$object->conf->MAIN_CHECKBOX_LEFT_COLUMN == 1 ? $langs->trans(
"Yes") : $langs->trans(
"No")) :
' ').
'</td></tr>';
615 print
'<tr class="oddeven"><td>'.$langs->trans(
"MaxSizeList").
'</td>';
617 print
'<td>'.($mainsizelistelimit > 0 ?
getDolGlobalString(
'MAIN_SIZE_LISTE_LIMIT') :
'<span class="">'.$langs->trans(
"Automatic").
'</span>').
'</td>';
618 print
'<td class="nowrap" width="20%"><input class="oddeven" type="checkbox" disabled '.(!empty(
$object->conf->MAIN_SIZE_LISTE_LIMIT) ?
" checked" :
"").
'> '.$langs->trans(
"UsePersonalValue").
'</td>';
619 print
'<td>'.(!empty(
$object->conf->MAIN_SIZE_LISTE_LIMIT) ?
$object->conf->MAIN_SIZE_LISTE_LIMIT :
' ').
'</td></tr>';
622 print
'<tr class="oddeven"><td>'.$langs->trans(
"MaxSizeShortList").
'</td>';
623 print
'<td>'.getDolGlobalString(
'MAIN_SIZE_SHORTLIST_LIMIT',
' ').
'</td>';
624 print
'<td class="nowrap" width="20%"><input class="oddeven" type="checkbox" disabled '.(!empty(
$object->conf->MAIN_SIZE_SHORTLIST_LIMIT) ?
" checked" :
"").
'> '.$langs->trans(
"UsePersonalValue").
'</td>';
625 print
'<td>'.(!empty(
$object->conf->MAIN_SIZE_SHORTLIST_LIMIT) ?
$object->conf->MAIN_SIZE_SHORTLIST_LIMIT :
' ').
'</td></tr>';
636 print
'<div class="tabsAction">';
637 if (empty($user->admin) && !empty($dolibarr_main_demo)) {
638 print
'<a class="butActionRefused classfortooltip" title="'.$langs->trans(
"FeatureDisabledInDemo").
'" href="#">'.$langs->trans(
"Modify").
'</a>';
640 if ($caneditfield || !empty($user->admin)) {
641 print
'<a class="butAction" href="'.$_SERVER[
"PHP_SELF"].
'?action=edit&token='.
newToken().
'&id='.
$object->id.
'">'.$langs->trans(
"Modify").
'</a>';
643 print
'<a class="butActionRefused classfortooltip" title="'.$langs->trans(
"NotEnoughPermissions").
'" href="#">'.$langs->trans(
"Modify").
'</a>';
650if ($action ==
'edit') {
$id
Support class for third parties, contacts, members, users or resources.
if(! $sortfield) if(! $sortorder) $object
llxFooter($comment='', $zone='private', $disabledoutputofmessages=0)
Empty footer.
if(!defined('NOREQUIRESOC')) if(!defined( 'NOREQUIRETRAN')) if(!defined('NOTOKENRENEWAL')) if(!defined( 'NOREQUIREMENU')) if(!defined('NOREQUIREHTML')) if(!defined( 'NOREQUIREAJAX')) llxHeader($head='', $title='', $help_url='', $target='', $disablejs=0, $disablehead=0, $arrayofjs='', $arrayofcss='', $morequerystring='', $morecssonbody='', $replacemainareaby='', $disablenofollow=0, $disablenoindex=0)
Empty header.
Class to manage Dolibarr users.
dol_delete_dir_recursive($dir, $count=0, $nophperrors=0, $onlysub=0, &$countdeleted=0, $indexdatabase=1, $nolog=0, $level=0)
Remove a directory $dir and its subdirectories (or only files and subdirectories)
colorStringToArray($stringcolor, $colorifnotfound=array(88, 88, 88))
Convert a string RGB value ('FFFFFF', '255,255,255') into an array RGB array(255,255,...
dol_set_user_param($db, $conf, &$user, $tab, $entity=-1)
Save personal parameter.
setEventMessages($mesg, $mesgs, $style='mesgs', $messagekey='', $noduplicate=0, $attop=0)
Set event messages in dol_events session object.
picto_from_langcode($codelang, $moreatt='', $notitlealt=0)
Return img flag of country for a language code or country code.
showValueWithClipboardCPButton($valuetocopy, $showonlyonhover=1, $texttoshow='')
Create a button to copy $valuetocopy in the clipboard (for copy and paste feature).
img_picto($titlealt, $picto, $moreatt='', $pictoisfullpath=0, $srconly=0, $notitle=0, $alt='', $morecss='', $marginleftonlyshort=2, $allowothertags=array())
Show picto whatever it's its name (generic function)
GETPOSTINT($paramname, $method=0)
Return the value of a $_GET or $_POST supervariable, converted into integer.
dol_get_fiche_head($links=array(), $active='', $title='', $notab=0, $picto='', $pictoisfullpath=0, $morehtmlright='', $morecss='', $limittoshow=0, $moretabssuffix='', $dragdropfile=0, $morecssdiv='')
Show tabs of a record.
dolButtonToOpenUrlInDialogPopup($name, $label, $buttonstring, $url, $disabled='', $morecss='classlink button bordertransp', $jsonopen='', $jsonclose='', $accesskey='')
Return HTML code to output a button to open a dialog popup box.
dol_get_fiche_end($notab=0)
Return tab footer of a card.
dol_sanitizeFileName($str, $newstr='_', $unaccent=1, $includequotes=0, $allowdash=0)
Clean a string to use it as a file name.
getDolGlobalInt($key, $default=0)
Return a Dolibarr global constant int value.
newToken()
Return the value of token currently saved into session with name 'newtoken'.
GETPOST($paramname, $check='alphanohtml', $method=0, $filter=null, $options=null, $noreplace=0)
Return value of a param into GET or POST supervariable.
getDolGlobalString($key, $default='')
Return a Dolibarr global constant string value.
isModEnabled($module)
Is Dolibarr module enabled.
conf($dolibarr_main_document_root)
Load conf file (file must exists)
restrictedArea(User $user, $features, $object=0, $tableandshare='', $feature2='', $dbt_keyfield='fk_soc', $dbt_select='rowid', $isdraft=0, $mode=0)
Check permissions of a user to show a page and an object.
accessforbidden($message='', $printheader=1, $printfooter=1, $showonlymessage=0, $params=null)
Show a message to say access is forbidden and stop program.
user_prepare_head(User $object)
Prepare array with list of tabs.
showSkins($fuser, $edit=0, $foruserprofile=false)
Show list of themes.