Code

Updated focus
[gosa.git] / html / main.php
index d84fda331847e797f74e601bd013262207e99078..be5e03e17217dd4e7c87fff3421b1b67ff1f065a 100644 (file)
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  */
 
-/* Basic setup, remove eventually registered sessions */
+/* Save start time */
 $start = microtime();
-$timing= array();
+
+/* Basic setup, remove eventually registered sessions */
 require_once ("../include/php_setup.inc");
 require_once ("functions.inc");
 require_once ("functions_FAI.inc");
+
+/* Set header */
 header("Content-type: text/html; charset=UTF-8");
 
 /* Find all class files and include them */
@@ -57,7 +60,7 @@ if ($_SERVER["REQUEST_METHOD"] == "POST"){
 
 /* Logged in? Simple security check */
 if (!isset($_SESSION['config'])){
-  gosa_log ("main.php called without session - logging out");
+  new log("security","login","",array(),"main.php called without session - logging out") ;
   header ("Location: logout.php");
   exit;
 } 
@@ -70,7 +73,7 @@ $_SESSION['LastError']          = "";
 /* Check for uniqe ip address */
 $ui= $_SESSION["ui"];
 if ($_SERVER['REMOTE_ADDR'] != $ui->ip){
-  gosa_log ("main.php called with session which has a changed IP address.", 3);
+  new log("security","login","",array(),"main.php called with session which has a changed IP address.") ;
   header ("Location: logout.php");
   exit;
 }
@@ -96,7 +99,7 @@ if(empty($_SESSION['_LAST_PAGE_REQUEST'])){
    */
   if($request_time > $max_life){
     session_unset();
-    gosa_log ("main.php called without session - logging out");
+    new log("security","login","",array(),"main.php called without session - logging out") ;
     header ("Location: logout.php");
     exit;
   }
@@ -141,6 +144,7 @@ if(!isset($_SESSION['CurrentMainBase'])){
 }
 
 $lang.=".UTF-8";
+
 putenv("LANGUAGE=");
 putenv("LANG=$lang");
 setlocale(LC_ALL, $lang);
@@ -167,7 +171,7 @@ $plist= $_SESSION['plist'];
 /* Check for register globals */
 if (isset($global_check) && $config->data['MAIN']['FORCEGLOBALS'] == 'true'){
   echo _("FATAL: Register globals is on. GOsa will refuse to login unless this is fixed by an administrator.");
-  gosa_log ("Register globals is on. For security reasons, this should be turned off.");
+  new log("security","login","",array(),"Register globals is on. For security reasons, this should be turned off.") ;
   session_destroy ();
   exit ();
 }
@@ -183,7 +187,7 @@ if (isset($_GET['plug'])){
   $plugin_dir= $plist->get_path($plug);
   $_SESSION['plugin_dir']= $plugin_dir;
   if ($plugin_dir == ""){
-    gosa_log ("main.php called with invalid plug parameter \"$plug\"", 3);
+    new log("security","gosa","",array(),"main.php called with invalid plug parameter \"$plug\"") ;
     header ("Location: logout.php");
     exit;
   }
@@ -339,20 +343,6 @@ if (isset ($_SESSION['post_cnt'])){
   echo "<input type=\"hidden\" name=\"session_cnt\" value=\"".$_SESSION['post_cnt']."\">\n";
 }
 
-$start = microtime();
-
-
-/* Check if the user has used the browsers back button,
-    and display a warning, because using the back button could cause strange things
-    like tagging twice, moving an object twice ... */
-if(!isset($_SESSION['back_button_test'])){
-  $_SESSION['back_button_test'] = 0;
-}
-if(isset($_POST['back_button_test']) && $_POST['back_button_test'] != $_SESSION['back_button_test']){
-    print_red(_("Please do not use the browsers 'back' or 'reload' buttons, this could cause GOsa to perform actions twice. If you have not used those actions, check the php log files possibly the memory limit was exhausted."));
-}
-
-
 /* check if we are using account expiration */
 if((isset($config->data['MAIN']['ACCOUNT_EXPIRATION'])) &&
     preg_match('/true/i', $config->data['MAIN']['ACCOUNT_EXPIRATION'])){
@@ -360,7 +350,7 @@ if((isset($config->data['MAIN']['ACCOUNT_EXPIRATION'])) &&
   $expired= ldap_expired_account($config, $ui->dn, $ui->username);
 
   if ($expired == 2){
-    gosa_log ("password for user \"$ui->username\" is about to expire");
+    new log("security","gosa","",array(),"password for user \"$ui->username\" is about to expire") ;
     print_red(_("Your password is about to expire, please change your password"));
   }
 }
@@ -375,35 +365,29 @@ if (is_file("$plugin_dir/main.inc")){
 
 
 /* Print_out last ErrorMessage repeated string. */
-print_red(NULL);
 
-/* Second part of browser 'back button used' check */
-$_SESSION['back_button_test'] ++;
-$bb = "<input type='hidden' name='back_button_test' value='".$_SESSION['back_button_test']."'>";
-$smarty->assign("contents", $bb.$display.get_MicroTimeDiff($start,microtime()));
+$smarty->assign("contents", $display);
 
 /* Assign erros to smarty */
 if (isset($_SESSION['errors'])){
   $smarty->assign("errors", $_SESSION['errors']);
 }
 if ($error_collector != ""){
-  $smarty->assign("php_errors", $error_collector."</div>");
+  $smarty->assign("php_errors", preg_replace("/%BUGBODY%/",$error_collector_mailto,$error_collector)."</div>");
 } else {
   $smarty->assign("php_errors", "");
 }
-$display= $header.$smarty->fetch(get_template_path('framework.tpl'));
-
-if ((isset($config->data['MAIN']['W3CTEST']) && preg_match('/true/i', $config->data['MAIN']['W3CTEST']))&&(!empty($display))&&(is_callable("tidy_parse_string"))) {
-  tidy_parse_string(utf8_decode($display));
-  $err = nl2br(htmlentities(tidy_get_error_buffer()));
-  
-  if($err){
-    echo "<table summary=\"\" width=\"100%\" style='background-color:#E0E0E0;border-bottom:1px solid black'><tr><td><img alt=\"W3C\"            align=\"middle\" src='images/warning.png'>&nbsp;<font style='font-size:14px;font-weight:bold'>"._("Generating this page caused the W3C          conformance checker to raise some errors!")."</font></td><td align=right><button onClick='toggle(\"w3cbox\")'>"._("Toggle information")."</     button></td></tr></table><div id='w3cbox' style='width:100%; position:absolute; z-index:0; visibility: hidden; background-color:white; border-  bottom:1px solid black;'>";
-    echo $err."</div>";
-  }
 
-  tidy_clean_repair($display);
+/* Set focus to the error button if we've an error message */
+$focus= "";
+if (isset($_SESSION['errors']) && $_SESSION['errors'] != ""){
+  $focus= '<script language="JavaScript" type="text/javascript">';
+  $focus.= 'document.forms[0].error_accept.focus();';
+  $focus.= '</script>';
 }
+$smarty->assign("focus", $focus);
+
+$display= $header.$smarty->fetch(get_template_path('framework.tpl'));
 
 /* Show page... */
 echo $display;
@@ -412,22 +396,8 @@ echo $display;
 $_SESSION['plist']= $plist;
 $_SESSION['config']= $config;
 
-/* Echo compilation time * /
-$r = split(" ",$start);
-$ms = $r[0];
-$s= $r[1];
+/* Echo compilation time */
+//echo "<p align='right'>".get_MicroTimeDiff($start,microtime())."</p>";
 
-$re = split(" ",microtime());
-$mse = $re[0];
-$se= $re[1];
-
-$add = 0;
-if(($mse -$ms)<0){
-  $se --;
-  $add = 1;
-}
-echo ($se -$s).",";
-echo (int)(($add+($mse -$ms))*1000)." s";
-*/
 // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler:
 ?>