mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-01-07 18:51:41 +09:00
67 lines
2.2 KiB
PHP
67 lines
2.2 KiB
PHP
<?php
|
|
/**
|
|
* @class adminModel
|
|
* @author zero (zero@nzeo.com)
|
|
* @brief admin 모듈의 model class
|
|
**/
|
|
|
|
class adminModel extends admin {
|
|
|
|
/**
|
|
* @brief 초기화
|
|
**/
|
|
function init() {
|
|
}
|
|
|
|
/**
|
|
* @brief 모듈의 종류와 정보를 구함
|
|
**/
|
|
function getModuleList() {
|
|
// module model 객체 생성
|
|
$oModuleModel = &getModel('module');
|
|
|
|
// DB 객체 생성
|
|
$oDB = &DB::getInstance();
|
|
|
|
// 다운받은 모듈과 설치된 모듈의 목록을 구함
|
|
$downloaded_list = FileHandler::readDir('./files/modules');
|
|
$installed_list = FileHandler::readDir('./modules');
|
|
$searched_list = array_merge($downloaded_list, $installed_list);
|
|
$searched_count = count($searched_list);
|
|
if(!$searched_count) return;
|
|
|
|
for($i=0;$i<$searched_count;$i++) {
|
|
// 모듈의 이름
|
|
$module_name = $searched_list[$i];
|
|
|
|
// 모듈의 경로 (files/modules가 우선)
|
|
$path = ModuleHandler::getModulePath($module_name);
|
|
|
|
// schemas내의 테이블 생성 xml파일수를 구함
|
|
$tmp_files = FileHandler::readDir($path."schemas");
|
|
$table_count = count($tmp_files);
|
|
|
|
// 테이블이 설치되어 있는지 체크
|
|
$created_table_count = 0;
|
|
for($j=0;$j<count($tmp_files);$j++) {
|
|
list($table_name) = explode(".",$tmp_files[$j]);
|
|
if($oDB->isTableExists($table_name)) $created_table_count ++;
|
|
}
|
|
|
|
// 해당 모듈의 정보를 구함
|
|
$info = $oModuleModel->getModuleInfoXml($module_name);
|
|
unset($obj);
|
|
|
|
$info->module = $module_name;
|
|
$info->created_table_count = $created_table_count;
|
|
$info->table_count = $table_count;
|
|
$info->path = $path;
|
|
$info->admin_index_act = $info->admin_index_act;
|
|
|
|
$list[] = $info;
|
|
}
|
|
return $list;
|
|
}
|
|
|
|
}
|
|
?>
|