$args->list_count = 1; $args->order_type = 'asc'; $args->statusList = 'PUBLIC'; if (isset($addon_info->exclude_module_srl)) { $args->exclude_module_srl = $addon_info->exclude_module_srl; } $args->module_srl = $addon_info->module_srl; $output = executeQueryArray('document.getDocumentList', $args); if (!count($output->data)) { return; } if ($output->data) { foreach ($output->data as $doc) { if ($doc->regdate > $time_check) { $is_document_new = true; } //현재 시간으로 부터 1분안에 등록된 글이 있을경우 } } if ($is_document_new == true && $_COOKIE['docsrl'] != $doc->document_srl) { $addBody = '<script type="text/javascript">document.cookie = "docsrl=' . $doc->document_srl . '";</script>'; $addLayerdiv = '<div class="notify_body"><div class="notify_badge"><div class="badge_body" style="cursor: pointer;" onclick="location.href=' . $doc->document_srl . '"><p class="badge_title"><b>새 글 알림</b></p><p class="badge_article">' . $doc->title . '</p></div><div class="badge_close"><a href="javascript:ndcClose();"><i class="xi-close-circle"></i></a></div></div></div>'; } else { $addBody = ''; $addLayerdiv = ''; } $nJquery = '<script type="text/javascript">function newdocumentchk() {jQuery(".notify_body").load(request_uri+"index.php' . $ajax_target . ' .notify_badge");setTimeout(newdocumentchk, ' . $settimeout . ');}function ndcClose() {jQuery(".notify_badge").fadeOut("slow");}setTimeout(newdocumentchk, ' . $settimeout . ');setTimeout(function(){jQuery(".nodify_badge").fadeOut("slow");}, ' . $hide_time . ');</script>'; Context::addBodyHeader($addLayerdiv); Context::addBodyHeader($nJquery); Context::addBodyHeader($addBody); }
/* new_document_notify2.addon.php notify after check new document */ if (!defined('__XE__')) { exit; } if ($called_position == 'before_module_proc' && Context::get('module') != 'admin' && Context::get('act') != 'getFileList' && Context::get('act') != 'procFileUpload') { $delay = str_replace("ms", "", $addon_info->delay); if (!isset($addon_info->notifysound)) { $addon_info->notifysound = "false"; } Context::addHtmlHeader('<script src="https://cdn.socket.io/socket.io-1.0.3.js"></script>'); Context::addHtmlFooter('<script src="./addons/new_document_notify2/js/new_document_notify.js"></script>'); Context::addCssFile('./addons/new_document_notify2/css/style.css'); Context::addBodyHeader('<div id="notify-div"></div>'); Context::addHtmlHeader('<script type="text/javascript">var socket = io("' . $addon_info->nitrous . '");var delay = ' . $delay . ';var notifysound="' . $addon_info->notifysound . '"; </script>'); if (in_array($this->mid, explode(",", $addon_info->module_id))) { if (Context::get('act') == "dispBoardWrite" && Context::get('document_srl')) { $_SESSION['notify_modify'] = 'modify'; } else { if (Context::get('act') == 'procBoardInsertDocument' && $_SESSION['notify_modify'] == "modify") { } else { if ($_SESSION['notify_type'] == 'write') { $title = $_SESSION['notify_title']; $srl = $_SESSION['notify_srl']; unset($_SESSION['notify_type']); unset($_SESSION['notify_title']); unset($_SESSION['notify_srl']); $new_document_notify = "<script type='text/javascript'>\n\t\t\t\t\t\t\t\t\t\t\tsocket.emit('sendToServer', {title :'" . $title . "' , document_srl : '" . $srl . "'});\n\t\t\t\t\t\t\t\t\t\t\t</script>"; Context::addHtmlHeader($new_document_notify);
/** * faceOff related services for the operation run out * @deprecated * @param object $layout_info * @return void */ function doActivateFaceOff(&$layout_info) { $layout_info->faceoff_ini_config = $this->getUserLayoutIniConfig($layout_info->layout_srl, $layout_info->layout); // faceoff layout CSS Context::addCSSFile($this->getDefaultLayoutCss($layout_info->layout)); // CSS generated in the layout manager $faceoff_layout_css = $this->getUserLayoutFaceOffCss($layout_info->layout_srl); if ($faceoff_layout_css) { Context::addCSSFile($faceoff_layout_css); } // CSS output for the widget Context::loadFile($this->module_path . '/tpl/css/widget.css', true); if ($layout_info->extra_var->colorset->value == 'black') { Context::loadFile($this->module_path . '/tpl/css/widget@black.css', true); } else { Context::loadFile($this->module_path . '/tpl/css/widget@white.css', true); } // Different page displayed upon user's permission $logged_info = Context::get('logged_info'); // Display edit button for faceoff layout if (Context::get('module') != 'admin' && strpos(Context::get('act'), 'Admin') === false && ($logged_info->is_admin == 'Y' || $logged_info->is_site_admin)) { Context::addHtmlFooter('<div class="faceOffManager" style="height: 23px; position: fixed; right: 3px; top: 3px;"><a href="' . getUrl('', 'mid', Context::get('mid'), 'act', 'dispLayoutAdminLayoutModify', 'delete_tmp', 'Y') . '">' . lang('cmd_layout_edit') . '</a></div>'); } // Display menu when editing the faceOff page if (Context::get('act') == 'dispLayoutAdminLayoutModify' && ($logged_info->is_admin == 'Y' || $logged_info->is_site_admin)) { $oTemplate =& TemplateHandler::getInstance(); Context::addBodyHeader($oTemplate->compile($this->module_path . '/tpl', 'faceoff_layout_menu')); } }
/** * @brief faceOff관련 서비스 출력을 위한 동작 실행 **/ function doActivateFaceOff(&$layout_info) { $layout_info->faceoff_ini_config = $this->getUserLayoutIniConfig($layout_info->layout_srl, $layout_info->layout); // 기본 faceoff layout CSS Context::addCSSFile($this->getDefaultLayoutCss($layout_info->layout)); // 레이아웃 매니져에서 생성된 CSS $faceoff_layout_css = $this->getUserLayoutFaceOffCss($layout_info->layout_srl); if ($faceoff_layout_css) { Context::addCSSFile($faceoff_layout_css); } // 레이아웃의 위젯을 위한 css출력 Context::addCSSFile($this->module_path . '/tpl/css/widget.css'); if ($layout_info->extra_var->colorset->value == 'black') { Context::addCSSFile($this->module_path . '/tpl/css/widget@black.css'); } else { Context::addCSSFile($this->module_path . '/tpl/css/widget@white.css'); } // 권한에 따른 다른 내용 출력 $logged_info = Context::get('logged_info'); // faceOff 레이아웃 편집 버튼 노출 if (Context::get('module') != 'admin' && strpos(Context::get('act'), 'Admin') === false && ($logged_info->is_admin == 'Y' || $logged_info->is_site_admin)) { Context::addHtmlFooter("<div class=\"faceOffManager\"><a href=\"" . getUrl('', 'mid', Context::get('mid'), 'act', 'dispLayoutAdminLayoutModify', 'delete_tmp', 'Y') . "\" class=\"buttonSet buttonLayoutEditor\"><span>" . Context::getLang('cmd_layout_edit') . "</span></a></div>"); } // faceOff페이지 수정시에 메뉴 출력 if (Context::get('act') == 'dispLayoutAdminLayoutModify' && ($logged_info->is_admin == 'Y' || $logged_info->is_site_admin)) { $oTemplate =& TemplateHandler::getInstance(); Context::addBodyHeader($oTemplate->compile($this->module_path . '/tpl', 'faceoff_layout_menu')); } }