php.ini에
date.timezone = "Asia/Seoul"
을 넣으세요.
아직 로그인하지 않았습니다. 로그인 또는 회원 등록을 해 주시기 바랍니다.
TNF : Tatter Network Foundation forum » NoSyu가 작성한 글
php.ini에
date.timezone = "Asia/Seoul"
을 넣으세요.
그러고보니 다시 시작했는데 다시 넣어달라고 하기에도 미안하고....
블로그 리퍼러에 이 글이 찍힌 것을 보고 부끄러움만 생기고 있습니다.OTL...ㅜ
Class Category를 쓰는 다른 것들도 수정해서 현재 새로운 글 쓰기와 기존 글 가져오기를 할 때 카테고리에서 발생하는 문제 모두를 해결하였습니다.
Class Post도 legacy이기에 수정을 해야하는지는 잘 모르겠습니다만, 일단 지금 안 돌아가는 것을 돌아가도록 만들었습니다.
function api_getCategoryIdByName( $name_array )
{
if ($name_array === '') return 0;
if (count($name_array) <= 0) return 0;
$name = strtolower( $name_array[0] );
return getCategoryIdByLabel(getBlogId(), $name);
/*
기존 코드
$category = new Category();
$category->open(false);
$name = strtolower( $name_array[0] );
$id = 0;
$numeric_id = null;
while(1)
{
if( strtolower($category->label) == $name ) {
$id = $category->id;
break;
}
if( $category->id == $name ) {
$numeric_id = $category->id;
}
if( !$category->shift() )
{
break;
}
}
if( $id == 0 && $numeric_id !== null ) {
$id = $numeric_id;
}
$category->close();
return $id;
*/
}
function api_getCategoryNameById( $id )
{
return getCategoryNameById(getBlogId(), $id);
/*
기존 코드
$category = new Category();
$category->open();
$name = $id;
while(1)
{
if( $category->id == $id )
{
$name = $category->name;
break;
}
if( !$category->shift() )
{
break;
}
}
$category->close();
return $name;
*/
}tc\framework\legacy\ 에 있는 것들은 후에 지원이 안 되는 것인가요?
여기에 class post, class category 등이 있네요.
그럼 다 수정이 되어야 할 듯싶고...OTL
가져오기는 가져오는데 WLW에서 글을 쓰고 올리니까 지정한 카테고리를 인식못하네요.
http://nosyu.pe.kr/api?rsd 를 보니
<api name="MetaWeblog" preferred="false" apiLink="http://nosyu.pe.kr/api" blogID="1"/>
라고 되어있던데,
혹시 MetaWeblog는 구현이 덜 된것입니까?
안녕하세요.
TC 1.8로 올라오면서 Windows Live Writer에서 Category를 가져오는데 에러가 나더군요.
개선되기를 기다렸으나 혹시나 하는 생각에 제가 해결하였습니다.
개발 참여를 어떻게 하는지 명확히 잘 모르기에 여기에 해당 코드를 남깁니다.
티켓 생성 및 문제 해결에 도움이 되기를 바랍니다.
TC/library/model/blog.api.php
function metaWeblog_getCategories()
{
global $hostURL, $blogURL;
$params = func_get_args();
$result = api_login( $params[1], $params[2] );
if( $result )
{
return $result;
}
# 카테고리를 가져온다. 같은 폴더의 blog.category.php에 정의
$rows = getCategories($params[0], 'raw');
# 기존 코드와 동일
$cat = array();
# 역시 기존 코드와 비슷하다. 하지만 $rows로 날아오는 것이 해당 blogid에 맞는 카테고리이기에 그것을 하나씩 foreach로 확인하면 된다.
foreach ($rows as $category)
{
# 이건 명확하게 잘 모르겠으나 class Category에 살펴보니 label에 이런 함수를 동원한다. 따라서 추가.
$label = POD::escapeString(UTF8::lessenAsEncoding($category['name'], 255));
# 기존 코드와 비슷. $category->label => $label, $category->id => $category['id']로 바꾸기만 했다.
array_push( $cat, array(
'htmlUrl' => "$hostURL$blogURL/category/" . $label,
//'rssUrl' => "",
'categoryName' => $label,
'description' => $label,
'title' => $label,
'categoryid' => $category['id'],
'isPrimary' => true
) );
}
# 기존 코드와 동일.
return $cat;
/*
기존 코드.
$category = new Category();
$category->open(false);
$cat = array();
while($category->id)
{
array_push( $cat, array(
'htmlUrl' => "$hostURL$blogURL/category/" . $category->label,
//'rssUrl' => "",
'categoryName' => $category->label,
'description' => $category->label,
'title' => $category->label,
'categoryid' => $category->id,
'isPrimary' => true
) );
if( !$category->shift() )
{
break;
}
}
$category->close();
return $cat;
*/
}
function mt_getCategoryList()
{
$params = func_get_args();
$result = api_login( $params[1], $params[2] );
if( $result )
{
return $result;
}
# 카테고리를 가져온다. 같은 폴더의 blog.category.php에 정의
$rows = getCategories($params[0], 'raw');
# 기존 코드와 동일
$cat = array();
# 역시 기존 코드와 비슷하다. 하지만 $rows로 날아오는 것이 해당 blogid에 맞는 카테고리이기에 그것을 하나씩 foreach로 확인하면 된다.
foreach ($rows as $category)
{
# 이건 명확하게 잘 모르겠으나 class Category에 살펴보니 label에 이런 함수를 동원한다. 따라서 추가.
$label = POD::escapeString(UTF8::lessenAsEncoding($category['name'], 255));
# 기존 코드와 비슷. $category->label => $label, $category->id => $category['id']로 바꾸기만 했다.
array_push( $cat, array(
'categoryName' => $label,
'categoryId' => $category['id'],
'isPrimary' => true ) );
}
# 기존 코드와 동일.
return $cat;
/*
$category = new Category();
$category->open(false);
$cat = array();
while(1)
{
array_push( $cat, array(
'categoryName' => $category->label,
'categoryId' => $category->id,
'isPrimary' => true ) );
if( !$category->shift() )
{
break;
}
}
$category->close();
return $cat;
*/
}안녕하세요.
이번에 tc 1.8.2로 업그레이드 하였습니다.
그런데 하나 이상한 점이 있어 글을 남깁니다.
스킨 상세 설정에서 '댓글을 기본으로 펼칩니다.'를 disabled 하였는데 글의 링크로 들어가면 댓글이 펼쳐서 나옵니다.
즉, http://nosyu.pe.kr 로 들어가면 댓글이 기본으로 펼쳐지지 않지만,
http://nosyu.pe.kr/1768 로 들어가면 댓글이 기본으로 펼쳐져 나옵니다.
혹시나 해서 enabled를 하였더니 둘 다 기본으로 펼쳐져 나옵니다.
제 기억으로는 기본으로 펼쳐지는 것을 disabled할 경우 글을 클릭하더라도 역시 펼쳐지지 않는 것으로 기억합니다.
정책이 바뀌었습니까?
+
AJAX 이용한 것은 이번에도 안 되네요.
정확하게는 댓글이 20개가 넘어갈 경우 다음 것을 보기 위해 2페이지를 클릭하면 댓글창이 닫히기만 할 뿐 변화가 없습니다.
스킨이 예전 것이라 거기서 문제가 있는지 잘 모르겠지만, 이 부분은 좀 더 살펴본 후 리포팅 하겠습니다.
2. 오픈아이디로 로그인 시 에러 문구가 뜹니다.
대신 세션은 살아있는 듯싶습니다.
그래서 뒤로 가기를 누르면 잘 됩니다.
하지만 관리자로 로그인할 때 오픈아이디로 할 경우 문제가 발생합니다.
이것은 1.8.1에서 해결되었습니다.
NoSyu 작성:LonnieNa 작성:1번은 의도된 것으로 알고 있습니다.
개발사이트 개발트리 중 어딘가에서 본것 같네요.의도된 것이군요.
지금까지 시간이 오름차순으로 되어있었는데 갑자기 내림차순이 되니까 느낌이 이상해졌기 때문입니다.
코드를 찾아 이를 수정해야겠습니다.^^
http://www.textcube.org/center/entry/te … sneak-peak 이 글의 '댓글 페이징' 부분을 찾아서 보시면, 기존의 동작과 ajax 기반의 동작이 다른 이유에 대해서 설명을 기술해 놓았습니다. 로드를 줄이기 위한 기능이라 고민을 한 결과구요.
코드 수정은 간단합니다. /library/model/blog.comment.php 의 226번째줄 부터 function getCommentsWithPaging 함수가 있는데요, 그 쿼리에서 order by written desc 에서 desc를 asc로 바꾸시면 됩니다. 그런데 1.8.1 또 나오면 덮어 씌우고 사라지니, 그 부분을 옵션화 하는 기능을 추가하겠습니다.
해당 함수에서 desc를 asc로 바꾸니 댓글은 예전처럼 나오지만 방명록이 다시 거꾸로 나오네요.;;;
이 점 후에 옵션으로 넣을 시 확인 부탁드립니다.^^
사용하시는 서버의 PHP version을 확인하세요.
5.2 이상이어야 합니다.
모르시면 서버 관리자에게 문의해보시는 것이....
플러그인을 다 꺼보세요.
이것보다 더 좋은 방법이 있을 듯싶지만, 일단 무식한 방법입니다.
.htaccess에 다음 구문을 추가해보세요.
RewriteRule ^d.jpg - [L]
PHP version 문제 아닐까요?
사용하시는 서버의 PHP version이 무엇입니까?
Textcube 1.8은 PHP 5.2 이상에서 사용가능하다고 합니다.
서버 관리자에게 PHP version을 물어보세요.^^
오.. htaccess를 이용해서 할 수 있군요!
이것을 플러그인 단계까지 끌어올리는 것은 이상하려나요?
지금 저는 리퍼러 기록을 뿌리는 플러그인에 스팸 필터를 적용해서 사용하고 있기에 php 부담이 큰 듯싶었습니다.
좋은 방법 소개 고맙습니다.
filezilla와 같은 GUI 기반 FTP Client 프로그램을 쓰시면 윈도우 탐색기에서 폴더 옮기듯이 하시면 될 것입니다.
잘은 모르겠지만
Textcube 1.7.8인지 1.8.1인지 말씀해주시고
PHP version을 알려주시면 좋은 답변을 얻으실 수 있을 것입니다.
제 블로그인 http://nosyu.pe.kr 에서 발견된 버그입니다.
1.7.8 -> 1.8.0 -> 1.8.0.1 -> 1.8.1의 순으로 설치하였습니다.
댓글이 20개 이상일 때 페이지 2를 누르면 나와야 함에도 단순히 창이 닫힙니다.
예전 스킨을 사용해서 나타나는 문제인지 어떤지 잘 모르겠습니다.
다른 분들은 어떠한지 잘 모르겠네요.
확인 부탁 드리겠습니다.
댓글 버그 하나 더 추가합니다.
로드를 줄이기 위해 20개씩 댓글을 쪼개어 내놓는 듯싶은데, 2를 누를 경우 댓글이 나오지 않고 댓글란이 닫혀버립니다.OTL....
NoSyu 작성:LonnieNa 작성:1번은 의도된 것으로 알고 있습니다.
개발사이트 개발트리 중 어딘가에서 본것 같네요.의도된 것이군요.
지금까지 시간이 오름차순으로 되어있었는데 갑자기 내림차순이 되니까 느낌이 이상해졌기 때문입니다.
코드를 찾아 이를 수정해야겠습니다.^^
http://www.textcube.org/center/entry/te … sneak-peak 이 글의 '댓글 페이징' 부분을 찾아서 보시면, 기존의 동작과 ajax 기반의 동작이 다른 이유에 대해서 설명을 기술해 놓았습니다. 로드를 줄이기 위한 기능이라 고민을 한 결과구요.
코드 수정은 간단합니다. /library/model/blog.comment.php 의 226번째줄 부터 function getCommentsWithPaging 함수가 있는데요, 그 쿼리에서 order by written desc 에서 desc를 asc로 바꾸시면 됩니다. 그런데 1.8.1 또 나오면 덮어 씌우고 사라지니, 그 부분을 옵션화 하는 기능을 추가하겠습니다.
전 이글루스에서 블로그를 하다가 이사를 온 경우라 예전 이글루스가 답댓글 기능을 제공하지 않았습니다.
그래서 일일이 닉네임을 불러가며 답댓글을 달았던지라 거꾸로 있으면 답댓글이 먼저 있는 이상한 상태가 되기 때문입니다.
고치는 방법까지 알려주셔서 정말 고맙습니다.ㅜ
3번의 경우는 그렇게 동작하도록 만들어져 있습니다;; 혹시 안되나요? ㅠㅅㅠ
아.. 배려를 미리 하셨군요.
넵.. 하지만 잘 되지 않고 있습니다.
아마 기존 플러그인과의 문제가 조금 심각한 듯싶은데 그렇다고 끌 수도 없고....
조만간 플러그인 관련 문서를 읽어보고 수정을 해봐야겠습니다.
1번은 의도된 것으로 알고 있습니다.
개발사이트 개발트리 중 어딘가에서 본것 같네요.
의도된 것이군요.
지금까지 시간이 오름차순으로 되어있었는데 갑자기 내림차순이 되니까 느낌이 이상해졌기 때문입니다.
코드를 찾아 이를 수정해야겠습니다.^^
안녕하세요.
이번에 1.8.0.1로 업데이트 하면서 발견한 문제점입니다.
1. 댓글이 역순으로 나옵니다.
http://nosyu.pe.kr/867#entry867Comment
위와 같은 댓글을 볼 때 시간 역순으로 나옵니다.
환경설정에 있는 듯싶지만, 찾아도 그런 기능이 없었습니다.
2. 오픈아이디로 로그인 시 에러 문구가 뜹니다.
대신 세션은 살아있는 듯싶습니다.
그래서 뒤로 가기를 누르면 잘 됩니다.
하지만 관리자로 로그인할 때 오픈아이디로 할 경우 문제가 발생합니다.
http://nosyu.pe.kr/2224#comment13089
3. 이건 건의사항입니다.
댓글주소로 찾아갈 경우 자동으로 댓글이 열렸으면 좋겠습니다.
댓글이 열리지 않은 상태에서 저 주소로 접속하면 해당 댓글로 바로 가지 않습니다.
대신 댓글을 열고 주소를 찾아가면 해당 댓글로 스크롤이 움직입니다.
과연 가능한지 잘 모르겠습니다만, 아마 URL을 분석하면 가능하지 않을까 싶습니다.
이번에 DB 및 하부구조를 바꾸면서 전과 달리 많은 버그가 나타나는 듯싶습니다.
수고가 많으십니다.ㅜ
Textcube 1.8에서는 위치가 변경되었습니다.
\interface\common\blog\list.php
맞습니다!
'카테고리의 다른 글' 플러그인을 끄니 제대로 되는군요.
주신 문서에 맞춰 수정해야겠습니다.
답변 고맙습니다.
서버 사양이 PHP 5.2.9인데 문서를 보니 5.2.10을 추천하더군요.
이런 문제 때문에 발생하는 것입니까?
TNF : Tatter Network Foundation forum » NoSyu가 작성한 글