내용관리 html_purifier 사용 선택할 수 있는 설정 추가

This commit is contained in:
chicpro
2014-03-28 16:11:41 +09:00
parent 5ce0ad1221
commit 83fe14288a
6 changed files with 103 additions and 11 deletions

View File

@ -6,9 +6,18 @@ include_once(G5_EDITOR_LIB);
auth_check($auth[$sub_menu], "w");
// 상단, 하단 파일경로 필드 추가
$sql = " ALTER TABLE `{$g5['content_table']}` ADD `co_include_head` VARCHAR( 255 ) NOT NULL ,
ADD `co_include_tail` VARCHAR( 255 ) NOT NULL ";
sql_query($sql, false);
if(!sql_query(" select co_include_head from {$g5['content_table']} limit 1 ", false)) {
$sql = " ALTER TABLE `{$g5['content_table']}` ADD `co_include_head` VARCHAR( 255 ) NOT NULL ,
ADD `co_include_tail` VARCHAR( 255 ) NOT NULL ";
sql_query($sql, false);
}
// html purifier 사용여부 필드
if(!sql_query(" select co_tag_filter_use from {$g5['content_table']} limit 1 ", false)) {
sql_query(" ALTER TABLE `{$g5['content_table']}`
ADD `co_tag_filter_use` tinyint(4) NOT NULL DEFAULT '0' AFTER `co_content` ", true);
sql_query(" update {$g5['content_table']} set co_tag_filter_use = '1' ");
}
$html_title = "내용";
$g5['title'] = $html_title.' 관리';
@ -60,6 +69,16 @@ include_once (G5_ADMIN_PATH.'/admin.head.php');
<th scope="row">내용</th>
<td><?php echo editor_html('co_content', $co['co_content']); ?></td>
</tr>
<tr>
<th scope="row"><label for="co_tag_filter_use">태그 필터링 사용</label></th>
<td>
<?php echo help("내용에서 iframe 등의 태그를 사용하려면 사용안함으로 선택해 주십시오."); ?>
<select name="co_tag_filter_use" id="co_tag_filter_use">
<option value="1"<?php echo get_selected(1, $co['co_tag_filter_use']); ?>>사용함</option>
<option value="0"<?php echo get_selected(0, $co['co_tag_filter_use']); ?>>사용안함</option>
</select>
</td>
</tr>
<tr>
<th scope="row"><label for="co_include_head">상단 파일 경로</label></th>
<td>

View File

@ -16,11 +16,12 @@ else
if ($co_himg_del) @unlink(G5_DATA_PATH."/content/{$co_id}_h");
if ($co_timg_del) @unlink(G5_DATA_PATH."/content/{$co_id}_t");
$sql_common = " co_include_head = '$co_include_head',
co_include_tail = '$co_include_tail',
co_html = '$co_html',
co_subject = '$co_subject',
co_content = '$co_content' ";
$sql_common = " co_include_head = '$co_include_head',
co_include_tail = '$co_include_tail',
co_html = '$co_html',
co_tag_filter_use = '$co_tag_filter_use',
co_subject = '$co_subject',
co_content = '$co_content' ";
if ($w == "")
{

View File

@ -6,6 +6,11 @@ if( !isset($g5['content_table']) ){
die('<meta charset="utf-8">관리자 모드에서 게시판관리->내용 관리를 먼저 확인해 주세요.');
}
if (G5_IS_MOBILE) {
include_once(G5_MOBILE_PATH.'/content.php');
return;
}
// 내용
$sql = " select * from {$g5['content_table']} where co_id = '$co_id' ";
$co = sql_fetch($sql);
@ -19,7 +24,7 @@ if ($co['co_include_head'])
else
include_once('./_head.php');
$str = conv_content($co['co_content'], $co['co_html']);
$str = conv_content($co['co_content'], $co['co_html'], $co['co_tag_filter_use']);
// $src 를 $dst 로 변환
unset($src);

View File

@ -801,6 +801,7 @@ CREATE TABLE IF NOT EXISTS `g5_content` (
`co_html` tinyint(4) NOT NULL DEFAULT '0',
`co_subject` varchar(255) NOT NULL DEFAULT '',
`co_content` longtext NOT NULL,
`co_tag_filter_use` tinyint(4) NOT NULL DEFAULT '0',
`co_hit` int(11) NOT NULL DEFAULT '0',
`co_include_head` varchar(255) NOT NULL,
`co_include_tail` varchar(255) NOT NULL,

View File

@ -510,7 +510,7 @@ function conv_subject($subject, $len, $suffix='')
}
// 내용을 변환
function conv_content($content, $html)
function conv_content($content, $html, $filter=true)
{
global $config, $board;
@ -536,7 +536,9 @@ function conv_content($content, $html)
}
$content = preg_replace($source, $target, $content);
$content = html_purifier($content);
if($filter)
$content = html_purifier($content);
}
else // text 이면
{

64
mobile/content.php Normal file
View File

@ -0,0 +1,64 @@
<?php
include_once('./_common.php');
// 내용
$sql = " select * from {$g5['content_table']} where co_id = '$co_id' ";
$co = sql_fetch($sql);
if (!$co['co_id'])
alert('등록된 내용이 없습니다.');
$g5['title'] = $co['co_subject'];
include_once('./_head.php');
$str = conv_content($co['co_content'], $co['co_html'], $co['co_tag_filter_use']);
// $src 를 $dst 로 변환
unset($src);
unset($dst);
$src[] = "/{{쇼핑몰명}}|{{홈페이지제목}}/";
//$dst[] = $default[de_subject];
$dst[] = $config['cf_title'];
$src[] = "/{{회사명}}|{{상호}}/";
$dst[] = $default['de_admin_company_name'];
$src[] = "/{{대표자명}}/";
$dst[] = $default['de_admin_company_owner'];
$src[] = "/{{사업자등록번호}}/";
$dst[] = $default['de_admin_company_saupja_no'];
$src[] = "/{{대표전화번호}}/";
$dst[] = $default['de_admin_company_tel'];
$src[] = "/{{팩스번호}}/";
$dst[] = $default['de_admin_company_fax'];
$src[] = "/{{통신판매업신고번호}}/";
$dst[] = $default['de_admin_company_tongsin_no'];
$src[] = "/{{사업장우편번호}}/";
$dst[] = $default['de_admin_company_zip'];
$src[] = "/{{사업장주소}}/";
$dst[] = $default['de_admin_company_addr'];
$src[] = "/{{운영자명}}|{{관리자명}}/";
$dst[] = $default['de_admin_name'];
$src[] = "/{{운영자e-mail}}|{{관리자e-mail}}/i";
$dst[] = $default['de_admin_email'];
$src[] = "/{{정보관리책임자명}}/";
$dst[] = $default['de_admin_info_name'];
$src[] = "/{{정보관리책임자e-mail}}|{{정보책임자e-mail}}/i";
$dst[] = $default['de_admin_info_email'];
$str = preg_replace($src, $dst, $str);
?>
<!-- 등록내용 시작 { -->
<article id="ctt" class="ctt_<?php echo $co_id; ?>">
<header>
<h1><?php echo $g5['title']; ?></h1>
</header>
<div id="ctt_con">
<?php echo $str; ?>
</div>
</article>
<!-- } 등록내용 끝 -->
<?php
include_once('./_tail.php');
?>