Skip to content

Commit

Permalink
refs #514, #567
Browse files Browse the repository at this point in the history
  * 체크업 오류 수정을 포함하여 1.8 트리에 동기화
  • Loading branch information
inureyes committed Dec 19, 2009
1 parent 841b032 commit 8e64071
Show file tree
Hide file tree
Showing 106 changed files with 8,067 additions and 432 deletions.
16 changes: 14 additions & 2 deletions documents/changelog_ko.txt
Original file line number Diff line number Diff line change
Expand Up @@ -17,18 +17,29 @@
* 블로그 : 서버의 보안상 쿠키 변조에 의하여 로그인에 성공해도 계속 로그인을 시도하는 서버에서도 로그인이 가능하도록 함 (#1322)
* 블로그 : localhost 에 설치할 경우에도 동작하는 기능 추가
* 블로그 : 피드 출력시 전문을 공개하는 경우 피드의 끝에 댓글을 남길 수 있는 링크 추가 (#1345)
* 관리패널 : 백업시 백업 파일에 블로그 식별자가 들어가도록 함 (#1286)
* 블로그 : 글목록+글내용 보기 화면에서 댓글을 펼칠 때 AJAX로 글목록 불러오는 기능 추가 (#1201)
* 블로그 : 대량의 글이 있는 블로그에서 새 글 작성 및 수정시 생기는 지연 감소 (#1358)
* 블로그 : 아이폰에서 아이콘을 만들 때 블로그 아이콘을 사용하는 기능 추가 (#1381)
* 관리패널 : Firefox / Safari 전용 관리 패널 스킨인 canon 추가 (#1320)
* 관리패널 : 백업시 백업 파일에 블로그 식별자가 들어가도록 함 (#1286)
* 관리패널 : 관리 패널의 하위 메뉴의 가독성 개선 (#1288)
* 관리패널 : 관리 패널의 댓글 보기에서 바로 수정 지원 (#1188)
* 관리패널 : 관리 패널 스킨 선택 화면에 미리 보기 도입 (#1288)
* 관리패널 : 태그 정리 및 관리/변경 페이지 지원 (#1248)
* 관리패널 : 전체 관리 페이지를 /admin 경로로 원래 관리패널에서 따로 분리함. (#1357)
* 모바일 : iPod touch / iPhone 모드에서 하드웨어 가속 지원 (#1249)
* 모바일 : iPhone 페이지에서 최근 트랙백 목록 지원 (#1249)
* 모바일 : iPhone 페이지에서 최근 댓글 목록 보기 지원 (#1249)
* 모바일 : iPhone 페이지에서 최근 방명록 보기 지원 (#1249)
* 모바일 : 유입 경로에 상관없이 기기에 따라 iPhone 페이지로 이동됨 (#1249)
* 플러그인 : 플러그인에서도 언어팩 지원 (#1154)
* 플러그인 : BlogAPI 사용시 동작하는 이벤트 추가 (#1268)
* 에디터 : 에디터 지원 코드 재작성
* 에디터 : 브라우저가 지원하는 경우, geolocation API를 지원하여 글 정보에 추가함 (#1291)
* 에디터 : 브라우저가 지원하는 경우, geolocation API를 지원하여 현재 위치를 글 정보에 추가함 (#1291)
* 일반 : Singleton 패턴 도입 (#1153)
* 일반 : URL-based Dispatching 구조 추가 (#1156)
* 일반 : NAF 1.5 도입
* 일반 : 기존 구조를 NAF 1.5 및 PHP5에 맞추어 재작성
* 일반 : DBMS의 포트 번호를 설치시 입력받도록 함 (#1276, #1277)
* 일반 : memcached 가속 지원(알파) (#1071)
* 일반 : MySQLi 데이터베이스 지원 (#1066)
Expand Down Expand Up @@ -59,6 +70,7 @@
* 플러그인 : 모블로깅 플러그인에서 글 작성 후 캐시를 갱신하지 않는 문제 수정 (#1230)
* 관리패널 : 마지막 관리 패널 상위 메뉴의 하위 메뉴가 두 번 중복출력되는 문제 수정 (#1318)
* 관리패널 : 글 목록에서 여러 글을 공개/비공개/발행을 지정하는 경우 페이지를 이동하려고 하는 동작 수정 (#1325)
* 관리패널 : 다량의 글의 속성을 변경하는 경우 일부에 반영이 되지 않을 수도 있는 문제 수정 (#1325)
* 모바일 : 아이폰 모드에서 그림 파일 출력에 발생하는 문제 수정 (#1321)


Expand Down
6 changes: 0 additions & 6 deletions framework/data/Condition.php

This file was deleted.

16 changes: 9 additions & 7 deletions framework/legacy/Needlworks.Cache.PageCache.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
class pageCache extends Singleton {
function __construct($name = null){
$this->pool = DBModel::getInstance();
$this->context = Model_Context::getInstance();
$this->reset();
}

Expand Down Expand Up @@ -51,15 +52,13 @@ private function create () {
}

public function update () {
global $service;
if(isset($service['pagecache']) && $service['pagecache'] == false) return false;
if($this->context->getProperty('service.pagecache') != true) return false;
$this->purge();
$this->create();
}

public function load () {
global $service;
if(isset($service['pagecache']) && $service['pagecache'] == false) return false;
if($this->context->getProperty('service.pagecache') != true) return false;
$this->initialize();
$this->contents = $this->dbContents = null;
if(!$this->getFileName()) return false;
Expand All @@ -81,8 +80,7 @@ private function initialize() {
}
}
public function purge () {
global $service;
if(isset($service['pagecache']) && $service['pagecache'] == false) return true;
if($this->context->getProperty('service.pagecache') != true) return true;
$this->getFileName();
if(
(file_exists($this->absoluteFilePathOwner) && @chmod($this->absoluteFilePathOwner, 0777))
Expand Down Expand Up @@ -191,7 +189,11 @@ public static function getInstance() {
public function reset($query = null, $prefix = null) {
$this->query = $this->queryHash = $this->contents = $this->error = $this->prefix = $this->namespace = null;
$this->query = $query;
$this->prefix = (!is_null($prefix) ? $prefix : "")."-";
if(!is_null($prefix)) {
$this->prefix = $prefix."-";
$this->namespace = $this->prefix;
}

}

public function create() {
Expand Down
5 changes: 2 additions & 3 deletions framework/model/Config.php
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ protected function __construct() {
}

private function __basicConfigLoader() {
global $database, $service;
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.'/config.php')) @include(ROOT.'/config.php'); // Override configuration
Expand All @@ -24,8 +24,7 @@ private function __basicConfigLoader() {
$service['port'] = $_SERVER['SERVER_PORT'];

// Include installation configuration.
$service['session_cookie_path'] = '/';
if(!defined('__TEXTCUBE_SETUP__')) @include_once ROOT . '/config.php';
if(!isset($service['session_cookie_path'])) $service['session_cookie_path'] = '/';
// Set service path.
if(isset($serviceURL)) $service['serviceURL'] = $serviceURL;
// Set resource path.
Expand Down
25 changes: 12 additions & 13 deletions interface/blog/checkup.php
Original file line number Diff line number Diff line change
Expand Up @@ -404,19 +404,7 @@ function clearCache() {
showCheckupMessage(false);
}
/* From Textcube 1.7.7 (or 1.8) */
if (!POD::queryExistence("DESC {$database['prefix']}RemoteResponses blogid") &&
!POD::queryExistence("DESC {$database['prefix']}Trackbacks type")) {
$changed = true;
echo '<li>', _text('트랙백 테이블에 컨텐츠 종류를 판단하기 위한 필드를 추가합니다.'), ': ';
if (POD::execute("ALTER TABLE {$database['prefix']}Trackbacks ADD type enum('trackback','pingback') NOT NULL default 'trackback' AFTER entry") &&
POD::execute("ALTER TABLE {$database['prefix']}TrackbackLogs ADD type enum('trackback','pingback') NOT NULL default 'trackback' AFTER entry")
) {
showCheckupMessage(true);
} else
showCheckupMessage(false);
}

if (!POD::queryExistence("DESC {$database['prefix']}RemoteResponses type")) {
if (!POD::queryExistence("DESC {$database['prefix']}RemoteResponses blogid")) {
$changed = true;
echo '<li>', _text('원격 댓글 지원 기능을 위해 트랙백 테이블의 이름을 변경합니다.'), ': ';
if (
Expand All @@ -428,6 +416,17 @@ function clearCache() {
showCheckupMessage(false);
}

if(!POD::queryExistence("DESC {$database['prefix']}RemoteResponses responsetype")) {
$changed = true;
echo '<li>', _text('트랙백 테이블에 컨텐츠 종류를 판단하기 위한 필드를 추가합니다.'), ': ';
if (POD::execute("ALTER TABLE {$database['prefix']}RemoteResponses ADD responsetype enum('trackback','pingback') NOT NULL default 'trackback' AFTER entry") &&
POD::execute("ALTER TABLE {$database['prefix']}RemoteResponseLogs ADD responsetype enum('trackback','pingback') NOT NULL default 'trackback' AFTER entry")
) {
showCheckupMessage(true);
} else
showCheckupMessage(false);
}

if (!POD::queryExistence("DESC {$database['prefix']}Entries pingbacks")) {
$changed = true;
echo '<li>', _text('핑백 기능을 위해 글 테이블에 핑백 필드를 추가합니다.'), ': ';
Expand Down
4 changes: 3 additions & 1 deletion interface/common/owner/header.php
Original file line number Diff line number Diff line change
Expand Up @@ -430,10 +430,10 @@

<div id="main-action-box">
<ul id="main-action">
<li id="action-helper"><a href="<?php echo getHelpURL($helpURL);?>" onclick="window.open(this.href); return false;"><span class="text"><?php echo _t('도우미');?></span></a></li>
<?php if(Acl::check('group.creators')) { ?>
<li id="action-move-to-control-panel"><a href="<?php echo $blogURL.'/control';?>" title="<?php echo _t('관리 패널로 이동합니다.');?>"><span class="text"><?php echo _t('텍스트큐브 관리');?></span></a></li>
<?php } ?>
<li id="action-helper"><a href="<?php echo getHelpURL($helpURL);?>" onclick="window.open(this.href); return false;"><span class="text"><?php echo _t('도우미');?></span></a></li>
<li id="action-move-to-blog"><a href="<?php echo $blogURL;?>/" title="<?php echo _t('블로그 메인으로 이동합니다.');?>"><span class="text"><?php echo _t('블로그로 이동');?></span></a></li>
<li id="action-logout"><a href="<?php echo $blogURL;?>/logout" title="<?php echo _t('로그아웃하고 블로그 메인으로 이동합니다.');?>"><span class="text"><?php echo _t('로그아웃');?></span></a></li>
</ul>
Expand Down Expand Up @@ -611,6 +611,8 @@
$helpURL = $blogMenu['topMenu'].(isset($blogMenu['contentMenu']) ? '/'.$submenuURL : '');
?>
</ul>
<div id="custom-sub-menu">
</div>
</div>
<?php
if(!defined('__TEXTCUBE_READER_SUBMENU__')) {
Expand Down
4 changes: 2 additions & 2 deletions interface/i/login/index.php
Original file line number Diff line number Diff line change
Expand Up @@ -54,15 +54,15 @@
<?php };?>
<div class="row">
<label for="loginid"><?php echo _text('E-mail');?></label>
<input type="text" class="input-text" id="loginid" name="loginid" value="<?php echo htmlspecialchars(empty($_POST['loginid']) ? (empty($_COOKIE['TSSESSION_LOGINID']) ? '' : $_COOKIE['TSSESSION_LOGINID']) : $_POST['loginid']);?>" maxlength="64" tabindex="1" />
<input type="email" class="input-text" id="loginid" name="loginid" value="<?php echo htmlspecialchars(empty($_POST['loginid']) ? (empty($_COOKIE['TSSESSION_LOGINID']) ? '' : $_COOKIE['TSSESSION_LOGINID']) : $_POST['loginid']);?>" maxlength="64" tabindex="1" />
</div>
<div class="row">
<label for="password"><?php echo _text('비밀번호');?></label>
<input type="password" class="input-text" id="password" name="password" onkeydown="if (event.keyCode == 13) document.forms[0].submit()" maxlength="64" tabindex="2" />
</div>
<div class="row">
<label><?php echo _text('E-mail 저장');?></label>
<div id="emailSave" class="toggle" <?php echo (empty($_COOKIE['TSSESSION_LOGINID']) ? '' : 'toggled="true"');?> onclick="emailSaveToggleCheck(this);"><span class="thumb"></span><span class="toggleOn">ON</span><span class="toggleOff">OFF</span></div>
<div id="emailSave" class="toggle" <?php echo (empty($_COOKIE['TSSESSION_LOGINID']) ? '' : 'toggled="true"');?> onclick="emailSaveToggleCheck(this);"><span class="thumb"></span><span class="toggleOn">|</span><span class="toggleOff">O</span></div>
</div>
</fieldset>
<input type="hidden" id="save" class="checkbox" name="save" />
Expand Down
10 changes: 9 additions & 1 deletion interface/owner/entry/edit/index.php
Original file line number Diff line number Diff line change
Expand Up @@ -184,6 +184,7 @@ function EntryManager() {
this.nowsaving = false;
this.isPreview = false;
this.changeEditor = false;
this.draftSaved = false;
this.currentEditor = "<?php echo $entry['contenteditor'];?>";
this.entryId = <?php echo $entry['id'];?>;

Expand Down Expand Up @@ -396,10 +397,13 @@ function EntryManager() {
document.getElementById("saveButton").style.color = "#BBB";
PM.showMessage("<?php echo _t('저장되었습니다');?>", "center", "bottom");
}
if(entryManager.isSaved == false) {
if(entryManager.isSaved == false) { // First save.
entryManager.entryId = this.getText("/response/entryId");
entryManager.isSaved = true;
entryManager.draftSaved = false;
reloadUploader();
} else {
entryManager.draftSaved = true;
}

entryManager.savedData = data;
Expand Down Expand Up @@ -640,6 +644,9 @@ function returnToList() {
<input type="text" id="title" class="input-text" name="title" value="<?php echo htmlspecialchars($entry['title']);?>" onkeypress="return preventEnter(event);" size="60" />
</dd>
</dl>
</div>
<div id="category-section" class="section">
<h3><?php echo _t('분류');?></h3>
<dl id="category-line" class="line">
<dt><label for="category"><?php echo _t('분류');?></label></dt>
<dd>
Expand Down Expand Up @@ -697,6 +704,7 @@ function returnToList() {
?>
</select></dd>
</dl>
<div id="formatbox-container" class="container"></div>
<textarea id="editWindow" name="content" cols="80" rows="20"><?php echo htmlspecialchars($entry['content']);?></textarea>
<div id="status-container" class="container"><span id="pathStr"><?php echo _t('path');?></span><span class="divider"> : </span><span id="pathContent"></span></div>
<?php
Expand Down
5 changes: 3 additions & 2 deletions interface/owner/setting/blog/icons/index.php
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,8 @@
'blogIconSize' => array(array('0','16','32','48'), 'mandatory' => false),
'deleteLogo' => array('string', 'default' => NULL),
'deleteBlogIcon' => array('string', 'default' => NULL),
'deleteFavicon' => array('string', 'default' => NULL)
'deleteFavicon' => array('string', 'default' => NULL),
'useBlogIconAsIphoneShortcut' => array('bool','default'=>false)
),
'FILES' => array(
'blogIcon' => array('file', 'mandatory' => false),
Expand Down Expand Up @@ -85,7 +86,7 @@
}
}
}

Setting::setBlogSettingGlobal('useBlogIconAsIphoneShortcut',$_POST['useBlogIconAsIphoneShortcut']);
if (!empty($errorText)) {
$errorText = urlencode(implode('<br />',$errorText));
} else {
Expand Down
1 change: 1 addition & 0 deletions interface/owner/setting/blog/index.php
Original file line number Diff line number Diff line change
Expand Up @@ -573,6 +573,7 @@ function setLocale() {
?>
<input type="file" class="input-file" name="blogIcon" />
<div class="init-box"><input type="checkbox" class="checkbox" id="deleteBlogIcon" name="deleteBlogIcon" value="yes"<?php echo file_exists(ROOT."/attach/$blogid/index.gif") ? '' : ' disabled="disabled"';?> /><label for="deleteBlogIcon"><?php echo _t('블로그 아이콘을 초기화합니다.');?></label></div>
<div class="init-box"><input type="checkbox" class="checkbox" id="useBlogIconAsIphoneShortcut" name="useBlogIconAsIphoneShortcut" <?php echo (Setting::getBlogSettingGlobal('useBlogIconAsIphoneShortcut',true) ? ' checked="checked"' : '');?> /><label for="useBlogIconAsIphoneShortcut"><?php echo _t('iPhone / iPod Touch에서 블로그 아이콘을 바로가기 아이콘으로 사용합니다.');?></label></div>
<p><?php echo _t('블로그 아이콘은 댓글과 방명록에서 사용됩니다. 크기는 16×16 이상, 48×48 이하까지 지원합니다.');?></p>
</dd>
</dl>
Expand Down
File renamed without changes.
4 changes: 2 additions & 2 deletions library/model/blog.response.remote.php
Original file line number Diff line number Diff line change
Expand Up @@ -182,7 +182,7 @@ function trashRemoteResponse($blogid, $id) {
$entry = POD::queryCell("SELECT entry FROM {$database['prefix']}RemoteResponses WHERE blogid = $blogid AND id = $id");
if ($entry === null)
return false;
if (!POD::query("UPDATE {$database['prefix']}RemoteResponses SET isFiltered = UNIX_TIMESTAMP() WHERE blogid = $blogid AND id = $id"))
if (!POD::query("UPDATE {$database['prefix']}RemoteResponses SET isfiltered = UNIX_TIMESTAMP() WHERE blogid = $blogid AND id = $id"))
return false;
CacheControl::flushDBCache('trackback');
CacheControl::flushDBCache('remoteResponse');
Expand All @@ -198,7 +198,7 @@ function revertRemoteResponse($blogid, $id) {
$entry = POD::queryCell("SELECT entry FROM {$database['prefix']}RemoteResponses WHERE blogid = $blogid AND id = $id");
if ($entry === null)
return false;
if (!POD::execute("UPDATE {$database['prefix']}RemoteResponses SET isFiltered = 0 WHERE blogid = $blogid AND id = $id"))
if (!POD::execute("UPDATE {$database['prefix']}RemoteResponses SET isfiltered = 0 WHERE blogid = $blogid AND id = $id"))
return false;
CacheControl::flushDBCache('trackback');
CacheControl::flushDBCache('remoteResponse');
Expand Down
21 changes: 14 additions & 7 deletions library/plugins.php
Original file line number Diff line number Diff line change
Expand Up @@ -43,15 +43,22 @@
if ($manifest && $xmls->open($manifest)) {
$requiredTattertoolsVersion = $xmls->getValue('/plugin/requirements/tattertools');
$requiredTextcubeVersion = $xmls->getValue('/plugin/requirements/textcube');

if (!is_null($requiredTattertoolsVersion) && !is_null($requiredTextcubeVersion)) {
if (version_compare($currentTextcubeVersion,$requiredTattertoolsVersion) == -1 && version_compare($currentTextcubeVersion,$requiredTextcubeVersion) == -1)
if(is_null($requiredTextcubeVersion) && !is_null($requiredTattertoolsVersion)) {
$requiredTextcubeVersion = $requiredTattertoolsVersion;
}
$requiredMinVersion = $xmls->getValue('/plugin/requirements/textcube/minVersion');
$requiredMaxVersion = $xmls->getValue('/plugin/requirements/textcube/maxVersion');
if (!is_null($requiredMinVersion)) {
if (version_compare($currentTextcubeVersion, $requiredMinVersion) < 0)
$disablePlugin = true;
} else if (!is_null($requiredTattertoolsVersion) && is_null($requiredTextcubeVersion)) {
if (version_compare($currentTextcubeVersion,$requiredTattertoolsVersion) == -1)
}
if (!is_null($requiredMaxVersion)) {
if (version_compare($currentTextcubeVersion, $requiredMaxVersion) > 0)
$disablePlugin = true;
} else if (is_null($requiredTattertoolsVersion) && !is_null($requiredTextcubeVersion)) {
if (version_compare($currentTextcubeVersion,$requiredTextcubeVersion) == -1)
}

if (!is_null($requiredTextcubeVersion)) {
if (version_compare($currentTextcubeVersion,$requiredTextcubeVersion) < 0)
$disablePlugin = true;
}

Expand Down
Loading

0 comments on commit 8e64071

Please sign in to comment.