335 lines
7.7 KiB
PHP
335 lines
7.7 KiB
PHP
<?
|
|
class Banner {
|
|
var $DB;
|
|
var $_LIST_NUM = 20;
|
|
var $_PDS = _PDS;
|
|
var $_PDS_SUB = "/banner/";
|
|
|
|
|
|
# 생성자
|
|
function Banner($db) {
|
|
$this->DB = $db;
|
|
$this->_PDS .= $this->_PDS_SUB;
|
|
}
|
|
|
|
#등록#
|
|
function set_insert($argu){
|
|
|
|
$order_num = $this->DB->getOne("select coalesce(max(order_num),0)+1 from ".TABLE_BANNER." where (division = '".$argu["division"]."')");
|
|
if (DB::isError($res)) {
|
|
go_url("","등록에 실패했습니다!\\n[".$res->getMessage()."]");
|
|
exit;
|
|
}
|
|
|
|
//파일 업로드
|
|
/*if($argu["division"] == "T"){
|
|
$_banner_thumb = thumb_upload($_FILES['image'],'/pds/banner/','O',$argu["division"]);
|
|
}
|
|
else if($argu["division"] == "R"){
|
|
$_banner_thumb = thumb_upload($_FILES['image'],'/pds/banner/','O',$argu["division"]);
|
|
}*/
|
|
$_banner_thumb = thumb_upload($_FILES['image'],'/pds/banner/','O',$argu["division"]);
|
|
|
|
|
|
$data = array(
|
|
"division" => $argu["division"],
|
|
"image" => $_banner_thumb,
|
|
"order_num" => $order_num,
|
|
"url" => $argu["url"],
|
|
"target" => $argu["target"],
|
|
"published" => $argu["published"],
|
|
"title" => $argu["title"],
|
|
"description" => $argu["description"],
|
|
"url_title" => $argu["url_title"],
|
|
"text_use" => $argu["text_use"],
|
|
"gubun" => $argu["gubun"]
|
|
);
|
|
|
|
$sth = $this->DB->autoPrepare(TABLE_BANNER, array_keys($data), DB_AUTOQUERY_INSERT);
|
|
$res = $this->DB->execute($sth, array_values($data));
|
|
|
|
if (DB::isError($res)) {
|
|
go_url("", $res->getMessage());
|
|
exit;
|
|
}
|
|
|
|
$b_id=mysql_insert_id();
|
|
|
|
$data=array_merge($data,array("b_id"=>$b_id));
|
|
|
|
return $data;
|
|
|
|
}
|
|
|
|
|
|
#수정#
|
|
function set_modify($argu){
|
|
|
|
//파일 업로드
|
|
/*if($argu["division"] == "T"){
|
|
if($_FILES['image']['tmp_name']){
|
|
$_banner_thumb = thumb_upload($_FILES['image'],'/pds/banner/','O',$argu["division"]);
|
|
unlink($_SERVER["DOCUMENT_ROOT"]."/pds/banner/".$argu["tmp_image"]);
|
|
}
|
|
else{
|
|
$_banner_thumb = $argu["tmp_image"];
|
|
}
|
|
}
|
|
else if($argu["division"] == "R"){
|
|
if($_FILES['image']['tmp_name']){
|
|
$_banner_thumb = thumb_upload($_FILES['image'],'/pds/banner/','O',$argu["division"]);
|
|
unlink($_SERVER["DOCUMENT_ROOT"]."/pds/banner/".$argu["tmp_image"]);
|
|
}
|
|
else{
|
|
$_banner_thumb = $argu["tmp_image"];
|
|
}
|
|
}*/
|
|
if($_FILES['image']['tmp_name']){
|
|
$_banner_thumb = thumb_upload($_FILES['image'],'/pds/banner/','O',$argu["division"]);
|
|
unlink($_SERVER["DOCUMENT_ROOT"]."/pds/banner/".$argu["tmp_image"]);
|
|
}
|
|
else{
|
|
$_banner_thumb = $argu["tmp_image"];
|
|
}
|
|
|
|
$data = array(
|
|
"division" => $argu["division"],
|
|
"image" => $_banner_thumb,
|
|
"published" => $argu["published"],
|
|
"url" => $argu["url"],
|
|
"target" => $argu["target"],
|
|
"title" => $argu["title"],
|
|
"description" => $argu["description"],
|
|
"url_title" => $argu["url_title"],
|
|
"text_use" => $argu["text_use"],
|
|
"gubun" => $argu["gubun"]
|
|
);
|
|
|
|
$res = $result = $this->DB->autoExecute(TABLE_BANNER, $data, DB_AUTOQUERY_UPDATE, " b_id = '{$argu['b_id']}' ");
|
|
|
|
if (DB::isError($res)) {
|
|
go_url("", $res->getMessage());
|
|
exit;
|
|
}
|
|
return true;
|
|
}
|
|
|
|
|
|
#삭제#
|
|
function set_delete($b_id){
|
|
$_row = $this -> get_view($b_id);
|
|
|
|
if($_row["image"]){
|
|
unlink($_SERVER["DOCUMENT_ROOT"]."/pds/banner/".$_row["image"]);
|
|
}
|
|
|
|
$query = "DELETE FROM ".TABLE_BANNER." WHERE b_id = '".$b_id."'";
|
|
|
|
$res = $this->DB->query($query);
|
|
if (DB::isError($res)) {
|
|
go_url("", $res->getMessage());
|
|
exit;
|
|
}
|
|
|
|
return true;
|
|
}
|
|
|
|
|
|
#리스트삭제#
|
|
function set_delete_list($argu){
|
|
if(count($argu["chk"]) > 0){
|
|
for($i = 0; $i < count($argu["chk"]); $i++){
|
|
$b_id = $argu["chk"][$i];
|
|
$_list = $this -> set_delete($b_id);
|
|
}
|
|
return true;
|
|
}
|
|
else{
|
|
go_url("","삭제할데이터가 없습니다.");
|
|
exit;
|
|
}
|
|
}
|
|
|
|
|
|
#리스트#
|
|
function get_list($argu,&$total,$limit = true){
|
|
global $_adminpage;
|
|
|
|
$addwhere = " where (1=1) ";
|
|
if($argu["division"]){$addwhere .= " and (division = '".$argu["division"]."')";}
|
|
|
|
/// 검색쿼리
|
|
if($argu['s_string']){ $addwhere .= " and title like '%{$argu['s_string']}%' "; }
|
|
|
|
if($argu['gubun']){ $addwhere .= " and gubun = '{$argu['gubun']}' "; }
|
|
|
|
$query = "
|
|
select
|
|
count(*)
|
|
from
|
|
".TABLE_BANNER."
|
|
".$addwhere;
|
|
|
|
$res = $total = $this->DB->getOne($query);
|
|
if (DB::isError($res)) {
|
|
go_url("", $res->getMessage());
|
|
exit;
|
|
}
|
|
|
|
$query = "
|
|
select
|
|
*
|
|
from
|
|
".TABLE_BANNER."
|
|
".$addwhere."
|
|
order by
|
|
order_num asc
|
|
";
|
|
if($limit)
|
|
$query .= "
|
|
limit ".($argu['p']-1)*$this->_LIST_NUM.",".$this->_LIST_NUM;
|
|
|
|
$res = $list =& $this->DB->getAll($query, array(), DB_FETCHMODE_ASSOC);
|
|
|
|
if (DB::isError($res)) {
|
|
go_url("", $res->getMessage());
|
|
exit;
|
|
}
|
|
|
|
return $list;
|
|
|
|
}
|
|
|
|
|
|
#상세보기
|
|
function get_view($b_id){
|
|
$query = "SELECT
|
|
*
|
|
FROM ".TABLE_BANNER."
|
|
where b_id = '".$b_id."'";
|
|
|
|
$res = $row = $this->DB->getRow($query,DB_FETCHMODE_ASSOC);
|
|
if (DB::isError($res)) {
|
|
go_url("", $res->getMessage());
|
|
exit;
|
|
}
|
|
|
|
return $row;
|
|
|
|
}
|
|
|
|
|
|
#메인비주얼리스트#
|
|
function get_main($division,$lang){
|
|
$addwhere = "WHERE (published = 'Y') and (division = '".$division."') and (gubun = '".$lang."')";
|
|
|
|
$query = "SELECT
|
|
*
|
|
FROM ".TABLE_BANNER."
|
|
".$addwhere."
|
|
ORDER BY order_num asc";
|
|
|
|
$res = $list =& $this->DB->getAll($query, array(), DB_FETCHMODE_ASSOC);
|
|
|
|
if (DB::isError($res)) {
|
|
go_url("", $res->getMessage());
|
|
exit;
|
|
}
|
|
|
|
return $list;
|
|
}
|
|
|
|
|
|
|
|
|
|
/*****
|
|
*정렬값을 수정한다.
|
|
*****/
|
|
function set_order($argu){
|
|
|
|
if($argu["s_mode"] == "up"){
|
|
|
|
$res = $b_id = $this->DB->getOne("select b_id from ".TABLE_BANNER." where (order_num < '".$argu["order_num"]."') and (division = '".$argu["division"]."') order by order_num desc limit 1");
|
|
|
|
if($b_id){
|
|
|
|
$query = "
|
|
update ".TABLE_BANNER."
|
|
set
|
|
order_num = order_num - 1
|
|
where
|
|
b_id = '".$argu["b_id"]."'
|
|
";
|
|
$res = $this->DB->query($query);
|
|
if (DB::isError($res)) {
|
|
go_url("", $res->getMessage());
|
|
exit;
|
|
}
|
|
|
|
$query1 = "
|
|
update ".TABLE_BANNER."
|
|
set
|
|
order_num = order_num + 1
|
|
where
|
|
b_id = '".$b_id."'
|
|
";
|
|
|
|
$res1 = $this->DB->query($query1);
|
|
if (DB::isError($res1)) {
|
|
go_url("", $res1->getMessage());
|
|
exit;
|
|
}
|
|
|
|
}
|
|
else{
|
|
go_url("", "정열값이 최상위 입니다.");
|
|
exit;
|
|
}
|
|
|
|
}
|
|
else if($argu["s_mode"] == "down"){
|
|
$res = $b_id = $this->DB->getOne("select b_id from ".TABLE_BANNER." where (order_num > '".$argu["order_num"]."') and (division = '".$argu["division"]."') order by order_num asc limit 1");
|
|
|
|
if($b_id){
|
|
|
|
$query = "
|
|
update ".TABLE_BANNER."
|
|
set
|
|
order_num = order_num + 1
|
|
where
|
|
b_id = '".$argu["b_id"]."'
|
|
";
|
|
$res = $this->DB->query($query);
|
|
if (DB::isError($res)) {
|
|
go_url("", $res->getMessage());
|
|
exit;
|
|
}
|
|
|
|
$query1 = "
|
|
update ".TABLE_BANNER."
|
|
set
|
|
order_num = order_num - 1
|
|
where
|
|
b_id = '".$b_id."'
|
|
";
|
|
|
|
$res1 = $this->DB->query($query1);
|
|
if (DB::isError($res1)) {
|
|
go_url("", $res1->getMessage());
|
|
exit;
|
|
}
|
|
|
|
}
|
|
else{
|
|
go_url("", "정열값이 최하위 입니다.");
|
|
exit;
|
|
}
|
|
}
|
|
|
|
return true;
|
|
}
|
|
|
|
|
|
|
|
}
|
|
?>
|