Overview

Namespaces

  • Core
    • BaseClasses
    • Cookie
    • Crontab
    • DB
    • Input
    • Mailer
    • Middleware
      • Auth
      • CSRF
    • Route
    • Session
    • System
  • None

Classes

  • Bridge
  • Core\BaseClasses\BaseAuth
  • Core\BaseClasses\BaseController
  • Core\BaseClasses\BaseCSRF
  • Core\Cookie\Cookie
  • Core\Crontab\Crontab
  • Core\DB\DB
  • Core\Input\Input
  • Core\Mailer\Mailer
  • Core\Middleware\Auth\Auth
  • Core\Middleware\CSRF\CSRF
  • Core\Route\Route
  • Core\Session\Session
  • Core\System\System

Functions

  • back
  • ControllerAutoload
  • dbd
  • ErrorHandler
  • ExceptionHandler
  • json
  • loadConfig
  • MiddlewareAutoload
  • redirect
  • SPAutoload
  • view
  • Overview
  • Namespace
  • Class
  1: <?php
  2: /**
  3:  * Created by PhpStorm.
  4:  * @Author: Shakti Phartiyal
  5:  * Date: 11/24/16
  6:  * Time: 10:11 AM
  7:  */
  8: function loadConfig()
  9: {
 10:     $config = require_once __DIR__ . '/../App/config.php';
 11:     foreach ($config as $key => $value) {
 12:         $_ENV[$key] = $value;
 13:     }
 14: }
 15: loadConfig();
 16: set_error_handler("ErrorHandler");
 17: set_exception_handler("ExceptionHandler");
 18: /**
 19:  * Handle Application Exceptions
 20:  * @param $exception
 21:  */
 22: function ExceptionHandler($exception)
 23: {
 24:     header("HTTP/1.0 500 Server Error");
 25:     if($_ENV['debug'] == true)
 26:     {
 27:         echo '<div style="max-width: 600px;background-color: #ddd; margin:10px auto; border: 1px solid #000000;text-align: left; padding:10px 40px 10px 40px; word-break: break-all;">';
 28:         echo '<div style="padding-top:6px;width:100%; min-height:30px; background:#f77878; margin:10px 0px;text-align:center;">ERROR ENCOUNTERED</div>';
 29:         echo "<b>UNCAUGHT EXCEPTION ::</b> " . $exception->getMessage();
 30:         echo "<br/>";
 31:         echo "<b>IN FILE ::</b> " . $exception->getFile();
 32:         echo "<br/>";
 33:         echo "<b>ON LINE ::</b> " . $exception->getLine();
 34:         echo "<br/>";
 35:         $trace = str_replace('#', "<br/>&#187;", $exception->getTraceAsString());
 36:         $trace = str_replace(': ','<br/>&#187;&#187;',$trace);
 37:         echo "<b>STACK TRACE ::</b> ".$trace;
 38:         echo '</div>';
 39:     }
 40:     else
 41:     {
 42:         echo '<div style="max-width: 600px;background-color: #ddd; margin:10px auto; border: 1px solid #000000;text-align: left; padding:10px 40px 10px 40px; word-break: break-all;">';
 43:         echo '<div style="padding-top:6px;width:100%; min-height:30px; background:#f77878; margin:10px 0px;text-align:center;">';
 44:         echo "OOP's we crashed onto something !";
 45:         echo '</div></div>';
 46:         error_log($exception);
 47:     }
 48: }
 49: 
 50: /**
 51:  * Handle Application Errors
 52:  * @param $errno
 53:  * @param $errstr
 54:  * @param $errfile
 55:  * @param $errline
 56:  * @return bool|void
 57:  */
 58: function ErrorHandler($errno, $errstr, $errfile, $errline)
 59: {
 60:     if (!(error_reporting() & $errno))
 61:     {
 62:         return;
 63:     }
 64:     header("HTTP/1.0 500 Server Error");
 65:     if($_ENV['debug'] == true)
 66:     {
 67:         switch ($errno)
 68:         {
 69:             case E_ERROR:
 70:                 echo '<div style="max-width: 600px;background-color: #ddd; margin:10px auto; border: 1px solid #000000;text-align: left; padding:10px 40px 10px 40px; word-break: break-all;">';
 71:                 echo '<div style="padding-top:6px;width:100%; min-height:30px; background:#f77878; margin:10px 0px;text-align:center;">Error Encountered</div>';
 72:                 echo "<b>ERROR ::</b> " . $errstr;
 73:                 echo "<br/>";
 74:                 echo "<b>IN FILE ::</b> " . $errfile;
 75:                 echo "<br/>";
 76:                 echo "<b>ON LINE ::</b> " . $errline;
 77:                 echo '</div>';
 78:                 break;
 79:             case E_WARNING:
 80:                 echo '<div style="max-width: 600px;background-color: #ddd; margin:10px auto; border: 1px solid #000000;text-align: left; padding:10px 40px 10px 40px; word-break: break-all;">';
 81:                 echo '<div style="padding-top:6px;width:100%; min-height:30px; background:#f4ff95; margin:10px 0px;text-align:center;">Error Encountered</div>';
 82:                 echo "<b>WARNING ::</b> " . $errstr;
 83:                 echo "<br/>";
 84:                 echo "<b>IN FILE ::<b> " . $errfile;
 85:                 echo "<br/>";
 86:                 echo "<b>ON LINE ::<b> " . $errline;
 87:                 echo '</div>';
 88:                 break;
 89:             case E_PARSE:
 90:                 echo '<div style="max-width: 600px;background-color: #ddd; margin:10px auto; border: 1px solid #000000;text-align: left; padding:10px 40px 10px 40px; word-break: break-all;">';
 91:                 echo '<div style="padding-top:6px;width:100%; min-height:30px; background:#baedf3; margin:10px 0px;text-align:center;">Error Encountered</div>';
 92:                 echo "<b>COMPILATION ERROR ::</b> " . $errstr;
 93:                 echo "<br/>";
 94:                 echo "<b>IN FILE ::</b> " . $errfile;
 95:                 echo "<br/>";
 96:                 echo "<b>ON LINE ::</b> " . $errline;
 97:                 echo '</div>';
 98:                 break;
 99:             case E_NOTICE:
100:                 echo '<div style="max-width: 600px;background-color: #ddd; margin:10px auto; border: 1px solid #000000;text-align: left; padding:10px 40px 10px 40px; word-break: break-all;">';
101:                 echo '<div style="padding-top:6px;width:100%; min-height:30px; background:#d8b4ff; margin:10px 0px;text-align:center;">Error Encountered</div>';
102:                 echo "<b>NOTICE ::</b> " . $errstr;
103:                 echo "<br/>";
104:                 echo "<b>IN FILE ::</b> " . $errfile;
105:                 echo "<br/>";
106:                 echo "<b>ON LINE ::</b> " . $errline;
107:                 echo '</div>';
108:                 break;
109:             default:
110:                 echo '<div style="max-width: 600px;background-color: #ddd; margin:10px auto; border: 1px solid #000000;text-align: left; padding:10px 40px 10px 40px; word-break: break-all;">';
111:                 echo '<div style="padding-top:6px;width:100%; min-height:30px; background:#b4ffd5; margin:10px 0px;text-align:center;">Error Encountered</div>';
112:                 echo "<b>UNKNOWN EXCEPTION ::</b> " . $errno;
113:                 echo "<br/>";
114:                 echo "<b>DETAILS ::</b> " . $errstr;
115:                 echo '</div>';
116:                 break;
117:         }
118:     }
119:     else
120:     {
121:         $errDetails=array(
122:             'errno' => $errno,
123:             'errstr' => $errstr,
124:             'errfile' => $errfile,
125:             'errline' => $errline
126:         );
127:         echo '<div style="max-width: 600px;background-color: #ddd; margin:10px auto; border: 1px solid #000000;text-align: left; padding:10px 40px 10px 40px; word-break: break-all;">';
128:         echo '<div style="padding-top:6px;width:100%; min-height:30px; background:#f77878; margin:10px 0px;text-align:center;">';
129:         echo "OOP's we crashed onto something !";
130:         echo '</div></div>';
131:         error_log(json_encode($errDetails));
132:     }
133:     die;
134:     return true;
135: }
136: header("X-Powered-By: SpeedyPF");
137: require(__DIR__ . "/../Core/Bridge.php");
138: new Bridge();
139: $requestUri = parse_url($_SERVER['REQUEST_URI']);
140: $requestMethod = $_SERVER['REQUEST_METHOD'];
141: $rawData = file_get_contents('php://input');
142: $requestData = $_REQUEST;
143: if($requestUri['path']!="/")
144: {
145:     $requestUri['path']=rtrim($requestUri['path'],"/");
146: }
147: Bridge::Pass($requestUri['path'], $requestMethod, $requestData, $rawData);
API documentation generated by ApiGen