Perf: Quelques optimisations du code.

This commit is contained in:
Laurent Destailleur 2008-01-26 20:22:40 +00:00
parent 378b25240c
commit 4a37906ee4
7 changed files with 93 additions and 98 deletions

View File

@ -15,14 +15,12 @@
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software * along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* $Id$
*/ */
/** /**
\file htdocs/admin/ihm.php \file htdocs/admin/ihm.php
\brief Page de configuration de l'interface homme machine \brief Page de configuration de l'interface homme machine
\version $Revision$ \version $Id$
*/ */
require("./pre.inc.php"); require("./pre.inc.php");

View File

@ -37,24 +37,40 @@ set_include_path($_SERVER['DOCUMENT_ROOT'].'/htdocs');
require_once("../master.inc.php"); require_once("../master.inc.php");
$langs->load("main");
// URL http://mydolibarr/lib/datepicker.php?mode=test&m=10&y=2038 can be used for tests // URL http://mydolibarr/lib/datepicker.php?mode=test&m=10&y=2038 can be used for tests
if (isset($_GET["mode"]) && $_GET["mode"] == 'test')
{
print '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">'."\n"; print '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">'."\n";
print '<html><head>'; print '<html><head>';
if (isset($_GET["mode"]) && $_GET["mode"] == 'test')
{
print '<script language="javascript" type="text/javascript" src="'.DOL_URL_ROOT.'/lib/lib_head.js"></script>'."\n"; print '<script language="javascript" type="text/javascript" src="'.DOL_URL_ROOT.'/lib/lib_head.js"></script>'."\n";
print '</head><body>'."\n";
} }
else else
{ {
print '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">'."\n"; print '<title>Calendar</title>';
print '<html><head><title>Calendar</title></head><body>'."\n";
} }
// Define tradMonths javascript array
$tradTemp=array($langs->trans("January"),
$langs->trans("February"),
$langs->trans("March"),
$langs->trans("April"),
$langs->trans("May"),
$langs->trans("June"),
$langs->trans("July"),
$langs->trans("August"),
$langs->trans("September"),
$langs->trans("October"),
$langs->trans("November"),
$langs->trans("December")
);
print '<script language="javascript" type="text/javascript">';
print 'var tradMonths = '.php2js($tradTemp).';';
print '</script>'."\n";
print '</head><body>'."\n";
$langs->load("main");
$qualified=true; $qualified=true;
if (! isset($_GET["sd"])) $_GET["sd"]="00000000"; if (! isset($_GET["sd"])) $_GET["sd"]="00000000";
@ -216,4 +232,43 @@ function displayBox($selectedDate,$month,$year){
</table> </table>
<?php <?php
}//end function }//end function
/*
* \brief Convertit une variable php en variable javascript
* \param var variable php
* \return result variable javascript
*/
function php2js($var)
{
if (is_array($var))
{
$array = array();
foreach ($var as $a_var)
{
$array[] = php2js($a_var);
}
$result = "[" . join(",", $array) . "]";
return $result;
}
else if (is_bool($var))
{
$result = $var ? "true" : "false";
return $result;
}
else if (is_int($var) || is_integer($var) || is_double($var) || is_float($var))
{
$result = $var;
return $result;
}
else if (is_string($var))
{
$result = "\"" . addslashes(stripslashes($var)) . "\"";
return $result;
}
// autres cas: objets, on ne les gére pas
$result = FALSE;
return $result;
}
?> ?>

View File

@ -2807,42 +2807,6 @@ function make_substitutions($chaine,$substitutionarray)
return $chaine; return $chaine;
} }
/*
* \brief Convertit une variable php en variable javascript
* \param var variable php
* \return result variable javascript
*/
function php2js($var)
{
if (is_array($var))
{
$array = array();
foreach ($var as $a_var)
{
$array[] = php2js($a_var);
}
$result = "[" . join(",", $array) . "]";
return $result;
}
else if (is_bool($var))
{
$result = $var ? "true" : "false";
return $result;
}
else if (is_int($var) || is_integer($var) || is_double($var) || is_float($var))
{
$result = $var;
return $result;
}
else if (is_string($var))
{
$result = "\"" . addslashes(stripslashes($var)) . "\"";
return $result;
}
// autres cas: objets, on ne les gére pas
$result = FALSE;
return $result;
}
/* /*
* \brief Formate l'affichage de date de début et de fin * \brief Formate l'affichage de date de début et de fin

View File

@ -667,14 +667,6 @@ function top_htmlhead($head, $title='', $disablejs=0, $disablehead=0)
print '<link rel="stylesheet" type="text/css" title="default" href="'.DOL_URL_ROOT.'/'.$conf->css.'">'."\n"; print '<link rel="stylesheet" type="text/css" title="default" href="'.DOL_URL_ROOT.'/'.$conf->css.'">'."\n";
print '<link rel="stylesheet" type="text/css" media="print" href="'.DOL_URL_ROOT.'/theme/print.css">'."\n"; print '<link rel="stylesheet" type="text/css" media="print" href="'.DOL_URL_ROOT.'/theme/print.css">'."\n";
// Style sheets pour la class Window
if (! $disablejs && $conf->use_javascript_ajax && $conf->global->MAIN_CONFIRM_AJAX)
{
print '<link rel="stylesheet" type="text/css" href="'.DOL_URL_ROOT.'/theme/common/window/default.css">'."\n";
print '<link rel="stylesheet" type="text/css" href="'.DOL_URL_ROOT.'/theme/common/window/alphacube.css">'."\n";
print '<link rel="stylesheet" type="text/css" href="'.DOL_URL_ROOT.'/theme/common/window/alert.css">'."\n";
}
// Definition en alternate style sheet des feuilles de styles les plus maintenues // Definition en alternate style sheet des feuilles de styles les plus maintenues
// Les navigateurs qui supportent sont rares. Plus aucun connu. // Les navigateurs qui supportent sont rares. Plus aucun connu.
/* /*
@ -695,36 +687,22 @@ function top_htmlhead($head, $title='', $disablejs=0, $disablehead=0)
{ {
require_once DOL_DOCUMENT_ROOT.'/lib/ajax.lib.php'; require_once DOL_DOCUMENT_ROOT.'/lib/ajax.lib.php';
// This one is required for all Ajax features
print '<script language="javascript" type="text/javascript" src="'.DOL_URL_ROOT.'/includes/scriptaculous/lib/prototype.js"></script>'."\n"; print '<script language="javascript" type="text/javascript" src="'.DOL_URL_ROOT.'/includes/scriptaculous/lib/prototype.js"></script>'."\n";
// This one is required fox boxes
print '<script language="javascript" type="text/javascript" src="'.DOL_URL_ROOT.'/includes/scriptaculous/src/scriptaculous.js"></script>'."\n"; print '<script language="javascript" type="text/javascript" src="'.DOL_URL_ROOT.'/includes/scriptaculous/src/scriptaculous.js"></script>'."\n";
// Those ones are required only with option "confirm by ajax popup"
if ($conf->global->MAIN_CONFIRM_AJAX)
{
print '<link rel="stylesheet" type="text/css" href="'.DOL_URL_ROOT.'/theme/common/window/default.css">'."\n";
print '<link rel="stylesheet" type="text/css" href="'.DOL_URL_ROOT.'/theme/common/window/alphacube.css">'."\n";
print '<link rel="stylesheet" type="text/css" href="'.DOL_URL_ROOT.'/theme/common/window/alert.css">'."\n";
print '<script language="javascript" type="text/javascript" src="'.DOL_URL_ROOT.'/includes/scriptaculous/src/effects.js"></script>'."\n"; print '<script language="javascript" type="text/javascript" src="'.DOL_URL_ROOT.'/includes/scriptaculous/src/effects.js"></script>'."\n";
print '<script language="javascript" type="text/javascript" src="'.DOL_URL_ROOT.'/includes/scriptaculous/src/controls.js"></script>'."\n"; print '<script language="javascript" type="text/javascript" src="'.DOL_URL_ROOT.'/includes/scriptaculous/src/controls.js"></script>'."\n";
// TODO As-ton besoin des ces 2 js ?
print '<script language="javascript" type="text/javascript" src="'.DOL_URL_ROOT.'/includes/scriptaculous/src/window/window.js"></script>'."\n"; print '<script language="javascript" type="text/javascript" src="'.DOL_URL_ROOT.'/includes/scriptaculous/src/window/window.js"></script>'."\n";
print '<script language="javascript" type="text/javascript" src="'.DOL_URL_ROOT.'/includes/scriptaculous/src/window/tooltip.js"></script>'."\n"; //print '<script language="javascript" type="text/javascript" src="'.DOL_URL_ROOT.'/includes/scriptaculous/src/window/tooltip.js"></script>'."\n";
} }
// TODO Voir si on peut pas virer ca
if (! $disablejs && $conf->use_javascript_ajax)
{
// Define tradMonths javascript array
$tradTemp=Array($langs->trans("January"),
$langs->trans("February"),
$langs->trans("March"),
$langs->trans("April"),
$langs->trans("May"),
$langs->trans("June"),
$langs->trans("July"),
$langs->trans("August"),
$langs->trans("September"),
$langs->trans("October"),
$langs->trans("November"),
$langs->trans("December")
);
print '<script language="javascript" type="text/javascript">';
print 'var tradMonths = '.php2js($tradTemp).';';
print '</script>'."\n";
} }
print "</head>\n"; print "</head>\n";

View File

@ -236,7 +236,7 @@ if ($_GET["id"] || $_GET["ref"])
if ($conf->use_javascript_ajax && $conf->global->MAIN_CONFIRM_AJAX) if ($conf->use_javascript_ajax && $conf->global->MAIN_CONFIRM_AJAX)
{ {
$url = $_SERVER["PHP_SELF"].'?id='.$product->id.'&file='.urlencode($pdir.$viewfilename).'&action=confirm_delete&confirm=yes'; $url = $_SERVER["PHP_SELF"].'?id='.$product->id.'&file='.urlencode($pdir.$viewfilename).'&action=confirm_delete&confirm=yes';
print '<a href="#" onClick="dialogConfirm(\''.$url.'\',\''.$langs->trans('ConfirmDeletePicture').'\',\''.$langs->trans("Yes").'\',\''.$langs->trans("No").'\',\'delete\')"'; print '<a href="#" onClick="dialogConfirm(\''.$url.'\',\''.$langs->trans('ConfirmDeletePicture').'\',\''.$langs->trans("Yes").'\',\''.$langs->trans("No").'\',\'delete\')">';
} }
else else
{ {

View File

@ -1,8 +1,8 @@
.overlay_alert { .overlay_alert {
background-color: #ACBCBB; background-color: #DDDDDD;
filter:alpha(opacity=60); filter: alpha(opacity=50); /*Does not respect CSS standard */
-moz-opacity: 0.6; -moz-opacity: 0.5;
opacity: 0.6; opacity: 0.5;
} }
.alert_nw { .alert_nw {

View File

@ -1,8 +1,8 @@
.overlay_dialog { .overlay_dialog {
background-color: #666666; background-color: #666666;
filter:alpha(opacity=60); filter: alpha(opacity=50); /* Does not respect CSS standard */
-moz-opacity: 0.6; -moz-opacity: 0.5;
opacity: 0.6; opacity: 0.5;
} }
.overlay___invisible__ { .overlay___invisible__ {