mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-01-14 00:39:57 +09:00
commit
12ec647227
36 changed files with 251 additions and 96 deletions
|
|
@ -230,7 +230,14 @@ class Context
|
|||
define('_XE_SITELOCK_MESSAGE_', $message);
|
||||
|
||||
header("HTTP/1.1 403 Forbidden");
|
||||
if(FileHandler::exists(_XE_PATH_ . 'common/tpl/sitelock.user.html'))
|
||||
{
|
||||
include _XE_PATH_ . 'common/tpl/sitelock.user.html';
|
||||
}
|
||||
else
|
||||
{
|
||||
include _XE_PATH_ . 'common/tpl/sitelock.html';
|
||||
}
|
||||
exit;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -515,7 +515,7 @@ class FileHandler
|
|||
* @param string $post_data Request arguments array for POST method
|
||||
* @return string If success, the content of the target file. Otherwise: none
|
||||
*/
|
||||
function getRemoteResource($url, $body = null, $timeout = 3, $method = 'GET', $content_type = null, $headers = array(), $cookies = array(), $post_data = array())
|
||||
function getRemoteResource($url, $body = null, $timeout = 3, $method = 'GET', $content_type = null, $headers = array(), $cookies = array(), $post_data = array(), $request_config = array())
|
||||
{
|
||||
try
|
||||
{
|
||||
|
|
@ -533,6 +533,15 @@ class FileHandler
|
|||
else
|
||||
{
|
||||
$oRequest = new HTTP_Request($url);
|
||||
|
||||
if(count($request_config) && method_exists($oRequest, 'setConfig'))
|
||||
{
|
||||
foreach($request_config as $key=>$val)
|
||||
{
|
||||
$oRequest->setConfig($key, $val);
|
||||
}
|
||||
}
|
||||
|
||||
if(count($headers) > 0)
|
||||
{
|
||||
foreach($headers as $key => $val)
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ define('__ZBXE__', __XE__);
|
|||
/**
|
||||
* Display XE's full version.
|
||||
*/
|
||||
define('__XE_VERSION__', '1.7.5.2');
|
||||
define('__XE_VERSION__', '1.7.5.3');
|
||||
define('__XE_VERSION_ALPHA__', (stripos(__XE_VERSION__, 'alpha') !== false));
|
||||
define('__XE_VERSION_BETA__', (stripos(__XE_VERSION__, 'beta') !== false));
|
||||
define('__XE_VERSION_RC__', (stripos(__XE_VERSION__, 'rc') !== false));
|
||||
|
|
|
|||
|
|
@ -467,11 +467,19 @@ class adminAdminController extends admin
|
|||
*/
|
||||
function procAdminRemoveIcons()
|
||||
{
|
||||
|
||||
$site_info = Context::get('site_module_info');
|
||||
$virtual_site = '';
|
||||
if($site_info->site_srl)
|
||||
{
|
||||
$virtual_site = $site_info->site_srl . '/';
|
||||
}
|
||||
|
||||
$iconname = Context::get('iconname');
|
||||
$file_exist = FileHandler::readFile(_XE_PATH_ . 'files/attach/xeicon/' . $iconname);
|
||||
$file_exist = FileHandler::readFile(_XE_PATH_ . 'files/attach/xeicon/' . $virtual_site . $iconname);
|
||||
if($file_exist)
|
||||
{
|
||||
@FileHandler::removeFile(_XE_PATH_ . 'files/attach/xeicon/' . $iconname);
|
||||
@FileHandler::removeFile(_XE_PATH_ . 'files/attach/xeicon/' . $virtual_site . $iconname);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
|||
|
|
@ -947,14 +947,22 @@ class adminAdminModel extends admin
|
|||
|
||||
function iconUrlCheck($iconname, $default_icon_name)
|
||||
{
|
||||
$file_exsit = FileHandler::readFile(_XE_PATH_ . 'files/attach/xeicon/' . $iconname);
|
||||
|
||||
$site_info = Context::get('site_module_info');
|
||||
$virtual_site = '';
|
||||
if($site_info->site_srl)
|
||||
{
|
||||
$virtual_site = $site_info->site_srl . '/';
|
||||
}
|
||||
|
||||
$file_exsit = FileHandler::readFile(_XE_PATH_ . 'files/attach/xeicon/' . $virtual_site . $iconname);
|
||||
if(!$file_exsit)
|
||||
{
|
||||
$icon_url = './modules/admin/tpl/img/' . $default_icon_name;
|
||||
}
|
||||
else
|
||||
{
|
||||
$icon_url = $db_info->default_url . 'files/attach/xeicon/' . $iconname;
|
||||
$icon_url = $db_info->default_url . 'files/attach/xeicon/' . $virtual_site . $iconname;
|
||||
}
|
||||
return $icon_url;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1597,8 +1597,8 @@
|
|||
<value xml:lang="jp"><![CDATA[HTMLタグを使用できます。]]></value>
|
||||
</item>
|
||||
<item name="sitelock_warning_whitelist">
|
||||
<value xml:lang="ko"><![CDATA[이곳에 관리자의 IP를 반드시 포함해야 합니다.<br />만약 접근이 차단된 경우 './files/config/db.config.php' 파일에서 `'use_sitelock' => '<strong>Y</strong>'`를 `'use_sitelock' => '<strong>N</strong>'`으로 변경하여 차단을 해제할 수 있습니다.<br />사이트 잠금 디자인 파일의 위치는 './common/tpl/sitelock.html' 입니다.]]></value>
|
||||
<value xml:lang="en"><![CDATA[You should include the IP of the administrator here.<br />If the access is blocked, you can unbrick this by changing `'use_sitelock' => '<strong>Y</strong>'` to `'use_sitelock' => '<strong>N</strong>'` in './files/config/db.config.php.'<br />The file of site lock design is at './common/tpl/sitelock.html.']]></value>
|
||||
<value xml:lang="ko"><![CDATA[이곳에 관리자의 IP를 반드시 포함해야 합니다.<br />만약 접근이 차단된 경우 './files/config/db.config.php' 파일에서 `'use_sitelock' => '<strong>Y</strong>'`를 `'use_sitelock' => '<strong>N</strong>'`으로 변경하여 차단을 해제할 수 있습니다.<br />사이트 잠금 디자인 파일의 위치는 './common/tpl/sitelock.html'이며<br />'./common/tpl/sitelock.user.html' 파일을 만들어서 디자인 파일을 편집하실 수 있습니다.]]></value>
|
||||
<value xml:lang="en"><![CDATA[You should include the IP of the administrator here.<br />If the access is blocked, you can unbrick this by changing `'use_sitelock' => '<strong>Y</strong>'` to `'use_sitelock' => '<strong>N</strong>'` in './files/config/db.config.php.'<br />The file of site lock design is at './common/tpl/sitelock.html'.<br />You can modify design file by creating './common/tpl/sitelock.user.html'.]]></value>
|
||||
<value xml:lang="jp"><![CDATA[ここに管理者のIPを必ず記入てください。<br />もし接近が遮断された場合、'./files/config/db.config.php' ファイルから `'use_sitelock' => '<strong>Y</strong>'`を `'use_sitelock' => '<strong>N</strong>'`へ変更すれば遮断が解除できます。<br />サイトロックの設計ファイルの場所は、'./commo/tpl/sitelock.html' です。]]></value>
|
||||
</item>
|
||||
<item name="your_ip">
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@
|
|||
<!-- GNB -->
|
||||
<nav class="gnb <!--@if($_COOKIE['__xe_admin_gnb_status'] == 'open')-->open<!--@end-->" id="gnb">
|
||||
<a href="#gnbNav"><i class="x_icon-align-justify x_icon-white"></i><b></b> Menu Open/Close</a>
|
||||
<ul id="gnbNav" class="ex"|cond="$_COOKIE['__xe_admin_gnb_ex_status'] == 'open'">
|
||||
<ul id="gnbNav" class="ex">
|
||||
<script>
|
||||
var __xe_admin_gnb_txs = new Array();
|
||||
</script>
|
||||
|
|
@ -49,9 +49,6 @@
|
|||
</li>
|
||||
<li cond="!is_array($favorite_list) || count($favorite_list) < 1"><a href="{getUrl('', 'module', 'admin', 'act', 'dispModuleAdminContent')}">{$lang->no_data}</a></li>
|
||||
</ul>
|
||||
<div class="exMenu">
|
||||
<button type="button" title="{$lang->advanced_settings}"><i class="x_icon-chevron-down"></i><i class="x_icon-chevron-up"></i></button>
|
||||
</div>
|
||||
</li>
|
||||
<!--@end-->
|
||||
<li class="<!--@if($parentSrl==$key || $value['href']=='index.php?module=admin' && !$mid && !$act)-->active open<!--@elseif($_COOKIE['__xe_admin_gnb_tx_' . md5($value['href'])] == 'open')-->open<!--@end-->">
|
||||
|
|
|
|||
|
|
@ -98,8 +98,8 @@
|
|||
<input type="hidden" name="module" value="install">
|
||||
<input type="hidden" name="act" value="procInstallAdminConfigIconUpload">
|
||||
<p>
|
||||
<input type="file" name="favicon" id="favicon" title="Mobile Home Icon"/>
|
||||
<input class="x_btn" type="submit" value="{$lang->cmd_submit}" style="vertical-align:top">
|
||||
<input type="file" name="favicon" id="favicon" title="Favicon"/>
|
||||
<input class="x_btn" type="submit" value="{$lang->cmd_preview}" style="vertical-align:top">
|
||||
</p>
|
||||
</form>
|
||||
<span class="x_help-block">{$lang->about_use_favicon}</span>
|
||||
|
|
@ -118,7 +118,7 @@
|
|||
<input type="hidden" name="act" value="procInstallAdminConfigIconUpload">
|
||||
<p>
|
||||
<input type="file" name="mobicon" id="mobicon" title="Mobile Home Icon"/>
|
||||
<input class="x_btn" type="submit" value="{$lang->cmd_submit}" style="vertical-align:top">
|
||||
<input class="x_btn" type="submit" value="{$lang->cmd_preview}" style="vertical-align:top">
|
||||
</p>
|
||||
</form>
|
||||
<span class="x_help-block">{$lang->detail_use_mobile_icon}</span>
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ class boardController extends board
|
|||
$obj->commentStatus = $obj->comment_status;
|
||||
|
||||
settype($obj->title, "string");
|
||||
if($obj->title == '') $obj->title = cut_str(strip_tags($obj->content),20,'...');
|
||||
if($obj->title == '') $obj->title = cut_str(trim(strip_tags(nl2br($obj->content))),20,'...');
|
||||
//setup dpcument title tp 'Untitled'
|
||||
if($obj->title == '') $obj->title = 'Untitled';
|
||||
|
||||
|
|
@ -89,11 +89,12 @@ class boardController extends board
|
|||
$bAnonymous = false;
|
||||
}
|
||||
|
||||
if((!$obj->status && $obj->is_secret == 'Y') || strtoupper($obj->status == 'SECRET'))
|
||||
if($obj->is_secret == 'Y' || strtoupper($obj->status == 'SECRET'))
|
||||
{
|
||||
$use_status = explode('|@|', $this->module_info->use_status);
|
||||
if(!is_array($use_status) || !in_array('SECRET', $use_status))
|
||||
{
|
||||
unset($obj->is_secret);
|
||||
$obj->status = 'PUBLIC';
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,8 +11,11 @@ class boardMobile extends boardView
|
|||
$oSecurity->encodeHTML('document_srl', 'comment_srl', 'vid', 'mid', 'page', 'category', 'search_target', 'search_keyword', 'sort_index', 'order_type', 'trackback_srl');
|
||||
|
||||
if($this->module_info->list_count) $this->list_count = $this->module_info->list_count;
|
||||
if($this->module_info->mobile_list_count) $this->list_count = $this->module_info->mobile_list_count;
|
||||
if($this->module_info->search_list_count) $this->search_list_count = $this->module_info->search_list_count;
|
||||
if($this->module_info->mobile_search_list_count) $this->list_count = $this->module_info->mobile_search_list_count;
|
||||
if($this->module_info->page_count) $this->page_count = $this->module_info->page_count;
|
||||
if($this->module_info->mobile_page_count) $this->page_count = $this->module_info->mobile_page_count;
|
||||
$this->except_notice = $this->module_info->except_notice == 'N' ? false : true;
|
||||
|
||||
// $this->_getStatusNameListecret option backward compatibility
|
||||
|
|
|
|||
|
|
@ -639,7 +639,8 @@ class boardView extends board
|
|||
/**
|
||||
* add JS filters
|
||||
**/
|
||||
Context::addJsFilter($this->module_path.'tpl/filter', 'insert.xml');
|
||||
if(Context::get('logged_info')->is_admin=='Y') Context::addJsFilter($this->module_path.'tpl/filter', 'insert_admin.xml');
|
||||
else Context::addJsFilter($this->module_path.'tpl/filter', 'insert.xml');
|
||||
|
||||
$oSecurity = new Security();
|
||||
$oSecurity->encodeHTML('category_list.text', 'category_list.title');
|
||||
|
|
|
|||
|
|
@ -48,6 +48,27 @@
|
|||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label class="x_control-label" for="list_count">{$lang->list_count}</label>
|
||||
<div class="x_controls">
|
||||
<input type="text" name="list_count" id="list_count" value="{$module_info->list_count?$module_info->list_count:20}" style="width:30px" />
|
||||
<p class="x_help-inline">{$lang->about_list_count}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label class="x_control-label" for="search_list_count">{$lang->search_list_count}</label>
|
||||
<div class="x_controls">
|
||||
<input type="text" name="search_list_count" id="search_list_count" value="{$module_info->search_list_count?$module_info->search_list_count:20}" style="width:30px" />
|
||||
<p class="x_help-inline">{$lang->about_search_list_count}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label class="x_control-label" for="page_count">{$lang->page_count}</label>
|
||||
<div class="x_controls">
|
||||
<input type="text" name="page_count" id="page_count" value="{$module_info->page_count?$module_info->page_count:10}" style="width:30px" />
|
||||
<p class="x_help-inline">{$lang->about_page_count}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label class="x_control-label" for="lang_header_text">{$lang->header_text}</label>
|
||||
<div class="x_controls">
|
||||
|
|
@ -94,8 +115,29 @@
|
|||
<p id="mobile_skin_help" class="x_help-block" hidden>{$lang->about_skin}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label class="x_control-label" for="mobile_list_count">{$lang->list_count}</label>
|
||||
<div class="x_controls">
|
||||
<input type="text" name="mobile_list_count" id="mobile_list_count" value="{$module_info->mobile_list_count?$module_info->mobile_list_count:20}" style="width:30px" />
|
||||
<p class="x_help-inline">{$lang->about_list_count}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label class="x_control-label" for="mobile_search_list_count">{$lang->search_list_count}</label>
|
||||
<div class="x_controls">
|
||||
<input type="text" name="mobile_search_list_count" id="mobile_search_list_count" value="{$module_info->mobile_search_list_count?$module_info->mobile_search_list_count:20}" style="width:30px" />
|
||||
<p class="x_help-inline">{$lang->about_search_list_count}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label class="x_control-label" for="mobile_page_count">{$lang->page_count}</label>
|
||||
<div class="x_controls">
|
||||
<input type="text" name="mobile_page_count" id="mobile_page_count" value="{$module_info->mobile_page_count?$module_info->mobile_page_count:5}" style="width:30px" />
|
||||
<p class="x_help-inline">{$lang->about_mobile_page_count}</p>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<section class="section collapsed">
|
||||
<section class="section">
|
||||
<h1>{$lang->subtitle_advanced}</h1>
|
||||
<div class="x_control-group">
|
||||
<label class="x_control-label">{$lang->cmd_list_setting}</label>
|
||||
|
|
@ -136,27 +178,6 @@
|
|||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label class="x_control-label" for="list_count">{$lang->list_count}</label>
|
||||
<div class="x_controls">
|
||||
<input type="text" name="list_count" id="list_count" value="{$module_info->list_count?$module_info->list_count:20}" style="width:30px" />
|
||||
<p class="x_help-inline">{$lang->about_list_count}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label class="x_control-label" for="search_list_count">{$lang->search_list_count}</label>
|
||||
<div class="x_controls">
|
||||
<input type="text" name="search_list_count" id="search_list_count" value="{$module_info->search_list_count?$module_info->search_list_count:20}" style="width:30px" />
|
||||
<p class="x_help-inline">{$lang->about_search_list_count}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label class="x_control-label" for="page_count">{$lang->page_count}</label>
|
||||
<div class="x_controls">
|
||||
<input type="text" name="page_count" id="page_count" value="{$module_info->page_count?$module_info->page_count:10}" style="width:30px" />
|
||||
<p class="x_help-inline">{$lang->about_page_count}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<label class="x_control-label">{$lang->except_notice}</label>
|
||||
<div class="x_controls">
|
||||
|
|
|
|||
17
modules/board/tpl/filter/insert_admin.xml
Normal file
17
modules/board/tpl/filter/insert_admin.xml
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
<filter name="insert" module="board" act="procBoardInsertDocument">
|
||||
<form>
|
||||
<node target="nick_name" required="true" maxlength="20"/>
|
||||
<node target="password" required="true" />
|
||||
<node target="email_address" maxlength="250" filter="email" />
|
||||
<node target="homepage" maxlength="250" filter="url" />
|
||||
<node target="title" required="true" minlength="1" maxlength="250" />
|
||||
<node target="content" required="true" />
|
||||
</form>
|
||||
<response callback_func="completeDocumentInserted">
|
||||
<tag name="error" />
|
||||
<tag name="message" />
|
||||
<tag name="mid" />
|
||||
<tag name="document_srl" />
|
||||
<tag name="category_srl" />
|
||||
</response>
|
||||
</filter>
|
||||
|
|
@ -199,6 +199,8 @@ class commentController extends comment
|
|||
// check if comment's module is using comment validation and set the publish status to 0 (false)
|
||||
// for inserting query, otherwise default is 1 (true - means comment is published)
|
||||
$using_validation = $this->isModuleUsingPublishValidation($obj->module_srl);
|
||||
if(!$manual_inserted)
|
||||
{
|
||||
if(Context::get('is_logged'))
|
||||
{
|
||||
$logged_info = Context::get('logged_info');
|
||||
|
|
@ -211,6 +213,11 @@ class commentController extends comment
|
|||
$is_admin = FALSE;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$is_admin = FALSE;
|
||||
}
|
||||
|
||||
if(!$using_validation)
|
||||
{
|
||||
|
|
@ -441,7 +448,10 @@ class commentController extends comment
|
|||
}
|
||||
|
||||
// grant autority of the comment
|
||||
if(!$manual_inserted)
|
||||
{
|
||||
$this->addGrant($obj->comment_srl);
|
||||
}
|
||||
|
||||
// call a trigger(after)
|
||||
if($output->toBool())
|
||||
|
|
|
|||
|
|
@ -357,7 +357,7 @@ class commentItem extends Object
|
|||
$content = preg_replace('!(<br[\s]*/{0,1}>[\s]*)+!is', ' ', $content);
|
||||
|
||||
// replace tags such as </p> , </div> , </li> by blanks.
|
||||
$content = str_replace(array('</p>', '</div>', '</li>'), ' ', $content);
|
||||
$content = str_replace(array('</p>', '</div>', '</li>', '-->'), ' ', $content);
|
||||
|
||||
// Remove tags
|
||||
$content = preg_replace('!<([^>]*?)>!is', '', $content);
|
||||
|
|
|
|||
|
|
@ -48,6 +48,7 @@ class communicationAdminModel extends communication
|
|||
|
||||
$oModuleModel = getModel('module');
|
||||
$communication_config = $oModuleModel->getModuleConfig('communication');
|
||||
if(!is_object($communication_config)) $communication_config = new stdClass;
|
||||
if(!$communication_config->colorset)
|
||||
{
|
||||
$communication_config->colorset = "white";
|
||||
|
|
|
|||
|
|
@ -268,7 +268,7 @@ class documentController extends document
|
|||
}
|
||||
// If the tile is empty, extract string from the contents.
|
||||
settype($obj->title, "string");
|
||||
if($obj->title == '') $obj->title = cut_str(strip_tags($obj->content),20,'...');
|
||||
if($obj->title == '') $obj->title = cut_str(trim(strip_tags(nl2br($obj->content))),20,'...');
|
||||
// If no tile extracted from the contents, leave it untitled.
|
||||
if($obj->title == '') $obj->title = 'Untitled';
|
||||
// Remove XE's own tags from the contents.
|
||||
|
|
@ -333,7 +333,10 @@ class documentController extends document
|
|||
$oDB->commit();
|
||||
|
||||
// return
|
||||
if(!$manual_inserted)
|
||||
{
|
||||
$this->addGrant($obj->document_srl);
|
||||
}
|
||||
$output->add('document_srl',$obj->document_srl);
|
||||
$output->add('category_srl',$obj->category_srl);
|
||||
|
||||
|
|
@ -512,6 +515,8 @@ class documentController extends document
|
|||
return $output;
|
||||
}
|
||||
// Remove all extra variables
|
||||
if(Context::get('act')!='procFileDelete')
|
||||
{
|
||||
$this->deleteDocumentExtraVars($source_obj->get('module_srl'), $obj->document_srl, null, Context::getLangType());
|
||||
// Insert extra variables if the document successfully inserted.
|
||||
$extra_keys = $oDocumentModel->getExtraKeys($obj->module_srl);
|
||||
|
|
@ -536,6 +541,7 @@ class documentController extends document
|
|||
// Inert extra vars for multi-language support of title and contents.
|
||||
if($extra_content->title) $this->insertDocumentExtraVar($obj->module_srl, $obj->document_srl, -1, $extra_content->title, 'title_'.Context::getLangType());
|
||||
if($extra_content->content) $this->insertDocumentExtraVar($obj->module_srl, $obj->document_srl, -2, $extra_content->content, 'content_'.Context::getLangType());
|
||||
}
|
||||
// Update the category if the category_srl exists.
|
||||
if($source_obj->get('category_srl') != $obj->category_srl || $source_obj->get('module_srl') == $logged_info->member_srl)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -523,19 +523,19 @@ class documentItem extends Object
|
|||
|
||||
function getSummary($str_size = 50, $tail = '...')
|
||||
{
|
||||
$content = $this->getContent(false,false);
|
||||
$content = $this->getContent(FALSE, FALSE);
|
||||
|
||||
// For a newlink, inert a whitespace
|
||||
$content = preg_replace('!(<br[\s]*/{0,1}>[\s]*)+!is', ' ', $content);
|
||||
|
||||
// Replace tags such as </p> , </div> , </li> and others to a whitespace
|
||||
$content = str_replace(array('</p>', '</div>', '</li>'), ' ', $content);
|
||||
$content = str_replace(array('</p>', '</div>', '</li>', '-->'), ' ', $content);
|
||||
|
||||
// Remove Tags
|
||||
$content = preg_replace('!<([^>]*?)>!is','', $content);
|
||||
$content = preg_replace('!<([^>]*?)>!is', '', $content);
|
||||
|
||||
// Replace < , >, "
|
||||
$content = str_replace(array('<','>','"',' '), array('<','>','"',' '), $content);
|
||||
$content = str_replace(array('<', '>', '"', ' '), array('<', '>', '"', ' '), $content);
|
||||
|
||||
// Delete a series of whitespaces
|
||||
$content = preg_replace('/ ( +)/is', ' ', $content);
|
||||
|
|
@ -544,7 +544,7 @@ class documentItem extends Object
|
|||
$content = trim(cut_str($content, $str_size, $tail));
|
||||
|
||||
// Replace back < , <, "
|
||||
$content = str_replace(array('<','>','"'),array('<','>','"'), $content);
|
||||
$content = str_replace(array('<', '>', '"'),array('<', '>', '"'), $content);
|
||||
|
||||
return $content;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -221,6 +221,7 @@ class editorController extends editor
|
|||
$xml_obj->attrs = new stdClass;
|
||||
for($i=0,$c=count($m[0]);$i<$c;$i++)
|
||||
{
|
||||
if(!isset($xml_obj->attrs)) $xml_obj->attrs = new stdClass;
|
||||
$xml_obj->attrs->{$m[1][$i]} = $m[2][$i];
|
||||
}
|
||||
$xml_obj->body = $match[4];
|
||||
|
|
|
|||
|
|
@ -379,7 +379,8 @@ class editorModel extends editor
|
|||
$option->colorset = $config->sel_editor_colorset;
|
||||
// Permission check for file upload
|
||||
$option->allow_fileupload = false;
|
||||
if(count($config->upload_file_grant))
|
||||
if($logged_info->is_admin=='Y') $option->allow_fileupload = true;
|
||||
elseif(count($config->upload_file_grant))
|
||||
{
|
||||
foreach($group_list as $group_srl => $group_info)
|
||||
{
|
||||
|
|
@ -393,7 +394,8 @@ class editorModel extends editor
|
|||
else $option->allow_fileupload = true;
|
||||
// Permission check for using default components
|
||||
$option->enable_default_component = false;
|
||||
if(count($config->enable_default_component_grant))
|
||||
if($logged_info->is_admin=='Y') $option->enable_default_component = true;
|
||||
elseif(count($config->enable_default_component_grant))
|
||||
{
|
||||
foreach($group_list as $group_srl => $group_info)
|
||||
{
|
||||
|
|
@ -407,7 +409,8 @@ class editorModel extends editor
|
|||
else $option->enable_default_component = true;
|
||||
// Permisshion check for using extended components
|
||||
$option->enable_component = false;
|
||||
if(count($config->enable_component_grant))
|
||||
if($logged_info->is_admin=='Y') $option->enable_component = true;
|
||||
elseif(count($config->enable_component_grant))
|
||||
{
|
||||
foreach($group_list as $group_srl => $group_info)
|
||||
{
|
||||
|
|
@ -421,7 +424,8 @@ class editorModel extends editor
|
|||
else $option->enable_component = true;
|
||||
// HTML editing privileges
|
||||
$enable_html = false;
|
||||
if(count($config->enable_html_grant))
|
||||
if($logged_info->is_admin=='Y') $enable_html = true;
|
||||
elseif(count($config->enable_html_grant))
|
||||
{
|
||||
foreach($group_list as $group_srl => $group_info)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@ class fileAdminView extends file
|
|||
// Get a list
|
||||
$oFileAdminModel = getAdminModel('file');
|
||||
$columnList = array('file_srl', 'upload_target_srl', 'upload_target_type', 'sid', 'module_srl'
|
||||
, 'source_filename', 'isvalid', 'file_size', 'download_count', 'files.regdate', 'ipaddress', 'member.member_srl', 'member.nick_name');
|
||||
, 'source_filename', 'isvalid', 'file_size', 'download_count', 'files.regdate', 'ipaddress', 'member.member_srl', 'member.nick_name', 'uploaded_filename');
|
||||
$output = $oFileAdminModel->getFileList($args, $columnList);
|
||||
// Get the document for looping a list
|
||||
if($output->data)
|
||||
|
|
|
|||
|
|
@ -70,7 +70,10 @@ xe.lang.msg_empty_search_keyword = '{$lang->msg_empty_search_keyword}';
|
|||
<!--@endif-->
|
||||
<!-- one document end -->
|
||||
<tr>
|
||||
<td><a href="{htmlspecialchars_decode($val->download_url)}">{htmlspecialchars($val->source_filename, ENT_COMPAT | ENT_HTML401, 'UTF-8', false)}</a></td>
|
||||
<td> <!--@if(preg_match("/\.(jpg|png|bmp|jpeg|gif)$/i",strtolower($val->source_filename)))-->
|
||||
<img src="{$val->uploaded_filename}" style="width:50px; height:50px">
|
||||
<!--@end-->
|
||||
<a href="{htmlspecialchars_decode($val->download_url)}">{htmlspecialchars($val->source_filename, ENT_COMPAT | ENT_HTML401, 'UTF-8', false)}</a></td>
|
||||
<td class="nowr">{FileHandler::filesize($val->file_size)}</td>
|
||||
<td class="nowr">{$val->download_count}</td>
|
||||
<td class="nowr">
|
||||
|
|
|
|||
|
|
@ -327,9 +327,17 @@ class installAdminController extends install
|
|||
|
||||
private function saveIconTmp($icon, $iconname)
|
||||
{
|
||||
|
||||
$site_info = Context::get('site_module_info');
|
||||
$virtual_site = '';
|
||||
if($site_info->site_srl)
|
||||
{
|
||||
$virtual_site = $site_info->site_srl . '/';
|
||||
}
|
||||
|
||||
$target_file = $icon['tmp_name'];
|
||||
$type = $icon['type'];
|
||||
$relative_filename = 'files/attach/xeicon/tmp/'.$iconname;
|
||||
$relative_filename = 'files/attach/xeicon/'.$virtual_site.'tmp/'.$iconname;
|
||||
$target_filename = _XE_PATH_.$relative_filename;
|
||||
|
||||
list($width, $height, $type_no, $attrs) = @getimagesize($target_file);
|
||||
|
|
@ -364,7 +372,15 @@ class installAdminController extends install
|
|||
}
|
||||
|
||||
private function updateIcon($iconname, $deleteIcon = false) {
|
||||
$image_filepath = _XE_PATH_.'files/attach/xeicon/';
|
||||
|
||||
$site_info = Context::get('site_module_info');
|
||||
$virtual_site = '';
|
||||
if($site_info->site_srl)
|
||||
{
|
||||
$virtual_site = $site_info->site_srl . '/';
|
||||
}
|
||||
|
||||
$image_filepath = _XE_PATH_.'files/attach/xeicon/' . $virtual_site;
|
||||
|
||||
if($deleteIcon) {
|
||||
FileHandler::removeFile($image_filepath.$iconname);
|
||||
|
|
|
|||
|
|
@ -27,6 +27,7 @@ class integration_searchAdminController extends integration_search
|
|||
$oModuleModel = getModel('module');
|
||||
$config = $oModuleModel->getModuleConfig('integration_search');
|
||||
|
||||
$args = new stdClass;
|
||||
$args->skin = Context::get('skin');
|
||||
$args->target = Context::get('target');
|
||||
$args->target_module_srl = Context::get('target_module_srl');
|
||||
|
|
@ -51,6 +52,7 @@ class integration_searchAdminController extends integration_search
|
|||
$oModuleModel = getModel('module');
|
||||
$config = $oModuleModel->getModuleConfig('integration_search');
|
||||
|
||||
$args = new stdClass;
|
||||
$args->skin = $config->skin;
|
||||
$args->target_module_srl = $config->target_module_srl;
|
||||
// Get skin information (to check extra_vars)
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@
|
|||
|
||||
<!--// 컬러셋 체크 -->
|
||||
<!--@if($module_info->colorset != "white")-->
|
||||
{@if(!is_object($module_info)) $module_info = new stdClass;}
|
||||
{@$module_info->colorset = "white"}
|
||||
<!--@end-->
|
||||
|
||||
|
|
|
|||
|
|
@ -123,6 +123,7 @@ class layoutAdminController extends layout
|
|||
{
|
||||
$oModuleModel = getModel('module');
|
||||
$start_module = $oModuleModel->getSiteInfo(0, $columnList);
|
||||
$tmpArgs = new stdClass;
|
||||
$tmpArgs->url = $start_module->mid;
|
||||
$tmpArgs->site_srl = 0;
|
||||
$output = executeQuery('menu.getMenuItemByUrl', $tmpArgs);
|
||||
|
|
|
|||
|
|
@ -478,7 +478,7 @@ class layoutModel extends layout
|
|||
// Include the cache file if it is valid and then return $layout_info variable
|
||||
if(!$layout_srl)
|
||||
{
|
||||
$cache_file = $this->getLayoutCache($layout, Context::getLangType());
|
||||
$cache_file = $this->getLayoutCache($layout, Context::getLangType(), $layout_type);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -896,10 +896,17 @@ class layoutModel extends layout
|
|||
* @param string $lang_type
|
||||
* @return string
|
||||
*/
|
||||
function getLayoutCache($layout_name,$lang_type)
|
||||
function getLayoutCache($layout_name,$lang_type,$layout_type='P')
|
||||
{
|
||||
if($layout_type=='P')
|
||||
{
|
||||
return sprintf("%sfiles/cache/layout/%s.%s.cache.php", _XE_PATH_, $layout_name,$lang_type);
|
||||
}
|
||||
else
|
||||
{
|
||||
return sprintf("%sfiles/cache/layout/m.%s.%s.cache.php", _XE_PATH_, $layout_name,$lang_type);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* default layout ini to prevent arbitrary changes by a user
|
||||
|
|
|
|||
|
|
@ -1325,6 +1325,9 @@
|
|||
<value xml:lang="tr"><![CDATA[%s adresine etkinleştirme maili gönderdik. Lütfen mailinizi kontrol ediniz.]]></value>
|
||||
<value xml:lang="vi"><![CDATA[Chúng tôi đã gửi Email xác nhận đến %s. Xin vui lòng bấm vào Link đi kèm trong Email để hoàn tất việc đăng kí!]]></value>
|
||||
</item>
|
||||
<item name="msg_change_mail_sent">
|
||||
<value xml:lang="ko"><![CDATA[%s 메일로 이메일 변경 인증 메일이 발송되었습니다. 메일을 확인하세요.]]></value>
|
||||
</item>
|
||||
<item name="msg_invalid_modify_email_auth_key">
|
||||
<value xml:lang="ko"><![CDATA[잘못된 이메일 변경 요청입니다.<br />이메일 변경요청을 다시 하거나 사이트 관리자에게 문의해주세요.]]></value>
|
||||
<value xml:lang="jp"><![CDATA[正しくないEメール変更要求です。<br />Eメール変更要求を再度行うかサイト管理者へお問い合わせください。]]></value>
|
||||
|
|
|
|||
|
|
@ -2462,7 +2462,7 @@ class memberController extends member
|
|||
$oMail->setReceiptor( $member_info->nick_name, $newEmail );
|
||||
$result = $oMail->send();
|
||||
|
||||
$msg = sprintf(Context::getLang('msg_confirm_mail_sent'), $newEmail);
|
||||
$msg = sprintf(Context::getLang('msg_change_mail_sent'), $newEmail);
|
||||
$this->setMessage($msg);
|
||||
|
||||
$returnUrl = Context::get('success_return_url') ? Context::get('success_return_url') : getNotEncodedUrl('', 'mid', Context::get('mid'), 'act', '');
|
||||
|
|
@ -2635,7 +2635,7 @@ class memberController extends member
|
|||
$spam_description = trim( Context::get('spam_description') );
|
||||
|
||||
$oMemberModel = getModel('member');
|
||||
$columnList = array('member_srl', 'description');
|
||||
$columnList = array('member_srl', 'email_address', 'user_id', 'nick_name', 'description');
|
||||
// get member current infomation
|
||||
$member_info = $oMemberModel->getMemberInfoByMemberSrl($member_srl, 0, $columnList);
|
||||
|
||||
|
|
@ -2646,7 +2646,10 @@ class memberController extends member
|
|||
$total_count = $cnt_comment + $cnt_document;
|
||||
|
||||
$args = new stdClass();
|
||||
$args->member_srl= $member_info->member_srl;
|
||||
$args->member_srl = $member_info->member_srl;
|
||||
$args->email_address = $member_info->email_address;
|
||||
$args->user_id = $member_info->user_id;
|
||||
$args->nick_name = $member_info->nick_name;
|
||||
$args->denied = "Y";
|
||||
$args->description = trim( $member_info->description );
|
||||
if( $args->description != "" ) $args->description .= "\n"; // add new line
|
||||
|
|
|
|||
|
|
@ -18,6 +18,7 @@ class messageMobile extends messageView
|
|||
// Get configurations (using module model object)
|
||||
$oModuleModel = getModel('module');
|
||||
$config = $oModuleModel->getModuleConfig('message');
|
||||
if(!is_object($config)) $config = new stdClass;
|
||||
if(!$config->mskin) $config->mskin = 'default';
|
||||
// Set the template path
|
||||
$template_path = sprintf('%sm.skins/%s', $this->module_path, $config->mskin);
|
||||
|
|
|
|||
|
|
@ -905,6 +905,18 @@
|
|||
<value xml:lang="tr"><![CDATA[Sayfanın alt kısmında sayfa geçiş linklerinin sayısını ayarlayabilirsiniz.(varsayılan : 10)]]></value>
|
||||
<value xml:lang="vi"><![CDATA[bạn có thể giới hạn số trang liên kết hiển thị phía dưới.(Mặc định là 10)]]></value>
|
||||
</item>
|
||||
<item name="about_mobile_page_count">
|
||||
<value xml:lang="ko"><![CDATA[목록 하단, 페이지를 이동하는 링크 수를 지정할 수 있습니다. (기본 5개)]]></value>
|
||||
<value xml:lang="en"><![CDATA[You can set the number of page links to move pages in a bottom of the page. (default is 5)]]></value>
|
||||
<value xml:lang="jp"><![CDATA[リスト下部、ページ移動可能なリンク数を指定できます(デフォルト5個)。]]></value>
|
||||
<value xml:lang="zh-CN"><![CDATA[可以指定显示在目录下方的页面数(默认为5个)。 ]]></value>
|
||||
<value xml:lang="zh-TW"><![CDATA[可以指定顯示在清單下方的頁面數(預設為 5 個)。 ]]></value>
|
||||
<value xml:lang="fr"><![CDATA[Vous pouvez configurer combien de liens pour les Pages à Bouger en bas de chaque page.(5 par défaut)]]></value>
|
||||
<value xml:lang="ru"><![CDATA[Вы можете установить число страниц внизу. (по умолчанию: 5)]]></value>
|
||||
<value xml:lang="es"><![CDATA[Usted puede definir el número de página enlazada para mover páginas en un botón de la página.(Predefinido es 5)]]></value>
|
||||
<value xml:lang="tr"><![CDATA[Sayfanın alt kısmında sayfa geçiş linklerinin sayısını ayarlayabilirsiniz.(varsayılan : 5)]]></value>
|
||||
<value xml:lang="vi"><![CDATA[bạn có thể giới hạn số trang liên kết hiển thị phía dưới.(Mặc định là 5)]]></value>
|
||||
</item>
|
||||
<item name="about_admin_id">
|
||||
<value xml:lang="ko"><![CDATA[해당 모듈에 대해 최고 권한을 가지는 관리자를 지정할 수 있습니다.]]></value>
|
||||
<value xml:lang="en"><![CDATA[You can grant a manager to have all permissions to the module.]]></value>
|
||||
|
|
|
|||
|
|
@ -950,7 +950,7 @@ class moduleController extends module
|
|||
}
|
||||
}
|
||||
|
||||
$oDB->commit;
|
||||
$oDB->commit();
|
||||
|
||||
return new Object();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -71,6 +71,7 @@ class page extends ModuleObject
|
|||
|
||||
if(count($skin_update_srls)>0)
|
||||
{
|
||||
$skin_args = new stdClass;
|
||||
$skin_args->module_srls = implode(',',$skin_update_srls);
|
||||
$skin_args->is_skin_fix = "Y";
|
||||
$ouput = executeQuery('page.updateSkinFix', $skin_args);
|
||||
|
|
|
|||
|
|
@ -608,6 +608,7 @@ class pointController extends point
|
|||
// Remove linkage group
|
||||
if($del_group_list && count($del_group_list))
|
||||
{
|
||||
$del_group_args = new stdClass;
|
||||
$del_group_args->member_srl = $member_srl;
|
||||
$del_group_args->group_srl = implode(',', $del_group_list);
|
||||
$del_group_output = executeQuery('point.deleteMemberGroup', $del_group_args);
|
||||
|
|
@ -615,6 +616,7 @@ class pointController extends point
|
|||
// Grant a new group
|
||||
foreach($new_group_list as $group_srl)
|
||||
{
|
||||
$new_group_args = new stdClass;
|
||||
$new_group_args->member_srl = $member_srl;
|
||||
$new_group_args->group_srl = $group_srl;
|
||||
executeQuery('member.addMemberToGroup', $new_group_args);
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
<channel rdf:about="{getUrl('','mid',$mid,'module','rss','act','rss','format','rss1.0','page',Context::get('page'),'start_date',Context::get('start_date'),'end_date',Context::get('end_date'))}">
|
||||
<title><![CDATA[{$info->title}]]></title>
|
||||
<link>{$info->link}</link>
|
||||
<description><![CDATA[{$info->description}</description>
|
||||
<description><![CDATA[{$info->description}]]></description>
|
||||
<items>
|
||||
<rdf:Seq>
|
||||
<!--@foreach($document_list as $oDocument)-->
|
||||
|
|
|
|||
|
|
@ -142,7 +142,7 @@ class widgetModel extends widget
|
|||
$xml_obj = $tmp_xml_obj->widget;
|
||||
if(!$xml_obj) return;
|
||||
|
||||
$buff = '';
|
||||
$buff = '$widget_info = new stdClass;';
|
||||
|
||||
if($xml_obj->version && $xml_obj->attrs->version == '0.2')
|
||||
{
|
||||
|
|
@ -166,6 +166,7 @@ class widgetModel extends widget
|
|||
|
||||
for($i=0; $i < count($author_list); $i++)
|
||||
{
|
||||
$buff .= '$widget_info->author['.$i.'] = new stdClass;';
|
||||
$buff .= sprintf('$widget_info->author['.$i.']->name = "%s";', $author_list[$i]->name->body);
|
||||
$buff .= sprintf('$widget_info->author['.$i.']->email_address = "%s";', $author_list[$i]->attrs->email_address);
|
||||
$buff .= sprintf('$widget_info->author['.$i.']->homepage = "%s";', $author_list[$i]->attrs->link);
|
||||
|
|
@ -185,6 +186,7 @@ class widgetModel extends widget
|
|||
$buff .= sprintf('$widget_info->widget_srl = $widget_srl;');
|
||||
$buff .= sprintf('$widget_info->widget_title = $widget_title;');
|
||||
// Author information
|
||||
$buff .= '$widget_info->author[0] = new stdClass;';
|
||||
$buff .= sprintf('$widget_info->author[0]->name = "%s";', $xml_obj->author->name->body);
|
||||
$buff .= sprintf('$widget_info->author[0]->email_address = "%s";', $xml_obj->author->attrs->email_address);
|
||||
$buff .= sprintf('$widget_info->author[0]->homepage = "%s";', $xml_obj->author->attrs->link);
|
||||
|
|
@ -203,6 +205,7 @@ class widgetModel extends widget
|
|||
$extra_var_count = count($extra_vars);
|
||||
|
||||
$buff .= sprintf('$widget_info->extra_var_count = "%s";', $extra_var_count);
|
||||
$buff .= '$widget_info->extra_var = new stdClass;';
|
||||
for($i=0;$i<$extra_var_count;$i++)
|
||||
{
|
||||
unset($var);
|
||||
|
|
@ -212,8 +215,12 @@ class widgetModel extends widget
|
|||
$id = $var->attrs->id?$var->attrs->id:$var->attrs->name;
|
||||
$name = $var->name->body?$var->name->body:$var->title->body;
|
||||
$type = $var->attrs->type?$var->attrs->type:$var->type->body;
|
||||
if($type =='filebox') $buff .= sprintf('$widget_info->extra_var->%s->filter = "%s";', $id, $var->type->attrs->filter);
|
||||
if($type =='filebox') $buff .= sprintf('$widget_info->extra_var->%s->allow_multiple = "%s";', $id, $var->type->attrs->allow_multiple);
|
||||
$buff .= sprintf('$widget_info->extra_var->%s = new stdClass;', $id);
|
||||
if($type =='filebox')
|
||||
{
|
||||
$buff .= sprintf('$widget_info->extra_var->%s->filter = "%s";', $id, $var->type->attrs->filter);
|
||||
$buff .= sprintf('$widget_info->extra_var->%s->allow_multiple = "%s";', $id, $var->type->attrs->allow_multiple);
|
||||
}
|
||||
|
||||
$buff .= sprintf('$widget_info->extra_var->%s->group = "%s";', $id, $group->title->body);
|
||||
$buff .= sprintf('$widget_info->extra_var->%s->name = "%s";', $id, $name);
|
||||
|
|
@ -299,6 +306,7 @@ class widgetModel extends widget
|
|||
|
||||
for($i=0; $i < count($author_list); $i++)
|
||||
{
|
||||
$buff .= '$widgetStyle_info->author['.$i.'] = new stdClass;';
|
||||
$buff .= sprintf('$widgetStyle_info->author['.$i.']->name = "%s";', $author_list[$i]->name->body);
|
||||
$buff .= sprintf('$widgetStyle_info->author['.$i.']->email_address = "%s";', $author_list[$i]->attrs->email_address);
|
||||
$buff .= sprintf('$widgetStyle_info->author['.$i.']->homepage = "%s";', $author_list[$i]->attrs->link);
|
||||
|
|
@ -317,7 +325,7 @@ class widgetModel extends widget
|
|||
{
|
||||
$extra_var_count = count($extra_vars);
|
||||
|
||||
$buff .= sprintf('$widgetStyle_info->extra_var_count = "%s";', $extra_var_count);
|
||||
$buff .= sprintf('$widgetStyle_info->extra_var_count = "%s";$widgetStyle_info->extra_var = new stdClass;', $extra_var_count);
|
||||
for($i=0;$i<$extra_var_count;$i++)
|
||||
{
|
||||
unset($var);
|
||||
|
|
@ -328,6 +336,7 @@ class widgetModel extends widget
|
|||
$name = $var->name->body?$var->name->body:$var->title->body;
|
||||
$type = $var->attrs->type?$var->attrs->type:$var->type->body;
|
||||
|
||||
$buff .= sprintf('$widgetStyle_info->extra_var->%s = new stdClass;', $id);
|
||||
$buff .= sprintf('$widgetStyle_info->extra_var->%s->group = "%s";', $id, $group->title->body);
|
||||
$buff .= sprintf('$widgetStyle_info->extra_var->%s->name = "%s";', $id, $name);
|
||||
$buff .= sprintf('$widgetStyle_info->extra_var->%s->type = "%s";', $id, $type);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue