Changeset 5863

Show
Ignore:
Timestamp:
05/04/08 20:04:25 (8 months ago)
Author:
inureyes
Message:

#952

  • 스킨 조각 편집기 추가
    • 탭으로 스킨의 일부만 편집이 가능합니다.
    • 관련하여 crop/undo routine 추가
  • TODO
    • skin.html 다운로드 가능하도록 기능 추가
    • css에 해당 탭을 위한 별도의 영역표시 태그가 든 경우 인식하여 css도 탭으로 처리 가능하도록 하고 위의 skin.html과 싱크되도록 함. (논의가 필요합니다.)
Location:
trunk
Files:
5 modified

Legend:

Unmodified
Added
Removed
  • trunk/interface/owner/plugin/index.php

    r5427 r5863  
    275275                             
    276276                            <div class="main-explain-box"> 
    277                                 <p class="explain"><?php echo _t('플러그인은 텍스트큐브의 기능을 확장합니다. 이 곳에서 설치된 플러그인의 사용 여부를 결정할 수 있습니다.');?></p> 
     277                                <p class="explain"><?php echo _t('블로그에 다양한 기능을 더해보세요. 원하는 기능이 든 아이콘을 눌러주면 바로 블로그의 기능이 업그레이드 됩니다.');?></p> 
    278278                            </div> 
    279279                             
  • trunk/interface/owner/skin/edit/index.php

    r5285 r5863  
    4747                                    var skin = document.getElementById(mode); 
    4848                                    var file = document.getElementById(mode + 'FileName'); 
    49                                      
     49                                    var skinData = ''; 
    5050                                    if ((mode == 'skin' && skinHTMLSaved == false) || (mode == 'style' && skinStyleSaved == false)) { 
     51                                        if(mode == 'skin' && currentTag != 'all') { 
     52                                            skinData = skinCode; 
     53                                        } else { 
     54                                            skinData = skin.value; 
     55                                        } 
     56 
    5157                                        var request = new HTTPRequest("POST", "<?php echo $blogURL;?>/owner/skin/edit/skin/"); 
    5258                                        request.onSuccess = function() { 
     
    6571                                                alert('<?php echo _t('실패했습니다.');?>'); 
    6672                                        } 
    67                                         request.send('mode='+mode+'&body='+encodeURIComponent(skin.value)+'&file='+ file.value); 
     73                                        request.send('mode='+mode+'&body='+encodeURIComponent(skinData)+'&file='+ file.value); 
    6874                                    } 
    6975                                } 
    70                                  
     76 
     77                                var currentTag = 'all'; 
     78                                var currentCode = ''; 
     79                                function changeTab(mode,tag) { 
     80                                    currentCode = document.getElementById(mode).value; 
     81                                    var request = new HTTPRequest("POST", "<?php echo $blogURL;?>/owner/skin/edit/crop/");                                   
     82                                    request.onSuccess = function() { 
     83                                        PM.showMessage("<?php echo _t('불러왔습니다.');?>", "center", "bottom"); 
     84                                        document.getElementById(mode).value = this.getText("/response/code"); 
     85                                        skinCode = this.getText("/response/skinCode"); 
     86                                        document.getElementById('skin-'+currentTag).className = ''; 
     87                                        document.getElementById('skin-'+tag).className = 'selected';                                         
     88                                        currentTag = tag; 
     89                                        switch(mode) { 
     90                                            case 'skin': 
     91                                            undoBuffer[0] = document.getElementById(mode).value; 
     92                                            break; 
     93                                        } 
     94                                    } 
     95                                    request.onError = function() { 
     96                                        if (this.getText("/response/msg")) 
     97                                            alert(this.getText("/response/msg")); 
     98                                        else 
     99                                            alert('<?php echo _t('실패했습니다.');?>'); 
     100                                    } 
     101                                    request.send('skinCode='+encodeURIComponent(skinCode) 
     102                                        +'&currentTag='+encodeURIComponent(currentTag) 
     103                                        +'&currentCode='+encodeURIComponent(currentCode) 
     104                                        +'&nextTag='+encodeURIComponent(tag)); 
     105                                } 
     106                                function undo(mode) { 
     107                                    switch(mode) { 
     108                                        case 'skin': 
     109                                            document.getElementById(mode).value = undoBuffer[0]; 
     110                                            break; 
     111                                    } 
     112                                    return true; 
     113                                } 
    71114<?php 
    72115if (count($styleFileList) > 0 && !empty($currentStyleFile) && file_exists(ROOT . "/skin/{$skinSetting['skin']}/" . $currentStyleFile)) { 
     
    145188                             
    146189                            <div class="data-inbox"> 
     190                                <div class="main-explain-box"> 
     191                                    <p class="explain"><?php echo _t('이 곳에서 스킨을 편집할 수 있습니다. 편집이 끝난 스킨은 저장하기를 눌러 반영할 수 있습니다. 수정 중 원래 스킨으로 되돌리고 싶을 때는 되돌리기 버튼을 눌러 원래대로 되돌릴 수 있습니다.');?></p> 
     192                                </div> 
     193                                 
     194                                 
     195                                 
     196                                <ul id="skin-tabs-box" class="tabs-box"> 
     197                                    <li id="skin-all" class="selected"><a href="#" onclick="changeTab('skin','all');return false;"><?php echo _t('전체');?></a></li> 
     198                                    <li id="skin-article_rep"><a href="#" onclick="changeTab('skin','article_rep');return false;"><?php echo _t('본문');?></a></li> 
     199                                    <li id="skin-rp"><a href="#" onclick="changeTab('skin','rp');return false;"><?php echo _t('댓글 영역');?></a></li> 
     200                                    <li id="skin-tb"><a href="#" onclick="changeTab('skin','tb');return false;"><?php echo _t('트랙백 영역');?></a></li>                                  
     201                                    <li id="skin-list"><a href="#" onclick="changeTab('skin','list');return false;"><?php echo _t('리스트');?></a></li> 
     202                                    <li id="skin-list"><a href="#" onclick="changeTab('skin','rplist');return false;"><?php echo _t('댓글 리스트');?></a></li>    
     203                                    <li id="skin-tblist"><a href="#" onclick="changeTab('skin','tblist');return false;"><?php echo _t('트랙백 리스트');?></a></li> 
     204                                    <li id="skin-local"><a href="#" onclick="changeTab('skin','local');return false;"><?php echo _t('지역로그');?></a></li> 
     205                                    <li id="skin-tag"><a href="#" onclick="changeTab('skin','tag');return false;"><?php echo _t('태그');?></a></li> 
     206                                    <li id="skin-guest"><a href="#" onclick="changeTab('skin','guest');return false;"><?php echo _t('방명록');?></a></li> 
     207                                    <li id="skin-keyword"><a href="#" onclick="changeTab('skin','keyword');return false;"><?php echo _t('키워드');?></a></li> 
     208                                    <li id="skin-keylog_rep"><a href="#" onclick="changeTab('skin','keylog_rep');return false;"><?php echo _t('키로그');?></a></li> 
     209                                    <li id="skin-cover"><a href="#" onclick="changeTab('skin','cover');return false;"><?php echo _t('표지');?></a></li> 
     210                                </ul> 
     211                                 
    147212                                <form id="htmlSectionForm" class="section" method="post" action="<?php echo $blogURL;?>/owner/skin/edit/skin/"> 
    148213                                    <ul> 
     
    165230                                    <div class="button-box"> 
    166231                                        <input type="hidden" id="skinFileName" name="file" value="skin.html" /> 
    167                                         <input type="reset" class="reset-button input-button" value="<?php echo _t('되돌리기');?>" /> 
     232                                        <input type="reset" class="reset-button input-button" onclick="undo('skin');return false;" value="<?php echo _t('되돌리기');?>" /> 
    168233                                        <input type="submit" class="save-button input-button" value="<?php echo _t('저장하기');?>" onclick="setSkin('skin'); return false" /> 
    169234                                    </div> 
     
    236301                            </div> 
    237302                        </div> 
     303                        <script type="text/javascript"> 
     304                            //<![CDATA[ 
     305                                var skinCode    = document.getElementById('skin').value; 
     306                                var undoBuffer = new Array(); 
     307                                undoBuffer[0] = skinCode; 
     308                            //]]> 
     309                        </script>                            
    238310<?php 
    239311require ROOT . '/lib/piece/owner/footer.php'; 
  • trunk/interface/owner/skin/index.php

    r5535 r5863  
    150150                         
    151151                        <div id="part-skin-list" class="part"> 
    152                             <h2 class="caption"><span class="main-text"><?php echo _t('사용가능한 스킨 목록입니다');?></span></h2> 
     152                            <h2 class="caption"><span class="main-text"><?php echo _t('사용가능한 스킨들의 목록입니다');?></span></h2> 
    153153                             
    154154                            <div class="main-explain-box"> 
    155                                 <p class="explain"><?php echo _t('원하시는 스킨의 적용 버튼을 클릭하십시오.');?></p> 
     155                                <p class="explain"><?php echo _t('블로그에 적용하기 원하시는 스킨의 적용 버튼을 누르면 스킨이 블로그에 반영됩니다.');?></p> 
    156156                            </div> 
    157157                             
  • trunk/interface/owner/skin/setting/index.php

    r5654 r5863  
    141141                         
    142142                        <div id="part-skin-setting" class="part"> 
    143                             <h2 class="caption"><span class="main-text"><?php echo setDetailPanel('panel_skin_setting','link',_t('스킨 출력에 따른 여러 값들을 변경합니다'));?></span></h2> 
     143                            <h2 class="caption"><span class="main-text"><?php echo setDetailPanel('panel_skin_setting','link',_t('스킨에 따라 표시되는 여러 값들을 세세하게 변경합니다'));?></span></h2> 
    144144                             
    145145                            <div id="panel_skin_setting" class="data-inbox folding"> 
     
    669669                         
    670670                        <div id="part-skin-tree" class="part"> 
    671                             <h2 class="caption"><span class="main-text"><?php echo _t('스킨에 맞춘 분류의 출력을 변경합니다');?></span></h2> 
     671                            <h2 class="caption"><span class="main-text"><?php echo _t('분류 디자인을 변경합니다');?></span></h2> 
    672672                             
    673673                            <form id="setSkinForm" method="post" action="<?php echo $blogURL;?>/owner/skin/setting/tree" enctype="application/x-www-form-urlencoded"> 
  • trunk/lib/piece/owner/contentMenu.php

    r5859 r5863  
    5454                array('menu'=>'skin','title'=>_t('스킨 선택'),'link'=>'/owner/skin'), 
    5555                array('menu'=>'edit','title'=>_t('스킨 편집'),'link'=>'/owner/skin/edit'), 
    56                 array('menu'=>'setting','title'=>_t('상세 설정'),'link'=>'/owner/skin/setting'), 
     56                array('menu'=>'setting','title'=>_t('상세 설정'),'link'=>'/owner/skin/setting'), 
    5757                array('menu'=>'coverpage','title'=>_t('색동'),'link'=>'/owner/skin/coverpage'), 
    5858                array('menu'=>'sidebar','title'=>_t('사이드바'),'link'=>'/owner/skin/sidebar'),