<commit_before><?php
    /**
     * @class  documentModel
     * @author zero (<EMAIL>)
     * @brief  document 모듈의 model 클래스
     **/

    class documentModel extends document {

        /**
         * @brief 초기화
         **/
        function init() {
        }

        /**
         * @brief document에 대한 권한을 세션값으로 체크
         **/
        function isGranted($document_srl) {
            return $_SESSION['own_document'][$document_srl];
        }

        /**
         * @brief 문서 가져오기
         **/
        function getDocument($document_srl=0, $is_admin = false) {
            if(!$GLOBALS['__DocumentItem__'][$document_srl]) {
                $oDocument = new documentItem($document_srl);
                if($is_admin) $oDocument->setGrant();
                $GLOBALS['__DocumentItem__'][$document_srl] = $oDocument;
            }

            return $GLOBALS['__DocumentItem__'][$document_srl];
       }

        /**
         * @brief 선택된 게시물의 팝업메뉴 표시
         *
         * 인쇄, 스크랩, 추천, 비추천, 신고 기능 추가
         **/
        function getDocumentMenu() {

            // 요청된 게시물 번호와 현재 로그인 정보 구함
            $document_srl = Context::get('target_srl');
            $mid = Context::get('cur_mid');
            $logged_info = Context::get('logged_info');
            $act = Context::get('cur_act');
            
            // menu_list 에 "표시할글,target,url" 을 배열로 넣는다
            $menu_list = array();

            // trigger 호출
            ModuleHandler::triggerCall('document.getDocumentMenu', 'before', $menu_list);
<commit_msg>문서 아이템 구할때 빈 아이템 구할때에는 캐시하지 않고 직접 객체 생성하여 return하도록 코드 수정. (위젯등에서 하나의 글만 나타나는 오류 수정)<commit_after><?php
    /**
     * @class  documentModel
     * @author zero (<EMAIL>)
     * @brief  document 모듈의 model 클래스
     **/

    class documentModel extends document {

        /**
         * @brief 초기화
         **/
        function init() {
        }

        /**
         * @brief document에 대한 권한을 세션값으로 체크
         **/
        function isGranted($document_srl) {
            return $_SESSION['own_document'][$document_srl];
        }

        /**
         * @brief 문서 가져오기
         **/
        function getDocument($document_srl=0, $is_admin = false) {
            if(!$document_srl) return new documentItem();

            if(!$GLOBALS['__DocumentItem__'][$document_srl]) {
                $oDocument = new documentItem($document_srl);
                if($is_admin) $oDocument->setGrant();
                $GLOBALS['__DocumentItem__'][$document_srl] = $oDocument;
            }

            return $GLOBALS['__DocumentItem__'][$document_srl];
       }

        /**
         * @brief 선택된 게시물의 팝업메뉴 표시
         *
         * 인쇄, 스크랩, 추천, 비추천, 신고 기능 추가
         **/
        function getDocumentMenu() {

            // 요청된 게시물 번호와 현재 로그인 정보 구함
            $document_srl = Context::get('target_srl');
            $mid = Context::get('cur_mid');
            $logged_info = Context::get('logged_info');
            $act = Context::get('cur_act');
            
            // menu_list 에 "표시할글,target,url" 을 배열로 넣는다
            $menu_list = array();

            // trigger 호출
            ModuleHandler::triggerCall('document.getDocumentMenu', 'before', $menu_list);

{'fraction_non_alphanumeric': 0.1300251256281407, 'fraction_numerical': 0.000628140703517588, 'mean_word_length': 1.66750418760469, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 7, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6183299', 'n_tokens_mistral': 1165, 'n_tokens_neox': 1331, 'n_words': 199}