Merge pull request #12 from xpressengine/develop

Develop
This commit is contained in:
퍼니엑스이 2014-07-18 11:54:50 +09:00
commit 12ec647227
36 changed files with 251 additions and 96 deletions

View file

@ -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;
}
}

View file

@ -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)

View file

@ -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));

View file

@ -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
{

View file

@ -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;
}

View file

@ -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">

View file

@ -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-->">

View file

@ -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>

View file

@ -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';
}
}

View file

@ -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

View file

@ -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');

View file

@ -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">

View 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>

View file

@ -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())

View file

@ -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);

View file

@ -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";

View file

@ -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)
{

View file

@ -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('&lt;','&gt;','&quot;','&nbsp;'), array('<','>','"',' '), $content);
$content = str_replace(array('&lt;', '&gt;', '&quot;', '&nbsp;'), 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('&lt;','&gt;','&quot;'), $content);
$content = str_replace(array('<', '>', '"'),array('&lt;', '&gt;', '&quot;'), $content);
return $content;
}

View file

@ -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];

View file

@ -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)
{

View file

@ -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)

View file

@ -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">

View file

@ -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);

View file

@ -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)

View file

@ -3,6 +3,7 @@
<!--// 컬러셋 체크 -->
<!--@if($module_info->colorset != "white")-->
{@if(!is_object($module_info)) $module_info = new stdClass;}
{@$module_info->colorset = "white"}
<!--@end-->

View file

@ -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);

View file

@ -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

View file

@ -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>

View file

@ -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

View file

@ -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);

View file

@ -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>

View file

@ -950,7 +950,7 @@ class moduleController extends module
}
}
$oDB->commit;
$oDB->commit();
return new Object();
}

View file

@ -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);

View file

@ -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);

View file

@ -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)-->

View file

@ -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);