merge from 1.5.2

git-svn-id: http://xe-core.googlecode.com/svn/trunk@10446 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
devjin 2012-03-20 08:03:02 +00:00
parent 6c23751ef8
commit c727926d9e
382 changed files with 6855 additions and 3603 deletions

View file

@ -38,7 +38,7 @@
<title xml:lang="es">Page</title>
<title xml:lang="ru">Page</title>
<title xml:lang="fr">Page</title>
<title xml:lang="zh-TW">Page</title>
<title xml:lang="zh-TW">頁面</title>
<title xml:lang="vi">Page</title>
<title xml:lang="mn">Page</title>
<title xml:lang="tr">Page</title>

View file

@ -72,6 +72,7 @@ Nếu chọn là mặc định, nó sẽ là trang chủ của Website.]]></valu
<value xml:lang="ko"><![CDATA[Article 생성]]></value>
<value xml:lang="en"><![CDATA[Create an Article]]></value>
<value xml:lang="jp"><![CDATA[Article作成]]></value>
<value xml:lang="zh-TW"><![CDATA[建立主題]]></value>
</item>
<item name="page_caching_interval">
<value xml:lang="ko"><![CDATA[캐싱 시간 설정]]></value>
@ -113,38 +114,46 @@ Nếu chọn là mặc định, nó sẽ là trang chủ của Website.]]></valu
<value xml:lang="ko"><![CDATA[페이지 타입]]></value>
<value xml:lang="en"><![CDATA[Page Type]]></value>
<value xml:lang="jp"><![CDATA[ページタイプ]]></value>
<value xml:lang="zh-TW"><![CDATA[頁面類型]]></value>
</item>
<item name="click_choice">
<value xml:lang="ko"><![CDATA[선택해 주세요.]]></value>
<value xml:lang="en"><![CDATA[Select]]></value>
<value xml:lang="jp"><![CDATA[選択してください。]]></value>
<value xml:lang="zh-TW"><![CDATA[請選擇]]></value>
</item>
<item name="page_type_name" type="array">
<item name="ARTICLE">
<value xml:lang="ko"><![CDATA[문서 페이지]]></value>
<value xml:lang="en"><![CDATA[Article Page]]></value>
<value xml:lang="jp"><![CDATA[書き込み Page]]></value>
<value xml:lang="zh-TW"><![CDATA[主題頁面]]></value>
</item>
<item name="WIDGET">
<value xml:lang="ko"><![CDATA[위젯 페이지]]></value>
<value xml:lang="en"><![CDATA[Widget Page]]></value>
<value xml:lang="jp"><![CDATA[ウィジェット Page]]></value>
<value xml:lang="zh-TW"><![CDATA[Widget 頁面]]></value>
</item>
<item name="OUTSIDE">
<value xml:lang="ko"><![CDATA[외부 페이지]]></value>
<value xml:lang="en"><![CDATA[External Page]]></value>
<value xml:lang="jp"><![CDATA[外部ページ]]></value>
<value xml:lang="zh-TW"><![CDATA[外連頁面]]></value>
</item>
</item>
<item name="about_page_type">
<value xml:lang="ko"><![CDATA[페이지 타입을 선택하여 원하는 화면을 구성할 수 있습니다. <ol><li>위젯형 : 여러가지 위젯들을 생성하여 화면을 구성합니다.</li><li>문서형 : 제목, 내용, 태그를 갖는 문서를 제작하여 포스팅 형식의 페이지를 작성합니다. </li><li>외부페이지형 : 외부 HTML 또는 PHP 파일을 XE에서 사용할 수 있습니다.</li></ol>]]></value>
<value xml:lang="en"><![CDATA[Select Page Type to build a page. <ol><li>Widget: Create multiple widgets.</li><li>Article: Create articles with titles, contents and tags for posting page. </li><li>External Page: Use external HTML or PHP files in XE.</li></ol>]]></value>
  <value xml:lang="jp"><![CDATA[ページタイプを選択して好きな画面を構成できます。<ol><li>ウィジェット型 : いろんなウィジェットを生成して画面を構成します。</li><li>ドキュメント型 : タイトル、内容、タグのあるドキュメントを製作して、投稿形式のページを作成します。</li><li>外部ページ型 : 外部HTML、またはPHPファイルをXEで使用できます。]]></value>
<value xml:lang="zh-TW"><![CDATA[請選擇想要建立的頁面。 <ol><li>Widget 頁面:是以 widgets 為主所建立的頁面。</li><li>主題頁面:可建立頁面的主題、內容及標簽。 </li><li>外連頁面:在 XE 中使用外部 HTML 或 PHP 檔案。</li></ol>]]></value>
</item>
<item name="opage_path">
<value xml:lang="ko"><![CDATA[외부 문서 위치]]></value>
<value xml:lang="en"><![CDATA[Location of External Document]]></value>
<value xml:lang="jp"><![CDATA[外部ドキュメントの位置]]></value>
<value xml:lang="zh-TW"><![CDATA[外連文章位置]]></value>
</item>
<item name="about_opage">
<value xml:lang="ko"><![CDATA[XE가 아닌 외부 HTML 또는 PHP파일을 XE에서 사용할 수 있도록 하는 모듈입니다.<br />절대경로, 상대경로를 이용할 수 있으며 http:// 로 시작할 경우 서버 외부의 페이지도 표시할 수 있습니다]]></value>
@ -160,6 +169,7 @@ Nếu chọn là mặc định, nó sẽ là trang chủ của Website.]]></valu
<value xml:lang="ko"><![CDATA[모바일용 외부 문서 위치]]></value>
<value xml:lang="en"><![CDATA[Location of External Document for Mobile View]]></value>
<value xml:lang="jp"><![CDATA[モバイル用外部ドキュメントの位置]]></value>
<value xml:lang="zh-TW"><![CDATA[手機外連文章位置]]></value>
</item>
<item name="about_opage_mobile_path">
<value xml:lang="ko"><![CDATA[모바일용 외부문서의 위치를 입력해주세요. 입력하지 않으면 위에서 지정한 외부문서 위치의 페이지를 이용합니다. <br />/path1/path2/sample.php 와 같이 절대경로나 ../path2/sample.php와 같은 상대경로 모두 사용가능합니다.<br />http://url/sample.php 와 같이 사용하면 해당 페이지를 웹으로 전송 받아 출력 하게 됩니다.<br />현재 XE가 설치된 절대경로는 다음과 같습니다.<br />]]></value>
@ -169,9 +179,11 @@ Nếu chọn là mặc định, nó sẽ là trang chủ của Website.]]></valu
<item name="page_management">
<value xml:lang="ko"><![CDATA[페이지 관리]]></value>
<value xml:lang="en"><![CDATA[Manage of page]]></value>
<value xml:lang="zh-TW"><![CDATA[頁面管理]]></value>
</item>
<item name="page_delete_warning">
<value xml:lang="ko"><![CDATA[페이지를 삭제할 때 파일도 함께 삭제합니다]]></value>
<value xml:lang="en"><![CDATA[If you delete a page, the files of the page will be removed also.]]></value>
<value xml:lang="zh-TW"><![CDATA[如果刪除頁面,頁面標題將會一起被刪除。]]></value>
</item>
</lang>

View file

@ -3,7 +3,7 @@
<div class="tag">{$lang->tag} : <block cond="is_array($oDocument->get('tag_list'))">{implode(',', $oDocument->get('tag_list'))}</block></div>
<!--@if($grant->manager)-->
<!--%import("./js/page_admin.js")-->
<div class="tRight gap1 clear">
<div class="tRight clear">
<!--@if($logged_info->is_admin=='Y')-->
<a href="{getUrl('act','dispPageAdminInfo','module_srl',$module_info->module_srl)}" class="button green"><span>{$lang->cmd_setup}...</span></a>
<!--@end-->

View file

@ -24,6 +24,8 @@
$args = Context::getRequestVars();
$args->module = 'page';
$args->mid = $args->page_name; //because if mid is empty in context, set start page mid
$args->path = (!$args->path) ? '' : $args->path;
$args->mpath = (!$args->mpath) ? '' : $args->mpath;
unset($args->page_name);
if($args->use_mobile != 'Y') $args->use_mobile = '';
@ -244,9 +246,17 @@
$oWidgetController->recompileWidget($content);
}
function procPageAdminArticleDocumentInsert(){
function procPageAdminArticleDocumentInsert()
{
$logged_info = Context::get('logged_info');
if ($logged_info->is_admin != 'Y')return new Object(-1, 'msg_not_permitted');
$oModuleModel = &getModel('module');
$grant = $oModuleModel->getGrant($this->module_info, $logged_info);
if (!$grant->manager)
{
return new Object(-1, 'msg_not_permitted');
}
$obj = Context::getRequestVars();
$obj->module_srl = $this->module_info->module_srl;

View file

@ -81,7 +81,7 @@ class pageMobile extends pageView {
Context::set('document_srl', $document_srl);
}
Context::set('oDocument', $oDocument);
$this->setTemplatePath(sprintf($this->module_path.'m.skins/%s', $this->module_info->skin));
$this->setTemplatePath(sprintf($this->module_path.'m.skins/%s', $this->module_info->mskin));
}
function _getOutsideContent(){

View file

@ -157,8 +157,7 @@
@include($path);
$content = ob_get_clean();
// Replace relative path to the absolute path
$path_info = pathinfo($path);
$this->path = str_replace('\\', '/', realpath($path_info['dirname'])).'/';
$this->path = str_replace('\\', '/', realpath(dirname($path))) . '/';
$content = preg_replace_callback('/(target=|src=|href=|url\()("|\')?([^"\'\)]+)("|\'\))?/is',array($this,'_replacePath'),$content);
$content = preg_replace_callback('/(<!--%import\()(\")([^"]+)(\")/is',array($this,'_replacePath'),$content);
@ -186,7 +185,7 @@
$val = trim($matches[3]);
// Pass if the path is external or starts with /, #, { characters
// /=absolute path, #=hash in a page, {=Template syntax
if(preg_match('@^((?:http|https|ftp|telnet|mms)://|(?:mailto|javascript):|[/#{])@i',$val)) {
if(strpos($val, '.') === FALSE || preg_match('@^((?:http|https|ftp|telnet|mms)://|(?:mailto|javascript):|[/#{])@i',$val)) {
return $matches[0];
// In case of .. , get a path
} elseif(preg_match('/^\.\./i',$val)) {

View file

@ -10,7 +10,7 @@
<div class="editor">{$oDocument->getEditor()}</div>
<div class="tag">
<input type="text" name="tags" value="{htmlspecialchars($oDocument->get('tags'))}" class="inputText" title="Tag" />
<input type="text" name="tags" value="{htmlspecialchars($oDocument->get('tags'))}" class="iText" title="Tag" />
<p>{$lang->about_tag}</p>
</div>
<div class="btnArea">

View file

@ -84,7 +84,7 @@
<a href="{getUrl('','module','module','act','dispModuleAdminModuleSetup')}" onclick="doCartSetup(this.href); return false;" class="button green"><span>{$lang->cmd_setup}</span></a>
<a href="{getUrl('','module','module','act','dispModuleAdminModuleGrantSetup')}" onclick="doCartSetup(this.href); return false;" class="button blue"><span>{$lang->cmd_manage_grant}</span></a>
</div>
<a href="{getUrl('act','dispPageAdminInsert','module_srl','')}" class="button black strong"><span>{$lang->cmd_make}</span></a>
<a href="{getUrl('act','dispPageAdminInsert','module_srl','')}" class="button black strong"><span>{$lang->cmd_page_create}</span></a>
</div>
</form>

View file

@ -124,3 +124,6 @@ function doCartSetup(url) {
popopen(url,'modulesSetup');
}
jQuery(function($){
$('#pageBtnArea').delay(1000).show(1);
});

View file

@ -12,7 +12,7 @@
<input type="hidden" name="module_srl" value="{$module_info->module_srl}" />
<input type="hidden" name="content" value="{htmlspecialchars($content)}" />
<div class="btnArea">
<div class="btnArea" id="pageBtnArea" style="display:none;">
<div class="etc">
<span class="btn"><input type="button" value="{$lang->cmd_box_widget_insert}" onclick="doAddWidgetBox(); return false;" /></span>
<span class="btn"><input type="button" value="{$lang->cmd_content_insert}" onclick="doAddContent('{$module_info->mid}'); return false;" /></span>

View file

@ -1,9 +1,8 @@
<!--#include("header.html")-->
<div cond="$XE_VALIDATOR_MESSAGE" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
<p>{$XE_VALIDATOR_MESSAGE}</p>
</div>
<form ruleset="updatePage" action="./" method="post" enctype="multipart/form-data">
<form ruleset="updatePage" action="./" method="post" enctype="multipart/form-data" class="form">
<input type="hidden" name="module" value="page" />
<input type="hidden" name="act" value="procPageAdminUpdate" />
<input type="hidden" name="page" value="{$page}" />
@ -38,9 +37,10 @@
</tr>
<tr>
<th scope="row">{$lang->browser_title}</th>
<td class="text">
<input type="text" name="browser_title" value="{$module_info->browser_title}" id="browser_title"/>
<a href="{getUrl('','module','module','act','dispModuleAdminLangcode','target','browser_title')}" onclick="popopen(this.href);return false;" class="buttonSet buttonSetting"><span>{$lang->cmd_find_langcode}</span></a>
<td class="text multiLangEdit">
<input type="hidden" name="browser_title" value="{htmlspecialchars($module_info->browser_title)}" class="vLang" />
<input type="text" value="{$module_info->browser_title}" class="vLang" />
<span class="desc"><a href="#langEdit" class="tgAnchor editUserLang" data-effect="slide">{$lang->cmd_set_multilingual}</a></span>
<p>{$lang->about_browser_title}</p>
</td>
</tr>
@ -135,4 +135,26 @@
<span class="btn"><a href="{getUrl('act','dispPageAdminContent','module_srl','')}">{$lang->cmd_list}</a></span>
<!--@end-->
</div>
<!-- Multilingual -->
<div id="langEdit" class="langEdit tgContent">
<ul class="langList"></ul>
<div class="langInput">
<h2>{$lang->cmd_multilingual} <strong>{$lang->cmd_modify}...</strong> | <a href="#langEdit">{$lang->cmd_insert}</a></h2>
<ul>
{@
/* move current language to the top */
$a = array($lang_type=>$lang_supported[$lang_type]);
unset($lang_supported[$lang_type]);
$lang_supported = array_merge($a, $lang_supported);
}
<li loop="$lang_supported=>$code,$name" class="{$code}"><label for="{$code}_var1">{$name}</label> <input type="text" value="" id="{$code}_var1" /></li>
</ul>
<div class="action">
<div class="btnArea">
<span class="btn small"><input type="submit" value="{$lang->use}|{$lang->use_after_save}" /></span>
</div>
<p><a href="{getUrl('act','dispModuleAdminLangcode')}">{$lang->multilingual_manager}</a></p>
</div>
</div>
</div>
</form>

View file

@ -15,7 +15,7 @@
<input type="hidden" name="content" value="{htmlspecialchars($content)}" />
<input type="hidden" name="type" value="mobile" />
<div class="btnArea">
<div class="btnArea" id="pageBtnArea" style="display: none;">
<div class="etc">
<span class="btn"><input type="button" value="{$lang->cmd_box_widget_insert}" onclick="doAddWidgetBox(); return false;" /></span>
<span class="btn"><input type="button" value="{$lang->cmd_content_insert}" onclick="doAddContent('{$module_info->mid}'); return false;" /></span>