Skip to main content

SETUP SITE UNDER MAINTENANCE MODE


1. Enable hooks. Edit the application/config/config.php file and set

$config['enable_hooks'] = TRUE;

2. Edit the application/config/config.php file and define a new config variable for maintenance mode. Insert the following code at the bottom of the config.php file.
/*
|--------------------------------------------------------------------------
| Maintenance Mode
|--------------------------------------------------------------------------
|
| For whatever reason sometimes a site needs to be taken offline.
| Set $config['maintenance_mode'] to TRUE if the site has to be offline
|
| $config['maintenance_mode'] = TRUE; // site is offline
| $config['maintenance_mode'] = FALSE; // site is online
*/
$config['maintenance_mode'] = TRUE;

3. To let the system know about the maintenance hook, edit the application/config/hooks.php file and define hook.

    pre_system – Hook point. The hook will be called very early during system execution.

    $hook['pre_system'][] = array(
    'class'    => 'maintenance_hook', // The name of the class wish to invoke.
    'function' => 'offline_check', // The method name wish to call.
    'filename' => 'maintenance_hook.php', // The file name containing the class/function.
    'filepath' => 'hooks' // The name of the directory containing hook script.
    );

4. Create a new hook file called maintenance_hook.php in the application/hooks/ folder and write Maintenance hook script. The following code checks whether site maintenance mode is ON and load the maintenance page from application views folder.

<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/**
 * Check whether the site is offline or not.
 *
 */
    class Maintenance_hook
    {
        public function __construct(){
            log_message('debug','Accessing maintenance hook!');
        }
       
        public function offline_check(){
            if(file_exists(APPPATH.'config/config.php')){
                include(APPPATH.'config/config.php');
               
                if(isset($config['maintenance_mode']) && $config['maintenance_mode'] === TRUE){
                    include(APPPATH.'views/maintenance.php');
                    exit;
                }
            }
        }
    }

5. To display a well-designed maintenance page, create a maintenance.php file in the application/views/ directory and insert the HTML.

   <?php defined('BASEPATH') OR exit('No direct script access allowed'); ?>
   <!DOCTYPE html>
   <html lang="en">
   <head>
       <meta charset="utf-8">
       <title>Site Under Maintenance</title>
       <link href="http://localhost/codeigniter/assets/css/style.css" rel="stylesheet" type="text/css" />
   </head>
   <body class="bg">
       <h1 class="head text-center">Site Under Maintenance</h1>
       <div class="container">
           <div class="content1">
               <img src="http://localhost/codeigniter/assets/images/2.png" alt="under-construction">
               <p class="text-center">Sorry for the inconvenience. To improve our services, we have momentarily shutdown our site.</p>
           </div>
       </div>
   </body>
   </html>
 
6. Enable/Disable Maintenance Mode

Now you can enable the maintenance mode (offline) by settings $config['maintenance_mode'] = TRUE;
To disable the maintenance mode (online), change it to $config['maintenance_mode'] = FALSE; 

Comments

Popular posts from this blog

SETUP REST API IN CI

1. Create Rest_controller.php inside controllers and paste code: <?php defined('BASEPATH') OR exit('No direct script access allowed'); require APPPATH . '/libraries/API_Controller.php'; class Rest_controller extends API_Controller { public function __construct() { parent::__construct(); } public function index() { $this->api_return(             [ 'status' => true,                'result' => "Welcome to Testservices."             ],         200); } } ?> 2. Create api.php inside config and paste code : <?php defined('BASEPATH') OR exit('No direct script access allowed'); /**  * API Key Header Name  */ $config['api_key_header_name'] = 'X-API-KEY'; /**  * API Key GET Request Parameter Name  */ $config['api_key_get_name'] = 'key'; /**  * API Key POST Request Parameter Name ...

NGrok Setup

 https://dashboard.ngrok.com/get-started/setup 1. Unzip to install On Linux or Mac OS X you can unzip ngrok from a terminal with the following command. On Windows, just double click ngrok.zip to extract it. unzip /path/to/ngrok.zip 2. Connect your account Running this command will add your authtoken to the default ngrok.yml configuration file. This will grant you access to more features and longer session times. Running tunnels will be listed on the endpoints page of the dashboard. ngrok config add-authtoken 1woFn9zVqcI4VeGuSIiN2VtmnPa_ZXuAuF1AAPkqApr7WVsQ 3. Fire it up Read the documentation on how to use ngrok. Try it out by running it from the command line: ngrok help To start a HTTP tunnel forwarding to your local port 80, run this next: ngrok http 80

API ( service ) Image or Video Upload

## SAVE  VIDEO public function uploadmedia() { $target_path = "assets/uploads/"; $target_path = $target_path . basename($_FILES['file']['name']); if(move_uploaded_file($_FILES['file']['tmp_name'], $target_path)) { $this->api_return( [ 'status' => true,    'result' => 'uploaded success' ], 200); } else{ $this->api_return( [ 'status' => false,    'result' => 'failed' ], 20); } } ## SAVE FILE IMAGE OR VIDEO public function savefile() { $filetype = $_FILES['file']['type']; if (strpos($filetype, 'image') !== false) { $type = 'image'; } if (strpos($filetype, 'video') !== false) { $type = 'video'; }         $filename = trim($_FILES['file']['name']); // $userid = trim($this->input->get('userid'));...