Debug v23
This commit is contained in:
parent
a1bc0dc27c
commit
2f898ff188
10 changed files with 91 additions and 18 deletions
|
|
@ -98,7 +98,8 @@ print load_fiche_titre($title, '', 'title_setup');
|
|||
print '<div class="div-table-responsive-no-min">';
|
||||
print '<table class="noborder centpercent">';
|
||||
print '<tr class="liste_titre"><td class="titlefieldcreate">'.$langs->trans("Version").'</td><td></td></tr>'."\n";
|
||||
print '<tr class="oddeven"><td>'.$langs->trans("CurrentVersion").'<br><span class="opacitymedium">('.$langs->trans("Programs").')</span></td><td>'.DOL_VERSION;
|
||||
print '<tr class="oddeven"><td>'.$langs->trans("CurrentVersion").'<br><span class="opacitymedium">('.$langs->trans("Programs").')</span></td><td>';
|
||||
print '<span class="badge-text badge-secondary">'.DOL_VERSION.'</span>';
|
||||
// If current version differs from last upgrade
|
||||
if (!getDolGlobalString('MAIN_VERSION_LAST_UPGRADE')) {
|
||||
// Compare version with last install database version (upgrades never occurred)
|
||||
|
|
@ -121,7 +122,7 @@ $urlofchangelog = 'https://raw.githubusercontent.com/Dolibarr/dolibarr/'.$versio
|
|||
|
||||
print ' ';
|
||||
//print dolButtonToOpenUrlInDialogPopup('changelogpopup', $langs->trans("SeeChangeLog"), $langs->trans("SeeChangeLog"), $urlofchangelog);
|
||||
print '<a href="'.$urlofchangelog.'" target="_blank" rel="noopener noreferrer external">'.$langs->trans("SeeChangeLog").'</a>';
|
||||
print '<a href="'.$urlofchangelog.'" target="_blank" rel="noopener noreferrer external">'.img_picto('', 'url', 'class="paddingright"').$langs->trans("SeeChangeLog").'</a>';
|
||||
|
||||
$newversion = '';
|
||||
if (function_exists('curl_init')) {
|
||||
|
|
@ -148,7 +149,7 @@ if (function_exists('curl_init')) {
|
|||
// Show version
|
||||
print $langs->trans("LastStableVersion").' : <b>'.(($version != '0.0') ? $version : $langs->trans("Unknown")).'</b>';
|
||||
if ($version != '0.0') {
|
||||
print ' <a href="https://raw.githubusercontent.com/Dolibarr/dolibarr/'.$version.'/ChangeLog" target="_blank" rel="noopener noreferrer external">'.$langs->trans("SeeChangeLog").'</a>';
|
||||
print ' <a href="https://raw.githubusercontent.com/Dolibarr/dolibarr/'.$version.'/ChangeLog" target="_blank" rel="noopener noreferrer external">'.img_picto('', 'url', 'class="paddingright"').$langs->trans("SeeChangeLog").'</a>';
|
||||
}
|
||||
} else {
|
||||
print $langs->trans("LastStableVersion").' : <b>'.$langs->trans("UpdateServerOffline").'</b>';
|
||||
|
|
@ -167,8 +168,10 @@ if (preg_match('/[a-z]+/i', $version)) {
|
|||
}
|
||||
|
||||
print '</td></tr>'."\n";
|
||||
print '<tr class="oddeven"><td>'.$langs->trans("VersionLastUpgrade").'<br><span class="opacitymedium">('.$langs->trans("Database").')</span></td><td>'.getDolGlobalString('MAIN_VERSION_LAST_UPGRADE').'</td></tr>'."\n";
|
||||
print '<tr class="oddeven"><td>'.$langs->trans("VersionLastInstall").'<br><span class="opacitymedium">('.$langs->trans("Database").')</span></td><td>'.getDolGlobalString('MAIN_VERSION_LAST_INSTALL').'</td></tr>'."\n";
|
||||
print '<tr class="oddeven"><td>'.$langs->trans("VersionLastUpgrade").'<br><span class="opacitymedium">('.$langs->trans("Database").')</span></td><td>';
|
||||
print '<span class="badge-text badge-secondary">'.getDolGlobalString('MAIN_VERSION_LAST_UPGRADE').'</span></td></tr>'."\n";
|
||||
print '<tr class="oddeven"><td>'.$langs->trans("VersionLastInstall").'<br><span class="opacitymedium">('.$langs->trans("Database").')</span></td><td>';
|
||||
print '<span class="badge-text badge-secondary">'.getDolGlobalString('MAIN_VERSION_LAST_INSTALL').'</span></td></tr>'."\n";
|
||||
print '</table>';
|
||||
print '</div>';
|
||||
print '<br>';
|
||||
|
|
|
|||
|
|
@ -1132,10 +1132,16 @@ class Translate
|
|||
* @param integer $forceloadall 1=Force to load all currencies into cache. We know we need to use all of them. By default read and cache only the requested currency.
|
||||
* @return string Currency symbol encoded into UTF8
|
||||
*/
|
||||
public function getCurrencySymbol($currency_code, $forceloadall = 0)
|
||||
public function getCurrencySymbol($currency_code = '', $forceloadall = 0)
|
||||
{
|
||||
global $conf;
|
||||
|
||||
$currency_sign = ''; // By default return iso code
|
||||
|
||||
if (empty($currency_code)) {
|
||||
$currency_code = $conf->currency;
|
||||
}
|
||||
|
||||
if (function_exists("mb_convert_encoding")) {
|
||||
$this->loadCacheCurrencies($forceloadall ? '' : $currency_code);
|
||||
|
||||
|
|
|
|||
|
|
@ -15312,7 +15312,7 @@ function showValueWithClipboardCPButton($valuetocopy, $showonlyonhover = 1, $tex
|
|||
|
||||
$tag = 'span'; // Using div (like any style of type 'block') does not work when using the js copy code.
|
||||
|
||||
$result = '<span class="clipboardCP' . ($showonlyonhover ? ' clipboardCPShowOnHover' : '') . '">';
|
||||
$result = '<span class="clipboardCP' . ($showonlyonhover ? ' clipboardCPShowOnHover valignmiddle' : '') . '">';
|
||||
if ($texttoshow === 'none') {
|
||||
$result .= '<' . $tag . ' class="clipboardCPValue hidewithsize">' . dol_escape_htmltag($valuetocopy, 1, 1) . '</' . $tag . '>';
|
||||
$result .= '<span class="clipboardCPValueToPrint"></span>';
|
||||
|
|
|
|||
|
|
@ -612,6 +612,26 @@ function showSkins($fuser, $edit = 0, $foruserprofile = false)
|
|||
print yn(getDolGlobalString('THEME_ELDY_USEBORDERONTABLE'));
|
||||
}
|
||||
print $form->textwithpicto('', $langs->trans("NotSupportedByAllThemes"), 1, 'help', 'inline-block');
|
||||
|
||||
if (getDolGlobalString('THEME_ELDY_USEBORDERONTABLE')) {
|
||||
$listofborderradius = array(
|
||||
0 => $langs->transnoentitiesnoconv("No"),
|
||||
4 => $langs->transnoentitiesnoconv("Size").' 4',
|
||||
6 => $langs->transnoentitiesnoconv("Size").' 6',
|
||||
8 => $langs->transnoentitiesnoconv("Size").' 8',
|
||||
10 => $langs->transnoentitiesnoconv("Size").' 10',
|
||||
20 => $langs->transnoentitiesnoconv("Size").' 20',
|
||||
);
|
||||
|
||||
print ' ';
|
||||
if ($edit) {
|
||||
print $form->selectarray('THEME_ELDY_BORDER_RADIUS', $listofborderradius, getDolGlobalInt('THEME_ELDY_BORDER_RADIUS'), 0, 0, 0, '', 0, 0, 0, '', 'widthcentpercentminusx maxwidth100');
|
||||
} else {
|
||||
print $listofborderradius[getDolGlobalInt('THEME_ELDY_BORDER_RADIUS')];
|
||||
}
|
||||
//print $form->textwithpicto('', $langs->trans("NotSupportedByAllThemes"), 1, 'help', 'inline-block');
|
||||
}
|
||||
|
||||
print '</td>';
|
||||
print '</tr>';
|
||||
}
|
||||
|
|
@ -632,6 +652,7 @@ function showSkins($fuser, $edit = 0, $foruserprofile = false)
|
|||
print '</tr>';
|
||||
}
|
||||
|
||||
/*
|
||||
if ($foruserprofile) {
|
||||
} else {
|
||||
if (getDolGlobalString('THEME_ELDY_USEBORDERONTABLE') || getDolGlobalString('THEME_SHOW_BORDER_ON_INPUT')) {
|
||||
|
|
@ -657,6 +678,8 @@ function showSkins($fuser, $edit = 0, $foruserprofile = false)
|
|||
print '</tr>';
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
// Table line height
|
||||
/* removed. height of column must use padding of td and not lineheight that has bad side effect
|
||||
if ($foruserprofile) {
|
||||
|
|
|
|||
|
|
@ -2448,7 +2448,7 @@ WebhookSetup = Webhook setup
|
|||
WebhookSetupPage = Webhook setup page. To activate a webhook, go on the %s tab and create targets
|
||||
ShowQuickAddLink=Show a button to quickly add an element in top right menu
|
||||
ShowSearchAreaInTopMenu=Show the search area in the top menu
|
||||
HashForPing=Hash used for ping
|
||||
HashForPing=Public hash used for ping
|
||||
ReadOnlyMode=Is instance in "Read Only" mode
|
||||
DEBUGBAR_USE_LOG_FILE=Use the <b>dolibarr.log</b> file to trap Logs
|
||||
UsingLogFileShowAllRecordOfSubrequestButIsSlower=Use the dolibarr.log file to trap Logs instead of live memory catching. It allows to catch all logs instead of only log of current process (so including the one of ajax subrequests pages) but will make your instance very very slow. Not recommended.
|
||||
|
|
@ -2541,7 +2541,7 @@ FailedAuth=failed authentications
|
|||
MaxNumberOfFailedAuth=Max number of failed authentication in 24h to deny login.
|
||||
AllowPasswordResetBySendingANewPassByEmail=If a user A has this permission, and even if the user A is not an "admin" user, A is allowed to reset the password of any other user B, the new password will be send to the email of the other user B but it won't be visible to A. If the user A has the "admin" flag, he will also be able to know what is the new generated password of B so he will be able to take control of the B user account.
|
||||
AllowAnyPrivileges=If a user A has this permission, he can create a user B with all privileges then use this user B, or grant himself any other group with any permission. So it means user A owns all business privileges (only system access to setup pages will be forbidden)
|
||||
ThisValueCanBeReadBecauseInstanceIsNotInProductionMode=This value can be read because your instance is not set in production mode
|
||||
ThisValueCanBeReadBecauseInstanceIsNotInProductionMode=This value is readable from user interface because your instance is NOT set in production mode
|
||||
SeeConfFile=See inside conf.php file on the server
|
||||
ReEncryptDesc=Reencrypt data if not yet encrypted
|
||||
PasswordFieldEncrypted=%s new record have this field been encrypted
|
||||
|
|
|
|||
|
|
@ -52,6 +52,13 @@ if (!defined('ISLOADEDBYSTEELSHEET')) {
|
|||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.badge-text {
|
||||
padding: 3px;
|
||||
padding-left: 5px;
|
||||
padding-right: 5px;
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
.badge-status {
|
||||
font-size: 0.95em;
|
||||
padding: .19em .35em; /* more than 0.19 generate a change into height of lines */
|
||||
|
|
|
|||
|
|
@ -430,6 +430,7 @@ input[type=checkbox], input[type=radio] {
|
|||
background-color: var(--colortextlink, #0a58ca);
|
||||
}
|
||||
|
||||
/* input fields */
|
||||
.kanban input.checkforselect {
|
||||
margin-right: 0px;
|
||||
margin-top: 5px;
|
||||
|
|
@ -437,13 +438,15 @@ input[type=checkbox], input[type=radio] {
|
|||
input {
|
||||
padding: 5px;
|
||||
padding-left: 5px;
|
||||
<?php if (getDolGlobalString('THEME_SHOW_BORDER_ON_INPUT')) { ?>
|
||||
<?php if (!getDolGlobalString('THEME_SHOW_BORDER_ON_INPUT')) { ?>
|
||||
border-bottom-left-radius: 0;
|
||||
border-bottom-right-radius: 0;
|
||||
<?php } ?>
|
||||
}
|
||||
.liste_titre input {
|
||||
line-height: 1.3em;
|
||||
padding: 3px;
|
||||
padding-left: 3px;
|
||||
}
|
||||
.tableforfield input {
|
||||
padding-left: 2px;
|
||||
|
|
@ -516,9 +519,13 @@ div.tabBar textarea:focus:not(.textarea-ai_feature):not(.cke_source) {
|
|||
input:focus:not(.button):not(.buttonwebsite):not(.buttonreset):not(.select2-search__field):not(#top-bookmark-search-input):not(.search_component_input):not(.input-nobottom),
|
||||
select:focus, .select2-container--open [aria-expanded="false"].select2-selection--single,
|
||||
.select2-container--focus span.selection span.select2-selection {
|
||||
<?php if (getDolGlobalString('THEME_SHOW_BORDER_ON_INPUT')) { ?>
|
||||
border: 1px solid #666 !important;
|
||||
<?php } else { ?>
|
||||
border-bottom: 1px solid #666 !important;
|
||||
border-bottom-left-radius: 0 !important;
|
||||
border-bottom-right-radius: 0 !important;
|
||||
<?php } ?>
|
||||
}
|
||||
textarea.cke_source:focus
|
||||
{
|
||||
|
|
@ -6559,6 +6566,9 @@ table.jPicker tr:first-of-type td {
|
|||
height: 2px !important;
|
||||
line-height: 2px;
|
||||
}
|
||||
.jPicker .Icon {
|
||||
margin-left: 2px;
|
||||
}
|
||||
.jPicker .Move {
|
||||
background: unset !important;
|
||||
border: unset !important;
|
||||
|
|
@ -6603,6 +6613,9 @@ span.jPicker {
|
|||
border-collapse: collapse;
|
||||
border: none;
|
||||
}
|
||||
.jPicker td.Text input {
|
||||
width: 35px !important;
|
||||
}
|
||||
|
||||
A.color, A.color:active, A.color:visited {
|
||||
position : relative;
|
||||
|
|
|
|||
|
|
@ -52,6 +52,13 @@ if (!defined('ISLOADEDBYSTEELSHEET')) {
|
|||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.badge-text {
|
||||
padding: 3px;
|
||||
padding-left: 5px;
|
||||
padding-right: 5px;
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
.badge-status {
|
||||
font-size: 1em;
|
||||
padding: .19em .35em; /* more than 0.19 generate a change into height of lines */
|
||||
|
|
|
|||
|
|
@ -594,7 +594,11 @@ textarea:focus {
|
|||
input:focus, textarea:focus,
|
||||
button:focus:not(.button_search_x):not(.button_search):not(.button_removefilter), select:focus,
|
||||
.select2-container--focus span.selection span.select2-selection {
|
||||
<?php if (getDolGlobalString('THEME_SHOW_BORDER_ON_INPUT')) { ?>
|
||||
border: 1px solid #666 !important;
|
||||
<?php } else { ?>
|
||||
border-bottom: 1px solid #666;
|
||||
<?php } ?>
|
||||
}
|
||||
|
||||
textarea.cke_source:focus
|
||||
|
|
@ -6431,6 +6435,9 @@ table.jPicker tr:first-of-type td {
|
|||
height: 2px !important;
|
||||
line-height: 2px;
|
||||
}
|
||||
.jPicker .Icon {
|
||||
margin-left: 2px;
|
||||
}
|
||||
.jPicker .Move {
|
||||
background: unset !important;
|
||||
border: unset !important;
|
||||
|
|
@ -6475,6 +6482,9 @@ span.jPicker {
|
|||
border-collapse: collapse;
|
||||
border: none;
|
||||
}
|
||||
.jPicker td.Text input {
|
||||
width: 35px !important;
|
||||
}
|
||||
|
||||
A.color, A.color:active, A.color:visited {
|
||||
position : relative;
|
||||
|
|
|
|||
|
|
@ -1094,7 +1094,7 @@ if ($action == 'create' || $action == 'adduserldap') {
|
|||
|
||||
// Administrator
|
||||
if (!empty($user->admin)) {
|
||||
print '<tr><td>'.$form->textwithpicto($langs->trans("Administrator"), $langs->trans("AdministratorDesc"), 1, 'star').'</td>';
|
||||
print '<tr><td>'.$form->textwithpicto($langs->trans("Administrator"), $langs->trans("AdministratorDesc"), 1, 'help').'</td>';
|
||||
print '<td>';
|
||||
print $form->selectyesno('admin', GETPOST('admin'), 1, false, 0, 1);
|
||||
|
||||
|
|
@ -1211,7 +1211,7 @@ if ($action == 'create' || $action == 'adduserldap') {
|
|||
$valuetoshow .= ($valuetoshow ? ' + ' : '').$langs->trans("HTTPBasicPassword");
|
||||
}
|
||||
if (preg_match('/dolibarr/', $dolibarr_main_authentication) || preg_match('/forceuser/', $dolibarr_main_authentication)) {
|
||||
if (!empty($ldap_pass)) { // For very old system comaptibilty. Now clear password can't be viewed from LDAP read
|
||||
if (!empty($ldap_pass)) { // For very old system compatibility. Now clear password can't be viewed from LDAP read
|
||||
$valuetoshow .= ($valuetoshow ? ' + ' : '').'<input type="hidden" name="password" value="'.dol_escape_htmltag($ldap_pass).'">'; // Dolibarr password is preffiled with LDAP known password
|
||||
$valuetoshow .= preg_replace('/./i', '*', $ldap_pass);
|
||||
} else {
|
||||
|
|
@ -1469,7 +1469,7 @@ if ($action == 'create' || $action == 'adduserldap') {
|
|||
print $form->textwithpicto($text, $langs->trans("THMDescription"), 1, 'help', 'classthm');
|
||||
print '</td>';
|
||||
print '<td>';
|
||||
print '<input size="8" type="text" name="thm" value="'.dol_escape_htmltag(GETPOST('thm')).'"> '.$langs->getCurrencySymbol($conf->currency);
|
||||
print '<input size="8" type="text" name="thm" value="'.dol_escape_htmltag(GETPOST('thm')).'"> <span class="opacitymedium">'.$langs->getCurrencySymbol().'</span>';
|
||||
print '</td>';
|
||||
print "</tr>\n";
|
||||
|
||||
|
|
@ -1479,14 +1479,14 @@ if ($action == 'create' || $action == 'adduserldap') {
|
|||
print $form->textwithpicto($text, $langs->trans("TJMDescription"), 1, 'help', 'classtjm');
|
||||
print '</td>';
|
||||
print '<td>';
|
||||
print '<input size="8" type="text" name="tjm" value="'.dol_escape_htmltag(GETPOST('tjm')).'"> '.$langs->getCurrencySymbol($conf->currency);
|
||||
print '<input size="8" type="text" name="tjm" value="'.dol_escape_htmltag(GETPOST('tjm')).'"> <span class="opacitymedium">'.$langs->getCurrencySymbol().'</span>';
|
||||
print '</td>';
|
||||
print "</tr>\n";
|
||||
|
||||
// Salary
|
||||
print '<tr><td>'.$langs->trans("Salary").'</td>';
|
||||
print '<td>';
|
||||
print img_picto('', 'salary', 'class="pictofixedwidth paddingright"').'<input class="width100" type="text" name="salary" value="'.dol_escape_htmltag(GETPOST('salary')).'"> '.$langs->getCurrencySymbol($conf->currency);
|
||||
print img_picto('', 'salary', 'class="pictofixedwidth paddingright"').'<input class="width100" type="text" name="salary" value="'.dol_escape_htmltag(GETPOST('salary')).'"> <span class="opacitymedium">'.$langs->getCurrencySymbol().'</span>';
|
||||
print '</td>';
|
||||
print "</tr>\n";
|
||||
}
|
||||
|
|
@ -1643,7 +1643,7 @@ if ($action == 'create' || $action == 'adduserldap') {
|
|||
$morehtmlref .= '</a>';
|
||||
|
||||
$urltovirtualcard = '/user/virtualcard.php?id='.((int) $object->id);
|
||||
$morehtmlref .= dolButtonToOpenUrlInDialogPopup('publicvirtualcard', $langs->transnoentitiesnoconv("PublicVirtualCardUrl").' - '.$object->getFullName($langs), img_picto($langs->trans("PublicVirtualCardUrl"), 'card', 'class="valignmiddle marginleftonly paddingrightonly"'), $urltovirtualcard, '', 'valignmiddle nohover');
|
||||
$morehtmlref .= dolButtonToOpenUrlInDialogPopup('publicvirtualcard', $langs->transnoentitiesnoconv("PublicVirtualCardUrl").' - '.$object->getFullName($langs), img_picto($langs->trans("PublicVirtualCardUrl"), 'card', 'class="valignmiddle marginleftonly paddingrightonly"'), $urltovirtualcard, '', 'refid valignmiddle nohover');
|
||||
|
||||
dol_banner_tab($object, 'id', $linkback, $user->hasRight("user", "user", "read") || $user->admin, 'rowid', 'ref', $morehtmlref);
|
||||
|
||||
|
|
@ -1974,7 +1974,7 @@ if ($action == 'create' || $action == 'adduserldap') {
|
|||
print '</th>';
|
||||
print '<th class="liste_titre right">';
|
||||
if (getDolGlobalString('MAIN_SECURITY_ALLOW_TOTP') && $permissiontoeditpasswordandsee) {
|
||||
$s = '<span class="fa fa-plus-circle valignmiddle btnTitle-icon"></span>';
|
||||
$s = '<!-- MAIN_SECURITY_ALLOW_TOTP --><span class="fa fa-plus-circle valignmiddle btnTitle-icon"></span>';
|
||||
print dolButtonToOpenUrlInDialogPopup('openpopuptoaddcredential', $langs->trans("AddCredential"), $s, '/user/credentials.php?userid='.$object->id.'&token='.newToken());
|
||||
}
|
||||
print '</th>';
|
||||
|
|
@ -3017,6 +3017,7 @@ if ($action == 'create' || $action == 'adduserldap') {
|
|||
print '<tr><td>'.$langs->trans("Salary").'</td>';
|
||||
print '<td>';
|
||||
print img_picto('', 'salary', 'class="pictofixedwidth paddingright"').'<input size="8" type="text" name="salary" value="'.price2num(GETPOST('salary') ? GETPOST('salary') : $object->salary).'">';
|
||||
print ' <span class="opacitymedium">'.$langs->getCurrencySymbol().'</span>';
|
||||
print '</td>';
|
||||
print "</tr>\n";
|
||||
|
||||
|
|
@ -3028,6 +3029,7 @@ if ($action == 'create' || $action == 'adduserldap') {
|
|||
print '<td>';
|
||||
if ($permissiontoedit) {
|
||||
print '<input size="8" type="text" name="thm" value="'.price2num(GETPOST('thm') ? GETPOST('thm') : $object->thm).'">';
|
||||
print ' <span class="opacitymedium">'.$langs->getCurrencySymbol().'</span>';
|
||||
} else {
|
||||
print($object->thm != '' ? price($object->thm, 0, $langs, 1, -1, -1, $conf->currency) : '');
|
||||
}
|
||||
|
|
@ -3042,6 +3044,7 @@ if ($action == 'create' || $action == 'adduserldap') {
|
|||
print '<td>';
|
||||
if ($permissiontoedit) {
|
||||
print '<input size="8" type="text" name="tjm" value="'.price2num(GETPOST('tjm') ? GETPOST('tjm') : $object->tjm).'">';
|
||||
print ' <span class="opacitymedium">'.$langs->getCurrencySymbol().'</span>';
|
||||
} else {
|
||||
print($object->tjm != '' ? price($object->tjm, 0, $langs, 1, -1, -1, $conf->currency) : '');
|
||||
}
|
||||
|
|
@ -3148,7 +3151,8 @@ if ($action == 'create' || $action == 'adduserldap') {
|
|||
|
||||
// Add button to autosuggest a key
|
||||
include_once DOL_DOCUMENT_ROOT.'/core/lib/security2.lib.php';
|
||||
print dolJSToSetRandomPassword('password', 'generate_password', 0);
|
||||
$usegenericrule = getDolGlobalString('USER_PASSWORD_GENERATED') == 'none' ? 1 : 0;
|
||||
print dolJSToSetRandomPassword('password', 'generate_password', $usegenericrule);
|
||||
if (isModEnabled('api')) {
|
||||
print dolJSToSetRandomPassword('api_key', 'generate_api_key', 1);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue