From 3f87cba25747fd905459860c8e7be797b279ed43 Mon Sep 17 00:00:00 2001 From: BJRambo Date: Sat, 19 Mar 2016 15:55:06 +0900 Subject: [PATCH] add flag cache files --- .../ncenterlite/ncenterlite.controller.php | 28 ++++++++++++++++++- modules/ncenterlite/ncenterlite.model.php | 13 ++++++++- 2 files changed, 39 insertions(+), 2 deletions(-) diff --git a/modules/ncenterlite/ncenterlite.controller.php b/modules/ncenterlite/ncenterlite.controller.php index c7bc678ab..439fce2fb 100644 --- a/modules/ncenterlite/ncenterlite.controller.php +++ b/modules/ncenterlite/ncenterlite.controller.php @@ -653,7 +653,8 @@ class ncenterliteController extends ncenterlite $oNcenterliteModel = getModel('ncenterlite'); // 알림 목록 가져오기 - $_output = $oNcenterliteModel->getMyNotifyList(); + $logged_info = Context::get('logged_info'); + $_output = $oNcenterliteModel->getMyNotifyList($logged_info->member_srl); // 알림 메시지가 없어도 항상 표시하게 하려면 이 줄을 제거 또는 주석 처리하세요. if(!$_output->data) { @@ -966,9 +967,34 @@ class ncenterliteController extends ncenterlite } } + $flag_path = \RX_BASEDIR . 'files/cache/ncenterlite/new_notify/' . getNumberingPath($args->target_member_srl) . $args->target_member_srl . '.php'; + if($flag_path) + { + //remove flag files + FileHandler::removeFile($flag_path); + } + return $output; } + public static function updateFlagFile($member_srl = null, $output) + { + if(!$member_srl) + { + return; + } + $flag_path = \RX_BASEDIR . 'files/cache/ncenterlite/new_notify/' . getNumberingPath($member_srl) . $member_srl . '.php'; + if(file_exists($flag_path)) + { + return; + } + + FileHandler::makeDir(\RX_BASEDIR . 'files/cache/ncenterlite/new_notify' . getNumberingPath($member_srl)); + $buff = "data = $list; + if($page <= 1) + { + $oNcenterliteController = getController('ncenterlite'); + $oNcenterliteController->updateFlagFile($member_srl, $output); + } return $output; } @@ -236,12 +241,18 @@ class ncenterliteModel extends ncenterlite $member_srl = $logged_info->member_srl; } - + $flag_path = \RX_BASEDIR . 'files/cache/ncenterlite/new_notify/' . getNumberingPath($member_srl) . $member_srl . '.php'; + if(FileHandler::exists($flag_path) && $page <= 1) + { + $output = require_once $flag_path; + return $output; + } $args = new stdClass(); $args->member_srl = $member_srl; $args->page = $page ? $page : 1; if($readed) $args->readed = $readed; $output = executeQueryArray('ncenterlite.getNotifyList', $args); + if(!$output->data) $output->data = array(); return $output;