Browse Source

Shows few errors (needs a lot of improvements)

emanuele 13 years ago
parent
commit
cf87e450f5
3 changed files with 37 additions and 8 deletions
  1. 4 2
      Sources/Errors.php
  2. 32 5
      Themes/default/Admin.template.php
  3. 1 1
      Themes/default/Errors.template.php

+ 4 - 2
Sources/Errors.php

@@ -173,7 +173,7 @@ function fatal_lang_error($error, $log = 'general', $sprintf = array())
 		$error_message = empty($sprintf) ? $txt[$error] : vsprintf($txt[$error], $sprintf);
 	}
 
-	setup_fatal_error_context($error_message);
+	setup_fatal_error_context($error_message, $error);
 }
 
 /**
@@ -259,7 +259,7 @@ function error_handler($error_level, $error_string, $file, $line)
  * error sub template.
  * @param string $error_message
  */
-function setup_fatal_error_context($error_message)
+function setup_fatal_error_context($error_message, $error_code)
 {
 	global $context, $txt, $ssi_on_error_method;
 	static $level = 0;
@@ -280,6 +280,8 @@ function setup_fatal_error_context($error_message)
 		$context['error_title'] = $txt['error_occured'];
 	$context['error_message'] = isset($context['error_message']) ? $context['error_message'] : $error_message;
 
+	$context['error_code'] = isset($error_code) ? 'id="' . $error_code . '" ' : '';
+
 	if (empty($context['page_title']))
 		$context['page_title'] = $context['error_title'];
 

+ 32 - 5
Themes/default/Admin.template.php

@@ -1343,11 +1343,38 @@ function template_core_features()
 					},
 
 					success: function(strData){
-						$("#feature_link_" + cf).html($(strData).find("#feature_link_" + cf).html());
-						cc.attr("src", imgs[new_state ? 1 : 0]);
-
-						token_name = $(strData).find("#core_features_token").attr("name");
-						token_value = $(strData).find("#core_features_token").attr("value");
+						// Session verification faile
+						// Token verification failed
+						// Admin session closed
+						if ($(strData).find("#feature_link_" + cf).length == 0)
+						{
+							if ($(strData).find("#frmLogin").length != 0)
+							{
+								alert("Admin session is not valid, please login again");
+								// Show login page.
+							}
+							// Token verification failed
+							else if ($(strData).find("#token_verify_fail").length != 0)
+							{
+								alert($(strData).find("#token_verify_fail").html());
+							}
+							else if ($(strData).find("#session_timeout").length != 0 || $(strData).find("#session_timeout").length != 0)
+							{
+								alert($(strData).find("#session_timeout").html());
+							}
+							else
+							{
+								alert("Another error...");
+							}
+						}
+						else
+						{
+							$("#feature_link_" + cf).html($(strData).find("#feature_link_" + cf).html());
+							cc.attr("src", imgs[new_state ? 1 : 0]);
+
+							token_name = $(strData).find("#core_features_token").attr("name");
+							token_value = $(strData).find("#core_features_token").attr("value");
+						}
 					}
 				});
 			});

+ 1 - 1
Themes/default/Errors.template.php

@@ -30,7 +30,7 @@ function template_fatal_error()
 		</div>
 		<div class="windowbg">
 			<span class="topslice"><span></span></span>
-			<div class="padding">', $context['error_message'], '</div>
+			<div ', $context['error_code'], 'class="padding">', $context['error_message'], '</div>
 			<span class="botslice"><span></span></span>
 		</div>
 	</div>';