git-svn-id: http://xe-core.googlecode.com/svn/trunk@793 201d5d3c-b55e-5fd7-737f-ddc643e51545

This commit is contained in:
zero 2007-03-30 04:00:07 +00:00
parent da1fe7f3b1
commit 2b97664ba0
13 changed files with 83 additions and 87 deletions

View file

@ -4,10 +4,10 @@
* @author zero (zero@nzeo.com)
* @brief Request Argument/환경변수등의 모든 Context를 관리
*
* Context 클래스는 Context::methodname() 처럼 쉽게 사용하기 위해 만들어진 객체를 받아서\n
* 호출하는 구조를 위해 이중 method 구조를 가지고 있다.\n
* php5에서 static variables를 사용하게 된다면 불필요한 구조를 제거할 있다.\n
* php5 쓰고 어라.. .
* Context 클래스는 Context::methodname() 처럼 쉽게 사용하기 위해 만들어진 객체를 받아서
* 호출하는 구조를 위해 이중 method 구조를 가지고 있다.
* php5에서 static variables를 사용하게 된다면 불필요한 구조를 제거할 있다.
* php5 쓰고 .. .
**/
class Context {

View file

@ -5,15 +5,12 @@
* @brief DB* 상위 클래스
* @version 0.1
*
* 제로보드의 DB 사용은 xml을 이용하여 이루어짐을 원칙으로 한다.\n
* xml의 종류에는 query xml, schema xml이 있다.\n
* query xml의 경우 DB::executeQuery() method를 이용하여 xml파일을\n
* php code로 compile한 후에 실행이 된다.\n
* query xml은 고유한 query id를 가지며 생성은 module에서 이루어진다.\n
* \n
* queryid = 모듈.쿼리명\n
* \n
* 으로 된다.\n
* 제로보드의 DB 사용은 xml을 이용하여 이루어짐을 원칙으로 한다.
* xml의 종류에는 query xml, schema xml이 있다.
* query xml의 경우 DB::executeQuery() method를 이용하여 xml파일을 php code로 compile한 후에 실행이 된다.
* query xml은 고유한 query id를 가지며 생성은 module에서 이루어진다.
*
* queryid = 모듈.쿼리명
**/
class DB {

View file

@ -4,10 +4,10 @@
* @author zero (zero@nzeo.com)
* @brief 데이터 출력을 위한 class (XML/HTML 데이터를 구분하여 출력)
*
* Request Method에 따라서 html or xml 출력방법을 결정한다\n
* xml : oModule의 variables를 simple xml 출력\n
* html : oModule의 template/variables로 html을 만들고 contents_html로 처리\n
* plugin이나 layout의 html과 연동하여 출력\n
* Response Method에 따라서 html or xml 출력방법을 결정한다
* xml : oModule의 variables를 simple xml 출력
* html : oModule의 template/variables로 html을 만들고 contents_html로 처리
* plugin이나 layout의 html과 연동하여 출력
**/
class DisplayHandler extends Handler {

View file

@ -2,7 +2,9 @@
/**
* @class EditorHandler
* @author zero (zero@nzeo.com)
* @brief addon을 호출하여 실행
* @brief edit component의 상위 클래스임
*
* 주로 하는 일은 컴포넌트 요청시 컴포넌트에서 필요로 하는 변수를 세팅해준다
**/
class EditorHandler extends Object {
@ -13,10 +15,10 @@
function setInfo($info) {
Context::set('component_info', $info);
if($info->extra_vars) {
foreach($info->extra_vars as $key => $val) {
$this->{$key} = trim($val->value);
}
if(!$info->extra_vars) return;
foreach($info->extra_vars as $key => $val) {
$this->{$key} = trim($val->value);
}
}

View file

@ -2,7 +2,7 @@
/**
* @class Handler
* @author zero (zero@nzeo.com)
* @brief *Handler 클래스의 추상화 클래스
* @brief (*)Handler 클래스의 추상화 클래스
**/
class Handler {

View file

@ -8,6 +8,7 @@
* constructor에 아무 인자 없이 객체를 생성하면 현재 요청받은
* 상태를 바탕으로 적절한 모듈을 찾게 되고,
* 별도의 인자 값을 경우 그에 맞는 모듈을 찾아서 실행한다.
* 만약 찾아진 모듈의 요청된 act 없으면 action_foward를 참조하여 다른 모듈의 act를 실행한다.
**/
class ModuleHandler extends Handler {

View file

@ -2,7 +2,7 @@
/**
* @class ModuleObject
* @author zero (zero@nzeo.com)
* @brief module의 abstract class
* @brief module의 상위 클래스
**/
class ModuleObject extends Object {

View file

@ -4,8 +4,7 @@
* @author zero (zero@nzeo.com)
* @brief 모듈간의 데이터를 주고 받기 위한 클래스
*
* Model, Controller, View로 이루어지는 모듈은\n
* Object class를 상속받는다.
* 모든 모듈은 Object를 상속하며 Object의 error, message, variables 이용하여 통신을 하게 된다
**/
class Object {

View file

@ -1,9 +1,9 @@
<?php
/**
* @class PluginHandler
* @author zero (zero@nzeo.com)
* @brief addon을 호출하여 실행
**/
* @class PluginHandler
* @author zero (zero@nzeo.com)
* @brief 플러그인의 실행을 담당
**/
class PluginHandler {
@ -49,5 +49,4 @@
}
}
?>

View file

@ -1,13 +1,12 @@
<?php
/**
* @class TemplateHandler
* @author zero (zero@nzeo.com)
* @brief 템플릿 컴파일러
* @version 0.1
*
* 정규표현식을 이용하여 템플릿 파일을 컴파일하여 php코드로 변경하고\n
* 파일을 caching하여 사용할 있도록 하는 템플릿 컴파일러\n
**/
* @class TemplateHandler
* @author zero (zero@nzeo.com)
* @brief 템플릿 컴파일러
* @version 0.1
*
* 정규표현식을 이용하여 템플릿 파일을 컴파일하여 php코드로 변경하고 파일을 caching하여 사용할 있도록 하는 템플릿 컴파일러
**/
class TemplateHandler extends Handler {

View file

@ -5,37 +5,37 @@
* @brief filter xml문서를 해석하여 js파일로 만듬
* @version 0.1
*
* xml filter 파일은 js script로 컴파일 되어 캐싱됨\n
* \n
* <filter name="js function 이름" act="서버에 요청할 action 이름" confirm_msg_code="submit시에 prompt로 물어볼 메세지의 코드" >\n
* <form> <-- 항목의 체크\n
* <node target="name" required="true" minlength="1" maxlength="5" filter="email,userid,alpha,number" equalto="target" />\n
* </form>\n
* <parameter> <-- 항목을 조합하여 key=val js array로 return, act는 필수\n
* <param name="key" target="target" />\n
* </parameter>\n
* <response callback_func="callback 받게 될 js function 이름 지정" > <-- 서버에 ajax로 전송하여 받을 결과값\n
* <tag name="error" /> <-- error이름의 결과값을 받겠다는 \n
* </response>\n
* </filter>\n
* \n
* - form - node\n
* target = element의 이름\n
* required = true/ false 있어야 하는지에 대한 체크\n
* minlength, maxlength = 최소/최대 길이\n
* filter = javascript로 체크하기 위한 체크 필터\n
* email : email의 형식 ( aaa.aaa@aaa.com)\n
* userid : 영문+숫자+_, 글자는 영문, 소문자\n
* alpha : 영문값만 허용\n
* number : 숫자만 허용\n
* equalto = target , 현재 폼과 지정 target의 값이 동일해야 \n
* \n
* - parameter - param\n
* name = key : key를 이름으로 가지고 value의 값을 가지는 array 생성\n
* target = target_name : target form element의 값을 가져옴\n
* \n
* - response\n
* tag = key : return받을 결과값의 변수명\n
* xml filter 파일은 js script로 컴파일 되어 캐싱됨
*
* <filter name="js function 이름" act="서버에 요청할 action 이름" confirm_msg_code="submit시에 prompt로 물어볼 메세지의 코드" >
* <form> <-- 항목의 체크
* <node target="name" required="true" minlength="1" maxlength="5" filter="email,userid,alpha,number" equalto="target" />
* </form>
* <parameter> <-- 항목을 조합하여 key=val js array로 return, act는 필수
* <param name="key" target="target" />
* </parameter>
* <response callback_func="callback 받게 될 js function 이름 지정" > <-- 서버에 ajax로 전송하여 받을 결과값
* <tag name="error" /> <-- error이름의 결과값을 받겠다는
* </response>
* </filter>
*
* - form - node
* target = element의 이름
* required = true/ false 있어야 하는지에 대한 체크
* minlength, maxlength = 최소/최대 길이
* filter = javascript로 체크하기 위한 체크 필터
* email : email의 형식 ( aaa.aaa@aaa.com)
* userid : 영문+숫자+_, 글자는 영문, 소문자
* alpha : 영문값만 허용
* number : 숫자만 허용
* equalto = target , 현재 폼과 지정 target의 값이 동일해야
*
* - parameter - param
* name = key : key를 이름으로 가지고 value의 값을 가지는 array 생성
* target = target_name : target form element의 값을 가져옴
*
* - response
* tag = key : return받을 결과값의 변수명
**/
class XmlJsFilter extends XmlParser {

View file

@ -1,14 +1,13 @@
<?php
/**
* @class XmlParser
* @author zero (zero@nzeo.com)
* @brief xmlrpc를 해석하여 object로 return 하는 simple xml parser
* @version 0.1
*
* xml 데이터의 attribute중에 xml:lang="" 있을 경우 지정된 lang\n
* 값에 해당하는 것만 남기는 트릭이 적용됨.\n
* 무슨 문제를 일으킬지는 현재 모르나 동작하고 있음\n
**/
* @class XmlParser
* @author zero (zero@nzeo.com)
* @brief xmlrpc를 해석하여 object로 return 하는 simple xml parser
* @version 0.1
*
* xml 데이터의 attribute중에 xml:lang="ko,en,ch,jp,..." 있을 경우 지정된 lang 값에 해당하는 것만 남기는 트릭이 적용됨.
* 무슨 문제를 일으킬지는 현재 모르나 동작하고 있음
**/
class XmlParser {

View file

@ -1,12 +1,12 @@
<?php
/**
* @class XmlQueryParser
* @author zero (zero@nzeo.com)
* @brief query xml을 파싱하여 결과를 return
* @version 0.1
*
* @todo subquery나 union등의 확장 쿼리에 대한 지원이 필요
**/
* @class XmlQueryParser
* @author zero (zero@nzeo.com)
* @brief query xml을 파싱하여 캐싱을 결과를 return
* @version 0.1
*
* @todo subquery나 union등의 확장 쿼리에 대한 지원이 필요
**/
class XmlQueryParser extends XmlParser {
@ -25,7 +25,7 @@
);
/**
* @brief 쿼리 파일을 찾아서 파싱하고 cacheing한다
* @brief 쿼리 파일을 찾아서 파싱하고 캐싱한다
**/
function parse($query_id, $xml_file, $cache_file) {
// query xml 파일을 찾아서 파싱, 결과가 없으면 return