물어봐야지 봐야지 하면서도 나이 탓?인지 잘 잊어버리고 물어보지를 못했었는데 오늘 아침에 생각이 나길래 이번에는 미루지 않고 질답에 글 남겨 봅니다. xe를 사용하면서 좀 불편했던 것이 "새글 표시 시간"이 게시판의 글이나 위젯의 설정 기능이나 팝업모듈의 설정 기능들이 전부 같은 방식으로 시간이 주어지는 것 같습니다. 이 "NEW"표시를 글 등록시간을 기준으로 하는 것과 날짜를 기준으로 하는 것으로 두 가지 설정기능이 있었으면 좋을텐데(이때 날짜를 기준으로 한다는 건 등록시간과 상관없이 날이 바뀌면 무조건 new표시가 없어지거나 글이 삭제되거나 팝업창이 없어지는 걸 말합니다.) "등록글삭제 애드온"과 xe스쿨의 팝업모듈도 날짜기준으로는 설정을 할 수가 있는데 이 경우도 글 등록 시점으로부터 24시간을 1일로 잡고 있기 때문에 날짜가 바뀌었는데도 글이 삭제되지 않고 24시간을 기다리고 있더군요. 밤11시59분59초에 글을 등록 하거나 팝업창을 띄워도 그 실행기간을 1일로 설정했다면 24시00분00초가 되는 순간 없어지는 기능도 필요할 것 같은데 실력이 없어서 생각날때마다 혹시나 하고 구글링만 하고 다니고 있습니다. 감사합니다.^^
-
?
아래는(송동우님의) 게시글 삭제애드온php입니다.(이 애드온은 삭제시기를 "시간"과 "일" 두가지중 한가지를 선택할수 있게 되어있습니다. 그런데 여기서 "일"을 선택한 후 등록기간이 날짜만 바뀌면 삭제되도록 하고 싶은데 등록기간을 하루로 잡아놓으면 게시글 등록시점부터 24시간을 꽉 채워야 하루가 되어 삭제가 됩니다. 등록시점과는 상관없이 날짜만 바뀌면 삭제되게 하고싶은데 php를 보면 능력없는 제 눈으로는마땅히 수정할 만한 부분이 보이지 않네요 ㅠㅠ
======================
<?php
if(!defined("__XE__")) exit();
if($called_position!='before_module_proc') return;
if($this->module != 'board' && $this->module != 'beluxe') return;
$act = Context::get('act');
if(($this->module == 'board' || $this->module == 'beluxe') && $act) return;
$inputNum = preg_match('/[^0-9]/', $addon_info->inputNum)?'':$addon_info->inputNum;
$h_or_d = $addon_info->h_or_d;
$regOrLast = $addon_info->regOrLast;
if(!$inputNum) return;
$args->module_srl = $this->module_srl;
$output = executeQuery('addons.autoDel.autoDelGetList', $args);
$oDocumentController = &getController('document');
if($h_or_d == 'listCount')
{
if(count($output->data)>$inputNum)
{
$delCount = count($output->data) - $inputNum;
foreach($output->data as $key=>$val)
{
if($regOrLast=="regdate"&&$val->regdate<=date("YmdHis", strtotime("-".$inputNum.$unit))) $temp[] = $val->regdate."/".$val->document_srl;
else if($regOrLast=="lastUpdate"&&$val->last_update<=date("YmdHis", strtotime("-".$inputNum.$unit))) $temp[] = $val->last_update."/".$val->document_srl;
}
sort($temp);
foreach($temp as $key=>$val)
{
$breakCount++;
$val = explode("/", $val);
$oDocumentController->deleteDocument($val[1], true);
if($breakCount==$delCount) break;
}
}
}
else
{
if($h_or_d=='hour') $unit = 'hour';
else $unit = 'day';
foreach($output->data as $key=>$val)
{
if($regOrLast=="regdate"&&$val->regdate<=date("YmdHis", strtotime("-".$inputNum.$unit))) $temp[] = $val->regdate."/".$val->document_srl;
else if($regOrLast=="lastUpdate"&&$val->last_update<=date("YmdHis", strtotime("-".$inputNum.$unit))) $temp[] = $val->last_update."/".$val->document_srl;
}
sort($temp);
foreach($temp as $key=>$val)
{
$val = explode("/", $val);
$oDocumentController->deleteDocument($val[1], true);
}
}
?>=======================
모듈을 손봐야하는건가요?(어려워요) 아니면 ymdhis에서 his만 삭제하면 될까요
-
?
date("YmdHis") 를 date("Ymd").'000000' 로 교체하면 되지 않을까요? 잘 안되면 할수 없구요...
-
?
오늘밤 자정 무렵에 한번 시도를 해봐야겠습니다.^^