Welcome Guest, Not a member yet? Register   Sign In
HMVC custom 404 pages
#19

[eluser]hot_sauce[/eluser]
Create new file "MY_Exceptions.php" in application/core
and paste this
Code:
<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');
require APPPATH."third_party/MX/Exceptions.php";

class MY_Exceptions extends MX_Exceptions {}

Create new file "Exceptions.php" in third_party/MX/
and paste this
Code:
<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class MX_Exceptions extends CI_Exceptions {

function show_404($page = '', $log_error = TRUE)
{
  
  $heading = "404 Page Not Found";
  $message = "The page you requested was not found.";

  // By default we log this, but allow a dev to skip it
  if ($log_error)
  {
   log_message('error', '404 Page Not Found --> '.$page);
  }

  echo $this->show_error($heading, $message, 'error_404', 404);
  exit;
}

// --------------------------------------------------------------------

/**
  * General Error Page
  *
  * This function takes an error message as input
  * (either as a string or an array) and displays
  * it using the specified template.
  *
  * @access private
  * @param string the heading
  * @param string the message
  * @param string the template name
  * @param  int  the status code
  * @return string
  */
function show_error($heading, $message, $template = 'error_general', $status_code = 500)
{
  set_status_header($status_code);

  $message = '<p>'.implode('</p><p>', ( ! is_array($message)) ? array($message) : $message).'</p>';

  if (ob_get_level() > $this->ob_level + 1)
  {
   ob_end_flush();
  }
  
  $module = CI::$APP->router->fetch_module();
  $found = false;
  foreach (Modules::$locations as $location => $offset) {
   if (is_dir($source = $location.$module.'/errors/') && !$found) {
    $found = true;
    ob_start();
    include($source.$template.'.php');
    $buffer = ob_get_contents();
    ob_end_clean();
    return $buffer;
    break;
   }
  }
  if (!$found)
  {
   ob_start();
   include(APPPATH.'errors/'.$template.'.php');
   $buffer = ob_get_contents();
   ob_end_clean();
   return $buffer;
  }
}

// --------------------------------------------------------------------

/**
  * Native PHP error handler
  *
  * @access private
  * @param string the error severity
  * @param string the error string
  * @param string the error filepath
  * @param string the error line number
  * @return string
  */
function show_php_error($severity, $message, $filepath, $line)
{
  $severity = ( ! isset($this->levels[$severity])) ? $severity : $this->levels[$severity];

  $filepath = str_replace("\\", "/", $filepath);

  // For safety reasons we do not show the full file path
  if (FALSE !== strpos($filepath, '/'))
  {
   $x = explode('/', $filepath);
   $filepath = $x[count($x)-2].'/'.end($x);
  }

  if (ob_get_level() > $this->ob_level + 1)
  {
   ob_end_flush();
  }
  ob_start();
  include(APPPATH.'errors/error_php.php');
  $buffer = ob_get_contents();
  ob_end_clean();
  echo $buffer;
}


}
// END Exceptions Class

/* End of file Exceptions.php */
/* Location: ./system/core/Exceptions.php */

application/"modules"/"mysite"/errors/error_404.php
and in your modules folders create a "errors "folder with your error_404.php file


Messages In This Thread
HMVC custom 404 pages - by El Forum - 07-15-2009, 09:03 AM
HMVC custom 404 pages - by El Forum - 07-15-2009, 01:32 PM
HMVC custom 404 pages - by El Forum - 07-15-2009, 01:47 PM
HMVC custom 404 pages - by El Forum - 07-16-2009, 12:16 AM
HMVC custom 404 pages - by El Forum - 07-16-2009, 05:36 AM
HMVC custom 404 pages - by El Forum - 07-16-2009, 09:36 AM
HMVC custom 404 pages - by El Forum - 08-12-2009, 11:41 AM
HMVC custom 404 pages - by El Forum - 08-12-2009, 05:37 PM
HMVC custom 404 pages - by El Forum - 08-12-2009, 08:07 PM
HMVC custom 404 pages - by El Forum - 08-12-2009, 10:09 PM
HMVC custom 404 pages - by El Forum - 08-17-2009, 11:09 AM
HMVC custom 404 pages - by El Forum - 08-18-2009, 12:13 AM
HMVC custom 404 pages - by El Forum - 08-18-2009, 06:52 AM
HMVC custom 404 pages - by El Forum - 08-18-2009, 09:46 AM
HMVC custom 404 pages - by El Forum - 08-18-2009, 11:26 AM
HMVC custom 404 pages - by El Forum - 08-19-2009, 12:05 AM
HMVC custom 404 pages - by El Forum - 10-05-2009, 08:01 AM
HMVC custom 404 pages - by El Forum - 02-05-2010, 01:42 AM
HMVC custom 404 pages - by El Forum - 05-28-2014, 07:04 AM



Theme © iAndrew 2016 - Forum software by © MyBB