Skip to content

Commit 90986c2

Browse files
committed
Fix aliases in Loader
1 parent aa2b0dc commit 90986c2

7 files changed

Lines changed: 56 additions & 41 deletions

File tree

assets/layouts/test.tpl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
<?xml hello ?>
1+
<?tpl hello {_content} tpl?>

core/loader.core.php

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -41,17 +41,14 @@ public function load($file, $EXT = false) {
4141
$FileHelper = engine::option('FileHelper');
4242
$EXT = (!$EXT) ? $FileHelper::$PHP : $EXT;
4343
$paths = $this->getRealPaths($file);
44-
if (isset($paths['extension'])) {
45-
$extension = $paths['extension'];
46-
unset($paths['extension']);
47-
} else $extension = '';
44+
4845
foreach ($paths as $file) {
49-
print $file . '.' . $extension . $EXT . PHP_EOL;
50-
if (file_exists($file . '.' . $extension . $EXT)) {
51-
engine::trigger('file.load', [$file . '.' . $extension . $EXT]);
46+
#print $file . $EXT . PHP_EOL;
47+
if (file_exists($file . $EXT)) {
48+
engine::trigger('file.load', [$file . $EXT]);
5249
/** @noinspection PhpIncludeInspection */
5350
return ($EXT == $FileHelper::$PHP || $EXT == $FileHelper::$Phar) ?
54-
include_once $file . '.' . $extension . $EXT : file_get_contents($file . '.' . $extension . $EXT);
51+
include_once $file . $EXT : file_get_contents($file . $EXT);
5552
}
5653
}
5754
return false;
@@ -90,7 +87,7 @@ public function aliasDirectoryExist($alias){
9087
return false;
9188
}
9289

93-
protected function getRealPaths($path) {
90+
public function getRealPaths($path, $without_extension = false) {
9491
$FileHelper = engine::option('FileHelper');
9592
$result = [];
9693
$path_nodes = explode('.', $path);
@@ -119,7 +116,15 @@ protected function getRealPaths($path) {
119116
}
120117
}
121118
} else $result[] = $path;
122-
if (isset($extension)) $result['extension'] = $extension;
119+
120+
if (isset($extension) && !$without_extension) {
121+
$temp = [];
122+
foreach($result as $path){
123+
$temp[] = $path . '.' . $extension;
124+
$temp[] = $path . '/' . $extension;
125+
}
126+
$result = $temp;
127+
};
123128
return $result;
124129
}
125130

core/page.core.php

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@ class PageCore implements ImfeComponent {
2020
public $_keywords = null;
2121
public $_description = null;
2222

23+
public $_content = null;
24+
2325
protected $_auto_refresh = [false, 0];
2426
protected $_auto_redirect = [false, '/', 0];
2527

@@ -152,13 +154,10 @@ static public function registerComponent() {
152154
}
153155

154156
public function setLayout($layout) {
155-
/** @var CmfeSimpleFileHelper $FileHelper**/
156-
$FileHelper = mfe::option('FileHelper');
157-
158157
if(!($this->layout = mfe::loadFile('@engine.@layout.' . $layout, $this->layout_extension))) {
159-
throw new CmfeException('Not found layout file: ' . $layout . $this->layout_extension);
158+
throw new CmfeException('Not found layout file: ' . $layout . $this->layout_extension . ' in directories: '
159+
. PHP_EOL . implode('; ' . PHP_EOL, mfe::init()->loader->getRealPaths('@engine.@layout.', true)));
160160
}
161-
162161
return $this;
163162
}
164163
}

libs/interfaces/ImfeLoader.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@ function registerAliasDirectory($alias, $dir);
1414

1515
function aliasDirectoryExist($alias);
1616

17+
function getRealPaths($path);
18+
1719
static function loadFile($file, $EXT = '.php');
1820

1921
static function loadCore($file);

libs/traits/TmfeStandardApplicationMethods.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,10 @@ static public function TmfeStandardApplicationMethodsInit() {
1212
}
1313

1414
//TODO:: Application stack
15+
/**
16+
* @param mixed|null $id
17+
* @return mfe
18+
*/
1519
static public function app($id = null) {
1620
$class = get_called_class();
1721
/** @var mfe $class */

libs/traits/TmfeStandardLoaderMethods.php

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ public function aliasDirectoryExist($alias){
5252
return false;
5353
}
5454

55-
protected function getRealPaths($path) {
55+
public function getRealPaths($path, $without_extension = false) {
5656
$class = get_called_class();
5757
/** @var mfe $class */
5858
$FileHelper = $class::option('FileHelper');
@@ -83,7 +83,15 @@ protected function getRealPaths($path) {
8383
}
8484
}
8585
} else $result[] = $path;
86-
if (isset($extension)) $result['extension'] = $extension;
86+
87+
if (isset($extension) && !$without_extension) {
88+
$temp = [];
89+
foreach($result as $path){
90+
$temp[] = $path . '.' . $extension;
91+
$temp[] = $path . '/' . $extension;
92+
}
93+
$result = $temp;
94+
};
8795
return $result;
8896
}
8997

@@ -96,17 +104,14 @@ public function load($file, $EXT = false) {
96104
$FileHelper = $class::option('FileHelper');
97105
$EXT = (!$EXT) ? $FileHelper::$PHP : $EXT;
98106
$paths = $this->getRealPaths($file);
99-
if (isset($paths['extension'])) {
100-
$extension = $paths['extension'];
101-
unset($paths['extension']);
102-
} else $extension = '';
107+
103108
foreach ($paths as $file) {
104-
#print $file . '.' . $extension . $EXT . PHP_EOL;
105-
if (file_exists($file . '.' . $extension . $EXT)) {
106-
$class::trigger('file.load', [$file . '.' . $extension . $EXT]);
109+
#print $file . $EXT . PHP_EOL;
110+
if (file_exists($file . $EXT)) {
111+
mfe::trigger('file.load', [$file . $EXT]);
107112
/** @noinspection PhpIncludeInspection */
108113
return ($EXT == $FileHelper::$PHP || $EXT == $FileHelper::$Phar) ?
109-
include_once $file . '.' . $extension . $EXT : file_get_contents($file . '.' . $extension . $EXT);
114+
include_once $file . $EXT : file_get_contents($file . $EXT);
110115
}
111116
}
112117
return false;

mfe.engine.php

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -98,18 +98,18 @@ final static public function stopEngine() {
9898
*/
9999
(mfe::option('MFE_AUTOLOAD')) ? (mfe::init()) : false;
100100

101-
//$page = mfe::init()->page;
102-
///** @var PageCore $page */
103-
//$page->setLayout('test');
104-
//
105-
//$page->_author = 'DeVinterX';
106-
//$page->_keywords = 'key,word';
107-
//$page->_description = 'Description';
108-
//$page->_icon = 'favicon.ico';
109-
//$page->addMeta("Dex", "PexMex");
110-
//$page->addStyles("OnePage", "text/css");
111-
//$page->addScripts("OnePage", "js/one.js");
112-
//$page->_content = "<p>Hello World!</p>";
113-
//header("Content-type: text/html; charset=utf-8");
114-
//header("X-Powered-By: Bubu");
115-
//print $page;
101+
/** @var PageCore $page*/
102+
$page = mfe::init()->page;
103+
104+
$page->setLayout('test');
105+
$page->_author = 'DeVinterX';
106+
$page->_keywords = 'key,word';
107+
$page->_description = 'Description';
108+
$page->_icon = 'favicon.ico';
109+
$page->addMeta("Dex", "PexMex");
110+
$page->addStyles("OnePage", "text/css");
111+
$page->addScripts("OnePage", "js/one.js");
112+
$page->_content = "<p>Hello World!</p>";
113+
header("Content-type: text/html; charset=utf-8");
114+
header("X-Powered-By: Bubu");
115+
print $page;

0 commit comments

Comments
 (0)