1: <?php
2:
3: if (!defined('XOOPS_ROOT_PATH')) exit();
4:
5: class LegacyTheme
6: {
7: var $mDirName=null;
8: var $mFileName=null;
9: var $ScreenShot=null;
10: var $mManifesto=null;
11:
12: function LegacyTheme($dirName,$manifesto=null)
13: {
14: $this->mDirName=$dirName;
15: if($manifesto!=null) {
16: $this->initializeByManifesto($manifesto);
17: }
18: }
19:
20: function initializeByManifesto($manifesto)
21: {
22:
23:
24:
25: $this->mManifesto=$manifesto;
26: $this->ScreenShot=$manifesto['Theme']['ScreenShot'];
27: }
28: }
29:
30: class LegacyThemeHandler
31: {
32: var $_mThemeList;
33:
34: function LegacyThemeHandler()
35: {
36: $this->_mThemeList=array();
37:
38: if($handler=opendir(XOOPS_THEME_PATH)) {
39: while(($dir=readdir($handler))!==false) {
40: if($dir=="." || $dir=="..") {
41: continue;
42: }
43:
44: $themeDir=XOOPS_THEME_PATH."/".$dir;
45: if (is_dir($themeDir)) {
46: $manifesto = array();
47: if (file_exists($mnfFile = $themeDir . "/manifesto.ini.php")) {
48: $iniHandler = new XCube_IniHandler($mnfFile, true);
49: $manifesto = $iniHandler->getAllConfig();
50: }
51:
52: if(count($manifesto) > 0) {
53:
54:
55:
56: if(isset($manifesto['Manifesto']) && isset($manifesto['Manifesto']['Depends']) && $manifesto['Manifesto']['Depends'] == "Legacy_RenderSystem") {
57: $this->_mThemeList[]=new LegacyTheme($dir,$manifesto);
58: }
59: }
60: else {
61: $file=$themeDir."/theme.html";
62: if(file_exists($file)) {
63: $this->_mThemeList[]=new LegacyTheme($dir);
64: }
65: }
66: }
67: }
68: closedir($handler);
69: }
70: }
71:
72: function &enumAll()
73: {
74: return $this->_mThemeList;
75: }
76: }
77:
78: ?>