Skip to content

Commit

Permalink
fixing autoloader
Browse files Browse the repository at this point in the history
  • Loading branch information
dhiraj-gangoosirdar-cko committed Jul 7, 2015
1 parent bc5caa0 commit a2b6db9
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 39 deletions.
55 changes: 20 additions & 35 deletions autoload.php
Original file line number Diff line number Diff line change
@@ -1,49 +1,34 @@
<?php

function autoload($className)
{
$classGroup = '';

$baseDir = __DIR__;
$realClassName = ltrim($className, '\\');
$realClassName = str_replace('\\',DIRECTORY_SEPARATOR,$realClassName );
$fileName = '';
$namespace = 'com\checkout';
if ($lastNsPos = strrpos($realClassName, '\\')) {
$namespace = substr($realClassName, 0, $lastNsPos);
$realClassName = substr($realClassName, $lastNsPos + 1);
$fileName = str_replace('\\', DIRECTORY_SEPARATOR, $namespace) . DIRECTORY_SEPARATOR;
}
$fileName .= str_replace('_', DIRECTORY_SEPARATOR, $realClassName) . '.php';
if(!preg_match('/PHPUnit/',$className) && !preg_match('/Composer/',$className)) {
if (!preg_match('/CheckoutApi/', $className) && !preg_match('/^test/', $className) ) {

$fileName = preg_replace('/^\\\/', '', $fileName);

$fileName = preg_replace('/^\\\?com\\\checkout/', '', $fileName);
$fileName = 'com' . DIRECTORY_SEPARATOR . 'checkout' . $fileName;

include $fileName;
$includePaths = $baseDir.DIRECTORY_SEPARATOR.$realClassName. '.php';

} elseif(preg_match('/^\\\?test/', $className)) {
$fileName = preg_replace('/^\\\?test\\\/', '', $fileName);
$fileName = 'test' . DIRECTORY_SEPARATOR . $fileName;

include $fileName;

} else {
$classNameArray = explode('_', $className);
$includePath = get_include_path();
set_include_path($includePath);
$path = '';

if (!empty($classNameArray) && sizeof($classNameArray) > 1) {
if ( $file = stream_resolve_include_path($includePaths) ) {
if (file_exists($file)) {
require $file;
}

}elseif(preg_match('/^\\\?test/', $className)) {
$fileName = preg_replace('/^\\\?test\\\/', '', $fileName);
$fileName = 'test' . DIRECTORY_SEPARATOR . $fileName;
include $fileName;

if (!class_exists('com\checkout\packages\Autoloader')) {
include 'com/checkout/packages/Autoloader.php';
}
} else {
$classNameArray = explode('_', $className);
$includePath = get_include_path();
set_include_path($includePath);

if (!empty($classNameArray) && sizeof($classNameArray) > 1) {

if (!class_exists('com\checkout\packages\Autoloader')) {
include 'com'.DIRECTORY_SEPARATOR.'checkout'.DIRECTORY_SEPARATOR.'packages'.DIRECTORY_SEPARATOR.'Autoloader.php';
}
}
}
}

}
Expand Down
16 changes: 12 additions & 4 deletions com/checkout/packages/Autoloader.php
Original file line number Diff line number Diff line change
Expand Up @@ -15,17 +15,25 @@ public static function instance()

function autoload($class)
{
$classNameArray = explode('_',$class);
$realClassName = ltrim($class, '\\');
$classNameArray = explode('_',$realClassName);
$includePath = get_include_path();
set_include_path($includePath);
$path = '';
if(!preg_match('/PHPUnit/',$class) && !preg_match('/Composer/',$class)) {
$baseDir = __DIR__;
if(!preg_match('/PHPUnit/',$realClassName) && !preg_match('/Composer/',$realClassName)) {
if (!empty($classNameArray) && sizeof($classNameArray) > 1) {

$path = DIRECTORY_SEPARATOR . implode(DIRECTORY_SEPARATOR, $classNameArray) . '.php';
$path = $baseDir.DIRECTORY_SEPARATOR . implode(DIRECTORY_SEPARATOR, $classNameArray) . '.php';
$path = str_replace('\PHPPlugin\\', '', $path);
$path = str_replace('\\',DIRECTORY_SEPARATOR,$path );

if ( $file = stream_resolve_include_path($path) ) {
if (file_exists($file)) {
require $file;
}
}

include $path;
}
}

Expand Down

0 comments on commit a2b6db9

Please sign in to comment.