Changeset 4290
- Timestamp:
- 06/18/2008 03:56:29 PM (3 months ago)
- Location:
- sandbox
- Files:
-
- 38 added
- 18 modified
-
classes/context/Context.class.php (modified) (8 diffs)
-
classes/db/DB.class.php (modified) (8 diffs)
-
classes/db/DBCubrid.class.php (modified) (1 diff)
-
classes/db/DBFirebird.class.php (modified) (1 diff)
-
classes/db/DBMysql.class.php (modified) (1 diff)
-
classes/db/DBMysql_innodb.class.php (modified) (1 diff)
-
classes/db/DBPostgresql.class.php (modified) (1 diff)
-
classes/db/DBSqlite2.class.php (modified) (1 diff)
-
classes/db/DBSqlite3_pdo.class.php (modified) (1 diff)
-
classes/file/FileHandler.class.php (modified) (1 diff)
-
classes/module/ModuleHandler.class.php (modified) (8 diffs)
-
classes/module/ModuleObject.class.php (modified) (4 diffs)
-
classes/xml/XmlQueryParser.class.php (modified) (1 diff)
-
common/js/tree_menu.js (modified) (1 diff)
-
config/config.inc.php (modified) (2 diffs)
-
config/func.inc.php (modified) (1 diff)
-
modules/document/document.controller.php (modified) (3 diffs)
-
modules/menu/menu.admin.controller.php (modified) (4 diffs)
-
modules/session (added)
-
modules/session/conf (added)
-
modules/session/conf/info.xml (added)
-
modules/session/conf/module.xml (added)
-
modules/session/lang (added)
-
modules/session/lang/ko.lang.php (added)
-
modules/session/queries (added)
-
modules/session/queries/deleteSession.xml (added)
-
modules/session/queries/gcSession.xml (added)
-
modules/session/queries/getLoggedMembers.xml (added)
-
modules/session/queries/getLoogedMemberList.xml (added)
-
modules/session/queries/getSession.xml (added)
-
modules/session/queries/insertSession.xml (added)
-
modules/session/queries/updateSession.xml (added)
-
modules/session/schemas (added)
-
modules/session/schemas/session.xml (added)
-
modules/session/session.admin.controller.php (added)
-
modules/session/session.admin.view.php (added)
-
modules/session/session.class.php (added)
-
modules/session/session.controller.php (added)
-
modules/session/session.model.php (added)
-
modules/session/tpl (added)
-
modules/session/tpl/index.html (added)
-
modules/session/tpl/js (added)
-
modules/session/tpl/js/session.js (added)
-
widgets/logged_members (added)
-
widgets/logged_members/conf (added)
-
widgets/logged_members/conf/info.xml (added)
-
widgets/logged_members/logged_members.class.php (added)
-
widgets/logged_members/skins (added)
-
widgets/logged_members/skins/default (added)
-
widgets/logged_members/skins/default/css (added)
-
widgets/logged_members/skins/default/css/normal.css (added)
-
widgets/logged_members/skins/default/images (added)
-
widgets/logged_members/skins/default/images/normal (added)
-
widgets/logged_members/skins/default/images/normal/lineNotice.gif (added)
-
widgets/logged_members/skins/default/list.html (added)
-
widgets/logged_members/skins/default/skin.xml (added)
Legend:
- Unmodified
- Added
- Removed
-
sandbox/classes/context/Context.class.php
r4286 r4290 74 74 $this->_loadDBInfo(); 75 75 76 // 세션 핸들러 지정 77 $oSessionModel = &getModel('session'); 78 $oSessionController = &getController('session'); 79 session_set_save_handler( 80 array(&$oSessionController,"open"), 81 array(&$oSessionController,"close"), 82 array(&$oSessionModel,"read"), 83 array(&$oSessionController,"write"), 84 array(&$oSessionController,"destroy"), 85 array(&$oSessionController,"gc") 86 ); 87 session_start(); 88 76 89 // 쿠키로 설정된 언어타입 가져오기 77 90 if($_COOKIE['lang_type']) $this->lang_type = $_COOKIE['lang_type']; … … 79 92 80 93 // 등록된 기본 언어파일 찾기 81 $langs = file( './common/lang/lang.info');94 $langs = file(_XE_PATH_.'common/lang/lang.info'); 82 95 $accept_lang = strtolower($_SERVER['HTTP_ACCEPT_LANGUAGE']); 83 96 foreach($langs as $val) { … … 100 113 // 기본 언어파일 로드 101 114 $this->lang = &$GLOBALS['lang']; 102 $this->_loadLang( "./common/lang/");115 $this->_loadLang(_XE_PATH_."common/lang/"); 103 116 104 117 // Request Method 설정 … … 130 143 131 144 // rewrite 모듈사용 상태 체크 132 if(file_exists( './.htaccess')&&$this->db_info->use_rewrite == 'Y') $this->allow_rewrite = true;145 if(file_exists(_XE_PATH_.'.htaccess')&&$this->db_info->use_rewrite == 'Y') $this->allow_rewrite = true; 133 146 else $this->allow_rewrite = false; 134 147 … … 165 178 **/ 166 179 function close() { 180 // Session Close 181 if(function_exists('session_write_close')) session_write_close(); 182 167 183 // DB close 168 184 $oDB = &DB::getInstance(); … … 829 845 **/ 830 846 function _getJsFile() { 831 require_once( "./classes/optimizer/Optimizer.class.php");847 require_once(_XE_PATH_."classes/optimizer/Optimizer.class.php"); 832 848 $oOptimizer = new Optimizer(); 833 849 return $oOptimizer->getOptimizedFiles($this->_getUniqueFileList($this->js_files), "js"); … … 864 880 **/ 865 881 function _getCSSFile() { 866 require_once( "./classes/optimizer/Optimizer.class.php");882 require_once(_XE_PATH_."classes/optimizer/Optimizer.class.php"); 867 883 $oOptimizer = new Optimizer(); 868 884 return $oOptimizer->getOptimizedFiles($this->_getUniqueFileList($this->css_files), "css"); … … 933 949 **/ 934 950 function getConfigFile() { 935 return "./files/config/db.config.php";951 return _XE_PATH_."files/config/db.config.php"; 936 952 } 937 953 -
sandbox/classes/db/DB.class.php
r4276 r4290 16 16 class DB { 17 17 18 var $count_cache_path = ' ./files/cache/db';18 var $count_cache_path = 'files/cache/db'; 19 19 20 20 var $cond_operation = array( ///< 조건문에서 조건을 등호로 표시하는 변수 … … 44 44 var $supported_list = array(); ///< 지원하는 DB의 종류, classes/DB/DB***.class.php 를 이용하여 동적으로 작성됨 45 45 46 var $cache_file = ' ./files/cache/queries/'; ///< query cache파일의 위치46 var $cache_file = 'files/cache/queries/'; ///< query cache파일의 위치 47 47 48 48 /** … … 55 55 if(!$GLOBALS['__DB__']) { 56 56 $class_name = sprintf("DB%s%s", strtoupper(substr($db_type,0,1)), strtolower(substr($db_type,1))); 57 $class_file = sprintf(" ./classes/db/%s.class.php", $class_name);57 $class_file = sprintf("%sclasses/db/%s.class.php", _XE_PATH_, $class_name); 58 58 if(!file_exists($class_file)) new Object(-1, 'msg_db_not_setted'); 59 59 60 60 require_once($class_file); 61 $eval_str = sprintf('$GLOBALS[\'__DB__\'] = new %s();', $class_name);61 $eval_str = sprintf('$GLOBALS[\'__DB__\'][\''.$db_type.'\'] = new %s();', $class_name); 62 62 eval($eval_str); 63 63 } 64 64 65 return $GLOBALS['__DB__']; 65 return $GLOBALS['__DB__'][$db_type]; 66 } 67 68 /** 69 * @brief constructor 70 **/ 71 function DB() { 72 $this->count_cache_path = _XE_PATH_.$this->count_cache_path; 73 $this->cache_file = _XE_PATH_.$this->cache_file; 66 74 } 67 75 … … 78 86 **/ 79 87 function _getSupportedList() { 80 $db_classes_path = "./classes/db/";88 $db_classes_path = _XE_PATH_."classes/db/"; 81 89 $filter = "/^DB([^\.]+)\.class\.php/i"; 82 90 $supported_list = FileHandler::readDir($db_classes_path, $filter, true); … … 90 98 91 99 $class_name = sprintf("DB%s%s", strtoupper(substr($db_type,0,1)), strtolower(substr($db_type,1))); 92 $class_file = sprintf( "./classes/db/%s.class.php", $class_name);100 $class_file = sprintf(_XE_PATH_."classes/db/%s.class.php", $class_name); 93 101 if(!file_exists($class_file)) continue; 94 102 … … 145 153 146 154 if(__DEBUG_DB_OUTPUT__==1) { 147 $debug_file = "./files/_debug_db_query.php";155 $debug_file = _XE_PATH_."files/_debug_db_query.php"; 148 156 $buff = sprintf("%s\n",print_r($str,true)); 149 157 … … 162 170 if(__LOG_SLOW_QUERY__>0 && $elapsed_time > __LOG_SLOW_QUERY__) { 163 171 $buff = ''; 164 $log_file = './files/_db_slow_query.php';172 $log_file = _XE_PATH_.'files/_db_slow_query.php'; 165 173 if(!file_exists($log_file)) { 166 174 $buff = '<?php exit();?>'."\n"; … … 219 227 if(!$target || !$module || !$id) return new Object(-1, 'msg_invalid_queryid'); 220 228 221 $xml_file = sprintf(' ./%s/%s/queries/%s.xml', $target, $module, $id);229 $xml_file = sprintf('%s%s/%s/queries/%s.xml', _XE_PATH_, $target, $module, $id); 222 230 if(!file_exists($xml_file)) return new Object(-1, 'msg_invalid_queryid'); 223 231 224 232 // 일단 cache 파일을 찾아본다 225 $cache_file = sprintf('%s%s .cache.php', $this->cache_file, $query_id);233 $cache_file = sprintf('%s%s%s.cache.php', _XE_PATH_, $this->cache_file, $query_id); 226 234 if(file_exists($cache_file)) $cache_time = filemtime($cache_file); 227 235 else $cache_time = -1; 228 236 229 237 // 캐시 파일이 없거나 시간 비교하여 최근것이 아니면 원본 쿼리 xml파일을 찾아서 파싱을 한다 230 if($cache_time<filemtime($xml_file) || $cache_time < filemtime( './classes/db/DB.class.php')) {231 require_once( './classes/xml/XmlQueryParser.class.php');238 if($cache_time<filemtime($xml_file) || $cache_time < filemtime(_XE_PATH_.'classes/db/DB.class.php')) { 239 require_once(_XE_PATH_.'classes/xml/XmlQueryParser.class.php'); 232 240 $oParser = new XmlQueryParser(); 233 241 $oParser->parse($query_id, $xml_file, $cache_file); -
sandbox/classes/db/DBCubrid.class.php
r3783 r4290 669 669 **/ 670 670 function _getNavigationData($table_list, $columns, $condition, $output) { 671 require_once( './classes/page/PageHandler.class.php');671 require_once(_XE_PATH_.'classes/page/PageHandler.class.php'); 672 672 673 673 // 전체 개수를 구함 -
sandbox/classes/db/DBFirebird.class.php
r4183 r4290 815 815 **/ 816 816 function _getNavigationData($table_list, $columns, $condition, $output) { 817 require_once( './classes/page/PageHandler.class.php');817 require_once(_XE_PATH_.'classes/page/PageHandler.class.php'); 818 818 819 819 // 전체 개수를 구함 -
sandbox/classes/db/DBMysql.class.php
r3720 r4290 547 547 **/ 548 548 function _getNavigationData($table_list, $columns, $condition, $output) { 549 require_once( './classes/page/PageHandler.class.php');549 require_once(_XE_PATH_.'classes/page/PageHandler.class.php'); 550 550 551 551 // 전체 개수를 구함 -
sandbox/classes/db/DBMysql_innodb.class.php
r3720 r4290 557 557 **/ 558 558 function _getNavigationData($table_list, $columns, $condition, $output) { 559 require_once( './classes/page/PageHandler.class.php');559 require_once(_XE_PATH_.'classes/page/PageHandler.class.php'); 560 560 561 561 // 전체 개수를 구함 -
sandbox/classes/db/DBPostgresql.class.php
r3930 r4290 546 546 **/ 547 547 function _getNavigationData($table_list, $columns, $condition, $output) { 548 require_once( './classes/page/PageHandler.class.php');548 require_once(_XE_PATH_.'classes/page/PageHandler.class.php'); 549 549 550 550 // 전체 개수를 구함 -
sandbox/classes/db/DBSqlite2.class.php
r3924 r4290 565 565 **/ 566 566 function _getNavigationData($table_list, $columns, $condition, $output) { 567 require_once( './classes/page/PageHandler.class.php');567 require_once(_XE_PATH_.'classes/page/PageHandler.class.php'); 568 568 569 569 // 전체 개수를 구함 -
sandbox/classes/db/DBSqlite3_pdo.class.php
r3715 r4290 606 606 **/ 607 607 function _getNavigationData($table_list, $columns, $condition, $output) { 608 require_once( './classes/page/PageHandler.class.php');608 require_once(_XE_PATH_.'classes/page/PageHandler.class.php'); 609 609 610 610 // 전체 개수를 구함 -
sandbox/classes/file/FileHandler.class.php
r3976 r4290 89 89 **/ 90 90 function makeDir($path_string) { 91 $path_string = str_replace(_XE_PATH_,'',$path_string); 91 92 $path_list = explode('/', $path_string); 92 93 94 $path = _XE_PATH_; 93 95 for($i=0;$i<count($path_list);$i++) { 94 96 if(!$path_list[$i]) continue; -
sandbox/classes/module/ModuleHandler.class.php
r4269 r4290 64 64 // 애드온 실행 (모듈 실행 전) 65 65 $called_position = 'before_module_init'; 66 @include( "./files/cache/activated_addons.cache.php");66 @include(_XE_PATH_."files/cache/activated_addons.cache.php"); 67 67 } 68 68 … … 252 252 **/ 253 253 function getModulePath($module) { 254 $class_path = sprintf('./modules/%s/', $module); 255 if(is_dir($class_path)) return $class_path; 256 257 return ""; 254 return sprintf('./modules/%s/', $module); 258 255 } 259 256 … … 263 260 function &getModuleInstance($module, $type = 'view', $kind = '') { 264 261 $class_path = ModuleHandler::getModulePath($module); 265 if(! $class_path) return NULL;262 if(!is_dir(_XE_PATH_.$class_path)) return NULL; 266 263 267 264 if(__DEBUG__==3) $start_time = getMicroTime(); … … 278 275 // 상위 클래스명 구함 279 276 if(!class_exists($module)) { 280 $high_class_file = sprintf('%s%s .class.php',$class_path, $module);277 $high_class_file = sprintf('%s%s%s.class.php', _XE_PATH_,$class_path, $module); 281 278 if(!file_exists($high_class_file)) return NULL; 282 279 require_once($high_class_file); … … 288 285 if($kind == 'admin') { 289 286 $instance_name = sprintf("%sAdmin%s",$module,"Controller"); 290 $class_file = sprintf('%s%s .admin.%s.php', $class_path, $module, $type);287 $class_file = sprintf('%s%s%s.admin.%s.php', _XE_PATH_, $class_path, $module, $type); 291 288 } else { 292 289 $instance_name = sprintf("%s%s",$module,"Controller"); 293 $class_file = sprintf('%s%s .%s.php', $class_path, $module, $type);290 $class_file = sprintf('%s%s%s.%s.php', _XE_PATH_, $class_path, $module, $type); 294 291 } 295 292 break; … … 297 294 if($kind == 'admin') { 298 295 $instance_name = sprintf("%sAdmin%s",$module,"Model"); 299 $class_file = sprintf('%s%s .admin.%s.php', $class_path, $module, $type);296 $class_file = sprintf('%s%s%s.admin.%s.php', _XE_PATH_, $class_path, $module, $type); 300 297 } else { 301 298 $instance_name = sprintf("%s%s",$module,"Model"); 302 $class_file = sprintf('%s%s .%s.php', $class_path, $module, $type);299 $class_file = sprintf('%s%s%s.%s.php', _XE_PATH_, $class_path, $module, $type); 303 300 } 304 301 break; 305 302 case 'class' : 306 303 $instance_name = $module; 307 $class_file = sprintf('%s%s .class.php', $class_path, $module);304 $class_file = sprintf('%s%s%s.class.php', _XE_PATH_, $class_path, $module); 308 305 break; 309 306 default : … … 311 308 if($kind == 'admin') { 312 309 $instance_name = sprintf("%sAdmin%s",$module,"View"); 313 $class_file = sprintf('%s%s .admin.view.php', $class_path, $module, $type);310 $class_file = sprintf('%s%s%s.admin.view.php', _XE_PATH_, $class_path, $module, $type); 314 311 } else { 315 312 $instance_name = sprintf("%s%s",$module,"View"); 316 $class_file = sprintf('%s%s .view.php', $class_path, $module, $type);313 $class_file = sprintf('%s%s%s.view.php', _XE_PATH_, $class_path, $module, $type); 317 314 } 318 315 break; … … 362 359 $oModuleModel = &getModel('module'); 363 360 364 $cache_dir = sprintf(" ./files/cache/triggers/");361 $cache_dir = sprintf("%sfiles/cache/triggers/",_XE_PATH_); 365 362 if(!is_dir($cache_dir)) FileHandler::makeDir($cache_dir); 366 363 -
sandbox/classes/module/ModuleObject.class.php
r3519 r4290 229 229 **/ 230 230 function setTemplatePath($path) { 231 if(substr($path,0, 2)!='./') $path = './'.$path;231 if(substr($path,0,1)!='/' && substr($path,0,2)!='./') $path = './'.$path; 232 232 if(substr($path,-1)!='/') $path .= '/'; 233 233 $this->template_path = $path; … … 275 275 **/ 276 276 function setLayoutPath($path) { 277 if(substr($path,0,1)!='/' && substr($path,0,2)!='./') $path = './'.$path; 277 278 if(substr($path,-1)!='/') $path .= '/'; 278 if(substr($path,0,2)!='./') $path = './'.$path;279 279 $this->layout_path = $path; 280 280 } … … 298 298 // addon 실행(called_position 를 before_module_proc로 하여 호출) 299 299 $called_position = 'before_module_proc'; 300 @include( "./files/cache/activated_addons.cache.php");300 @include(_XE_PATH_."files/cache/activated_addons.cache.php"); 301 301 302 302 // 지금까지 이상이 없었다면 action 실행 … … 348 348 // addon 실행(called_position 를 after_module_proc로 하여 호출) 349 349 $called_position = 'after_module_proc'; 350 @include( "./files/cache/activated_addons.cache.php");350 @include(_XE_PATH_."files/cache/activated_addons.cache.php"); 351 351 352 352 if(is_a($output, 'Object') || is_subclass_of($output, 'Object')) { -
sandbox/classes/xml/XmlQueryParser.class.php
r3715 r4290 50 50 51 51 // 테이블을 찾아서 컬럼의 속성을 구함 52 $table_file = sprintf(' ./%s/%s/schemas/%s.xml', 'modules', $module, $table_name);52 $table_file = sprintf('%s%s/%s/schemas/%s.xml', _XE_PATH_, 'modules', $module, $table_name); 53 53 if(!file_exists($table_file)) { 54 $searched_list = FileHandler::readDir( './modules');54 $searched_list = FileHandler::readDir(_XE_PATH_.'modules'); 55 55 $searched_count = count($searched_list); 56 56 for($i=0;$i<$searched_count;$i++) { 57 $table_file = sprintf(' ./%s/%s/schemas/%s.xml', 'modules', $searched_list[$i], $table_name);57 $table_file = sprintf('%s%s/%s/schemas/%s.xml', _XE_PATH_, 'modules', $searched_list[$i], $table_name); 58 58 if(file_exists($table_file)) break; 59 59 } -
sandbox/common/js/tree_menu.js
r2879 r4290 126 126 if(manual_select_node_srl) manualSelectNode(menu_id, manual_select_node_srl); 127 127 } 128 129 var waiting_obj = xGetElementById("waitingforserverresponse"); 130 if(waiting_obj) waiting_obj.style.visibility = "hidden"; 128 131 129 132 return null; -
sandbox/config/config.inc.php
r4209 r4290 57 57 58 58 /** 59 * @brief zbXE가 설치된 장소의 base path를 구함 60 **/ 61 define('_XE_PATH_', str_replace('config/config.inc.php','',__FILE__)); 62 63 /** 59 64 * @brief 간단하게 사용하기 위한 함수 정의한 파일 require 60 65 **/ 61 require_once( './config/func.inc.php');66 require_once(_XE_PATH_.'config/func.inc.php'); 62 67 63 68 … … 70 75 **/ 71 76 if(__DEBUG__) define('__ClassLoadStartTime__', getMicroTime()); 72 require_once( './classes/object/Object.class.php');73 require_once( './classes/handler/Handler.class.php');74 require_once( './classes/xml/XmlParser.class.php');75 require_once( './classes/context/Context.class.php');76 require_once( './classes/db/DB.class.php');77 require_once( './classes/file/FileHandler.class.php');78 require_once( './classes/widget/WidgetHandler.class.php');79 require_once( './classes/editor/EditorHandler.class.php');80 require_once( './classes/module/ModuleObject.class.php');81 require_once( './classes/module/ModuleHandler.class.php');82 require_once( './classes/display/DisplayHandler.class.php');83 require_once( './classes/template/TemplateHandler.class.php');84 require_once( './classes/mail/Mail.class.php');77 require_once(_XE_PATH_.'classes/object/Object.class.php'); 78 require_once(_XE_PATH_.'classes/handler/Handler.class.php'); 79 require_once(_XE_PATH_.'classes/xml/XmlParser.class.php'); 80 require_once(_XE_PATH_.'classes/context/Context.class.php'); 81 require_once(_XE_PATH_.'classes/db/DB.class.php'); 82 require_once(_XE_PATH_.'classes/file/FileHandler.class.php'); 83 require_once(_XE_PATH_.'classes/widget/WidgetHandler.class.php'); 84 require_once(_XE_PATH_.'classes/editor/EditorHandler.class.php'); 85 require_once(_XE_PATH_.'classes/module/ModuleObject.class.php'); 86 require_once(_XE_PATH_.'classes/module/ModuleHandler.class.php'); 87 require_once(_XE_PATH_.'classes/display/DisplayHandler.class.php'); 88 require_once(_XE_PATH_.'classes/template/TemplateHandler.class.php'); 89 require_once(_XE_PATH_.'classes/mail/Mail.class.php'); 85 90 if(__DEBUG__) $GLOBALS['__elapsed_class_load__'] = getMicroTime() - __ClassLoadStartTime__; 86 87 /**88 * @brief 세션 설정89 * 세션의 파기 시간을 5시간으로 하고 세션 저장 경로를 files/session 으로 변경90 **/91 if(!ini_get('session.auto_start')) {92 session_cache_limiter('no-cache, must-revalidate');93 ini_set('se