이부분 아직 수정이 안된건지, 반영이 안된건지 가타부타 말씀이 없으시네요. 일단 현재로서는 안돌아간다는 것으로 알고 있겠습니다.

inureyes 작성:

버그일 가능성이 있군요. (도와주실거죠?^^)
일단 http://test.com/tc/owner/center/dashboard 로 바로 접근해 보시기 바랍니다. interface/owner/index.php의 내용을 보면, 로그인 상태를 판별해서 안 했으면 http://test.com/tc/login으로 리다이렉트하게 되어 있습니다. 그 부분이 지금 안 돌아가는 것 같네요.

아파치에서 만드는 서버환경변수 사용을 1.6에서 싹 갈았기 때문에 IIS에서도 돌아가야 정상입니다. smile 안 돌아간다면... 고쳐야 하는 부분이지요 T_T

여전히... ^^;; 접근이 안됩니다. 언급하신 URL 부분과 파일을 보면... $blogURL 이라는 변수가 있던데... 이게 어디서 세팅이 되는건가요? 그 값이 왠지 안보일 것 같다눈...

참고로 디버그모드 주석 없앤 다음에 첫화면 스크린덤프 떠서 올립니다. 참고가 되시길...
(스크린 덤프 업로드가 안되는구만요. ㅡㅡ; 미리보기 이런거 안했는데...)

아, 추가로 제 환경을 말씀드리자면

O/S: WinXP (SP2)
웹서버: IIS 5.1
언어: PHP 5.1.2 + ASP.NET 2.0
DB: MySQL 5.0.18 nt-max + MS-SQL 2005 Server Express

요렇습니다.

inureyes 작성:

localhost 가 앞에 붙은 상태에서는 쿠키를 만들 수가 없기 때문에 로그인이 불가능합니다^^ 구글링하시면 관련하여 굉장히 많은 정보를 얻으실 수 있습니다.

구글링하기

임시로 사용하는 컴퓨터의 hosts를 수정하여 localhost에 해당하는 127.0.0.1 에 도메인 이름을 주는 방법이 있습니다. 한 번 시도해보세요 smile

이런이런... 그냥 아무생각없이 예를 로칼호스트로 들었더니만, 답변을 거기에 맞춰서... ㅡㅡ;
나름 회사에서 웹개발 하는 사람인데 그정도를 몰랐을까요. ㅡㅡ;
당근, 로칼호스트가 아니라 다른걸로 해놨지요. 실제로는

127.0.0.1 test.com

요렇게 매핑 시켜놓고

http://test.com/tc/ 이렇게 하면 접속이 되게끔 만들었습니다만... 여전히 관리자 화면으로 들어가질 못하네요. 아직도 여전히 아파치에서만 돌아가고 IIS에서는 돌아가지 않는지요? 웹서버가 아파치만 있는 것이 아닐진대 아파치에만 돌아가게끔 세팅을 해놓으신거는... 아직도 좀 의문입니다.

질문의 요지는 "IIS에서는 돌아가는지 안돌아가는지?"입니다.

IIS + PHP + MySQL 을 사용해서 텍스트큐브를 설치했습니다.

회사내 서버환경이 IIS + 닷넷 & PHP + MS-SQL & MySQL 인지라 별 문제가 없겠거니 하고 설치했더랬지요. 근데, 설치까지는 다 됐습니다. mod_rewrite 없어도 설치가 되는구나. 감동~ 그나저나, 로그인이 안되는구만요. ㅡㅡ; 관리자 화면으로 가려니

http://localhost/tc/?/owner

이런식으로 주소가 나오는데 더이상 진전이 없습니다. 로그인 화면이 나타나질 않네요. 아직까지도 IIS는 지원대상이 아닌지요? 아니면 IIS에서 어떤 부분을 추가로 세팅해 주어야만 하는건지요?

김태경 작성:

해당 문제를 수정했습니다. 다음 업데이트에서 반영될 예정입니다. 문제점을 알려주셔서 감사합니다.

고생하셨습니다. ^0^

아효오~ 아직까지도 인터넷이 안되는지라 모처럼만에 접속해서 글좀 올려볼까 했더니만 툴바가 플래시 버전으로 바뀌어 있더라구요. 그런데, 이 플래시 툴바가 어째 그 밑에 깔려있는 링크들을 가려서 클릭하질 못하게 합니다요.

http://danielsdiary.tistory.com

블로그에 가보시면 우측 상단에 툴바랑 어드민/글쓰기 링크랑 같이 겹쳐지게 되는데, 겹쳐지는 것 까지야 상관없다지만 플래시를 걷어내는 버튼을 클릭해도 그게 아래의 링크를 활성화시키지는 못하더라구요.

http://forum.tattertools.com/ko/attachment.php?item=54&download=1

플래시 툴바를 좀 어떻게 해야 할 듯 싶은데요? ^^

7

(0 답글들, 이올린에 작성)

태터로 글을 쓸 때 지역태그를 넣죠?

거기에는 한글로만 적어야 하나요? 저는 지금까지 Australia > Victoria > ... 등 영어로 적어놓았는데 이올린에서 보니까 지역검색에서는 Australia 건 호주건 전혀 보이질 않네요.

한동안 영문버전, 일본어 버전, 중국어 버전 등 외국어 사용자를 위한 노력을 하시는 것처럼 보였는데, 그부분이 지금은 잠시 멈춰져 있는건지 모르겠습니다.

지역태그를 영어로, 중국어로, 일본어로 쓸 경우 반영이 되는 시점은 언제부터일까요?

본문에 rar 파일과 pdf 파일을 업로드 시킬 경우 아이콘이 보이질 않습니다.

가장 많이 쓰이는 압축파일은 물론 zip 파일이지만 rar 파일도 더불어 많이 쓰인다고 생각합니다.
또한 pdf 파일의 경우는 정말 널리 쓰이는 문서포맷인데요, pdf 파일임을 알려주는 파일 아이콘을 추가해 주시는 것이 좋을 듯 싶습니다. ^^

연말이네요. 고생많이 하셔요~

찾았습니다. ㅡㅡ; 메뉴가 따로 떨어져 있어서 찾기가 힘드네요. 스킨 편집 화면 안에 관련 이미지 파일 업로드 링크라도 하나 넣어두면 이동이 쉬울 듯 싶습니다.

스킨용 이미지를 업로드 하려고 하는데요, skin.html 이랑 style.css 파일을 수정할 수는 있어도 스킨용 이미지 파일들은 어디로 업로드 시키지요? 메뉴를 찾을 수가 없네요. ㅡ0ㅡ;

1.0.6.x 기준으로 질문 드립니다.

ViewAttachedImage 이벤트 뿐만 아니라 첨부된 다른 파일들, 예를 들어 zip 파일이라든가 다른 멀티미디어 파일들이 링크될 때의 이벤트는 어떤게 있지요?

이경우에는 경로명이 원래의 경로명이 아닌 채로 살짝 뒤틀려보이게 하는데 말이지요. attach/숫자/파일이름.zip 형태가 아니라 attachment/파일이름.zip 의 형태가 되더라구요. 이렇게 바꿔 보여주는 것은 어떻게 처리하셨습니까?

Peris님 고맙습니다. ^^ 이거 테스트 한번 해봐야겠네요.
자바스크립트를 저렇게도 쓰는구만요. 또 하나 배웠습니다. ^0^

inureyes 작성:

이 경우에는 디비에 넣고 쿼리 때리는게 빠르겠습니다^^ 플러그인에서 고유의 테이블을 만들 수 있습니다. 피드 통계 플러그인을 참고해보세욥^^

티스토리에서도 쿼리가 가능한지요? 저는 "티스토리용"이라고 서두에 언급했습니다만... ^^;;

국기 보여주는 플러그인을 티스토리에 적용할 수 있는 방법은 없을까 궁리해 보다가 IP주소에 따른 국가데이터를 XML로 생성시켜 놓고, 그걸 자바스크립트로 불러들이면 가능하겠지 싶어서 뚝딱뚝딱 해봤습니다.

결론부터 말씀드리자면, "됩니다". 그렇지만, IP주소가 들어있는 XML 파일의 용량이 워낙에 크다보니 (26000개 이상) IP주소를 비교하는 과정에서 시간이 너무 오래 걸리네요. 사실, 브라우저가 죽어서 확인하지 못했습니다만, XML 파일의 데이타를 1000개 미만으로 샘플링해서 테스트를 해보면 아무런 문제가 없습니다. 아무래도, 이건 최적화 문제 같은데요... 한번 봐주실랍니까? ^^;

이 미션은 "티스토리에 국기 아이콘 붙이기" 입니다. ^^

<ul>
<li>XML 파일 다운로드 및 저장. 저장위치는 /skin/images/ip2nation.xml</li>
<li>플러그인 파일 생성 및 활성화</li>

index.xml

<binding>
  <listener event="ViewCommenter">setIpAddrDisplay</listener>
  <listener event="ViewGuestCommenter">setIpAddrDisplay</listener>
</binding>
index.php

function setIpAddrDisplay($target, $mother)
{
    $strIpAddr     = $mother['ip'];
    $strSpanStyle= 'margin: 0px; margin-right: 10px; padding: 0px;';

    $strScript     = '<span id="comments" style="'.$strSpanStyle.'">';
    $strScript    .= $strIpAddr;
    $strScript    .= '</span>';

    $target         = $strScript.$target;
    return $target;
}

<li>자바스크립트 생성 및 저장. 저장위치는 /skin/images/FlagIcon.js</li>

FlagIcon.js

var objXmlDoc    = null;

function setXMLFlagIcon(url)
{
    //    for IE
    if (window.ActiveXObject)
    {
        objXmlDoc        =    new ActiveXObject("Microsoft.XMLDOM");
        objXmlDoc.async    = false;
        objXmlDoc.load(url);
        setFlagIconTag();
    }
    // for Non-IE
    else if (document.implementation && document.implementation.createDocument)
    {
        objXmlDoc            = document.implementation.createDocument("", "", null);
        objXmlDoc.load(url);
        objXmlDoc.onload    = setFlagIconTag;
    }
    else
    {
        alert("XML Document cannot be handled with your browser");
    }
}

function setFlagIconTag()
{
    var blTagIp            = true;
    var strIp            = "";
    var objDocTagName    = null;

    var i                = 0;
    while (blTagIp)
    {
        objDocTagName    = document.getElementById("comments");
        if (objDocTagName.tagName.toLowerCase() == "span")
        {
            strIp    = objDocTagName.innerHTML;
            objDocTagName.innerHTML    = convertIp(strIp);
        }
        else
        {
            blTagIp    = false;
        }
        i++;
    }
}

function convertIp(strIp)
{
    var arrIp            = strIp.split(".");
    var intIp            = arrIp[0]*256*256*256 + arrIp[1]*256*256 + arrIp[2]*256 + arrIp[3]*1;
    var strIpCode        = "";
    var strIpCountry    = "";
    var objXmlIpHexxed    = objXmlDoc.getElementsByTagName("ip_hexxed");
    var objXmlIpCode    = objXmlDoc.getElementsByTagName("code");
    var objXmlIpCountry    = objXmlDoc.getElementsByTagName("country");

    for (var i = 0; i < objXmlIpHexxed.length; i++)
    {
        if (objXmlIpHexxed[i].childNodes[0].data < intIp)
        {
            strIpCode        = objXmlIpCode[i].childNodes[0].data;
            strIpCountry    = objXmlIpCountry[i].childNodes[0].data;
        }
        else
        {
            break;
        }
    }

    var arrImgPath    = location.pathname.split("/");
    var strImgSrc    = "";
    for (i = 0; i < arrImgPath.length - 1; i++)
    {
        strImgSrc    = strImgSrc + "/" + arrImgPath[i];
    }
    strImgSrc        = strImgSrc + "/images/" + strIpCode + ".gif";
    var strImgAlt    = strIpCountry;
    var strImgTag    = strImgSrc+":::"+strImgAlt;
//    var strImgTag    = "<img src=\""+strImgSrc+"\" width=\"16\" height=\"11\" alt=\""+strImgAlt+"\" />";
    return    strImgTag;
}

<li>스킨파일 수정</li>

skin.html

    <script type="text/javascript" language="javascript" src="./images/FlagIcon.js"></script>
    <title>[##_title_##] :: [##_page_title_##]</title>
</head>
<body onload="setXMLFlagIcon('./images/ip2nation.xml')">

</ul>

으흙흙~ ㅡㅜ 바톤타치 주자 나와주삼~ ㅡ0ㅡ;

제 말은, 해당 플러그인을 하나 만들면 그걸 티스토리에 적용시키는 것이 가능한지에 대한 질문입니다. ^^;

그러면 하나 만들어주시면 어떠하실런지요? ^^;

예전에 클래식 버전까지에서는 제가 분명히 IP주소를 확인했더랬는데, 1.x 버전으로 올라오면서 내부적으로만 보이고, 스킨에서는 보이질 않더라구요.

어떤 사람들(저같은)의 경우에는 댓글 단 사람들의 IP주소를 공개시키기를 원하는 사람들도 있다고 생각합니다. 또는 해당 IP주소를 통해 다른 활용-국기달기 같은-도 가능하겠구요. ^^

설치형이라면 그냥 간단하게 플러그인으로 대체하면 될 듯 싶습니다만, 굳이 그렇게 하지 않고도 IP주소에 대응하는 치환자가 있나요?

그렇다면, 스킨에 넣어서 IP주소를 보이게끔 하고 싶습니다. ^^

사실, IP주소를 가져와서 그걸로 뭔가를 좀 해보고 싶거든요.

휘유우... 결국 config.php 파일 지우고 새로 세팅해서 테스트환경 만들어놨네요. ^^;
남들은 1.1로 잘만 올라가는데, 아직까지 1.0.6.1도 새로와서 말이지요. ㅎㅎ

Peris 작성:

그걸 수정했다고해서 그런 문제가 생길 이유가 없습니다.;;
뭔가 오타가 있으신게 아닐까라고 추측해봅니다.

그렇죠? 저건 php.ini 파일에 규정되어 있는걸 잠깐 돌려놓는 것 뿐이니...
그런데, 다시 off 로 했다고 해서 안되는건 사실인걸요.

다른건 건디린 적이 없으니까용. ㅡ0ㅡ;
첫화면은 정상적으로 뜨는데 관리자 로그인화면에서 저런답니다. ㅡㅜ

다들 도움 주셔서 고맙습니다. ^^ 플러그인 문제 해결했구요,

다만, 나니님께서 가르쳐주신 그 display_error, off -> on 문제가 개발서버에서 한번 바꿔봤더니 아예 관리자 로그인 화면으로 접속이 불가능해진지라... 백지화면이네요. 다시 off로 돌려놔도 그렇네요.

이거는 어떻게 해결하죠? ㅡㅡ?

나니 작성:

좀 무식한 방법이지만 config.php에 보면 ini_set('display_errors', 'off'); 이 부분이 있는데 ini_set('display_errors', 'on'); 이렇게 바꿔보세요.
문제가 있다면 php 문법 오류에 대해 나옵니다. (블로그도 정상적으로 열리고요.)

문제 해결되면 재빨리 도로 off로 돌려놓는 쎈쓰!! (써보면 아시겠지만 notice 알림에 대한 것도 나오다보니 보기가 안좋습니다;; )

허걱, 그런데 이걸 on으로 돌려놓고 나니까 관리자 화면으로 들어가지질 않네요. ㅡㅜ
이번엔 관리자 로그인 화면이 백지... ㅡㅡ;

세션 때문인지 브라우저를 다 끄고 새로 접속해도 마찬가지... ㅡㅡ;
어쩌면 좋으려나...

나니 작성:

좀 무식한 방법이지만 config.php에 보면 ini_set('display_errors', 'off'); 이 부분이 있는데 ini_set('display_errors', 'on'); 이렇게 바꿔보세요.
문제가 있다면 php 문법 오류에 대해 나옵니다. (블로그도 정상적으로 열리고요.)

문제 해결되면 재빨리 도로 off로 돌려놓는 쎈쓰!! (써보면 아시겠지만 notice 알림에 대한 것도 나오다보니 보기가 안좋습니다;; )

오... 그것이 디버깅 모드였군뇽. 저 그런거 좋아라 합니다. 어차피 랩탑에서 개발서버 돌려놓으면서 작업하니까 시간 두고 천천히 해봐야겠네요. ^^ 다행입니다. 뭐가 보여야 디버깅도 할텐데, 그게 안되니 어찌나 답답하던지 말이죵. ^^;

성공하면 다시 올려보겠습니다. ^^;

J. Parker 작성:
Justin 작성:

이렇게 하면 일단 알럿창 하나 뜨고 시작해야 하는 것 맞지 않나요?
그런데, 안되는 이유는 뭘까요? 1.0.6.1 버전입니다.

이상 없습니다. 1.0.6.1은 아니지만 정상 동작합니다. 어떤 플러그인을 만드시려고 하는지
그리고, 이왕이면 전체 코드를 공개해주시면 정확하게 진단이 가능할것 같습니다.

그렇죠? 저도 이상없다고 생각하는데, 실제로는 그렇지 않으니... ㅡㅡ;
전체 코드와 skin.html 부분은 아래와 같습니다.

index.xml

...
    <binding>
        <tag name="tab_link_menu" handler="getTabLinkMenu" />
    </binding>
index.php

function getTabLinkMenu($target)
{
    global $blog;

    $arrLinks    = getLinks($blog['name']);
    $strLink    = '';
    foreach($arrLinks as $arrLink)
    {
        $strLink    .= '<li><a href="'.$arrLink('url').'" target="_self">'.$arrLink('value').'</a></li>'."\n";
    }
    return $strLink;
}

function getLinks($strVal)
{
    $arrLinks    = array();
    switch ($strVal)
    {
        case 'test.blog':
        case 'chronicles':
        case 'tools':
            $arrLinks[]    = array('value' => 'Home',            'url' => 'http://www.justinchronicles.net/index.php');
            $arrLinks[]    = array('value' => 'Chronicles',    'url' => 'http://www.justinchronicles.net/chronicles');
            $arrLinks[]    = array('value' => 'Daniel',        'url' => 'http://danielsdiary.tistory.com');
            $arrLinks[]    = array('value' => 'Tools',            'url' => 'http://www.letmeshow.info/tools');
            $arrLinks[]    = array('value' => 'Photo',            'url' => 'http://justinphoto.tistory.com');
            break;
        default:
            break;
    }
    return $arrLinks;
}
skin.html

        <!-- header -->
        <div id="header">
...
            <!-- navigation menu -->
            <ul>
                [##_tab_link_menu_##]
                <li><a href="[##_taglog_link_##]">Tags</a></li>
                <li><a href="[##_guestbook_link_##]">Guestbook</a></li>
            </ul>
            <!-- navigation menu -->
        </div>
        <!-- header -->

무엇이 문제일까요? 플러그인 설정이 잘못됐을 때 나타나는 백지화면 뿐이라서요. ㅡㅜ

그렇다면요, 제가 임의로 치환자를 만들어 넣고 난 뒤에 그걸 플러그인의 index.xml 파일과 index.php에 적용을 시키면 되짆아요?

예를 들어서, skin.html의 헤더 부분에 [##_tablink_##] 라는 치환자를 넣고난 뒤,

index.xml

    <binding>
        <tag name="tablink" handler="setTabMenu" />
    </binding>
index.php

function setTabMenu($target)
{
    global $blog;
    echo '<script>alert("'.$blog['name'].'");</script>';
    ...

    return $target;
}

이렇게 하면 일단 알럿창 하나 뜨고 시작해야 하는 것 맞지 않나요?
그런데, 안되는 이유는 뭘까요? 1.0.6.1 버전입니다.