Changeset 5927

Show
Ignore:
Timestamp:
05/12/08 17:20:41 (8 months ago)
Author:
inureyes
Message:

#961

  • contentMenu를 header로 통합합니다.
  • 관련 루틴 전면 수정
    #782
  • [5922] 관련하여 마크업 수정
  • 기본 마크업으로 link_ct 추가. (링크 카테고리의 카테고리 이름의 span에 매겨지는 CSS class입니다.)
Location:
trunk/lib
Files:
1 removed
4 modified

Legend:

Unmodified
Added
Removed
  • trunk/lib/include.php

    r5897 r5927  
    5959}  
    6060/***** Loading code pieces *****/ 
    61 if($service['codeCache'] == true && file_exists(ROOT.'/cache/code/'.$codeName)) { 
     61if((isset($service['codecache']) && $service['codecache'] == true) && file_exists(ROOT.'/cache/code/'.$codeName)) { 
    6262    $codeCacheRead = true; 
    6363    require(ROOT.'/cache/code/'.$codeName); 
  • trunk/lib/includeForReader.php

    r5921 r5927  
    3838    'plugins'); 
    3939 
    40 if($service['reader'] === false) exit; 
     40if(isset($service['reader']) && $service['reader'] === false) exit; 
    4141 
    4242$codeName = 'includeForReader.php'; 
  • trunk/lib/piece/owner/header.php

    r5913 r5927  
    11<?php 
     2/// Copyright (c) 2004-2008, Needlworks / Tatter Network Foundation 
     3/// All rights reserved. Licensed under the GPL. 
     4/// See the GNU General Public License for more details. (/doc/LICENSE, /doc/COPYRIGHT) 
     5 
    26// Automatic menu location routine. 
    37$blogMenu = array(); 
     
    124128} 
    125129unset($tempPlugin); 
     130/***** submenu generation part. *****/ 
     131if(isset($blogMenu['topMenu'])) { 
     132    if(Acl::check('group.administrators')) { 
     133        $blogContentMenuItem['center'] = array( 
     134            array('menu'=>'dashboard','title'=>_t('조각보'),'link'=>'/owner/center/dashboard'), 
     135        ); 
     136    } else{ 
     137        $blogContentMenuItem['center'] = array( 
     138            array('menu'=>'dashboard','title'=>_t('조각보'),'link'=>'/owner/center/dashboard') 
     139        ); 
     140    } 
     141    if(Acl::check('group.editors')) { 
     142        $blogContentMenuItem['entry'] = array( 
     143            array('menu'=>'post','title'=>_t('글쓰기'),'link'=>'/owner/entry/post'), 
     144            array('menu'=>'entry','title'=>_t('글 목록'),'link'=>'/owner/entry'), 
     145            array('menu'=>'category','title'=>_t('분류 관리'),'link'=>'/owner/entry/category') 
     146        ); 
     147    } else { 
     148        $blogContentMenuItem['entry'] = array( 
     149            array('menu'=>'post','title'=>_t('글쓰기'),'link'=>'/owner/entry/post'), 
     150            array('menu'=>'entry','title'=>_t('글 목록'),'link'=>'/owner/entry') 
     151        ); 
     152    } 
     153    if(Acl::check('group.administrators')) { 
     154        $blogContentMenuItem['communication'] = array( 
     155            array('menu'=>'comment','title'=>_t('소통 기록'),'link'=>'/owner/communication/comment'), 
     156            array('menu'=>'openid','title'=>_t('오픈아이디 목록'),'link'=>'/owner/communication/openid'), 
     157            array('menu'=>'link','title'=>_t('링크'),'link'=>'/owner/communication/link') 
     158        ); 
     159        if($service['reader'] == true) array_push($blogContentMenuItem['communication'],array('menu'=>'reader','title'=>_t('바깥 글 읽기'),'link'=>'/owner/communication/reader')); 
     160    } else { 
     161        $blogContentMenuItem['communication'] = array( 
     162            array('menu'=>'comment','title'=>_t('소통 기록'),'link'=>'/owner/communication/comment'), 
     163            array('menu'=>'trash','title'=>_t('휴지통'),'link'=>'/owner/communication/trash/comment') 
     164        ); 
     165        if($service['reader'] == true) array_push($blogContentMenuItem,array('menu'=>'reader','title'=>_t('바깥 글 읽기'),'link'=>'/owner/communication/reader')); 
     166    } 
     167    if(Acl::check('group.administrators')) { 
     168        $blogContentMenuItem['skin'] = array( 
     169            array('menu'=>'skin','title'=>_t('스킨 선택'),'link'=>'/owner/skin'), 
     170            array('menu'=>'edit','title'=>_t('스킨 편집'),'link'=>'/owner/skin/edit'), 
     171            array('menu'=>'setting','title'=>_t('스킨 상세 설정'),'link'=>'/owner/skin/setting'), 
     172            array('menu'=>'widget','title'=>_t('위젯'),'link'=>'/owner/skin/sidebar'), 
     173            array('menu'=>'adminSkin','title'=>_t('관리자 패널 스킨 선택'),'link'=>'/owner/skin/adminSkin') 
     174        ); 
     175    } 
     176    if(Acl::check('group.administrators')) { 
     177        $blogContentMenuItem['plugin'] = array( 
     178            array('menu'=>'plugin','title'=>_t('플러그인 목록'),'link'=>'/owner/plugin') 
     179        ); 
     180        if(Acl::check('group.creators')) array_push($blogContentMenuItem, array('menu'=>'tableSetting','title'=>_t('플러그인 데이터 관리'),'link'=>'/owner/plugin/tableSetting')); 
     181    } 
     182    if(Acl::check('group.administrators')) { 
     183        $blogContentMenuItem['setting'] = array( 
     184            array('menu'=>'blog','title'=>_t('블로그'),'link'=>'/owner/setting/blog'), 
     185            array('menu'=>'entry','title'=>_t('글 작성'),'link'=>'/owner/setting/entry'), 
     186            array('menu'=>'account','title'=>_t('개인 정보'),'link'=>'/owner/setting/account'), 
     187            array('menu'=>'teamblog','title'=>_t('필진 목록'),'link'=>'/owner/setting/teamblog'), 
     188            array('menu'=>'filter','title'=>_t('스팸 필터'),'link'=>'/owner/setting/filter'), 
     189            array('menu'=>'data','title'=>_t('데이터 관리'),'link'=>'/owner/data') 
     190        ); 
     191    } else { 
     192        $blogContentMenuItem['setting'] = array( 
     193            array('menu'=>'account','title'=>_t('개인 정보'),'link'=>'/owner/setting/account') 
     194        ); 
     195    } 
     196    if(Acl::check('group.creators')) { 
     197        $blogContentMenuItem['control'] = array( 
     198            array('menu'=>'blog','title'=>_t('블로그'),'link'=>'/owner/control/blog'), 
     199            array('menu'=>'user','title'=>_t('사용자'),'link'=>'/owner/control/user'), 
     200            array('menu'=>'server','title'=>_t('서버'),'link'=>'/owner/control/server'), 
     201            array('menu'=>'system','title'=>_t('시스템 정보'),'link'=>'/owner/control/system') 
     202        ); 
     203    } 
     204} 
     205 
     206if( empty($blogContentMenuItem) ) { 
     207    echo _t('접근권한이 없습니다'); 
     208    exit; 
     209} 
     210 
     211foreach($adminMenuMappings as $path => $pluginAdminMenuitem) { 
     212    if(count($blogContentMenuItem[$pluginAdminMenuitem['topMenu']]) < $pluginAdminMenuitem['contentMenuOrder']  
     213      || $pluginAdminMenuitem['contentMenuOrder'] < 1) 
     214        $pluginAdminMenuitem['contentMenuOrder'] = count($blogContentMenuItem[$pluginAdminMenuitem['topMenu']]); 
     215    array_splice($blogContentMenuItem[$pluginAdminMenuitem['topMenu']], $pluginAdminMenuitem['contentMenuOrder'], 0,  
     216        array(array('menu'=>'adminMenu?name='.$path, 
     217        'title'=>$pluginAdminMenuitem['title'], 
     218        'link'=>'/owner/plugin/adminMenu?name='.$path)) 
     219    ); 
     220} 
     221$blogContentMenuItem['center'] = array_merge($blogContentMenuItem['center'] , array(array('menu'=>'about','title'=>_t('텍스트큐브는'),'link'=>'/owner/center/about'))); 
     222// Adds 'about' panel at the last part of center panel. 
    126223?> 
    127224<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> 
     
    291388foreach($blogTopMenuItem as $menuItem) { 
    292389?> 
    293                         <li id="menu-<?php echo $menuItem['menu'];?>"<?php echo $menuItem['menu']==$blogMenu['topMenu'] ? ' class="selected"' : '';?>><a href="<?php echo $blogURL.$menuItem['link'];?>"><span><?php echo $menuItem['title'];?></span></a></li> 
     390                        <li id="menu-<?php echo $menuItem['menu'];?>"<?php echo $menuItem['menu']==$blogMenu['topMenu'] ? ' class="selected"' : '';?> onmouseover="previewSubmenu('<?php echo $menuItem['menu'];?>')"> 
     391                            <a href="<?php echo $blogURL.$menuItem['link'];?>"><span><?php echo $menuItem['title'];?></span></a> 
     392                            <ul id="submenu-<?php echo $menuItem['menu'];?>" class="sub-menu"> 
     393<?php 
     394    $firstChildClass = ' firstChild'; 
     395    if (isset($_POST['category'])) $currentCategory = $_POST['category']; 
     396    else if (isset($_GET['category'])) $currentCategory = $_GET['category']; 
     397    else $currentCategory = null; 
     398    if(in_array($blogMenu['contentMenu'],array('notify','trackback','trashcomment','trashtrackback'))) 
     399        $blogMenu['contentMenu'] = 'comment'; 
     400    else if(in_array($blogMenu['contentMenu'],array('linkadd','linkedit','linkcategoryEdit','xfn'))) 
     401        $blogMenu['contentMenu'] = 'link'; 
     402    else if(in_array($blogMenu['contentMenu'],array('coverpage','sidebar'))) 
     403        $blogMenu['contentMenu'] = 'widget'; 
     404         
     405    foreach($blogContentMenuItem[$menuItem['menu']] as $contentMenuItem) {  
     406        $PostIdStr = null; 
     407        if(strstr($contentMenuItem['menu'], 'adminMenu?name=') !== false) { 
     408            $pluginMenuValue = explode('/',substr($contentMenuItem['menu'], 15)); 
     409            $PostIdStr = $pluginMenuValue[0]; 
     410        } else { 
     411            $PostIdStr = $contentMenuItem['menu']; 
     412        } 
     413?> 
     414                                <li id="sub-menu-<?php echo $PostIdStr;?>"<?php echo  
     415    (($blogMenu['contentMenu'] == $contentMenuItem['menu'] ||  
     416    (isset($_GET['name']) && ('adminMenu?name='.$_GET['name'] == $contentMenuItem['menu'])) || 
     417    ($contentMenuItem['menu'] == 'add' && strpos($blogMenu['contentMenu'],'add') !== false) || 
     418    ($contentMenuItem['menu'] == 'blog' && strpos($blogMenu['contentMenu'],'blog') !== false && strpos($blogMenu['contentMenu'],'teamblog') === false) || 
     419    ($contentMenuItem['menu'] == 'user' && strpos($blogMenu['contentMenu'],'user') !== false) || 
     420    ($blogMenu['contentMenu'] == 'edit' && $contentMenuItem['menu'] == 'post')) ?  
     421        " class=\"selected{$firstChildClass}\"" : ($firstChildClass ? " class=\"$firstChildClass\"" : ''));?>><a href="<?php  
     422                        echo $blogURL. 
     423                            $contentMenuItem['link']. 
     424                            ($contentMenuItem['menu'] == 'post' && isset($currentCategory) ? '?category='.$currentCategory : ''); 
     425                        ?>"><span class="text"><?php echo $contentMenuItem['title'];?></span></a></li> 
     426<?php 
     427        $firstChildClass = null; 
     428    } 
     429?> 
     430                            </ul> 
     431                        </li> 
    294432<?php 
    295433} 
     
    300438             
    301439            <hr class="hidden" /> 
     440<?php 
     441/********** Submenu part. ***********/ 
     442if(!defined('__TEXTCUBE_READER_SUBMENU__')) { 
     443?> 
     444            <div id="layout-body"> 
     445<?php 
     446} 
     447?> 
     448                <h2><?php echo isset($blogMenu['title']) ? _f('서브메뉴 : %1', $blogMenu['title']) : _t('서브메뉴');?></h2> 
     449 
     450<?php 
     451if(isset($blogContentMenuItem[$blogMenu['topMenu']])) { 
     452?> 
     453                <div id="sub-menu-box"> 
     454                    <ul id="sub-menu"> 
     455<?php 
     456    $firstChildClass = ' firstChild'; 
     457    $submenuURL = null; 
     458    foreach($blogContentMenuItem[$blogMenu['topMenu']] as $contentMenuItem) {  
     459        $PostIdStr = null; 
     460        if(strstr($contentMenuItem['menu'], 'adminMenu?name=') !== false) { 
     461            $pluginMenuValue = explode('/',substr($contentMenuItem['menu'], 15)); 
     462            $PostIdStr = $pluginMenuValue[0]; 
     463            if(($blogMenu['contentMenu'] == $contentMenuItem['menu'] || (isset($_GET['name']) && ('adminMenu?name='.$_GET['name'] == $contentMenuItem['menu'])) || ($contentMenuItem['menu'] == 'trash' && strpos($blogMenu['contentMenu'],'trash') !== false))) { 
     464                $submenuURL = $pluginMenuValue[0]; 
     465            } 
     466        } else { 
     467            $PostIdStr = $contentMenuItem['menu']; 
     468            if(($blogMenu['contentMenu'] == $contentMenuItem['menu']  
     469                || (isset($_GET['name']) && ('adminMenu?name='.$_GET['name'] == $contentMenuItem['menu']))  
     470                || (in_array($contentMenuItem['menu'],array('blog','user')) && strpos($blogMenu['contentMenu'],'detail') !== false) 
     471                )) { 
     472                $submenuURL = $blogMenu['contentMenu']; 
     473            } 
     474        } 
     475?> 
     476                        <li id="sub-menu-<?php echo $PostIdStr;?>"<?php echo  
     477                        (($blogMenu['contentMenu'] == $contentMenuItem['menu'] ||  
     478                            (isset($_GET['name']) && ('adminMenu?name='.$_GET['name'] == $contentMenuItem['menu'])) || 
     479                            ($contentMenuItem['menu'] == 'add' && strpos($blogMenu['contentMenu'],'add') !== false) || 
     480                            ($contentMenuItem['menu'] == 'blog' && strpos($blogMenu['contentMenu'],'blog') !== false && strpos($blogMenu['contentMenu'],'teamblog') === false) || 
     481                            ($contentMenuItem['menu'] == 'user' && strpos($blogMenu['contentMenu'],'user') !== false) || 
     482                            ($blogMenu['contentMenu'] == 'edit' && $contentMenuItem['menu'] == 'post')) ? " class=\"selected{$firstChildClass}\"" : ($firstChildClass ? " class=\"$firstChildClass\"" : ''));?>><a href="<?php  
     483                        echo $blogURL. 
     484                            $contentMenuItem['link']. 
     485                            ($contentMenuItem['menu'] == 'post' && isset($currentCategory) ? '?category='.$currentCategory : ''); 
     486                        ?>"><span class="text"><?php echo $contentMenuItem['title'];?></span></a></li> 
     487<?php 
     488        $firstChildClass = null; 
     489    } 
     490     
     491    $helpURL = $blogMenu['topMenu'].(isset($blogMenu['contentMenu']) ? '/'.$submenuURL : ''); 
     492?> 
     493                    </ul> 
     494                    <ul id="helper"> 
     495                        <li id="sub-menu-helper"><a href="<?php echo getHelpURL($helpURL);?>" onclick="window.open(this.href); return false;"><span class="text"><?php echo _t('도우미');?></span></a></li> 
     496                    </ul> 
     497                </div> 
     498<?php 
     499} 
     500if(!defined('__TEXTCUBE_READER_SUBMENU__')) { 
     501?> 
     502                <hr class="hidden" /> 
     503                 
     504                <div id="pseudo-box" onmouseover="revertSubmenu();"> 
     505                    <div id="data-outbox"> 
     506<?php 
     507} 
     508?> 
  • trunk/lib/view/view.php

    r5922 r5927  
    2323} 
    2424 
    25 function dress($tag, $value, & $contents) { 
     25function dress($tag, $value, & $contents, $force = false) { 
     26    if($force) {  
     27        $contents = str_replace("[##_{$tag}_##]", $value, $contents); 
     28        return true; 
     29    } 
    2630    if (preg_match("@\\[##_{$tag}_##\\]@iU", $contents)) { 
    2731        $contents = str_replace("[##_{$tag}_##]", $value, $contents); 
     
    10191023    } 
    10201024    $categoryName = null; 
    1021     $buffer = '<ul>'; 
     1025    $buffer = '<ul>'.CRLF; 
    10221026    $showXfn = (setting::getBlogSettingGlobal('useMicroformat',3) > 1); 
    10231027    foreach ($links as $link) { 
     
    10271031        } 
    10281032        if($categoryName != $link['categoryName']) { 
     1033            if(!empty($categoryName)) $buffer .= '</ul>'.CRLF.'</li>'.CRLF; 
    10291034            $categoryName = $link['categoryName']; 
    1030             if(!empty($categoryName)) $buffer .= '</ul></li>'; 
    1031             $buffer .= '<li>'.htmlspecialchars($link['categoryName']).'<ul>'; 
     1035            $buffer .= '<li><span class="link_ct">'.htmlspecialchars($link['categoryName']).'</span>'.CRLF 
     1036                .'<ul>'.CRLF; 
    10321037        } 
    10331038        if( $showXfn && $home && $link['xfn'] ) { 
    10341039            addXfnAttrs( htmlspecialchars($link['url']), htmlspecialchars($link['xfn']), $link['url']); 
    10351040        } 
    1036         $buffer .= '<li><a href="'.htmlspecialchars($link['url']).'">'.fireEvent('ViewLink', htmlspecialchars(UTF8::lessenAsEm($link['name'], $skinSetting['linkLength']))).'</a></li>'; 
    1037     } 
    1038     if(!empty($categoryName)) $buffer .= '</ul></li>'; 
    1039     $buffer .='</ul>'; 
     1041        $buffer .= '<li><a href="'.htmlspecialchars($link['url']).'">'.fireEvent('ViewLink', htmlspecialchars(UTF8::lessenAsEm($link['name'], $skinSetting['linkLength']))).'</a></li>'.CRLF; 
     1042    } 
     1043    if(!empty($categoryName)) $buffer .= '</ul>'.CRLF.'</li>'.CRLF; 
     1044    $buffer .='</ul>'.CRLF; 
    10401045    return $buffer; 
    10411046}