Skip to content

Commit

Permalink
refs #514
Browse files Browse the repository at this point in the history
  * 1.8 트리와 동기화
  • Loading branch information
inureyes committed Mar 1, 2010
1 parent 82d4bf3 commit c7ee596
Show file tree
Hide file tree
Showing 69 changed files with 2,525 additions and 1,789 deletions.
2 changes: 1 addition & 1 deletion documents/COPYRIGHT
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Copyright (C) 2004-2008, Needlworks / Tatter Network Foundation.
Copyright (C) 2004-2010, Needlworks / Tatter Network Foundation.

This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
Expand Down
10 changes: 1 addition & 9 deletions documents/INSTALL
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Textcube Installation
---------------------

Please read requirements.txt to see what softwares you need before installation.
Please read manual_requirements.txt to see what softwares you need before installation.

For MySQL 4.1 or above, UTF-8 for default character set and collation settings
is strongly recommended.
Expand Down Expand Up @@ -36,14 +36,6 @@ is strongly recommended.

Step 4: Run setup.php on your web browser.

NOTE: (for localhost installers)
* Use 127.0.0.1 instead of localhost to avoid later login problems for most
of web browsers.
* If you're using Google Chrome, you have to edit your hosts configuration
to avoid login problems, because it refuses to save cookies even for
127.0.0.1 IP address.
See C:\Windows\System32\drivers\etc\hosts file.

Step 5: You will see a notice about IIS during installation.

Step 6: After setup, add $service['fancyURL'] = 2; to config.php to force using rewrites.
Expand Down
49 changes: 49 additions & 0 deletions documents/changelog_ko.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,54 @@
* 이 문서는 변경사항을 모두 포함하고 있지 않을 수 있습니다. 자세한 변경사항 열람을 위해서는 텍스트큐브 개발 사이트 (http://dev.textcube.org) 의 해당 버전의 로드맵과 티켓들을 확인해 주시기 바랍니다.
* 버그 로그는 일반적으로 이전 버전에서 발생했으나 해결된 부분을 포함하며, 이번 버전을 만드는 과정에서 발생하는 버그는 기록하지 않습니다.

== v1.8.3 개발 관련 노트 ==
=== 추가된 점 ===
* 블로그 : 최근 공지와 최근 글의 필자 치환자 추가 및 동작 추가 (#1437)
* 관리패널 : 모바일용 관리 모드 추가 (베타) (#1418)
* 일반 : camouflage 기능 추가 (알파) (#1431)

=== 변경된 점 ===
* 일반 : 스태틱 리소스의 더 많은 부분을 serviceURL에서 불러오도록 함 (대용량 서비스 구축시 리소스 서버 분리시 적용) (#1441)

=== 버그 수정 ===
* 일반 : 공지사항 등의 피드 로드가 갱신되지 않는 오류 수정 (#1440)
* 블로그 : 댓글 ajax 블록 로드시에 ATOM/RSS 피드 치환자가 동작하지 않는 문제 수정 (#1435)
* 블로그 : 댓글 페이지 사용시 클릭했을때 2번째 페이지가 보이지 않는 문제 수정 (#1201)
* 블로그 : 댓글을 폈을 때 접히지 않는 문제 수정 (#1201)
* 모바일 : 아이폰 모드에서 댓글보기 동작 오류 수정 (#1436)
* 모바일 : 아이폰뷰에서 블로그 소유자의 이름이 제대로 나오지 않는 문제 수정 (#1432)
* 에디터 : html 코드의 웹표준 변환이 제대로 변환되지 않는 문제 수정 (#1438)
* 에디터 : 위지윅 에디터의 STD 참조 자바스크립트 에러 문제 수정 (#1439)
* TTXML : 카테고리복원, 방명록 정보, 스팸필터 정보 복원시 잘못될 수 있는 문제 수정 (#1298)
* OpenID : Transaction 관련을 $_SESSION에서 파일로 옮겨 세션 의존으로 인하여 생기는 문제 수정 (#1385)

=== 스킨 치환자 추가 안내 ===
텍스트큐브 1.8.3부터는 아래의 스킨 치환자를 추가로 지원합니다.

==== 공지 영역 <s_notice> 내 ====
* notice_rep_author : 저자 이름
* notice_rep_author_link : 저자가 작성한 글 목록 페이지로 가는 링크

==== 키로그 영역 <s_keylog> 내 ====
* keylog_rep_author : 저자 이름
* keylog_rep_author_link : 저자가 작성한 글 목록 페이지로 가는 링크

==== 본문 영역 <s_article> 내 ====
* article_rep_author_link : 저자 이름
* article_rep_author_link : 저자가 작성한 글 목록 페이지로 가는 링크

==== 사이드바의 최근 댓글 영역 <s_rctps> 내 ====
* rctps_rep_author : 저자 이름
* rctps_rep_author_link : 저자가 작성한 글 목록 페이지로 가는 링크

=== 모바일 관리 패널 안내 ===
텍스트큐브 1.8.3에는 모바일 관리 패널의 초기 버전이 반영되었습니다. 아직 초기 버전이기 때문에 사용을 위해서는 옵션 파일의 수정이 필요합니다. 설치된 디렉토리의 config.php 에 아래의 한 줄을 추가하시면 됩니다.

$service['usemobileadmin'] = true;

이후 정식 기능이 될 경우에는 서버 메뉴의 환경 설정 패널에서 조정할 수 있게 될 예정입니다.


== v1.8.2 개발 관련 노트 ==
=== 추가된 점 ===
* 설치 : 설치시 PHP 버전을 확인하여 동작 가능 여부를 알려줌 (#1406)
Expand Down
29 changes: 0 additions & 29 deletions documents/config.txt

This file was deleted.

54 changes: 54 additions & 0 deletions documents/manual_config.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
//
// Textcube service-wide configurable options via config.php
// ---------------------------------------------------------
//
// This document explains about the available options at config.php
//
<?php
ini_set('display_errors', 'off');
$database['server'] = 'localhost'; // Location of DBMS server
$database['database'] = 'noname'; // Database name
$database['username'] = 'noname'; // user name to estiblish database connection
$database['password'] = 'noname'; // password to establish database connection
$database['prefix'] = 'tt_'; // prefix (useful when you try to install two or more textcubes in one database.
$service['type'] = 'path'; // Service type.
// 'path' : path-based e.g.) http://www.example.com/blog1 ,
// 'domain' : domain-based. e.g.) http://blog1.example.com
// If you installed Textcube on http://www.example.com/tc, )
$service['domain'] = 'domain.ext'; // Default service domain. (e.g.) http://www.example.com
$service['path'] = '/path1/path2'; // URI path where textcube is installed (e.g.) /tc
$service['skin'] = 'coolant'; // Default blog skin name.
$service['timeout'] = 3600; // Session timeout limit (sec.)
$service['disableEolinSuggestion'] = false; // Disable auto-suggestion using EOLIN server.
//Usually it searches local tag by default.
// From Tattertools 1.1
$service['useEncodedURL'] = false; // URL encoding using RFC1738
$serviceURL = ''; // Useful if using other web program under the same domain
// From Textcube 1.5
$service['fancyURL'] = 2; // fancy-URL control when web server does not support rewrite engine.
// 0 : Do not use fancy-URL, e.g.) http://www.example.com/index.php?tag
// 1 : Use php direction only. e.g.) http://www.example.com/?tag
// 2 : Use full fancy-URL. e.g.) http://www.example.com/tag
$service['useNumericURLonRSS'] = false; // Can force permalink to numeric format on RSS output.
$service['useLegacySupport'] = false; // Uses legacy support (for tattertools plugins) function.
// From Textcube 1.6
$service['flashuploader'] = true; // Use Flash uploader to upload multiple files.
$service['clipboardpoter'] = true; // Use Flash clipboard copy to support one-click trackback address copy.
$service['reader'] = true; // Use Textcube reader. You can set it to false if you do not use Textcube reader, and want to decrease DB load.
$service['pagecache'] = true; // pagecache function. (changed from disablePageCache option at TC 1.5)
$service['debugmode'] = false; // Textcube debug mode. (for core / plugin debug or optimization)
$service['debug_session_dump'] = false; // session info debuging.
$service['debug_rewrite_module'] = false; // rewrite handling module info debuging.
$service['allowBlogVisibilitySetting'] = true; // Allow service users to change blog visibility
$service['externalresources'] = false; // Loads resources from external storage.
$service['resourcepath'] = 'http://example.com/resource'; // Specify the full URI of external resource.
$service['favicon_daily_traffic'] = 10; // Set favicon traffic limitation. default is 10MB.
// From Textcube 1.7
$service['skincache'] = true; // Use skin pre-fetching.
// Textcube will parse static elements (blog name, title…) only when you change skin.
// From Textcube 1.8
$database['port'] = 3639; // Database port number
$database['dbms'] = 'MySQL'; // DBMS. (MySQL, MySQLi, PostgreSQL, Cubrid.)
$service['memcached'] = false; // Using memcache to handle session and cache
$memcached['server'] = 'localhost'; // Where memcache server is.
?>
15 changes: 8 additions & 7 deletions documents/requirements.txt → documents/manual_requirements.txt
Original file line number Diff line number Diff line change
@@ -1,19 +1,22 @@
Textcube 1.5 Requirements
Textcube 1.8 Requirements
-------------------------

1. For Linux Systems :

Minimum requirements :
* Apache 1.3 or above
* with mod_rewrite module
* PHP 4.3 or above
* MySQL 3.23 or above
* with UTF-8 emulation routine in Textcube
* PHP 5.2 or above
* Database Management System
* MySQL 4.1 / MariaDB 5 or above
* with UTF-8 emulation routine in Textcube
* Cubrid R2008 or above
* PostgreSQL 8.3 or above

Suggested environment :
* Apache 2.2 or above
* with mode_rewrite module
* PHP 5.1 or above
* PHP 5.2 or above
* with iconv / gd module
* MySQL 5.0 or above
* with UTF-8 character set and collation settings
Expand All @@ -24,8 +27,6 @@ Textcube 1.5 Requirements
(Need to modify config.php. referer 'config' in DOC directory.)
* InnoDB with Entries / Tags / TagRelations table.

WARNING: From Textcube 1.8 and 2.0, PHP 5.2 will be the MINIMUM requirement.

2. For Microsoft Windows :

* IIS 5.0 or above
Expand Down
File renamed without changes.
47 changes: 0 additions & 47 deletions documents/workflow_1.7.txt

This file was deleted.

2 changes: 1 addition & 1 deletion framework/data/DBModel.php
Original file line number Diff line number Diff line change
Expand Up @@ -200,7 +200,7 @@ public function getRow($field = '*') {

public function getColumn($field = '*') {
$field = $this->_treatReservedFields($field);
return POD::queryColumn('SELECT ' . $field . ' FROM ' . $this->table . $this->_makeWhereClause() . ' LIMIT 1');
return POD::queryColumn('SELECT ' . $field . ' FROM ' . $this->table . $this->_makeWhereClause());
}

public function getAll($field = '*') {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,10 @@
} else {
define('DS', "/");
}

// OpenID-Specific parameters
define( 'OPENID_LIBRARY_ROOT', ROOT . "/library/contrib/phpopenid/" );
define( 'XPATH_LIBRARY_ROOT', ROOT . "/library/contrib/phpxpath/" );
define( 'Auth_OpenID_NO_MATH_SUPPORT', 1 );
define( 'OPENID_PASSWORD', "-OPENID-" );
define( "OPENID_LIBRARY_ROOT", ROOT . "/library/contrib/phpopenid/" );
define( "XPATH_LIBRARY_ROOT", ROOT . "/library/contrib/phpxpath/" );
define( "Auth_OpenID_NO_MATH_SUPPORT", 1 );
define( "OPENID_PASSWORD", "-OPENID-" );

// Define global variable.
global $database, $service, $blog, $memcache;
Expand Down Expand Up @@ -60,4 +58,5 @@
$service['debug_session_dump'] = false;
$service['debug_rewrite_module'] = false;
$service['useNumericURLonRSS'] = false;
//$service['adminskin'] = 'whitedream';
?>
2 changes: 1 addition & 1 deletion framework/legacy/Textcube.Control.Session.php
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,7 @@ private static function newAnonymousSession() {
if (($id = self::getAnonymousSession()) !== false)
return $id;
$id = dechex(rand(0x10000000, 0x7FFFFFFF)) . dechex(rand(0x10000000, 0x7FFFFFFF)) . dechex(rand(0x10000000, 0x7FFFFFFF)) . dechex(rand(0x10000000, 0x7FFFFFFF));
$result = self::query('count',"INSERT INTO ".self::$context->getProperty('database.prefix')."Sessions (id, address, created, updated) VALUES('$id', '{$_SERVER['REMOTE_ADDR']}', UNIX_TIMESTAMP(), UNIX_TIMESTAMP() - $meet_again_baby)");
$result = self::query('count',"INSERT INTO ".self::$context->getProperty('database.prefix')."Sessions (id, address, server, request, referer, created, updated) VALUES('$id', '{$_SERVER['REMOTE_ADDR']}', '', '', '', UNIX_TIMESTAMP(), UNIX_TIMESTAMP() - $meet_again_baby)");
if ($result > 0)
return $id;
}
Expand Down
5 changes: 2 additions & 3 deletions framework/legacy/Textcube.Data.Category.php
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,7 @@ function open($filter = true, $fields = '*', $sort = 'priority') {
if ($filter)
$pool->setQualifier('parent',null);
} else if (!empty($filter)) {
$condition = explode('=',$filter);
$condition = trim($condition);
$condition = array_map(create_function('$s','return trim($s);'), explode('=',$filter));
$pool->setQualifier($condition[0],'equals',$condition[1]);
}
if (!empty($sort))
Expand All @@ -61,7 +60,7 @@ function close() {

function shift() {
$this->reset();
if ($this->_result && ($row = each($this->_result))) {
if ($this->_result && ($row = POD::fetch($this->_result))) {
foreach ($row as $name => $value) {
if ($name == 'blogid')
continue;
Expand Down
5 changes: 4 additions & 1 deletion framework/legacy/Textcube.Data.Comment.php
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,10 @@ function add() {
$this->ip = $_SERVER['REMOTE_ADDR'];
if (!isset($this->isfiltered))
$this->isfiltered = 0;


//regacy
if (isset($this->commenter)) {$this->replier = $this->commenter;/*unset($this->commenter);*/;}

if (!$query = $this->_buildQuery())
return false;
if (!$query->hasAttribute('written'))
Expand Down
3 changes: 1 addition & 2 deletions framework/legacy/Textcube.Function.Setting.php
Original file line number Diff line number Diff line change
Expand Up @@ -320,10 +320,9 @@ function setServiceSetting($name, $value, $global = null) {

function removeServiceSetting($name, $global = null) {
if(is_null($global)) $name = 'plugin_' . $name;
$name = 'plugin_' . $name;
$query = DBModel::getInstance();
$query->reset('ServiceSettings');
$query->setQualifier('name','equals', $name,true);
$query->setQualifier('name','like', $name,true);
return $query->delete();
}

Expand Down
9 changes: 5 additions & 4 deletions framework/model/Config.php
Original file line number Diff line number Diff line change
Expand Up @@ -10,14 +10,15 @@ public static function getInstance() {
return self::_getInstance(__CLASS__);
}

protected function __construct() {
$this->__basicConfigLoader();
protected function __construct($id = 'textcube') {
$this->__basicConfigLoader($id);
}

private function __basicConfigLoader() {
private function __basicConfigLoader($id) {
global $database, $service; // For Legacy global variable support
$this->settings = array();
require_once(ROOT.'/library/config.default.php'); // Loading default configuration
if (file_exists(ROOT.'/framework/id/load')) $id = trim(file_get_contents(ROOT.'/framework/id/load'));
require_once(ROOT.'/framework/id/'.$id.'/config.default.php'); // Loading default configuration
if (file_exists(ROOT.'/config.php')) @include(ROOT.'/config.php'); // Override configuration
// Map port setting.
if (@is_numeric($_SERVER['SERVER_PORT']) && ($_SERVER['SERVER_PORT'] != 80) && ($_SERVER['SERVER_PORT'] != 443))
Expand Down
4 changes: 3 additions & 1 deletion framework/model/Line.php
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ public static function getInstance() {
}

public function reset($param = null) {
parent::reset('Lines');
$this->id = null;
$this->blogid = getBlogId();
$this->category = 'public';
Expand All @@ -39,7 +40,7 @@ public function add() {
$this->setAttribute('root',$this->root,true);
$this->setAttribute('author',$this->author,true);
$this->setAttribute('content',$this->content,true);
$this->setAttribute('permalink',$this->content,true);
$this->setAttribute('permalink',$this->permalink,true);
$this->setAttribute('created',$this->created);
return $this->insert();
}
Expand Down Expand Up @@ -107,6 +108,7 @@ public function getFormattedList($conditions) {
foreach($data as $d) {
$template = $conditions['template'];
$d['created'] = Timestamp::getHumanReadable($d['created']);
if($d['root'] == 'default') $d['root'] = 'Textcube Line';
foreach($conditions['dress'] as $tag => $match) {
dress($tag, $d[$match],$template);
}
Expand Down
Loading

0 comments on commit c7ee596

Please sign in to comment.