$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);
Example #3
0
 /**
  * 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'));
     }
 }
Example #4
0
 /**
  * @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'));
     }
 }