PageRenderTime 47ms CodeModel.GetById 19ms RepoModel.GetById 1ms app.codeStats 0ms

/htdocs/admin/system/dolibarr.php

https://github.com/asterix14/dolibarr
PHP | 221 lines | 161 code | 22 blank | 38 comment | 29 complexity | 6bd8c93a1eb5b33257a1637cd23b4e43 MD5 | raw file
Possible License(s): LGPL-2.0
  1. <?php
  2. /* Copyright (C) 2005-2011 Laurent Destailleur <eldy@users.sourceforge.net>
  3. * Copyright (C) 2007 Rodolphe Quiedeville <rodolphe@quiedeville.org>
  4. *
  5. * This program is free software; you can redistribute it and/or modify
  6. * it under the terms of the GNU General Public License as published by
  7. * the Free Software Foundation; either version 2 of the License, or
  8. * (at your option) any later version.
  9. *
  10. * This program is distributed in the hope that it will be useful,
  11. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  12. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  13. * GNU General Public License for more details.
  14. *
  15. * You should have received a copy of the GNU General Public License
  16. * along with this program. If not, see <http://www.gnu.org/licenses/>.
  17. */
  18. /**
  19. * \file htdocs/admin/system/dolibarr.php
  20. * \brief Page to show Dolibarr informations
  21. */
  22. require("../../main.inc.php");
  23. require_once(DOL_DOCUMENT_ROOT."/core/lib/memory.lib.php");
  24. require_once(DOL_DOCUMENT_ROOT."/core/lib/date.lib.php");
  25. $langs->load("admin");
  26. $langs->load("install");
  27. $langs->load("other");
  28. if (!$user->admin)
  29. accessforbidden();
  30. /*
  31. * View
  32. */
  33. $form=new Form($db);
  34. llxHeader();
  35. print_fiche_titre("Dolibarr",'','setup');
  36. // Version
  37. $var=true;
  38. print '<table class="noborder" width="100%">';
  39. print '<tr class="liste_titre"><td>'.$langs->trans("Version").'</td><td>'.$langs->trans("Value").'</td></tr>'."\n";
  40. $var=!$var;
  41. print '<tr '.$bc[$var].'><td width="300">'.$langs->trans("VersionLastInstall").'</td><td>'.$conf->global->MAIN_VERSION_LAST_INSTALL.'</td></tr>'."\n";
  42. $var=!$var;
  43. print '<tr '.$bc[$var].'><td width="300">'.$langs->trans("VersionLastUpgrade").'</td><td>'.$conf->global->MAIN_VERSION_LAST_UPGRADE.'</td></tr>'."\n";
  44. $var=!$var;
  45. print '<tr '.$bc[$var].'><td width="300">'.$langs->trans("VersionProgram").'</td><td>'.DOL_VERSION;
  46. // If current version differs from last upgrade
  47. if (empty($conf->global->MAIN_VERSION_LAST_UPGRADE))
  48. {
  49. // Compare version with last install database version (upgrades never occured)
  50. if (DOL_VERSION != $conf->global->MAIN_VERSION_LAST_INSTALL) print ' '.img_warning($langs->trans("RunningUpdateProcessMayBeRequired",DOL_VERSION,$conf->global->MAIN_VERSION_LAST_INSTALL));
  51. }
  52. else
  53. {
  54. // Compare version with last upgrade database version
  55. if (DOL_VERSION != $conf->global->MAIN_VERSION_LAST_UPGRADE) print ' '.img_warning($langs->trans("RunningUpdateProcessMayBeRequired",DOL_VERSION,$conf->global->MAIN_VERSION_LAST_UPGRADE));
  56. }
  57. print '</td></tr>'."\n";
  58. print '</table>';
  59. print '<br>';
  60. // Session
  61. $var=true;
  62. print '<table class="noborder" width="100%">';
  63. print '<tr class="liste_titre"><td>'.$langs->trans("Session").'</td><td colspan="2">'.$langs->trans("Value").'</td></tr>'."\n";
  64. $var=!$var;
  65. print '<tr '.$bc[$var].'><td width="300">'.$langs->trans("SessionSavePath").'</td><td colspan="2">'.session_save_path().'</td></tr>'."\n";
  66. $var=!$var;
  67. print '<tr '.$bc[$var].'><td width="300">'.$langs->trans("SessionName").'</td><td colspan="2">'.session_name().'</td></tr>'."\n";
  68. $var=!$var;
  69. print '<tr '.$bc[$var].'><td width="300">'.$langs->trans("SessionId").'</td><td colspan="2">'.session_id().'</td></tr>'."\n";
  70. $var=!$var;
  71. print '<tr '.$bc[$var].'><td width="300">'.$langs->trans("CurrentSessionTimeOut").'</td><td>'.ini_get('session.gc_maxlifetime').' '.$langs->trans("seconds");
  72. print '</td><td align="right">';
  73. print $form->textwithpicto('',$langs->trans("SessionExplanation",ini_get("session.gc_probability"),ini_get("session.gc_divisor")));
  74. print "</td></tr>\n";
  75. $var=!$var;
  76. print '<tr '.$bc[$var].'><td width="300">'.$langs->trans("CurrentTheme").'</td><td colspan="2">'.$conf->theme.'</td></tr>'."\n";
  77. $var=!$var;
  78. print '<tr '.$bc[$var].'><td width="300">'.$langs->trans("CurrentMenuHandler").'</td><td colspan="2">';
  79. if (preg_match('/^smartphone/',$conf->smart_menu) && isset($conf->browser->phone)) print $conf->smart_menu;
  80. else print $conf->top_menu;
  81. print '</td></tr>'."\n";
  82. print '</table>';
  83. print '<br>';
  84. // Shmop
  85. if (isset($conf->global->MAIN_OPTIMIZE_SPEED) && ($conf->global->MAIN_OPTIMIZE_SPEED & 0x02))
  86. {
  87. $shmoparray=dol_listshmop();
  88. $var=true;
  89. print '<table class="noborder" width="100%">';
  90. print '<tr class="liste_titre">';
  91. print '<td>'.$langs->trans("LanguageFilesCachedIntoShmopSharedMemory").'</td>';
  92. print '<td>'.$langs->trans("NbOfEntries").'</td>';
  93. print '<td align="right">'.$langs->trans("Address").'</td>';
  94. print '</tr>'."\n";
  95. foreach($shmoparray as $key => $val)
  96. {
  97. $var=!$var;
  98. print '<tr '.$bc[$var].'><td width="300">'.$key.'</td>';
  99. print '<td>'.count($val).'</td>';
  100. print '<td align="right">'.dol_getshmopaddress($key).'</td>';
  101. print '</tr>'."\n";
  102. }
  103. print '</table>';
  104. print '<br>';
  105. }
  106. // Localisation
  107. $var=true;
  108. print '<table class="noborder" width="100%">';
  109. print '<tr class="liste_titre"><td>'.$langs->trans("LocalisationDolibarrParameters").'</td><td>'.$langs->trans("Value").'</td></tr>'."\n";
  110. $var=!$var;
  111. print '<tr '.$bc[$var].'><td width="300">'.$langs->trans("LanguageBrowserParameter","HTTP_ACCEPT_LANGUAGE").'</td><td>'.$_SERVER["HTTP_ACCEPT_LANGUAGE"].'</td></tr>'."\n";
  112. $var=!$var;
  113. print '<tr '.$bc[$var].'><td width="300">'.$langs->trans("CurrentUserLanguage").'</td><td>'.$langs->getDefaultLang().'</td></tr>'."\n";
  114. // Thousands
  115. $var=!$var;
  116. $thousand=$langs->trans("SeparatorThousand");
  117. if ($thousand == 'SeparatorThousand') $thousand=' '; // ' ' does not work on trans method
  118. if ($thousand == 'None') $thousand='';
  119. print '<tr '.$bc[$var].'><td width="300">'.$langs->trans("CurrentValueSeparatorThousand").'</td><td>'.($thousand==' '?$langs->trans("Space"):$thousand).'</td></tr>'."\n";
  120. // Decimals
  121. $var=!$var;
  122. $dec=$langs->trans("SeparatorDecimal");
  123. print '<tr '.$bc[$var].'><td width="300">'.$langs->trans("CurrentValueSeparatorDecimal").'</td><td>'.$dec.'</td></tr>'."\n";
  124. // Show results of functions to see if everything works
  125. $var=!$var;
  126. print '<tr '.$bc[$var].'><td width="300">&nbsp; => price2num(1233.56+1)</td><td>'.price2num(1233.56+1,'2').'</td></tr>';
  127. $var=!$var;
  128. print "<tr ".$bc[$var].'><td width=\"300\">&nbsp; => price2num('."'1".$thousand."234".$dec."56')</td><td>".price2num("1".$thousand."234".$dec."56",'2')."</td>";
  129. if (($thousand != ',' && $thousand != '.') || ($thousand != ' '))
  130. {
  131. $var=!$var;
  132. print "<tr ".$bc[$var].'><td width=\"300\">&nbsp; => price2num('."'1 234.56')</td><td>".price2num("1 234.56",'2')."</td>";
  133. print "</tr>\n";
  134. }
  135. $var=!$var;
  136. print '<tr '.$bc[$var].'><td width="300">&nbsp; => price(1234.56)</td><td>'.price(1234.56).'</td>';
  137. // Timezone
  138. $txt =$langs->trans("OSTZ").' (variable system TZ): '.($_ENV["TZ"]?$_ENV["TZ"]:$langs->trans("NotDefined")).'<br>'."\n";
  139. $txt.=$langs->trans("PHPTZ").' (php.ini date.timezone): '.(ini_get("date.timezone")?ini_get("date.timezone"):$langs->trans("NotDefined")).''."\n"; // date.timezone must be in valued defined in http://fr3.php.net/manual/en/timezones.europe.php
  140. if (function_exists('date_default_timezone_get'))
  141. {
  142. $var=!$var;
  143. print '<tr '.$bc[$var].'><td width="300">'.$langs->trans("CurrentTimeZone").'</td><td>'; // Timezone server PHP
  144. $a=date_default_timezone_get();
  145. $a.=' '.getCurrentTimeZone();
  146. $a.=' ('.(-dol_mktime(0,0,0,1,1,1970)>0?'+':'').(-dol_mktime(0,0,0,1,1,1970)).')';
  147. print $form->textwithtooltip($a,$txt,2,1,img_info(''));
  148. print '</td></tr>'."\n"; // value defined in http://fr3.php.net/manual/en/timezones.europe.php
  149. }
  150. else
  151. {
  152. $var=!$var;
  153. print '<tr '.$bc[$var].'><td width="300">'.$langs->trans("PHPServerOffsetWithGreenwich").'</td><td>';
  154. $a=(-dol_mktime(0,0,0,1,1,1970)>0?'+':'').(-dol_mktime(0,0,0,1,1,1970));
  155. print $form->textwithtooltip($a,$txt,2,1,img_info(''));
  156. print '</td></tr>'."\n";
  157. }
  158. $var=!$var;
  159. print '<tr '.$bc[$var].'><td width="300">&nbsp; => '.$langs->trans("CurrentHour").'</td><td>'.dol_print_date(dol_now(),'dayhour','tzserver').'</td></tr>'."\n";
  160. $var=!$var;
  161. print '<tr '.$bc[$var].'><td width="300">&nbsp; => dol_print_date(0,"dayhourtext")</td><td>'.dol_print_date(0,"dayhourtext").'</td>';
  162. $var=!$var;
  163. print '<tr '.$bc[$var].'><td width="300">&nbsp; => dol_get_first_day(1970,1,false)</td><td>'.dol_get_first_day(1970,1,false).' &nbsp; &nbsp; (=> dol_print_date() or idate() of this value = '.dol_print_date(dol_get_first_day(1970,1,false),'dayhour').')</td>';
  164. $var=!$var;
  165. print '<tr '.$bc[$var].'><td width="300">&nbsp; => dol_get_first_day(1970,1,true)</td><td>'.dol_get_first_day(1970,1,true).' &nbsp; &nbsp; (=> dol_print_date() or idate() of this value = '.dol_print_date(dol_get_first_day(1970,1,true),'dayhour').')</td>';
  166. // Parent company
  167. $var=!$var;
  168. print '<tr '.$bc[$var].'><td width="300">'.$langs->trans("CompanyTZ").'</td><td>'.$langs->trans("FeatureNotYetAvailable").'</td></tr>'."\n";
  169. $var=!$var;
  170. print '<tr '.$bc[$var].'><td width="300">&nbsp; => '.$langs->trans("CompanyHour").'</td><td>'.$langs->trans("FeatureNotYetAvailable").'</td></tr>'."\n";
  171. // Client
  172. $var=!$var;
  173. print '<tr '.$bc[$var].'><td width="300">'.$langs->trans("ClientTZ").'</td><td>'.($_SESSION['dol_tz']!=''?($_SESSION['dol_tz']>=0?'+':'').$_SESSION['dol_tz']:'').' ('.($_SESSION['dol_tz']>=0?'+':'').($_SESSION['dol_tz']*60*60).')</td></tr>'."\n";
  174. //$var=!$var;
  175. //print '<tr '.$bc[$var].'><td width="300">&nbsp; => '.$langs->trans("ClientOffsetWithGreenwich").'</td><td>'..'</td></tr>'."\n";
  176. $var=!$var;
  177. print '<tr '.$bc[$var].'><td width="300">'.$langs->trans("DaylingSavingTime").'</td><td>';
  178. if ($_SESSION['dol_dst']>0)
  179. {
  180. print ($_SESSION['dol_dst']>0?'+':'').($_SESSION['dol_dst']).' ('.($_SESSION['dol_dst']>0?'+':'').($_SESSION['dol_dst']*60*60).')';
  181. }
  182. else print yn(0);
  183. if (isset($_SESSION['dol_dst_first'])) print ' &nbsp; &nbsp; ('.dol_print_date(dol_stringtotime($_SESSION['dol_dst_first']),'dayhour','gmt').' - '.dol_print_date(dol_stringtotime($_SESSION['dol_dst_second']),'dayhour','gmt').')';
  184. print '</td></tr>'."\n";
  185. $var=!$var;
  186. print '<tr '.$bc[$var].'><td width="300">&nbsp; => '.$langs->trans("ClientHour").'</td><td>'.dol_print_date(dol_now(),'dayhour','tzuser').'</td></tr>'."\n";
  187. $var=!$var;
  188. $filesystemencoding=ini_get("unicode.filesystem_encoding"); // Disponible avec PHP 6.0
  189. print '<tr '.$bc[$var].'><td width="300">'.$langs->trans("File encoding").' (php.ini unicode.filesystem_encoding)</td><td>'.$filesystemencoding.'</td></tr>'."\n"; // date.timezone must be in valued defined in http://fr3.php.net/manual/en/timezones.europe.php
  190. $var=!$var;
  191. $tmp=ini_get("unicode.filesystem_encoding"); // Disponible avec PHP 6.0
  192. if (empty($tmp) && ! empty($_SERVER["WINDIR"])) $tmp='iso-8859-1'; // By default for windows
  193. if (empty($tmp)) $tmp='utf-8'; // By default for other
  194. if (! empty($conf->global->MAIN_FILESYSTEM_ENCODING)) $tmp=$conf->global->MAIN_FILESYSTEM_ENCODING;
  195. print '<tr '.$bc[$var].'><td width="300">&nbsp; => '.$langs->trans("File encoding").'</td><td>'.$tmp.'</td></tr>'."\n"; // date.timezone must be in valued defined in http://fr3.php.net/manual/en/timezones.europe.php
  196. print '</table>';
  197. print '<br>';
  198. llxFooter();
  199. ?>