diff --git a/.htaccess b/.htaccess index 956eb88c6..be494f455 100644 --- a/.htaccess +++ b/.htaccess @@ -6,22 +6,25 @@ RewriteRule ^([a-zA-Z0-9_]+)/([[:digit:]]+)page$ ./index.php?mid=$1&page=$2 [L] # administrator page RewriteRule ^admin$ ./index.php?module=admin [L] +# mid + act +RewriteRule ^([a-zA-Z0-9_]+)/api$ ./index.php?mid=$1&act=api [L] + # document permanent link RewriteRule ^([[:digit:]]+)$ ./index.php?document_srl=$1 [L] -# document + act permanent link +# document + act link RewriteRule ^([[:digit:]]+)/([a-zA-Z0-9_]+)$ ./index.php?document_srl=$1&act=$2 [L] -# mid + document permanent link +# mid + document link RewriteRule ^([a-zA-Z0-9_]+)/([[:digit:]]+)$ ./index.php?mid=$1&document_srl=$2 [L] -# mid + act permanent link +# mid + act link RewriteRule ^([a-zA-Z0-9_]+)/([a-zA-Z0-9_]+)$ ./index.php?mid=$1&act=$2 [L] -# mid + page permanent link +# mid + page link RewriteRule ^([a-zA-Z0-9_]+)/page/([[:digit:]]+)$ ./index.php?mid=$1&page=$2 [L] -# mid + category permanent link +# mid + category link RewriteRule ^([a-zA-Z0-9_]+)/category/([[:digit:]]+)$ ./index.php?mid=$1&category=$2 [L] # mid + category + page @@ -39,5 +42,5 @@ RewriteRule ^([a-zA-Z0-9_]+)/tag/(.*)$ ./index.php?mid=$1&search_target=tag&sear # mid + search target writer RewriteRule ^([a-zA-Z0-9_]+)/writer/(.*)$ ./index.php?mid=$1&search_target=nick_name&search_keyword=$2 [L] -# module permanent link +# module link RewriteRule ^([a-zA-Z0-9_]+)(/){0,1}$ ./index.php?mid=$1 [L] diff --git a/addons/blogapi/blogapi.addon.php b/addons/blogapi/blogapi.addon.php index afb0f1156..4aa6ceb8d 100644 --- a/addons/blogapi/blogapi.addon.php +++ b/addons/blogapi/blogapi.addon.php @@ -10,7 +10,7 @@ * 모듈 실행 이전(before_module_proc)에 호출이 되어야 하며 정상동작후에는 강제 종료를 한다. **/ - // called_position가 after_module_proc일때 rsd태그 삽입 + // called_position가 after_module_proc일때 rsd 태그 삽입 if($called_position == 'after_module_proc') { // 현재 모듈의 rsd주소를 만듬 $rsd_url = sprintf('%s%s/api', Context::getRequestUri(), $this->mid); @@ -19,12 +19,23 @@ Context::addHtmlHeader(" ".''); } - // called_position가 before_module_proc일때 실행 - if($called_position != 'before_module_proc' || $_REQUEST['act'] != 'api') return; + // act가 api가 아니면 그냥 리턴~ + if($_REQUEST['act']!='api') return; + + /** + * blogapi의 경우 GET argument와 XML Content가 같이 오기에 제로보드XE의 경우 XML Content가 오면 이것만 처리하기에 + * GET argument중에 mid값을 강제 설정해야 모듈을 정상적으로 찾는다 + **/ + if($called_position == 'before_module_init') { + $mid = $_REQUEST['mid']; + Context::set('mid', $mid, true); + $this->mid = $mid; + } // 관련 func 파일 읽음 require_once('./addons/blogapi/blogapi.func.php'); + // xmlprc 파싱 // 요청된 xmlrpc를 파싱 $oXmlParser = new XmlParser(); $xmlDoc = $oXmlParser->parse(); @@ -40,298 +51,330 @@ $user_id = trim($params[1]->value->string->body); $password = trim($params[2]->value->string->body); - // member controller을 이용해서 로그인 시도 - if($user_id && $password) { - $oMemberController = &getController('member'); - $output = $oMemberController->doLogin($user_id, $password); - // 로그인 실패시 에러 메시지 출력 - if(!$output->toBool()) { - $content = getXmlRpcFailure(1, $output->getMessage()); + // 모듈 실행전이라면 인증을 처리한다. + if($called_position == 'before_module_init') { + + // member controller을 이용해서 로그인 시도 + if($user_id && $password) { + $oMemberController = &getController('member'); + $output = $oMemberController->doLogin($user_id, $password); + // 로그인 실패시 에러 메시지 출력 + if(!$output->toBool()) { + $content = getXmlRpcFailure(1, $output->getMessage()); + printContent($content); + } + } else { + $content = getXmlRpcFailure(1, 'not logged'); printContent($content); } } - // 카테고리의 정보를 구해옴 - $oDocumentModel = &getModel('document'); - $category_list = $oDocumentModel->getCategoryList($this->module_srl); + // 모듈에서 무언가 작업을 하기 전에 blogapi tool의 요청에 대한 처리를 하고 강제 종료한다. + if($called_position == 'before_module_proc') { - // 임시 파일 저장 장소 지정 - $tmp_uploaded_path = sprintf('./files/cache/blogapi/%s/%s/', $this->mid, $user_id); - $uploaded_target_path = sprintf('/files/cache/blogapi/%s/%s/', $this->mid, $user_id); + // 글쓰기 권한 체크 (권한명의 경우 약속이 필요할듯..) + if(!$this->grant->write_document) { + printContent( getXmlRpcFailure(1, 'no permission') ); + } - switch($method_name) { - // 블로그 정보 - case 'blogger.getUsersBlogs' : - $obj->url = Context::getRequestUri().$this->mid; - $obj->blogid = $this->mid; - $obj->blogName = $this->module_info->browser_title; - $blog_list = array($obj); + // 카테고리의 정보를 구해옴 + $oDocumentModel = &getModel('document'); + $category_list = $oDocumentModel->getCategoryList($this->module_srl); - $content = getXmlRpcResponse($blog_list); - printContent($content); - break; + // 임시 파일 저장 장소 지정 + $tmp_uploaded_path = sprintf('./files/cache/blogapi/%s/%s/', $this->mid, $user_id); + $uploaded_target_path = sprintf('/files/cache/blogapi/%s/%s/', $this->mid, $user_id); - // 카테고리 목록 return - case 'metaWeblog.getCategories' : - $category_obj_list = array(); - if($category_list) { - foreach($category_list as $category_srl => $category_info) { - unset($obj); - $obj->description = $category_info->title; - //$obj->htmlUrl = Context::getRequestUri().$this->mid.'/1'; - //$obj->rssUrl= Context::getRequestUri().'rss/'.$this->mid.'/1'; - $obj->title = $category_info->title; - $obj->categoryid = $category_srl; - $category_obj_list[] = $obj; - } - } + switch($method_name) { + // 블로그 정보 + case 'blogger.getUsersBlogs' : + $obj->url = Context::getRequestUri().$this->mid; + $obj->blogid = $this->mid; + $obj->blogName = $this->module_info->browser_title; + $blog_list = array($obj); - $content = getXmlRpcResponse($category_obj_list); - printContent($content); - break; + $content = getXmlRpcResponse($blog_list); + printContent($content); + break; - // 파일 업로드 - case 'metaWeblog.newMediaObject' : - $fileinfo = $params[3]->value->struct->member; - foreach($fileinfo as $key => $val) { - $nodename = $val->name->body; - if($nodename == 'bits') $filedata = base64_decode($val->value->base64->body); - elseif($nodename == 'name') $filename = $val->value->string->body; - } - - $tmp_arr = explode('/',$filename); - $filename = array_pop($tmp_arr); - - if(!is_dir($tmp_uploaded_path)) FileHandler::makeDir($tmp_uploaded_path); - - $target_filename = sprintf('%s%s', $tmp_uploaded_path, $filename); - FileHandler::writeFile($target_filename, $filedata); - $obj->url = 'http://blog.nzeo.com/'.$target_filename; - - $content = getXmlRpcResponse($obj); - printContent($content); - break; - - // 글작성 - case 'metaWeblog.newPost' : - unset($obj); - $info = $params[3]; - // 글, 제목, 카테고리 정보 구함 - for($i=0;$ivalue->struct->member);$i++) { - $val = $info->value->struct->member[$i]; - switch($val->name->body) { - case 'title' : - $obj->title = $val->value->string->body; - break; - case 'description' : - $obj->content = $val->value->string->body; - break; - case 'categories' : - $categories = $val->value->array->data->value; - if(!is_array($categories)) $categories = array($categories); - $category = $categories[0]->string->body; - if($category && $category_list) { - foreach($category_list as $category_srl => $category_info) { - if($category_info->title == $category) $obj->category_srl = $category_srl; - } - } - break; - case 'tagwords' : - $tags = $val->value->array->data->value; - if(!is_array($tags)) $tags = array($tags); - for($j=0;$jstring->body; - } - if(count($tag_list)) $obj->tags = implode(',',$tag_list); - break; - } - - } - - // 문서 번호 설정 - $document_srl = getNextSequence(); - $obj->document_srl = $document_srl; - $obj->module_srl = $this->module_srl; - - // 첨부파일 정리 - if(is_dir($tmp_uploaded_path)) { - $file_list = FileHandler::readDir($tmp_uploaded_path); - $file_count = count($file_list); - if($file_count) { - $oFileController = &getController('file'); - for($i=0;$i<$file_count;$i++) { - $file_info['tmp_name'] = sprintf('%s%s', $tmp_uploaded_path, $file_list[$i]); - $file_info['name'] = $file_list[$i]; - $oFileController->insertFile($file_info, $this->module_srl, $document_srl, 0, true); + // 카테고리 목록 return + case 'metaWeblog.getCategories' : + $category_obj_list = array(); + if($category_list) { + foreach($category_list as $category_srl => $category_info) { + unset($obj); + $obj->description = $category_info->title; + //$obj->htmlUrl = Context::getRequestUri().$this->mid.'/1'; + //$obj->rssUrl= Context::getRequestUri().'rss/'.$this->mid.'/1'; + $obj->title = $category_info->title; + $obj->categoryid = $category_srl; + $category_obj_list[] = $obj; } - $obj->uploaded_count = $file_count; } - } - $obj->content = str_replace($uploaded_target_path,sprintf('/files/attach/images/%s/%s/%s', $this->module_srl, $document_srl, $filename), $obj->content); - $oDocumentController = &getController('document'); - $obj->allow_comment = 'Y'; - $obj->allow_trackback = 'Y'; - $output = $oDocumentController->insertDocument($obj); + $content = getXmlRpcResponse($category_obj_list); + printContent($content); + break; - if(!$output->toBool()) { - $content = getXmlRpcFailure(1, $output->getMessage()); - } else { - //$content = getXmlRpcResponse(Context::getRequestUri().$this->mid.'/'.$document_srl); - $content = getXmlRpcResponse(''.$document_srl); - } - FileHandler::removeDir($tmp_uploaded_path); + // 파일 업로드 + case 'metaWeblog.newMediaObject' : + // 파일 업로드 권한 체크 + if(!$this->grant->fileupload) { + printContent( getXmlRpcFailure(1, 'no permission') ); + } - printContent($content); - break; + $fileinfo = $params[3]->value->struct->member; + foreach($fileinfo as $key => $val) { + $nodename = $val->name->body; + if($nodename == 'bits') $filedata = base64_decode($val->value->base64->body); + elseif($nodename == 'name') $filename = $val->value->string->body; + } - // 글 수정 - case 'metaWeblog.editPost' : - $tmp_val = $params[0]->value->string->body; - $tmp_arr = explode('/', $tmp_val); - $document_srl = array_pop($tmp_arr); + $tmp_arr = explode('/',$filename); + $filename = array_pop($tmp_arr); - $oDocumentModel = &getModel('document'); - $oDocument = $oDocumentModel->getDocument($document_srl); - $obj = $oDocument->getObjectVars(); + if(!is_dir($tmp_uploaded_path)) FileHandler::makeDir($tmp_uploaded_path); - if(!$oDocument->isGranted()) { - $content = getXmlRpcFailure(1, 'no permisstion'); - break; - } + $target_filename = sprintf('%s%s', $tmp_uploaded_path, $filename); + FileHandler::writeFile($target_filename, $filedata); + $obj->url = Context::getRequestUri().$target_filename; - $info = $params[3]; + $content = getXmlRpcResponse($obj); + printContent($content); + break; - // 글, 제목, 카테고리 정보 구함 - for($i=0;$ivalue->struct->member);$i++) { - $val = $info->value->struct->member[$i]; - switch($val->name->body) { - case 'title' : - $obj->title = $val->value->string->body; - break; - case 'description' : - $obj->content = $val->value->string->body; - break; - case 'categories' : - $categories = $val->value->array->data->value; - if(!is_array($categories)) $categories = array($categories); - $category = $categories[0]->string->body; - if($category && $category_list) { - foreach($category_list as $category_srl => $category_info) { - if($category_info->title == $category) $obj->category_srl = $category_srl; + // 글작성 + case 'metaWeblog.newPost' : + unset($obj); + $info = $params[3]; + // 글, 제목, 카테고리 정보 구함 + for($i=0;$ivalue->struct->member);$i++) { + $val = $info->value->struct->member[$i]; + switch($val->name->body) { + case 'title' : + $obj->title = $val->value->string->body; + break; + case 'description' : + $obj->content = $val->value->string->body; + break; + case 'categories' : + $categories = $val->value->array->data->value; + if(!is_array($categories)) $categories = array($categories); + $category = $categories[0]->string->body; + if($category && $category_list) { + foreach($category_list as $category_srl => $category_info) { + if($category_info->title == $category) $obj->category_srl = $category_srl; + } } - } - break; - case 'tagwords' : - $tags = $val->value->array->data->value; - if(!is_array($tags)) $tags = array($tags); - for($j=0;$jstring->body; - } - if(count($tag_list)) $obj->tags = implode(',',$tag_list); - break; - } - - } - - // 문서 번호 설정 - $obj->document_srl = $document_srl; - $obj->module_srl = $this->module_srl; - - // 첨부파일 정리 - if(is_dir($tmp_uploaded_path)) { - $file_list = FileHandler::readDir($tmp_uploaded_path); - $file_count = count($file_list); - if($file_count) { - $oFileController = &getController('file'); - for($i=0;$i<$file_count;$i++) { - $file_info['tmp_name'] = sprintf('%s%s', $tmp_uploaded_path, $file_list[$i]); - $file_info['name'] = $file_list[$i]; - - $moved_filename = sprintf('./files/attach/images/%s/%s/%s', $this->module_srl, $document_srl, $file_info['name']); - if(file_exists($moved_filename)) continue; - - $oFileController->insertFile($file_info, $this->module_srl, $document_srl, 0, true); + break; + case 'tagwords' : + $tags = $val->value->array->data->value; + if(!is_array($tags)) $tags = array($tags); + for($j=0;$jstring->body; + } + if(count($tag_list)) $obj->tags = implode(',',$tag_list); + break; } - $obj->uploaded_count += $file_count; + } - } - $obj->content = str_replace($uploaded_target_path,sprintf('/files/attach/images/%s/%s/%s', $this->module_srl, $document_srl, $filename), $obj->content); - $oDocumentController = &getController('document'); - $output = $oDocumentController->updateDocument($oDocument,$obj); + // 문서 번호 설정 + $document_srl = getNextSequence(); + $obj->document_srl = $document_srl; + $obj->module_srl = $this->module_srl; - if(!$output->toBool()) { - $content = getXmlRpcFailure(1, $output->getMessage()); - } else { - $content = getXmlRpcResponse(Context::getRequestUri().$this->mid.'/'.$document_srl); + // 첨부파일 정리 + if(is_dir($tmp_uploaded_path)) { + $file_list = FileHandler::readDir($tmp_uploaded_path); + $file_count = count($file_list); + if($file_count) { + $oFileController = &getController('file'); + for($i=0;$i<$file_count;$i++) { + $file_info['tmp_name'] = sprintf('%s%s', $tmp_uploaded_path, $file_list[$i]); + $file_info['name'] = $file_list[$i]; + $oFileController->insertFile($file_info, $this->module_srl, $document_srl, 0, true); + } + $obj->uploaded_count = $file_count; + } + } + $obj->content = str_replace($uploaded_target_path,sprintf('/files/attach/images/%s/%s/%s', $this->module_srl, $document_srl, $filename), $obj->content); + + $oDocumentController = &getController('document'); + $obj->allow_comment = 'Y'; + $obj->allow_trackback = 'Y'; + $output = $oDocumentController->insertDocument($obj); + + if(!$output->toBool()) { + $content = getXmlRpcFailure(1, $output->getMessage()); + } else { + //$content = getXmlRpcResponse(Context::getRequestUri().$this->mid.'/'.$document_srl); + $content = getXmlRpcResponse(''.$document_srl); + } FileHandler::removeDir($tmp_uploaded_path); - } - printContent($content); - break; - - // 글삭제 - case 'blogger.deletePost' : - $tmp_val = $params[0]->value->string->body; - $tmp_arr = explode('/', $tmp_val); - $document_srl = array_pop($tmp_arr); - - $oDocumentController = &getController('document'); - $output = $oDocumentController->deleteDocument($document_srl); - if(!$output->toBool()) $content = getXmlRpcFailure(1, $output->getMessage()); - else $content = getXmlRpcResponse(true); - - printContent($content); - break; - - // 최신글 받기 - case 'metaWeblog.getRecentPosts' : - // 목록을 구하기 위한 옵션 - $args->module_srl = $this->module_srl; ///< 현재 모듈의 module_srl - $args->page = 1; - $args->list_count = 20; - $args->sort_index = 'list_order'; ///< 소팅 값 - $output = $oDocumentModel->getDocumentList($args); - if(!$output->toBool() || !$output->data) { - $content = getXmlRpcFailure(1, 'post not founded'); printContent($content); - } else { - $oContext = &Context::getInstance(); + break; + // 글 수정 + case 'metaWeblog.editPost' : + $tmp_val = $params[0]->value->string->body; + $tmp_arr = explode('/', $tmp_val); + $document_srl = array_pop($tmp_arr); - $posts = array(); - foreach($output->data as $key => $oDocument) { - $post = null; - $post->link = $post->permaLink = getUrl('','mid',$this->mid,'document_srl',$oDocument->document_srl); - $post->userid = $oDocument->get('user_id'); - $post->mt_allow_pings = 0; - $post->mt_allow_comments = $oDocument->allowComment()=='Y'?1:0; - $post->description = htmlspecialchars($oContext->transContent($oDocument->get('content'))); - $post->postid = $oDocument->document_srl; - $post->title = htmlspecialchars($oDocument->get('title')); + $oDocumentModel = &getModel('document'); + $oDocument = $oDocumentModel->getDocument($document_srl); - $year = substr($oDocument->get('regdate'),0,4); - $month = substr($oDocument->get('regdate'),4,2); - $day = substr($oDocument->get('regdate'),6,2); - $hour = substr($oDocument->get('regdate'),8,2); - $min = substr($oDocument->get('regdate'),10,2); - $sec = substr($oDocument->get('regdate'),12,2); - $time = mktime($hour,$min,$sec,$month,$day,$year); - $post->dateCreated = gmdate("D, d M Y H:i:s", $time); - $posts[] = $post; + // 글 수정 권한 체크 + if(!$oDocument->isGranted()) { + $content = getXmlRpcFailure(1, 'no permission'); + break; } - $content = getXmlRpcResponse($posts); + + $obj = $oDocument->getObjectVars(); + + $info = $params[3]; + + // 글, 제목, 카테고리 정보 구함 + for($i=0;$ivalue->struct->member);$i++) { + $val = $info->value->struct->member[$i]; + switch($val->name->body) { + case 'title' : + $obj->title = $val->value->string->body; + break; + case 'description' : + $obj->content = $val->value->string->body; + break; + case 'categories' : + $categories = $val->value->array->data->value; + if(!is_array($categories)) $categories = array($categories); + $category = $categories[0]->string->body; + if($category && $category_list) { + foreach($category_list as $category_srl => $category_info) { + if($category_info->title == $category) $obj->category_srl = $category_srl; + } + } + break; + case 'tagwords' : + $tags = $val->value->array->data->value; + if(!is_array($tags)) $tags = array($tags); + for($j=0;$jstring->body; + } + if(count($tag_list)) $obj->tags = implode(',',$tag_list); + break; + } + + } + + // 문서 번호 설정 + $obj->document_srl = $document_srl; + $obj->module_srl = $this->module_srl; + + // 첨부파일 정리 + if(is_dir($tmp_uploaded_path)) { + $file_list = FileHandler::readDir($tmp_uploaded_path); + $file_count = count($file_list); + if($file_count) { + $oFileController = &getController('file'); + for($i=0;$i<$file_count;$i++) { + $file_info['tmp_name'] = sprintf('%s%s', $tmp_uploaded_path, $file_list[$i]); + $file_info['name'] = $file_list[$i]; + + $moved_filename = sprintf('./files/attach/images/%s/%s/%s', $this->module_srl, $document_srl, $file_info['name']); + if(file_exists($moved_filename)) continue; + + $oFileController->insertFile($file_info, $this->module_srl, $document_srl, 0, true); + } + $obj->uploaded_count += $file_count; + } + } + $obj->content = str_replace($uploaded_target_path,sprintf('/files/attach/images/%s/%s/%s', $this->module_srl, $document_srl, $filename), $obj->content); + + $oDocumentController = &getController('document'); + $output = $oDocumentController->updateDocument($oDocument,$obj); + + if(!$output->toBool()) { + $content = getXmlRpcFailure(1, $output->getMessage()); + } else { + $content = getXmlRpcResponse(Context::getRequestUri().$this->mid.'/'.$document_srl); + FileHandler::removeDir($tmp_uploaded_path); + } + printContent($content); - } - break; + break; - // 아무런 요청이 없을 경우 RSD 출력 - default : + // 글삭제 + case 'blogger.deletePost' : + $tmp_val = $params[0]->value->string->body; + $tmp_arr = explode('/', $tmp_val); + $document_srl = array_pop($tmp_arr); - $homepagelink = getUrl('','mid',$this->mid); - $api_url = sprintf('%s%s/api', Context::getRequestUri(), $this->mid); - $content = <<getDocument($document_srl); + + // 글 삭제 권한 체크 + if(!$oDocument->isGranted()) { + $content = getXmlRpcFailure(1, 'no permission'); + break; + } + + $oDocumentController = &getController('document'); + $output = $oDocumentController->deleteDocument($document_srl); + if(!$output->toBool()) $content = getXmlRpcFailure(1, $output->getMessage()); + else $content = getXmlRpcResponse(true); + + printContent($content); + break; + + // 최신글 받기 + case 'metaWeblog.getRecentPosts' : + // 목록을 구하기 위한 옵션 + $args->module_srl = $this->module_srl; ///< 현재 모듈의 module_srl + $args->page = 1; + $args->list_count = 20; + $args->sort_index = 'list_order'; ///< 소팅 값 + $output = $oDocumentModel->getDocumentList($args); + if(!$output->toBool() || !$output->data) { + $content = getXmlRpcFailure(1, 'post not founded'); + printContent($content); + } else { + $oContext = &Context::getInstance(); + + + $posts = array(); + foreach($output->data as $key => $oDocument) { + $post = null; + $post->link = $post->permaLink = getUrl('','mid',$this->mid,'document_srl',$oDocument->document_srl); + $post->userid = $oDocument->get('user_id'); + $post->mt_allow_pings = 0; + $post->mt_allow_comments = $oDocument->allowComment()=='Y'?1:0; + $post->description = htmlspecialchars($oContext->transContent($oDocument->get('content'))); + $post->postid = $oDocument->document_srl; + $post->title = htmlspecialchars($oDocument->get('title')); + + $year = substr($oDocument->get('regdate'),0,4); + $month = substr($oDocument->get('regdate'),4,2); + $day = substr($oDocument->get('regdate'),6,2); + $hour = substr($oDocument->get('regdate'),8,2); + $min = substr($oDocument->get('regdate'),10,2); + $sec = substr($oDocument->get('regdate'),12,2); + $time = mktime($hour,$min,$sec,$month,$day,$year); + $post->dateCreated = gmdate("D, d M Y H:i:s", $time); + $posts[] = $post; + } + $content = getXmlRpcResponse($posts); + printContent($content); + } + break; + + // 아무런 요청이 없을 경우 RSD 출력 + default : + + $homepagelink = getUrl('','mid',$this->mid); + $api_url = sprintf('%s%s/api', Context::getRequestUri(), $this->mid); + $content = << @@ -344,7 +387,8 @@ RSDContent; - printContent($content); - break; + printContent($content); + break; + } } ?> diff --git a/addons/blogapi/blogapi.func.php b/addons/blogapi/blogapi.func.php index 05c1f6054..c1334dfd7 100644 --- a/addons/blogapi/blogapi.func.php +++ b/addons/blogapi/blogapi.func.php @@ -7,6 +7,7 @@ * @brief blogapi구현을 위한 함수 모음집 **/ + // 오류 표시 function getXmlRpcFailure($error, $message) { return sprintf( @@ -16,6 +17,7 @@ ); } + // 결과 표시 function getXmlRpcResponse($params) { $buff = ''."\n"; $buff .= _getEncodedVal($params); @@ -24,6 +26,7 @@ return $buff; } + // 인코딩 처리 function _getEncodedVal($val, $is_sub_set = false) { if(is_int($val)) $buff = sprintf("%d", $val); elseif(is_double($val)) $buff = sprintf("%f", $val); @@ -50,6 +53,7 @@ return $buff; } + // 결과 출력 function printContent($content) { header("Content-Type: text/xml; charset=UTF-8"); header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); diff --git a/classes/context/Context.class.php b/classes/context/Context.class.php index 9dc2ba389..7c391a462 100644 --- a/classes/context/Context.class.php +++ b/classes/context/Context.class.php @@ -380,7 +380,7 @@ * @brief GET/POST방식일 경우 처리 **/ function _setRequestArgument() { - if($this->_getRequestMethod() == 'XMLRPC') return; + //if($this->_getRequestMethod() == 'XMLRPC') return; if(!count($_REQUEST)) return; foreach($_REQUEST as $key => $val) { diff --git a/config/config.inc.php b/config/config.inc.php index eb2102ffc..59c6c541e 100644 --- a/config/config.inc.php +++ b/config/config.inc.php @@ -15,7 +15,7 @@ * 0 : files/_debug_message.php 에 연결하여 출력 * 1 : Response Method 가 XML 형식이 아닐 경우 브라우저에 최상단에 주석으로 표시 **/ - define('__DEBUG_OUTPUT__', 1); + define('__DEBUG_OUTPUT__', 0); /** * @brief 디버깅 메세지 출력 @@ -24,7 +24,7 @@ * 2 : 1 + DB 쿼리 * 3 : 모든 로그 **/ - define('__DEBUG__', 1); + define('__DEBUG__', 0); /** * @brief 간단하게 사용하기 위한 함수 정의한 파일 require diff --git a/config/func.inc.php b/config/func.inc.php index 6c1cf1c76..7e75cf4cf 100644 --- a/config/func.inc.php +++ b/config/func.inc.php @@ -184,7 +184,7 @@ * tail -f ./files/_debug_message.php 하여 계속 살펴 볼 수 있다 **/ function debugPrint($buff = null, $display_line = true) { - if(!$buff) return; + //if(!$buff) return; if(__DEBUG_OUTPUT__==1) { print sprintf("", print_r($buff,true)); diff --git a/modules/member/tpl/insert_member.html b/modules/member/tpl/insert_member.html index 2f674300c..fc9dcd116 100644 --- a/modules/member/tpl/insert_member.html +++ b/modules/member/tpl/insert_member.html @@ -3,7 +3,7 @@
- +