25require
'../../main.inc.php';
26require_once DOL_DOCUMENT_ROOT.
'/core/lib/memory.lib.php';
27require_once DOL_DOCUMENT_ROOT.
'/core/lib/date.lib.php';
28require_once DOL_DOCUMENT_ROOT.
'/core/lib/geturl.lib.php';
29require_once DOL_DOCUMENT_ROOT.
'/core/lib/functions2.lib.php';
40$langs->loadLangs(array(
"install",
"other",
"admin",
"products"));
46if (
GETPOST(
'action',
'aZ09') ==
'donothing') {
58llxHeader(
'',
'',
'',
'', 0, 0,
'',
'',
'',
'mod-admin page-system_perf');
62print
'<span class="opacitymedium">'.$langs->trans(
"YouMayFindPerfAdviceHere",
'https://wiki.dolibarr.org/index.php/FAQ_Increase_Performance').
'</span>';
63print
' ';
64print
'<a href="'.$_SERVER[
"PHP_SELF"].
'">';
65print
img_picto($langs->trans(
"Reload"),
'refresh').
' ';
66print $langs->trans(
"Reload");
73print
"<br><strong>PHP</strong> - ".$langs->trans(
"Version").
": ".$phpversion.
"\n";
76print
"<br><strong>Web server</strong> - ".$langs->trans(
"Version").
": ".$_SERVER[
"SERVER_SOFTWARE"].
"<br>\n";
84print
'<strong>'.$langs->trans(
"XDebug").
'</strong><br>';
85print
'<div class="divsection">';
86$test = !function_exists(
'xdebug_is_enabled');
88 print
img_picto(
'',
'tick.png',
'class="pictofixedwidth"').
' '.$langs->trans(
"NotInstalled").
' <span class="opacitymedium">'.$langs->trans(
"NotSlowedDownByThis").
'</span>';
90 print
img_picto(
'',
'warning',
'class="pictofixedwidth"').
' '.$langs->trans(
"ModuleActivated", $langs->transnoentities(
"XDebug"));
91 print
' - '.$langs->trans(
"MoreInformation").
' <a href="'.DOL_URL_ROOT.
'/admin/system/xdebug.php">XDebug admin page</a>';
98print
'<strong>'.$langs->trans(
"Syslog").
'</strong><br>';
99print
'<div class="divsection">';
100$test = !isModEnabled(
'syslog');
102 print
img_picto(
'',
'tick.png',
'class="pictofixedwidth"').
' '.$langs->trans(
"NotInstalled").
' <span class="opacitymedium">'.$langs->trans(
"NotSlowedDownByThis").
'</span>';
105 print
img_picto(
'',
'warning',
'class="pictofixedwidth"').
' '.$langs->trans(
"ModuleActivatedWithTooHighLogLevel", $langs->transnoentities(
"Syslog"));
107 print
img_picto(
'',
'tick.png',
'class="pictofixedwidth"').
' '.$langs->trans(
"ModuleSyslogActivatedButLevelNotTooVerbose", $langs->transnoentities(
"Syslog"),
getDolGlobalInt(
'SYSLOG_LEVEL'));
116print
'<strong>'.$langs->trans(
"DebugBar").
'</strong><br>';
117print
'<div class="divsection">';
118$test = !isModEnabled(
'debugbar');
120 print
img_picto(
'',
'tick.png',
'class="pictofixedwidth"').
' '.$langs->trans(
"NotInstalled").
' <span class="opacitymedium">'.$langs->trans(
"NotSlowedDownByThis").
'</span>';
122 print
img_picto(
'',
'warning',
'class="pictofixedwidth"').
' '.$langs->trans(
"ModuleActivated", $langs->transnoentities(
"DebugBar"));
130print
'<strong>'.$langs->trans(
"ApplicativeCache").
'</strong><br>';
131print
'<div class="divsection">';
132$test = isModEnabled(
'memcached');
135 print $langs->trans(
"MemcachedAvailableAndSetup");
136 print
' '.$langs->trans(
"MoreInformation").
' <a href="'.
dol_buildpath(
'/memcached/admin/memcached.php', 1).
'">Memcached module admin page</a>';
138 print $langs->trans(
"MemcachedModuleAvailableButNotSetup");
139 print
' <a href="'.dol_buildpath(
'/memcached/admin/memcached.php', 1).
'">Memcached module admin page</a>';
142 print $langs->trans(
"MemcachedNotAvailable");
149print
'<strong>'.$langs->trans(
"OPCodeCache").
'</strong><br>';
150print
'<div class="divsection">';
152$test = function_exists(
'xcache_info');
153if (!$foundcache && $test) {
155 print
img_picto(
'',
'tick.png',
'class="pictofixedwidth"').
' '.$langs->trans(
"PHPModuleLoaded",
"XCache");
156 print
' '.$langs->trans(
"MoreInformation").
' <a href="'.DOL_URL_ROOT.
'/admin/system/xcache.php">Xcache admin page</a>';
158$test = function_exists(
'eaccelerator_info');
159if (!$foundcache && $test) {
161 print
img_picto(
'',
'tick.png',
'class="pictofixedwidth"').
' '.$langs->trans(
"PHPModuleLoaded",
"Eaccelerator");
163$test = function_exists(
'opcache_get_status');
164if (!$foundcache && $test) {
166 print
img_picto(
'',
'tick.png',
'class="pictofixedwidth"').
' '.$langs->trans(
"PHPModuleLoaded",
"ZendOPCache");
170$test = function_exists(
'apc_cache_info');
171if (!$foundcache && $test) {
173 if (ini_get(
'apc.enabled')) {
175 print
img_picto(
'',
'tick.png',
'class="pictofixedwidth"').
' '.$langs->trans(
"APCInstalled");
177 print
img_picto(
'',
'warning',
'class="pictofixedwidth"').
' '.$langs->trans(
"APCCacheInstalledButDisabled");
181 print $langs->trans(
"NoOPCodeCacheFound");
188print
'<strong>'.$langs->trans(
"PreloadOPCode").
'</strong><br>';
189print
'<div class="divsection">';
190if (ini_get(
'opcache.preload')) {
191 print ini_get(
'opcache.preload');
193 print
img_picto(
'',
'minus',
'class="pictofixedwidth"').
' '.$langs->trans(
"No");
199print
'<script type="text/javascript">
200jQuery(document).ready(function() {
206 data: { token: \''.currentToken().
'\' },
207 url: \
''.DOL_URL_ROOT.
'/public/notice.php\',
210 /* crossDomain: true,*/
211 success: function () {
212 cachephpstring=getphpurl.getResponseHeader(\'Cache-Control\');
213 /* alert(\'php:\'+getphpurl.getAllResponseHeaders()); */
214 /*alert(\'php:\'+cachephpstring);*/
215 if (cachephpstring == null || cachephpstring.indexOf("no-cache") !== -1)
217 jQuery("#httpcachephpok").hide();
218 jQuery("#httpcachephpko").show();
222 jQuery("#httpcachephpok").show();
223 jQuery("#httpcachephpko").hide();
225 compphpstring=getphpurl.getResponseHeader(\'Content-Encoding\');
226 /* alert(\'php:\'+getphpurl.getAllResponseHeaders()); */
227 /*alert(\'php:\'+compphpstring);*/
228 if (compphpstring == null || (compphpstring.indexOf("gzip") == -1 && compphpstring.indexOf("deflate") == -1 && compphpstring.indexOf("br") == -1))
230 jQuery("#httpcompphpok").hide();
231 jQuery("#httpcompphpko").show();
235 jQuery("#httpcompphpok").show();
236 jQuery("#httpcompphpko").hide();
246 data: { token: \'notrequired\' },
247 url: \''.DOL_URL_ROOT.
'/includes/jquery/css/base/jquery-ui.css\',
250 /* crossDomain: true, */
251 success: function () {
252 cachecssstring=getcssurl.getResponseHeader(\'Cache-Control\');
253 /* alert(\'css:\'+getcssurl.getAllResponseHeaders()); */
254 /*alert(\'css:\'+cachecssstring);*/
255 if (cachecssstring != null && cachecssstring.indexOf("no-cache") !== -1)
257 jQuery("#httpcachecssok").hide();
258 jQuery("#httpcachecssko").show();
262 jQuery("#httpcachecssok").show();
263 jQuery("#httpcachecssko").hide();
265 compcssstring=getcssurl.getResponseHeader(\'Content-Encoding\');
266 /* alert(\'php:\'+getcssurl.getAllResponseHeaders()); */
267 /*alert(\'php:\'+compcssstring);*/
268 if (compcssstring == null || (compcssstring.indexOf("gzip") == -1 && compcssstring.indexOf("deflate") == -1 && compcssstring.indexOf("br") == -1))
270 jQuery("#httpcompcssok").hide();
271 jQuery("#httpcompcssko").show();
275 jQuery("#httpcompcssok").show();
276 jQuery("#httpcompcssko").hide();
282 var cachecssphpstring;
283 var compcssphpstring;
284 getcssphpurl = $.ajax({
287 url: \
''.DOL_URL_ROOT.
'/theme/eldy/style.css.php\',
290 /* crossDomain: true,*/
291 success: function () {
292 cachecssphpstring=getcssphpurl.getResponseHeader(\'Cache-Control\');
293 /* alert(\'cssphp:\'+getcssphpurl.getAllResponseHeaders()); */
294 /*alert(\'cssphp:\'+cachecssphpstring);*/
295 if (cachecssphpstring != null && cachecssphpstring.indexOf("no-cache") !== -1)
297 jQuery("#httpcachecssphpok").hide();
298 jQuery("#httpcachecssphpko").show();
302 jQuery("#httpcachecssphpok").show();
303 jQuery("#httpcachecssphpko").hide();
305 compcssphpstring=getcssphpurl.getResponseHeader(\'Content-Encoding\');
306 /* alert(\'php:\'+getcssphpurl.getAllResponseHeaders()); */
307 /*alert(\'php:\'+compcssphpstring);*/
308 if (compcssphpstring == null || (compcssphpstring.indexOf("gzip") == -1 && compcssphpstring.indexOf("deflate") == -1 && compcssphpstring.indexOf("br") == -1))
310 jQuery("#httpcompcssphpok").hide();
311 jQuery("#httpcompcssphpko").show();
315 jQuery("#httpcompcssphpok").show();
316 jQuery("#httpcompcssphpko").hide();
326 data: { token: \'notrequired\' },
327 url: \''.DOL_URL_ROOT.
'/theme/eldy/img/help.png\',
330 /* crossDomain: true,*/
331 success: function () {
332 cacheimgstring=getimgurl.getResponseHeader(\'Cache-Control\');
333 /* alert(\'img:\'+getimgurl.getAllResponseHeaders()); */
334 /*alert(\'img:\'+cacheimgstring);*/
335 if (cacheimgstring != null && cacheimgstring.indexOf("no-cache") !== -1)
337 jQuery("#httpcacheimgok").hide();
338 jQuery("#httpcacheimgko").show();
342 jQuery("#httpcacheimgok").show();
343 jQuery("#httpcacheimgko").hide();
345 compimgstring=getimgurl.getResponseHeader(\'Content-Encoding\');
346 /* alert(\'php:\'+getimgurl.getAllResponseHeaders()); */
347 /*alert(\'php:\'+compimgstring);*/
348 if (compimgstring == null || (compimgstring.indexOf("gzip") == -1 && compimgstring.indexOf("deflate") == -1 && compimgstring.indexOf("br") == -1))
350 jQuery("#httpcompimgok").hide();
351 jQuery("#httpcompimgko").show();
355 jQuery("#httpcompimgok").show();
356 jQuery("#httpcompimgko").hide();
366 data: { token: \'notrequired\' },
367 url: \''.DOL_URL_ROOT.
'/core/js/lib_rare.js\',
370 /* crossDomain: true,*/
371 success: function () {
372 cachejsstring=getjsurl.getResponseHeader(\'Cache-Control\');
373 /*alert(\'js:\'+getjsurl.getAllResponseHeaders());*/
374 /*alert(\'js:\'+cachejsstring);*/
375 if (cachejsstring != null && cachejsstring.indexOf("no-cache") !== -1)
377 jQuery("#httpcachejsok").hide();
378 jQuery("#httpcachejsko").show();
382 jQuery("#httpcachejsok").show();
383 jQuery("#httpcachejsko").hide();
385 compjsstring=getjsurl.getResponseHeader(\'Content-Encoding\');
386 /* alert(\'js:\'+getjsurl.getAllResponseHeaders()); */
387 /*alert(\'js:\'+compjsstring);*/
388 if (compjsstring == null || (compjsstring.indexOf("gzip") == -1 && compjsstring.indexOf("deflate") == -1 && compjsstring.indexOf("br") == -1))
390 jQuery("#httpcompjsok").hide();
391 jQuery("#httpcompjsko").show();
395 jQuery("#httpcompjsok").show();
396 jQuery("#httpcompjsko").hide();
402 var cachejsphpstring;
404 getjsphpurl = $.ajax({
407 url: \
''.DOL_URL_ROOT.
'/core/js/lib_head.js.php\',
410 /* crossDomain: true,*/
411 success: function () {
412 cachejsphpstring=getjsphpurl.getResponseHeader(\'Cache-Control\');
413 /* alert(\'jsphp:\'+getjsphpurl.getAllResponseHeaders()); */
414 /*alert(\'jsphp:\'+cachejsphpstring);*/
415 if (cachejsphpstring != null && cachejsphpstring.indexOf("no-cache") !== -1)
417 jQuery("#httpcachejsphpok").hide();
418 jQuery("#httpcachejsphpko").show();
422 jQuery("#httpcachejsphpok").show();
423 jQuery("#httpcachejsphpko").hide();
425 compjsphpstring=getjsphpurl.getResponseHeader(\'Content-Encoding\');
426 /* alert(\'php:\'+getjsphpurl.getAllResponseHeaders()); */
427 /*alert(\'php:\'+compjsphpstring);*/
428 if (compjsphpstring == null || (compjsphpstring.indexOf("gzip") == -1 && compjsphpstring.indexOf("deflate") == -1 && compjsphpstring.indexOf("br") == -1))
430 jQuery("#httpcompjsphpok").hide();
431 jQuery("#httpcompjsphpko").show();
435 jQuery("#httpcompjsphpok").show();
436 jQuery("#httpcompjsphpko").hide();
446print
'<strong>'.$langs->trans(
"HTTPCacheStaticResources").
' - ';
447print $form->textwithpicto($langs->trans(
"CacheByServer"), $langs->trans(
"CacheByServerDesc"));
448print
'</strong><br>';
449print
'<div class="divsection">';
454print
'<div id="httpcachecssok">'.img_picto(
'',
'tick.png',
'class="pictofixedwidth"').
' '.$langs->trans(
"FilesOfTypeCached",
'css (.css)').
'</div>';
455print
'<div id="httpcachecssko">'.img_picto(
'',
'warning.png',
'class="pictofixedwidth"').
' '.$langs->trans(
"FilesOfTypeNotCached",
'css (.css)').
'</div>';
456print
'<div id="httpcachecssphpok">'.img_picto(
'',
'tick.png',
'class="pictofixedwidth"').
' '.$langs->trans(
"FilesOfTypeCached",
'css (.css.php)').
'</div>';
457print
'<div id="httpcachecssphpko">'.img_picto(
'',
'warning.png',
'class="pictofixedwidth"').
' '.$langs->trans(
"FilesOfTypeNotCached",
'css (.css.php)').
'</div>';
458print
'<div id="httpcacheimgok">'.img_picto(
'',
'tick.png',
'class="pictofixedwidth"').
' '.$langs->trans(
"FilesOfTypeCached",
'img (.png)').
'</div>';
459print
'<div id="httpcacheimgko">'.img_picto(
'',
'warning.png',
'class="pictofixedwidth"').
' '.$langs->trans(
"FilesOfTypeNotCached",
'img (.png)').
'</div>';
460print
'<div id="httpcachejsok">'.img_picto(
'',
'tick.png',
'class="pictofixedwidth"').
' '.$langs->trans(
"FilesOfTypeCached",
'javascript (.js)').
'</div>';
461print
'<div id="httpcachejsko">'.img_picto(
'',
'warning.png',
'class="pictofixedwidth"').
' '.$langs->trans(
"FilesOfTypeNotCached",
'javascript (.js)').
'</div>';
462print
'<div id="httpcachejsphpok">'.img_picto(
'',
'tick.png',
'class="pictofixedwidth"').
' '.$langs->trans(
"FilesOfTypeCached",
'javascript (.js.php)').
'</div>';
463print
'<div id="httpcachejsphpko">'.img_picto(
'',
'warning.png',
'class="pictofixedwidth"').
' '.$langs->trans(
"FilesOfTypeNotCached",
'javascript (.js.php)').
'</div>';
466print
'<strong>'.$langs->trans(
"HTTPCacheStaticResources").
' - '.$langs->trans(
"CacheByClient").
'</strong><br>';
467print
'<div class="divsection">';
468print
'<div id="httpcachebybrowser">'.img_picto(
'',
'question.png',
'class="pictofixedwidth"').
' '.$langs->trans(
"TestNotPossibleWithCurrentBrowsers").
'</div>';
474print $form->textwithpicto($langs->trans(
"CompressionOfResources"), $langs->trans(
"CompressionOfResourcesDesc"));
477print
'<div class="divsection">';
479print
'<div id="httpcompphpok">'.img_picto(
'',
'tick.png',
'class="pictofixedwidth"').
' '.$langs->trans(
"FilesOfTypeCompressed",
'php (.php)').
'</div>';
480print
'<div id="httpcompphpko">'.img_picto(
'',
'warning.png',
'class="pictofixedwidth"').
' '.$langs->trans(
"FilesOfTypeNotCompressed",
'php (.php)').
'</div>';
482print
'<div id="httpcompcssok">'.img_picto(
'',
'tick.png',
'class="pictofixedwidth"').
' '.$langs->trans(
"FilesOfTypeCompressed",
'css (.css)').
'</div>';
483print
'<div id="httpcompcssko">'.img_picto(
'',
'warning.png',
'class="pictofixedwidth"').
' '.$langs->trans(
"FilesOfTypeNotCompressed",
'css (.css)').
'</div>';
484print
'<div id="httpcompcssphpok">'.img_picto(
'',
'tick.png',
'class="pictofixedwidth"').
' '.$langs->trans(
"FilesOfTypeCompressed",
'css (.css.php)').
'</div>';
485print
'<div id="httpcompcssphpko">'.img_picto(
'',
'warning.png',
'class="pictofixedwidth"').
' '.$langs->trans(
"FilesOfTypeNotCompressed",
'css (.css.php)').
'</div>';
488print
'<div id="httpcompjsok">'.img_picto(
'',
'tick.png',
'class="pictofixedwidth"').
' '.$langs->trans(
"FilesOfTypeCompressed",
'javascript (.js)').
'</div>';
489print
'<div id="httpcompjsko">'.img_picto(
'',
'warning.png',
'class="pictofixedwidth"').
' '.$langs->trans(
"FilesOfTypeNotCompressed",
'javascript (.js)').
'</div>';
490print
'<div id="httpcompjsphpok">'.img_picto(
'',
'tick.png',
'class="pictofixedwidth"').
' '.$langs->trans(
"FilesOfTypeCompressed",
'javascript (.js.php)').
'</div>';
491print
'<div id="httpcompjsphpko">'.img_picto(
'',
'warning.png',
'class="pictofixedwidth"').
' '.$langs->trans(
"FilesOfTypeNotCompressed",
'javascript (.js.php)').
'</div>';
496print
'<strong>'.$langs->trans(
"DriverType").
'</strong>';
498print
'<div class="divsection">';
499if (
$conf->db->type ==
'mysql' ||
$conf->db->type ==
'mysqli') {
500 $test = (
$conf->db->type ==
'mysqli');
502 print
img_picto(
'',
'tick.png',
'class="pictofixedwidth"').
' '.$langs->trans(
"YouUseBestDriver",
$conf->db->type);
504 print
img_picto(
'',
'warning.png',
'class="pictofixedwidth"').
' '.$langs->trans(
"YouDoNotUseBestDriver",
$conf->db->type,
'mysqli');
511print
'<strong>'.$langs->trans(
"ComboListOptim").
'</strong>';
513print
'<div class="divsection">';
515$sql =
"SELECT COUNT(*) as nb";
516$sql .=
" FROM ".MAIN_DB_PREFIX.
"product as p";
517$resql = $db->query($sql);
519 $limitforoptim = 5000;
520 $num = $db->num_rows($resql);
521 $obj = $db->fetch_object($resql);
523 if ($nb > $limitforoptim) {
525 print
img_picto(
'',
'warning.png',
'class="pictofixedwidth"').
' '.$langs->trans(
"YouHaveXObjectUseComboOptim", $nb, $langs->transnoentitiesnoconv(
"ProductsOrServices"),
'PRODUIT_USE_SEARCH_TO_SELECT');
527 print
img_picto(
'',
'tick.png',
'class="pictofixedwidth"').
' '.$langs->trans(
"YouHaveXObjectAndSearchOptimOn", $nb, $langs->transnoentitiesnoconv(
"ProductsOrServices"),
'PRODUIT_USE_SEARCH_TO_SELECT',
getDolGlobalString(
'PRODUIT_USE_SEARCH_TO_SELECT'));
530 print
img_picto(
'',
'tick.png',
'class="pictofixedwidth"').
' '.$langs->trans(
"NbOfObjectIsLowerThanNoPb", $nb, $langs->transnoentitiesnoconv(
"ProductsOrServices"));
536$sql =
"SELECT COUNT(*) as nb";
537$sql .=
" FROM ".MAIN_DB_PREFIX.
"societe as s";
538$resql = $db->query($sql);
540 $limitforoptim = 5000;
541 $num = $db->num_rows($resql);
542 $obj = $db->fetch_object($resql);
544 if ($nb > $limitforoptim) {
546 print
img_picto(
'',
'warning.png',
'class="pictofixedwidth"').
' '.$langs->trans(
"YouHaveXObjectUseComboOptim", $nb, $langs->transnoentitiesnoconv(
"ThirdParties"),
'COMPANY_USE_SEARCH_TO_SELECT');
548 print
img_picto(
'',
'tick.png',
'class="pictofixedwidth"').
' '.$langs->trans(
"YouHaveXObjectAndSearchOptimOn", $nb, $langs->transnoentitiesnoconv(
"ThirdParties"),
'COMPANY_USE_SEARCH_TO_SELECT',
getDolGlobalString(
'COMPANY_USE_SEARCH_TO_SELECT'));
551 print
img_picto(
'',
'tick.png',
'class="pictofixedwidth"').
' '.$langs->trans(
"NbOfObjectIsLowerThanNoPb", $nb, $langs->transnoentitiesnoconv(
"ThirdParties"));
557$sql =
"SELECT COUNT(*) as nb";
558$sql .=
" FROM ".MAIN_DB_PREFIX.
"socpeople as s";
559$resql = $db->query($sql);
561 $limitforoptim = 5000;
562 $num = $db->num_rows($resql);
563 $obj = $db->fetch_object($resql);
565 if ($nb > $limitforoptim) {
567 print
img_picto(
'',
'warning.png',
'class="pictofixedwidth"').
' '.$langs->trans(
"YouHaveXObjectUseComboOptim", $nb, $langs->transnoentitiesnoconv(
"Contacts"),
'CONTACT_USE_SEARCH_TO_SELECT');
569 print
img_picto(
'',
'tick.png',
'class="pictofixedwidth"').
' '.$langs->trans(
"YouHaveXObjectAndSearchOptimOn", $nb, $langs->transnoentitiesnoconv(
"Contacts"),
'CONTACT_USE_SEARCH_TO_SELECT',
getDolGlobalString(
'CONTACT_USE_SEARCH_TO_SELECT'));
572 print
img_picto(
'',
'tick.png',
'class="pictofixedwidth"').
' '.$langs->trans(
"NbOfObjectIsLowerThanNoPb", $nb, $langs->transnoentitiesnoconv(
"Contacts"));
578$sql =
"SELECT COUNT(*) as nb";
579$sql .=
" FROM ".MAIN_DB_PREFIX.
"projet as s";
580$resql = $db->query($sql);
582 $limitforoptim = 5000;
583 $num = $db->num_rows($resql);
584 $obj = $db->fetch_object($resql);
586 if ($nb > $limitforoptim) {
588 print
img_picto(
'',
'warning.png',
'class="pictofixedwidth"').
' '.$langs->trans(
"YouHaveXObjectUseComboOptim", $nb, $langs->transnoentitiesnoconv(
"Projects"),
'PROJECT_USE_SEARCH_TO_SELECT');
590 print
img_picto(
'',
'tick.png',
'class="pictofixedwidth"').
' '.$langs->trans(
"YouHaveXObjectAndSearchOptimOn", $nb, $langs->transnoentitiesnoconv(
"Projects"),
'PROJECT_USE_SEARCH_TO_SELECT',
getDolGlobalString(
'PROJECT_USE_SEARCH_TO_SELECT'));
593 print
img_picto(
'',
'tick.png',
'class="pictofixedwidth"').
' '.$langs->trans(
"NbOfObjectIsLowerThanNoPb", $nb, $langs->transnoentitiesnoconv(
"Projects"));
601print
'<strong>'.$langs->trans(
"SearchOptim").
'</strong>';
603print
'<div class="divsection">';
605$sql =
"SELECT COUNT(*) as nb";
606$sql .=
" FROM ".MAIN_DB_PREFIX.
"product as p";
607$resql = $db->query($sql);
609 $limitforoptim = 100000;
610 $num = $db->num_rows($resql);
611 $obj = $db->fetch_object($resql);
613 if ($nb > $limitforoptim) {
615 print
img_picto(
'',
'warning.png',
'class="pictofixedwidth"').
' '.$langs->trans(
"YouHaveXObjectUseSearchOptim", $nb, $langs->transnoentitiesnoconv(
"ProductsOrServices"),
'PRODUCT_DONOTSEARCH_ANYWHERE');
616 print $langs->trans(
"YouHaveXObjectUseSearchOptimDesc");
618 print
img_picto(
'',
'tick.png',
'class="pictofixedwidth"').
' '.$langs->trans(
"YouHaveXObjectAndSearchOptimOn", $nb, $langs->transnoentitiesnoconv(
"ProductsOrServices"),
'PRODUCT_DONOTSEARCH_ANYWHERE',
getDolGlobalString(
'PRODUCT_DONOTSEARCH_ANYWHERE'));
621 print
img_picto(
'',
'tick.png',
'class="pictofixedwidth"').
' '.$langs->trans(
"NbOfObjectIsLowerThanNoPb", $nb, $langs->transnoentitiesnoconv(
"ProductsOrServices"));
628$sql =
"SELECT COUNT(*) as nb";
629$sql .=
" FROM ".MAIN_DB_PREFIX.
"societe as s";
630$resql = $db->query($sql);
632 $limitforoptim = 100000;
633 $num = $db->num_rows($resql);
634 $obj = $db->fetch_object($resql);
636 if ($nb > $limitforoptim) {
638 print
img_picto(
'',
'warning.png',
'class="pictofixedwidth"').
' '.$langs->trans(
"YouHaveXObjectUseSearchOptim", $nb, $langs->transnoentitiesnoconv(
"ThirdParties"),
'COMPANY_DONOTSEARCH_ANYWHERE');
639 print $langs->trans(
"YouHaveXObjectUseSearchOptimDesc");
641 print
img_picto(
'',
'tick.png',
'class="pictofixedwidth"').
' '.$langs->trans(
"YouHaveXObjectAndSearchOptimOn", $nb, $langs->transnoentitiesnoconv(
"ThirdParties"),
'COMPANY_DONOTSEARCH_ANYWHERE',
getDolGlobalString(
'COMPANY_DONOTSEARCH_ANYWHERE'));
644 print
img_picto(
'',
'tick.png',
'class="pictofixedwidth"').
' '.$langs->trans(
"NbOfObjectIsLowerThanNoPb", $nb, $langs->transnoentitiesnoconv(
"ThirdParties"));
653 print
img_picto(
'',
'warning.png',
'class="pictofixedwidth"').
' '.$langs->trans(
"YouHaveALargeAmountOfRecordOnLists",
getDolGlobalInt(
'MAIN_SIZE_LISTE_LIMIT'), $MAXRECOMMENDED);
655 print
img_picto(
'',
'tick.png',
'class="pictofixedwidth"').
' '.$langs->trans(
"MaxNbOfRecordOnListIsOk",
getDolGlobalInt(
'MAIN_SIZE_LISTE_LIMIT'), $MAXRECOMMENDED);
664print
'<strong>'.$langs->trans(
"Browser").
'</strong><br>';
665print
'<div class="divsection">';
666if (!in_array(
$conf->browser->name, array(
'chrome',
'opera',
'safari',
'firefox'))) {
667 print
img_picto(
'',
'warning.png',
'class="pictofixedwidth"').
' '.$langs->trans(
"BrowserIsKO",
$conf->browser->name);
669 print
img_picto(
'',
'tick.png',
'class="pictofixedwidth"').
' '.$langs->trans(
"BrowserIsOK",
$conf->browser->name);
676print
'<strong>'.$langs->trans(
"Options").
'</strong><br>';
677print
'<div class="divsection">';
679 print
img_picto(
'',
'tick.png',
'class="pictofixedwidth"');
681 print
img_picto(
'',
'minus',
'class="pictofixedwidth"');
683print $form->textwithpicto($langs->trans(
"EnableFileCache").
' ('.$langs->trans(
"Widgets").
')', $langs->trans(
"Option").
' MAIN_ACTIVATE_FILECACHE');
688 print
img_picto(
'',
'tick.png',
'class="pictofixedwidth"');
690 print
img_picto(
'',
'minus',
'class="pictofixedwidth"');
692print
'MAIN_ENABLE_AJAX_TOOLTIP : ';
698 print
img_picto(
'',
'tick.png',
'class="pictofixedwidth"');
700 print
img_picto(
'',
'minus',
'class="pictofixedwidth"');
702print
'MAIN_CACHE_COUNT : ';
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.
version_php()
Return PHP version.
load_fiche_titre($title, $morehtmlright='', $picto='generic', $pictoisfullpath=0, $id='', $morecssontable='', $morehtmlcenter='')
Load a title with picto.
img_picto($titlealt, $picto, $moreatt='', $pictoisfullpath=0, $srconly=0, $notitle=0, $alt='', $morecss='', $marginleftonlyshort=2)
Show picto whatever it's its name (generic function)
currentToken()
Return the value of token currently saved into session with name 'token'.
dol_now($mode='auto')
Return date for now.
getDolGlobalInt($key, $default=0)
Return a Dolibarr global constant int value.
dol_print_date($time, $format='', $tzoutput='auto', $outputlangs=null, $encodetooutput=false)
Output date in a string format according to outputlangs (or langs if not defined).
yn($yesno, $format=1, $color=0)
Return yes or no in current language.
GETPOST($paramname, $check='alphanohtml', $method=0, $filter=null, $options=null, $noreplace=0)
Return value of a param into GET or POST supervariable.
dol_buildpath($path, $type=0, $returnemptyifnotfound=0)
Return path of url or filesystem.
getDolGlobalString($key, $default='')
Return a Dolibarr global constant string value.
global $conf
The following vars must be defined: $type2label $form $conf, $lang, The following vars may also be de...
accessforbidden($message='', $printheader=1, $printfooter=1, $showonlymessage=0, $params=null)
Show a message to say access is forbidden and stop program.