copy sandbox to trunk, tag 1.4.0.6

git-svn-id: http://xe-core.googlecode.com/svn/trunk@7309 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
haneul 2010-02-23 07:57:58 +00:00
commit eebda8ea36
8 changed files with 55 additions and 62 deletions

View file

@ -642,13 +642,25 @@
$column_list[] = $name;
} elseif(strpos($name,'.')===false && strpos($name,'(')===false) {
$name = sprintf($click_count,$name);
if($alias) $column_list[] = sprintf('"%s" as %s', $name, $alias);
if ($alias) $column_list[] = sprintf('"%s" as %s', $name, $alias);
else $column_list[] = sprintf('"%s"',$name);
} else {
if(strpos($name,'.')!=false) {
list($prefix, $name) = explode('.',$name);
$prefix = sprintf('"%s"',$prefix);
$name = ($name == '*') ? $name : sprintf('"%s"',$name);
if (strpos ($prefix, "(")) {
$tmpval = explode ("(", $prefix);
$tmpval[1] = sprintf ('"%s"', $tmpval[1]);
$prefix = implode ("(", $tmpval);
$flag_of_function = true;
}
else $prefix = sprintf('"%s"',$prefix);
if ($flag_of_function === true) {
$tmpval = explode (")", $name);
$tmpval[0] = sprintf ('"%s"', $tmpval[0]);
$name = implode (")", $tmpval);
$flag_of_function = false;
}
else $name = ($name == '*') ? $name : sprintf('"%s"',$name);
$column_list[] = sprintf($click_count,sprintf('%s.%s', $prefix, $name)) . ($alias ? sprintf(' as %s',$alias) : '');

View file

@ -325,7 +325,7 @@
$type = $output->column_type[$key];
// type 값이 null 일때는 $key값이 alias인 경우라 실제 column 이름을 찾아 type을 구함
if($type == null) {
if($type == null && $output->columns && count($output->columns)) {
foreach($output->columns as $cols) {
if($cols['alias'] == $key) {
// table.column 형식인지 정규식으로 검사 함
@ -992,7 +992,7 @@
$type = $output->column_type[$key];
// type 값이 null 일때는 $key값이 alias인 경우라 실제 column 이름을 찾아 type을 구함
if($type == null) {
if($type == null && $output->columns && count($output->columns)) {
foreach($output->columns as $cols) {
if($cols['alias'] == $key) {
// table.column 형식인지 정규식으로 검사 함

View file

@ -13,7 +13,7 @@
* @brief XE의 전체 버전 표기
* 파일의 수정이 없더라도 공식 릴리즈시에 수정되어 함께 배포되어야
**/
define('__ZBXE_VERSION__', '1.4.0.5');
define('__ZBXE_VERSION__', '1.4.0.6');
/**
* @brief zbXE가 설치된 장소의 base path를 구함

View file

@ -688,6 +688,7 @@
if($src) {
$url_info = parse_url($src);
$query = $url_info['query'];
$query = str_replace("&","&",$query);
$queries = explode('&', $query);
$cnt = count($queries);
for($i=0;$i<$cnt;$i++) {
@ -860,4 +861,29 @@
return false;
}
function stripEmbedTagForAdmin(&$content, $writer_member_srl)
{
if(!Context::get('is_logged')) return;
$oModuleModel = &getModel('module');
$logged_info = Context::get('logged_info');
if($writer_member_srl != $logged_info->member_srl && ($logged_info->is_admin == "Y" || $oModuleModel->isSiteAdmin($logged_info)) )
{
if($writer_member_srl)
{
$oMemberModel =& getModel('member');
$member_info = $oMemberModel->getMemberInfoByMemberSrl($writer_member_srl);
if($member_info->is_admin == "Y")
{
return;
}
}
$security_msg = "<div style='border: 1px solid #DDD; background: #FAFAFA; text-align:center; margin: 1em 0;'><p style='margin: 1em;'>".Context::getLang('security_warning_embed')."</p></div>";
$content = preg_replace('/<embed[^>]+>(\s*<\/embed>)?/is', $security_msg, $content);
$content = preg_replace('/<img[^>]+editor_component="multimedia_link"[^>]*>(\s*<\/img>)?/is', $security_msg, $content);
}
return;
}
?>

View file

@ -160,32 +160,6 @@
return htmlspecialchars($this->get('nick_name'));
}
function stripEmbedTagForAdmin(&$content)
{
if(!Context::get('is_logged')) return;
$oModuleModel = &getModel('module');
$logged_info = Context::get('logged_info');
$writer_member_srl = $this->get('member_srl');
if($writer_member_srl != $logged_info->member_srl && ($logged_info->is_admin == "Y" || $oModuleModel->isSiteAdmin($logged_info)) )
{
if($writer_member_srl)
{
$oMemberModel =& getModel('member');
$member_info = $oMemberModel->getMemberInfoByMemberSrl($writer_member_srl);
if($member_info->is_admin == "Y")
{
return;
}
}
$security_msg = "<div style='border: 1px solid #DDD; background: #FAFAFA; text-align:center; margin: 1em 0;'><p style='margin: 1em;'>".Context::getLang('security_warning_embed')."</p></div>";
$content = preg_replace('/<embed[^>]+>(\s*<\/embed>)?/is', $security_msg, $content);
$content = preg_replace('/<img[^>]+editor_component="multimedia_link"[^>]*>(\s*<\/img>)?/is', $security_msg, $content);
}
return;
}
function getContentText($strlen = 0) {
if($this->isSecret() && !$this->isAccessible()) return Context::getLang('msg_is_secret');
@ -200,7 +174,7 @@
if($this->isSecret() && !$this->isAccessible()) return Context::getLang('msg_is_secret');
$content = $this->get('content');
$this->stripEmbedTagForAdmin($content);
stripEmbedTagForAdmin($content, $this->get('member_srl'));
// 이 댓글을... 팝업메뉴를 출력할 경우
if($add_popup_menu && Context::get('is_logged') ) {

View file

@ -14,6 +14,7 @@
<condition operation="more" column="comments_list.arrange" default="0" pipe="and" />
</conditions>
<navigation>
<index var="sort_index" default="comments.comment_srl" order="asc" />
<list_count var="list_count" default="list_count" />
<page_count var="page_count" default="10" />
<page var="page" default="1" />

View file

@ -43,7 +43,10 @@
// message_srl이 있으면 내용 추출
if($message_srl) {
$message = $oCommunicationModel->getSelectedMessage($message_srl);
if($message->message_srl == $message_srl && ($message->receiver_srl == $logged_info->member_srl || $message->sender_srl == $logged_info->member_srl) ) Context::set('message', $message);
if($message->message_srl == $message_srl && ($message->receiver_srl == $logged_info->member_srl || $message->sender_srl == $logged_info->member_srl) ) {
stripEmbedTagForAdmin($message->content, $message->sender_srl);
Context::set('message', $message);
}
}
// 목록 추출
@ -73,7 +76,10 @@
// 새 쪽지를 가져옴
$message = $oCommunicationModel->getNewMessage();
if($message) Context::set('message', $message);
if($message) {
stripEmbedTagForAdmin($message->content, $message->sender_srl);
Context::set('message', $message);
}
// 플래그 삭제
$flag_path = './files/communication_extra_info/new_message_flags/'.getNumberingPath($logged_info->member_srl);

View file

@ -251,32 +251,6 @@
return htmlspecialchars($content);
}
function stripEmbedTagForAdmin(&$content)
{
if(!Context::get('is_logged')) return;
$oModuleModel = &getModel('module');
$logged_info = Context::get('logged_info');
$writer_member_srl = $this->get('member_srl');
if($writer_member_srl != $logged_info->member_srl && ($logged_info->is_admin == "Y" || $oModuleModel->isSiteAdmin($logged_info)) )
{
if($writer_member_srl)
{
$oMemberModel =& getModel('member');
$member_info = $oMemberModel->getMemberInfoByMemberSrl($writer_member_srl);
if($member_info->is_admin == "Y")
{
return;
}
}
$security_msg = "<div style='border: 1px solid #DDD; background: #FAFAFA; text-align:center; margin: 1em 0;'><p style='margin: 1em;'>".Context::getLang('security_warning_embed')."</p></div>";
$content = preg_replace('/<embed[^>]+>(\s*<\/embed>)?/is', $security_msg, $content);
$content = preg_replace('/<img[^>]+editor_component="multimedia_link"[^>]*>(\s*<\/img>)?/is', $security_msg, $content);
}
return;
}
function getContent($add_popup_menu = true, $add_content_info = true, $resource_realpath = false, $add_xe_content_class = true) {
if(!$this->document_srl) return;
@ -285,7 +259,7 @@
$_SESSION['accessible'][$this->document_srl] = true;
$content = $this->get('content');
$this->stripEmbedTagForAdmin($content);
stripEmbedTagForAdmin($content, $this->get('member_srl'));
// rewrite모듈을 사용하면 링크 재정의
$oContext = &Context::getInstance();