mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-01-09 03:32:00 +09:00
git-svn-id: http://xe-core.googlecode.com/svn/trunk@793 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
parent
da1fe7f3b1
commit
2b97664ba0
13 changed files with 83 additions and 87 deletions
|
|
@ -4,10 +4,10 @@
|
||||||
* @author zero (zero@nzeo.com)
|
* @author zero (zero@nzeo.com)
|
||||||
* @brief Request Argument/환경변수등의 모든 Context를 관리
|
* @brief Request Argument/환경변수등의 모든 Context를 관리
|
||||||
*
|
*
|
||||||
* Context 클래스는 Context::methodname() 처럼 쉽게 사용하기 위해 만들어진 객체를 받아서\n
|
* Context 클래스는 Context::methodname() 처럼 쉽게 사용하기 위해 만들어진 객체를 받아서
|
||||||
* 호출하는 구조를 위해 이중 method 구조를 가지고 있다.\n
|
* 호출하는 구조를 위해 이중 method 구조를 가지고 있다.
|
||||||
* php5에서 static variables를 사용하게 된다면 불필요한 구조를 제거할 수 있다.\n
|
* php5에서 static variables를 사용하게 된다면 불필요한 구조를 제거할 수 있다.
|
||||||
* php5 쓰고 싶어라.. ㅡ.ㅜ
|
* php5 쓰고 싶당.. ㅡ.ㅜ
|
||||||
**/
|
**/
|
||||||
|
|
||||||
class Context {
|
class Context {
|
||||||
|
|
|
||||||
|
|
@ -5,15 +5,12 @@
|
||||||
* @brief DB*의 상위 클래스
|
* @brief DB*의 상위 클래스
|
||||||
* @version 0.1
|
* @version 0.1
|
||||||
*
|
*
|
||||||
* 제로보드의 DB 사용은 xml을 이용하여 이루어짐을 원칙으로 한다.\n
|
* 제로보드의 DB 사용은 xml을 이용하여 이루어짐을 원칙으로 한다.
|
||||||
* xml의 종류에는 query xml, schema xml이 있다.\n
|
* xml의 종류에는 query xml, schema xml이 있다.
|
||||||
* query xml의 경우 DB::executeQuery() method를 이용하여 xml파일을\n
|
* query xml의 경우 DB::executeQuery() method를 이용하여 xml파일을 php code로 compile한 후에 실행이 된다.
|
||||||
* php code로 compile한 후에 실행이 된다.\n
|
* query xml은 고유한 query id를 가지며 생성은 module에서 이루어진다.
|
||||||
* query xml은 고유한 query id를 가지며 생성은 module에서 이루어진다.\n
|
*
|
||||||
* \n
|
* queryid = 모듈.쿼리명
|
||||||
* queryid = 모듈.쿼리명\n
|
|
||||||
* \n
|
|
||||||
* 으로 된다.\n
|
|
||||||
**/
|
**/
|
||||||
|
|
||||||
class DB {
|
class DB {
|
||||||
|
|
|
||||||
|
|
@ -4,10 +4,10 @@
|
||||||
* @author zero (zero@nzeo.com)
|
* @author zero (zero@nzeo.com)
|
||||||
* @brief 데이터 출력을 위한 class (XML/HTML 데이터를 구분하여 출력)
|
* @brief 데이터 출력을 위한 class (XML/HTML 데이터를 구분하여 출력)
|
||||||
*
|
*
|
||||||
* Request Method에 따라서 html or xml 출력방법을 결정한다\n
|
* Response Method에 따라서 html or xml 출력방법을 결정한다
|
||||||
* xml : oModule의 variables를 simple xml 로 출력\n
|
* xml : oModule의 variables를 simple xml 로 출력
|
||||||
* html : oModule의 template/variables로 html을 만들고 contents_html로 처리\n
|
* html : oModule의 template/variables로 html을 만들고 contents_html로 처리
|
||||||
* plugin이나 layout의 html과 연동하여 출력\n
|
* plugin이나 layout의 html과 연동하여 출력
|
||||||
**/
|
**/
|
||||||
|
|
||||||
class DisplayHandler extends Handler {
|
class DisplayHandler extends Handler {
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,9 @@
|
||||||
/**
|
/**
|
||||||
* @class EditorHandler
|
* @class EditorHandler
|
||||||
* @author zero (zero@nzeo.com)
|
* @author zero (zero@nzeo.com)
|
||||||
* @brief addon을 호출하여 실행
|
* @brief edit component의 상위 클래스임
|
||||||
|
*
|
||||||
|
* 주로 하는 일은 컴포넌트 요청시 컴포넌트에서 필요로 하는 변수를 세팅해준다
|
||||||
**/
|
**/
|
||||||
|
|
||||||
class EditorHandler extends Object {
|
class EditorHandler extends Object {
|
||||||
|
|
@ -13,12 +15,12 @@
|
||||||
function setInfo($info) {
|
function setInfo($info) {
|
||||||
Context::set('component_info', $info);
|
Context::set('component_info', $info);
|
||||||
|
|
||||||
if($info->extra_vars) {
|
if(!$info->extra_vars) return;
|
||||||
|
|
||||||
foreach($info->extra_vars as $key => $val) {
|
foreach($info->extra_vars as $key => $val) {
|
||||||
$this->{$key} = trim($val->value);
|
$this->{$key} = trim($val->value);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
/**
|
/**
|
||||||
* @class Handler
|
* @class Handler
|
||||||
* @author zero (zero@nzeo.com)
|
* @author zero (zero@nzeo.com)
|
||||||
* @brief *Handler 클래스의 추상화 클래스
|
* @brief (*)Handler 클래스의 추상화 클래스
|
||||||
**/
|
**/
|
||||||
|
|
||||||
class Handler {
|
class Handler {
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,7 @@
|
||||||
* constructor에 아무 인자 없이 객체를 생성하면 현재 요청받은
|
* constructor에 아무 인자 없이 객체를 생성하면 현재 요청받은
|
||||||
* 상태를 바탕으로 적절한 모듈을 찾게 되고,
|
* 상태를 바탕으로 적절한 모듈을 찾게 되고,
|
||||||
* 별도의 인자 값을 줄 경우 그에 맞는 모듈을 찾아서 실행한다.
|
* 별도의 인자 값을 줄 경우 그에 맞는 모듈을 찾아서 실행한다.
|
||||||
|
* 만약 찾아진 모듈의 요청된 act 가 없으면 action_foward를 참조하여 다른 모듈의 act를 실행한다.
|
||||||
**/
|
**/
|
||||||
|
|
||||||
class ModuleHandler extends Handler {
|
class ModuleHandler extends Handler {
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
/**
|
/**
|
||||||
* @class ModuleObject
|
* @class ModuleObject
|
||||||
* @author zero (zero@nzeo.com)
|
* @author zero (zero@nzeo.com)
|
||||||
* @brief module의 abstract class
|
* @brief module의 상위 클래스
|
||||||
**/
|
**/
|
||||||
|
|
||||||
class ModuleObject extends Object {
|
class ModuleObject extends Object {
|
||||||
|
|
|
||||||
|
|
@ -4,8 +4,7 @@
|
||||||
* @author zero (zero@nzeo.com)
|
* @author zero (zero@nzeo.com)
|
||||||
* @brief 모듈간의 데이터를 주고 받기 위한 클래스
|
* @brief 모듈간의 데이터를 주고 받기 위한 클래스
|
||||||
*
|
*
|
||||||
* Model, Controller, View로 이루어지는 모듈은\n
|
* 모든 모듈은 Object를 상속하며 Object의 error, message, variables 를 이용하여 통신을 하게 된다
|
||||||
* Object class를 상속받는다.
|
|
||||||
**/
|
**/
|
||||||
|
|
||||||
class Object {
|
class Object {
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
/**
|
/**
|
||||||
* @class PluginHandler
|
* @class PluginHandler
|
||||||
* @author zero (zero@nzeo.com)
|
* @author zero (zero@nzeo.com)
|
||||||
* @brief addon을 호출하여 실행
|
* @brief 플러그인의 실행을 담당
|
||||||
**/
|
**/
|
||||||
|
|
||||||
class PluginHandler {
|
class PluginHandler {
|
||||||
|
|
@ -49,5 +49,4 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
|
||||||
|
|
@ -5,8 +5,7 @@
|
||||||
* @brief 템플릿 컴파일러
|
* @brief 템플릿 컴파일러
|
||||||
* @version 0.1
|
* @version 0.1
|
||||||
*
|
*
|
||||||
* 정규표현식을 이용하여 템플릿 파일을 컴파일하여 php코드로 변경하고\n
|
* 정규표현식을 이용하여 템플릿 파일을 컴파일하여 php코드로 변경하고 이 파일을 caching하여 사용할 수 있도록 하는 템플릿 컴파일러
|
||||||
* 이 파일을 caching하여 사용할 수 있도록 하는 템플릿 컴파일러\n
|
|
||||||
**/
|
**/
|
||||||
|
|
||||||
class TemplateHandler extends Handler {
|
class TemplateHandler extends Handler {
|
||||||
|
|
|
||||||
|
|
@ -5,37 +5,37 @@
|
||||||
* @brief filter xml문서를 해석하여 js파일로 만듬
|
* @brief filter xml문서를 해석하여 js파일로 만듬
|
||||||
* @version 0.1
|
* @version 0.1
|
||||||
*
|
*
|
||||||
* xml filter 파일은 js script로 컴파일 되어 캐싱됨\n
|
* xml filter 파일은 js script로 컴파일 되어 캐싱됨
|
||||||
* \n
|
*
|
||||||
* <filter name="js function 이름" act="서버에 요청할 action 이름" confirm_msg_code="submit시에 prompt로 물어볼 메세지의 코드" >\n
|
* <filter name="js function 이름" act="서버에 요청할 action 이름" confirm_msg_code="submit시에 prompt로 물어볼 메세지의 코드" >
|
||||||
* <form> <-- 폼 항목의 체크\n
|
* <form> <-- 폼 항목의 체크
|
||||||
* <node target="name" required="true" minlength="1" maxlength="5" filter="email,userid,alpha,number" equalto="target" />\n
|
* <node target="name" required="true" minlength="1" maxlength="5" filter="email,userid,alpha,number" equalto="target" />
|
||||||
* </form>\n
|
* </form>
|
||||||
* <parameter> <-- 폼 항목을 조합하여 key=val 의 js array로 return, act는 필수\n
|
* <parameter> <-- 폼 항목을 조합하여 key=val 의 js array로 return, act는 필수
|
||||||
* <param name="key" target="target" />\n
|
* <param name="key" target="target" />
|
||||||
* </parameter>\n
|
* </parameter>
|
||||||
* <response callback_func="callback 받게 될 js function 이름 지정" > <-- 서버에 ajax로 전송하여 받을 결과값\n
|
* <response callback_func="callback 받게 될 js function 이름 지정" > <-- 서버에 ajax로 전송하여 받을 결과값
|
||||||
* <tag name="error" /> <-- error이름의 결과값을 받겠다는 것\n
|
* <tag name="error" /> <-- error이름의 결과값을 받겠다는 것
|
||||||
* </response>\n
|
* </response>
|
||||||
* </filter>\n
|
* </filter>
|
||||||
* \n
|
*
|
||||||
* - form - node\n
|
* - form - node
|
||||||
* target = 폼 element의 이름\n
|
* target = 폼 element의 이름
|
||||||
* required = true/ false 꼭 있어야 하는지에 대한 체크\n
|
* required = true/ false 꼭 있어야 하는지에 대한 체크
|
||||||
* minlength, maxlength = 최소/최대 길이\n
|
* minlength, maxlength = 최소/최대 길이
|
||||||
* filter = javascript로 체크하기 위한 체크 필터\n
|
* filter = javascript로 체크하기 위한 체크 필터
|
||||||
* email : email의 형식 ( aaa.aaa@aaa.com)\n
|
* email : email의 형식 ( aaa.aaa@aaa.com)
|
||||||
* userid : 영문+숫자+_, 첫 글자는 영문, 소문자\n
|
* userid : 영문+숫자+_, 첫 글자는 영문, 소문자
|
||||||
* alpha : 영문값만 허용\n
|
* alpha : 영문값만 허용
|
||||||
* number : 숫자만 허용\n
|
* number : 숫자만 허용
|
||||||
* equalto = target , 현재 폼과 지정 target의 값이 동일해야 함\n
|
* equalto = target , 현재 폼과 지정 target의 값이 동일해야 함
|
||||||
* \n
|
*
|
||||||
* - parameter - param\n
|
* - parameter - param
|
||||||
* name = key : key를 이름으로 가지고 value의 값을 가지는 array 값 생성\n
|
* name = key : key를 이름으로 가지고 value의 값을 가지는 array 값 생성
|
||||||
* target = target_name : target form element의 값을 가져옴\n
|
* target = target_name : target form element의 값을 가져옴
|
||||||
* \n
|
*
|
||||||
* - response\n
|
* - response
|
||||||
* tag = key : return받을 결과값의 변수명\n
|
* tag = key : return받을 결과값의 변수명
|
||||||
**/
|
**/
|
||||||
|
|
||||||
class XmlJsFilter extends XmlParser {
|
class XmlJsFilter extends XmlParser {
|
||||||
|
|
|
||||||
|
|
@ -5,9 +5,8 @@
|
||||||
* @brief xmlrpc를 해석하여 object로 return 하는 simple xml parser
|
* @brief xmlrpc를 해석하여 object로 return 하는 simple xml parser
|
||||||
* @version 0.1
|
* @version 0.1
|
||||||
*
|
*
|
||||||
* xml 데이터의 attribute중에 xml:lang=""이 있을 경우 지정된 lang\n
|
* xml 데이터의 attribute중에 xml:lang="ko,en,ch,jp,..." 이 있을 경우 지정된 lang 값에 해당하는 것만 남기는 트릭이 적용됨.
|
||||||
* 값에 해당하는 것만 남기는 트릭이 적용됨.\n
|
* 무슨 문제를 일으킬지는 현재 모르나 잘 동작하고 있음
|
||||||
* 무슨 문제를 일으킬지는 현재 모르나 잘 동작하고 있음\n
|
|
||||||
**/
|
**/
|
||||||
|
|
||||||
class XmlParser {
|
class XmlParser {
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
/**
|
/**
|
||||||
* @class XmlQueryParser
|
* @class XmlQueryParser
|
||||||
* @author zero (zero@nzeo.com)
|
* @author zero (zero@nzeo.com)
|
||||||
* @brief query xml을 파싱하여 결과를 return
|
* @brief query xml을 파싱하여 캐싱을 한 후 결과를 return
|
||||||
* @version 0.1
|
* @version 0.1
|
||||||
*
|
*
|
||||||
* @todo subquery나 union등의 확장 쿼리에 대한 지원이 필요
|
* @todo subquery나 union등의 확장 쿼리에 대한 지원이 필요
|
||||||
|
|
@ -25,7 +25,7 @@
|
||||||
);
|
);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief 쿼리 파일을 찾아서 파싱하고 cacheing한다
|
* @brief 쿼리 파일을 찾아서 파싱하고 캐싱한다
|
||||||
**/
|
**/
|
||||||
function parse($query_id, $xml_file, $cache_file) {
|
function parse($query_id, $xml_file, $cache_file) {
|
||||||
// query xml 파일을 찾아서 파싱, 결과가 없으면 return
|
// query xml 파일을 찾아서 파싱, 결과가 없으면 return
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue