mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-04-22 20:02:15 +09:00
commit
b184a2b33e
32 changed files with 142 additions and 66 deletions
19
README.md
19
README.md
|
|
@ -23,15 +23,16 @@ adrian.vasile.constantin, aerofleet, @akasima, @andreimarin, araste, @bnu, @bong
|
|||
## License
|
||||
Copyright 2014 NAVER Corp. <http://www.navercorp.com>
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 of the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
This library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with this library; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
|
|
|
|||
|
|
@ -30,6 +30,13 @@ if($_REQUEST['act'] != 'api')
|
|||
// Read func file
|
||||
require_once(_XE_PATH_ . 'addons/blogapi/blogapi.func.php');
|
||||
|
||||
// If HTTP_RAW_POST_DATA is NULL, Print error message
|
||||
if(!$GLOBALS['HTTP_RAW_POST_DATA'])
|
||||
{
|
||||
$content = getXmlRpcFailure(1, 'Invalid Method Call');
|
||||
printContent($content);
|
||||
}
|
||||
|
||||
// xmlprc parsing
|
||||
// Parse the requested xmlrpc
|
||||
$xml = new SimpleXMLElement($GLOBALS['HTTP_RAW_POST_DATA']);
|
||||
|
|
@ -487,7 +494,7 @@ if($called_position == 'before_module_proc')
|
|||
$post = new stdClass();
|
||||
$post->categories = array();
|
||||
$post->dateCreated = date("Ymd", $oDocument->getRegdateTime()) . 'T' . date("H:i:s", $oDocument->getRegdateTime());
|
||||
$post->description = htmlspecialchars($oEditorController->transComponent($oDocument->getContent(false, false, true, false)), ENT_COMPAT | ENT_HTML401, 'UTF-8', false);
|
||||
$post->description = sprintf('<![CDATA[%s]]>',$oEditorController->transComponent($oDocument->getContent(false, false, true, false)));
|
||||
$post->link = $post->permaLink = getFullUrl('', 'document_srl', $oDocument->document_srl);
|
||||
$post->postid = $oDocument->document_srl;
|
||||
$post->title = htmlspecialchars($oDocument->get('title'), ENT_COMPAT | ENT_HTML401, 'UTF-8', false);
|
||||
|
|
|
|||
|
|
@ -31,7 +31,11 @@ function getXmlRpcResponse($params)
|
|||
// Encoding
|
||||
function _getEncodedVal($val, $is_sub_set = false)
|
||||
{
|
||||
if(is_int($val))
|
||||
if(preg_match('/^\<\!\[CDATA\[/',$val))
|
||||
{
|
||||
$buff = sprintf("<value>%s</value>", $val);
|
||||
}
|
||||
elseif(is_int($val))
|
||||
{
|
||||
$buff = sprintf("<value><i4>%d</i4></value>", $val);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,8 +12,11 @@ if(!defined("__XE__")) exit();
|
|||
if(!class_exists('AddonCaptcha', false))
|
||||
{
|
||||
// On the mobile mode, XE Core does not load jquery and xe.js as normal.
|
||||
Context::loadFile(array('./common/js/jquery.min.js', 'head', NULL, -100000), true);
|
||||
Context::loadFile(array('./common/js/xe.min.js', 'head', NULL, -100000), true);
|
||||
if(Mobile::isFromMobilePhone())
|
||||
{
|
||||
Context::loadFile(array('./common/js/jquery.min.js', 'head', NULL, -100000), true);
|
||||
Context::loadFile(array('./common/js/xe.min.js', 'head', NULL, -100000), true);
|
||||
}
|
||||
|
||||
class AddonCaptcha
|
||||
{
|
||||
|
|
|
|||
|
|
@ -12,8 +12,11 @@ if(!defined("__XE__")) exit();
|
|||
if(!class_exists('AddonMemberCaptcha', false))
|
||||
{
|
||||
// On the mobile mode, XE Core does not load jquery and xe.js as normal.
|
||||
Context::loadFile(array('./common/js/jquery.min.js', 'head', NULL, -100000), true);
|
||||
Context::loadFile(array('./common/js/xe.min.js', 'head', NULL, -100000), true);
|
||||
if(Mobile::isFromMobilePhone())
|
||||
{
|
||||
Context::loadFile(array('./common/js/jquery.min.js', 'head', NULL, -100000), true);
|
||||
Context::loadFile(array('./common/js/xe.min.js', 'head', NULL, -100000), true);
|
||||
}
|
||||
|
||||
class AddonMemberCaptcha
|
||||
{
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@
|
|||
* @author NAVER (developers@xpressengine.com)
|
||||
* @package /classes/httprequest
|
||||
* @version 0.1
|
||||
* @deprecated
|
||||
*/
|
||||
class XEHttpRequest
|
||||
{
|
||||
|
|
@ -24,6 +25,12 @@ class XEHttpRequest
|
|||
*/
|
||||
var $m_port;
|
||||
|
||||
/**
|
||||
* target scheme
|
||||
* @var string
|
||||
*/
|
||||
var $m_scheme;
|
||||
|
||||
/**
|
||||
* target header
|
||||
* @var array
|
||||
|
|
@ -34,10 +41,11 @@ class XEHttpRequest
|
|||
* constructor
|
||||
* @return void
|
||||
*/
|
||||
function XEHttpRequest($host, $port)
|
||||
function XEHttpRequest($host, $port, $scheme='')
|
||||
{
|
||||
$this->m_host = $host;
|
||||
$this->m_port = $port;
|
||||
$this->m_scheme = $scheme;
|
||||
$this->m_headers = array();
|
||||
}
|
||||
|
||||
|
|
@ -108,7 +116,13 @@ class XEHttpRequest
|
|||
{
|
||||
static $crlf = "\r\n";
|
||||
|
||||
$sock = @fsockopen($this->m_host, $this->m_port, $errno, $errstr, $timeout);
|
||||
$scheme = '';
|
||||
if($this->m_scheme=='https')
|
||||
{
|
||||
$scheme = 'ssl://';
|
||||
}
|
||||
|
||||
$sock = @fsockopen($scheme . $this->m_host, $this->m_port, $errno, $errstr, $timeout);
|
||||
if(!$sock)
|
||||
{
|
||||
return new Object(-1, 'socket_connect_failed');
|
||||
|
|
|
|||
2
common/js/x.min.js
vendored
2
common/js/x.min.js
vendored
File diff suppressed because one or more lines are too long
|
|
@ -29,7 +29,7 @@ define('__ZBXE__', __XE__);
|
|||
/**
|
||||
* Display XE's full version.
|
||||
*/
|
||||
define('__XE_VERSION__', '1.7.5-beta2');
|
||||
define('__XE_VERSION__', '1.7.5');
|
||||
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));
|
||||
|
|
|
|||
|
|
@ -45,7 +45,7 @@ require dirname(__FILE__) . '/config/config.inc.php';
|
|||
* @brief Initialize by creating Context object
|
||||
* Set all Request Argument/Environment variables
|
||||
**/
|
||||
$oContext = &Context::getInstance();
|
||||
$oContext = Context::getInstance();
|
||||
$oContext->init();
|
||||
|
||||
/**
|
||||
|
|
@ -59,8 +59,7 @@ if($oContext->checkSSO())
|
|||
{
|
||||
if($oModuleHandler->init())
|
||||
{
|
||||
$oModule = &$oModuleHandler->procModule();
|
||||
$oModuleHandler->displayContent($oModule);
|
||||
$oModuleHandler->displayContent($oModuleHandler->procModule());
|
||||
}
|
||||
}
|
||||
catch(Exception $e)
|
||||
|
|
|
|||
|
|
@ -751,7 +751,7 @@
|
|||
.x [class^="x_icon-"],
|
||||
.x [class*=" x_icon-"]{display:inline-block;width:14px;height:14px;margin-top:1px;*margin-right:.3em;line-height:14px;vertical-align:text-top;background-image:url("../img/glyphicons-halflings.png");background-position:14px 14px;background-repeat:no-repeat}
|
||||
/* White icons with optional class, or on hover/active states of certain elements */
|
||||
.x .x_icon-white,
|
||||
#gnb.gnb.open .x_icon-white,
|
||||
.x .x_nav-pills>.x_active>a>[class^="x_icon-"],
|
||||
.x .x_nav-pills>.x_active>a>[class*=" x_icon-"],
|
||||
.x .x_nav-list>.x_active>a>[class^="x_icon-"],
|
||||
|
|
@ -1591,4 +1591,4 @@ to{background-position:0 0}
|
|||
.x .x_hide{display:none}
|
||||
.x .x_show{display:block}
|
||||
.x .x_invisible{visibility:hidden}
|
||||
.x .x_affix{position:fixed}
|
||||
.x .x_affix{position:fixed}
|
||||
|
|
|
|||
|
|
@ -358,6 +358,9 @@ body>.x,
|
|||
.x_modal-backdrop {
|
||||
display: none;
|
||||
}
|
||||
.x_modal {
|
||||
top: 30px;
|
||||
}
|
||||
.x_modal-backdrop {
|
||||
opacity: .6;
|
||||
filter: alpha(opacity=60);
|
||||
|
|
@ -410,7 +413,7 @@ body>.x,
|
|||
min-width: 220px;
|
||||
}
|
||||
.x .x_form-horizontal .x_control-group {
|
||||
margin-bottom: 10px;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.x input[type="text"],
|
||||
.x input[type="password"],
|
||||
|
|
|
|||
2
modules/admin/tpl/css/admin.min.css
vendored
2
modules/admin/tpl/css/admin.min.css
vendored
File diff suppressed because one or more lines are too long
|
|
@ -422,6 +422,14 @@ jQuery(function($){
|
|||
var zIndex = xeModalInitailZIndex + ((xeModalStack.length - 1) * 2);
|
||||
|
||||
$xeModalBackdrop.css('z-index', zIndex).show();
|
||||
var xeModalBackdropHeight = $xeModalBackdrop.height();
|
||||
var modalBodyHeight = xeModalBackdropHeight;
|
||||
modalBodyHeight -= $modal.find('.x_modal-header:visible').height();
|
||||
modalBodyHeight -= $modal.find('.x_modal-footer:visible').height();
|
||||
modalBodyHeight -= 150;
|
||||
|
||||
$modal.find('.x_modal-body').css('height', modalBodyHeight);
|
||||
|
||||
$modal.css('z-index', zIndex + 1);
|
||||
})
|
||||
.bind('close.mw', function(){
|
||||
|
|
|
|||
4
modules/admin/tpl/js/admin.min.js
vendored
4
modules/admin/tpl/js/admin.min.js
vendored
File diff suppressed because one or more lines are too long
|
|
@ -11,8 +11,8 @@
|
|||
<condition operation="like" column="mid" var="s_mid" pipe="or" />
|
||||
<condition operation="like" column="browser_title" var="s_browser_title" pipe="or" />
|
||||
<condition operation="like" column="comment" var="s_comment" pipe="or" />
|
||||
<condition operation="equal" column="module_category_srl" var="s_module_category_srl" pipe="or" />
|
||||
</group>
|
||||
<condition operation="equal" column="module_category_srl" var="s_module_category_srl" pipe="and" />
|
||||
</conditions>
|
||||
<navigation>
|
||||
<index var="sort_index" default="module_srl" order="desc" />
|
||||
|
|
|
|||
|
|
@ -89,8 +89,9 @@
|
|||
<form action="" class="search x_input-append center" no-error-return-url="true">
|
||||
<input loop="$param => $key, $val" cond="!in_array($key, array('mid', 'vid', 'act', 'page', 'search_target', 'search_keyword'))" type="hidden" name="{$key}" value="{$val}" />
|
||||
<select cond="count($module_category)" name="module_category_srl" title="{$lang->module_category}" style="margin-right:4px">
|
||||
<option value="" selected="selected"|cond="!$module_category_srl">{$lang->all}</option>
|
||||
<option value="0" selected="selected"|cond="$module_category_srl==='0'">{$lang->not_exists}</option>
|
||||
<option value="{$key}" loop="$module_category => $key,$val" selected="selected"|cond="$module_category==$key">{$val->title}</option>
|
||||
<option value="{$key}" loop="$module_category => $key,$val" selected="selected"|cond="$module_category_srl==$key">{$val->title}</option>
|
||||
</select>
|
||||
<select name="search_target" title="{$lang->search_target}" style="margin-right:4px">
|
||||
<option value="mid" selected="selected"|cond="$search_target=='mid'">{$lang->mid}</option>
|
||||
|
|
@ -124,4 +125,4 @@ jQuery(function($){
|
|||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</script>
|
||||
|
|
|
|||
|
|
@ -472,7 +472,7 @@ class commentAdminController extends comment
|
|||
$obj->module_srl = $originObject->module_srl;
|
||||
|
||||
$oCommentController = getController('comment');
|
||||
$output = $oCommentController->insertComment($obj);
|
||||
$output = $oCommentController->insertComment($obj, true);
|
||||
|
||||
return $output;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -300,7 +300,7 @@ class commentController extends comment
|
|||
{
|
||||
$obj->comment_srl = getNextSequence();
|
||||
}
|
||||
elseif(!checkUserSequence($obj->comment_srl))
|
||||
elseif(!$is_admin && !$manual_inserted && !checkUserSequence($obj->comment_srl))
|
||||
{
|
||||
return new Object(-1, 'msg_not_permitted');
|
||||
}
|
||||
|
|
@ -520,18 +520,22 @@ class commentController extends comment
|
|||
$oMail->setSender($obj->email_address, $obj->email_address);
|
||||
$mail_title = "[XE - " . Context::get('mid') . "] A new comment was posted on document: \"" . $oDocument->getTitleText() . "\"";
|
||||
$oMail->setTitle($mail_title);
|
||||
$url_comment = getFullUrl('','document_srl',$obj->document_srl).'#comment_'.$obj->comment_srl;
|
||||
if($using_validation)
|
||||
{
|
||||
$url_approve = getFullUrl('', 'module', 'comment', 'act', 'procCommentAdminChangePublishedStatusChecked', 'cart[]', $obj->comment_srl, 'will_publish', '1', 'search_target', 'is_published', 'search_keyword', 'N');
|
||||
$url_trash = getFullUrl('', 'module', 'comment', 'act', 'procCommentAdminDeleteChecked', 'cart[]', $obj->comment_srl, 'search_target', 'is_trash', 'search_keyword', 'true');
|
||||
$url_approve = getFullUrl('', 'module', 'admin', 'act', 'procCommentAdminChangePublishedStatusChecked', 'cart[]', $obj->comment_srl, 'will_publish', '1', 'search_target', 'is_published', 'search_keyword', 'N');
|
||||
$url_trash = getFullUrl('', 'module', 'admin', 'act', 'procCommentAdminDeleteChecked', 'cart[]', $obj->comment_srl, 'search_target', 'is_trash', 'search_keyword', 'true');
|
||||
$mail_content = "
|
||||
A new comment on the document \"" . $oDocument->getTitleText() . "\" is waiting for your approval.
|
||||
<br />
|
||||
<br />
|
||||
Author: " . $member_info->nick_name . "
|
||||
<br />Author e-mail: " . $member_info->email_address . "
|
||||
<br />From : <a href=\"" . $url_comment . "\">" . $url_comment . "</a>
|
||||
<br />Comment:
|
||||
<br />\"" . $obj->content . "\"
|
||||
<br />Document:
|
||||
<br />\"" . $oDocument->getContentText(). "\"
|
||||
<br />
|
||||
<br />
|
||||
Approve it: <a href=\"" . $url_approve . "\">" . $url_approve . "</a>
|
||||
|
|
@ -546,8 +550,11 @@ class commentController extends comment
|
|||
$mail_content = "
|
||||
Author: " . $member_info->nick_name . "
|
||||
<br />Author e-mail: " . $member_info->email_address . "
|
||||
<br />From : <a href=\"" . $url_comment . "\">" . $url_comment . "</a>
|
||||
<br />Comment:
|
||||
<br />\"" . $obj->content . "\"
|
||||
<br />Document:
|
||||
<br />\"" . $oDocument->getContentText(). "\"
|
||||
";
|
||||
$oMail->setContent($mail_content);
|
||||
|
||||
|
|
@ -1100,7 +1107,17 @@ class commentController extends comment
|
|||
$_SESSION['voted_comment'][$comment_srl] = TRUE;
|
||||
|
||||
// Return the result
|
||||
return new Object(0, $success_message);
|
||||
$output = new Object(0, $success_message);
|
||||
if($point > 0)
|
||||
{
|
||||
$output->add('voted_count', $obj->after_point);
|
||||
}
|
||||
else
|
||||
{
|
||||
$output->add('blamed_count', $obj->after_point);
|
||||
}
|
||||
|
||||
return $output;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -385,6 +385,7 @@ class commentModel extends comment
|
|||
$args->module_srl = $obj->module_srl;
|
||||
}
|
||||
|
||||
$args->document_srl = $obj->document_srl;
|
||||
$args->list_count = $obj->list_count;
|
||||
|
||||
if(strpos($args->module_srl, ",") === false)
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@
|
|||
<conditions>
|
||||
<condition operation="equal" column="status" var="status" pipe="and" />
|
||||
<condition operation="in" column="module_srl" var="module_srl" filter="number" pipe="and" />
|
||||
<condition operation="equal" column="document_srl" var="document_srl" filter="number" pipe="and" />
|
||||
</conditions>
|
||||
<navigation>
|
||||
<index var="sort_index" default="list_order" order="asc" />
|
||||
|
|
|
|||
|
|
@ -234,7 +234,7 @@ class documentController extends document
|
|||
if(!$output->toBool()) return $output;
|
||||
// Register it if no given document_srl exists
|
||||
if(!$obj->document_srl) $obj->document_srl = getNextSequence();
|
||||
elseif(!checkUserSequence($obj->document_srl)) return new Object(-1, 'msg_not_permitted');
|
||||
elseif(!$manual_inserted && !$isRestore && !checkUserSequence($obj->document_srl)) return new Object(-1, 'msg_not_permitted');
|
||||
|
||||
$oDocumentModel = getModel('document');
|
||||
// Set to 0 if the category_srl doesn't exist
|
||||
|
|
@ -1143,14 +1143,19 @@ class documentController extends document
|
|||
$_SESSION['voted_document'][$document_srl] = true;
|
||||
|
||||
// Return result
|
||||
$output = new Object();
|
||||
if($point > 0)
|
||||
{
|
||||
return new Object(0, 'success_voted');
|
||||
$output->setMessage('success_voted');
|
||||
$output->add('voted_count', $obj->after_point);
|
||||
}
|
||||
else
|
||||
{
|
||||
return new Object(0, 'success_blamed');
|
||||
$output->setMessage('success_blamed');
|
||||
$output->add('blamed_count', $obj->after_point);
|
||||
}
|
||||
|
||||
return $output;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -24,8 +24,8 @@
|
|||
var align = (node.style.cssFloat) ? node.style.cssFloat : node.style.styleFloat;
|
||||
var margin = (node.style.margin) ? node.style.margin.match('[0-9]+') : node.getAttribute('margin');
|
||||
var alt = node.getAttribute('alt');
|
||||
var width = $(node).width();
|
||||
var height = $(node).height();
|
||||
var width = node.getAttribute('width');
|
||||
var height = node.getAttribute('height');
|
||||
var link_url = node.getAttribute('link_url');
|
||||
var open_window = node.getAttribute('open_window');
|
||||
|
||||
|
|
|
|||
|
|
@ -422,7 +422,7 @@ function insertUploadedFile(editorSequence) {
|
|||
temp_code = '';
|
||||
temp_code += "<img src=\""+file.download_url+"\" alt=\""+file.source_filename+"\"";
|
||||
if(obj.complete === true) { temp_code += " width=\""+obj.width+"\" height=\""+obj.height+"\""; }
|
||||
temp_code += " />\r\n";
|
||||
temp_code += " />\r\n<p><br /></p>\r\n";
|
||||
text.push(temp_code);
|
||||
} else {
|
||||
// 이미지외의 경우는 multimedia_link 컴포넌트 연결
|
||||
|
|
|
|||
2
modules/editor/tpl/js/uploader.min.js
vendored
2
modules/editor/tpl/js/uploader.min.js
vendored
File diff suppressed because one or more lines are too long
|
|
@ -335,8 +335,8 @@ class installAdminController extends install
|
|||
list($width, $height, $type_no, $attrs) = @getimagesize($target_file);
|
||||
if($iconname == 'favicon.ico')
|
||||
{
|
||||
if(!preg_match('/^.*(icon).*$/',$type)) {
|
||||
Context::set('msg', '*.icon '.Context::getLang('msg_possible_only_file'));
|
||||
if(!preg_match('/^.*\.ico$/i',$type)) {
|
||||
Context::set('msg', '*.ico '.Context::getLang('msg_possible_only_file'));
|
||||
return;
|
||||
}
|
||||
if($width && $height && ($width != '16' || $height != '16')) {
|
||||
|
|
@ -346,7 +346,7 @@ class installAdminController extends install
|
|||
}
|
||||
else if($iconname == 'mobicon.png')
|
||||
{
|
||||
if(!preg_match('/^.*(png).*$/',$type)) {
|
||||
if(!preg_match('/^.*\.png$/i',$type)) {
|
||||
Context::set('msg', '*.png '.Context::getLang('msg_possible_only_file'));
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -475,7 +475,7 @@ class memberAdminController extends member
|
|||
}
|
||||
else if($formInfo->name == 'password')
|
||||
{
|
||||
$fields[] = '<field name="password"><if test="$act == \'procMemberInsert\'" attr="required" value="true" /><if test="$act == \'procMemberInsert\'" attr="length" value="6:20" /></field>';
|
||||
$fields[] = '<field name="password"><if test="$act == \'procMemberInsert\'" attr="required" value="true" /><if test="$act == \'procMemberInsert\'" attr="length" value="4:20" /></field>';
|
||||
$fields[] = '<field name="password2"><if test="$act == \'procMemberInsert\'" attr="required" value="true" /><if test="$act == \'procMemberInsert\'" attr="equalto" value="password" /></field>';
|
||||
}
|
||||
else if($formInfo->name == 'find_account_question')
|
||||
|
|
@ -831,7 +831,6 @@ class memberAdminController extends member
|
|||
{
|
||||
$args->denied = $var->denied;
|
||||
$output = executeQuery('member.updateMemberDeniedInfo', $args);
|
||||
$this->_clearMemberCache($args->member_srl);
|
||||
if(!$output->toBool())
|
||||
{
|
||||
$oDB->rollback();
|
||||
|
|
@ -853,6 +852,7 @@ class memberAdminController extends member
|
|||
$this->setMessage('success_deleted');
|
||||
}
|
||||
}
|
||||
$oMemberController->_clearMemberCache($args->member_srl);
|
||||
}
|
||||
|
||||
$message = $var->message;
|
||||
|
|
|
|||
|
|
@ -94,7 +94,7 @@ class memberAdminView extends member
|
|||
}
|
||||
}
|
||||
$config = $this->memberConfig;
|
||||
$memberIdentifiers = array('user_id'=>'user_id', 'user_name'=>'user_name', 'nick_name'=>'nick_name');
|
||||
$memberIdentifiers = array('email_address'=>'email_address', 'user_id'=>'user_id', 'user_name'=>'user_name', 'nick_name'=>'nick_name');
|
||||
$usedIdentifiers = array();
|
||||
|
||||
if(is_array($config->signupForm))
|
||||
|
|
|
|||
|
|
@ -121,7 +121,7 @@
|
|||
<!--@end-->
|
||||
</select>
|
||||
<select name="search_target" style="margin-right:4px" title="{$lang->search_target}">
|
||||
{@$lang->search_target_list = array_merge($lang->search_target_list, $usedIdentifiers)}
|
||||
{@$lang->search_target_list = array_merge($usedIdentifiers, $lang->search_target_list)}
|
||||
<option value="{$key}" loop="$lang->search_target_list=>$key,$val" selected="selected"|cond="$search_target==$key">{$val}</option>
|
||||
</select>
|
||||
<input type="search" name="search_keyword" value="{htmlspecialchars($search_keyword, ENT_COMPAT | ENT_HTML401, 'UTF-8', false)}" style="width:140px">
|
||||
|
|
@ -154,7 +154,12 @@
|
|||
<h3>{$lang->member_group}</h3>
|
||||
<label loop="$group_list => $key,$val" for="g{$val->group_srl}" class="x_inline"><input type="checkbox" name="groups[]" id="g{$val->group_srl}" value="{$val->group_srl}"/> {$val->title}</label>
|
||||
</div>
|
||||
<div class="x_control-group">
|
||||
<div class="x_control-group _moveTarget" hidden>
|
||||
<h3>{$lang->denied}</h3>
|
||||
<label class="x_inline" for="appoval"><input type="radio" name="denied" id="appoval" value="N" /> {$lang->approval}</label>
|
||||
<label class="x_inline" for="deny"><input type="radio" name="denied" id="deny" value="Y" /> {$lang->denied}</label>
|
||||
</div>
|
||||
<div class="x_control-group _moveTarget" hidden>
|
||||
<h3>{$lang->about_send_message}</h3>
|
||||
<textarea rows="5" cols="42" id="message" style="width:98%" name="message" title="{$lang->about_send_message}"></textarea>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<ruleset version="1.5.0">
|
||||
<customrules>
|
||||
<rule name="number_with_plus_minus" type="regex" test="/^(\+|-)?[1-9][0-9]*$/" />
|
||||
<rule name="number_with_plus_minus" type="regex" test="/^(\+|-)?[0-9][0-9]*$/" />
|
||||
</customrules>
|
||||
<fields>
|
||||
<field name="member_srl" required="true" rule="number" />
|
||||
|
|
|
|||
|
|
@ -664,16 +664,20 @@ function doShowWidgetSizeSetup(px, py, obj) {
|
|||
|
||||
jQuery.each(opts, function(key, val){
|
||||
var el = form[0].elements[key];
|
||||
if (el)
|
||||
{
|
||||
el.value = val;
|
||||
if(el.className.match(/\bcolor-indicator\b/))
|
||||
{
|
||||
el.style.background = el.value = '#'+el.value;
|
||||
var $el = jQuery(el);
|
||||
if(el) {
|
||||
$el.val(val);
|
||||
|
||||
if($el.hasClass('color-indicator')) {
|
||||
if(val != 'transparent') {
|
||||
val = val.toUpperCase();
|
||||
$el.css('background', '#' + val);
|
||||
$el.val('#' + val);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (el.tagName.toLowerCase() == "select")
|
||||
{
|
||||
|
||||
if(el.tagName.toLowerCase() == "select") {
|
||||
if(el.selectedIndex == -1) {
|
||||
el.selectedIndex = 0;
|
||||
}
|
||||
|
|
|
|||
2
modules/widget/tpl/js/widget.min.js
vendored
2
modules/widget/tpl/js/widget.min.js
vendored
File diff suppressed because one or more lines are too long
|
|
@ -62,7 +62,7 @@
|
|||
<option value="solid">{$lang->cmd_widget_border_solid}</option>
|
||||
<option value="dotted">{$lang->cmd_widget_border_dotted}</option>
|
||||
</select>
|
||||
<input type="text" name="border_top_color" value="" class="color_input color-indicator" maxlength="6"/>
|
||||
<input type="text" name="border_top_color" value="" class="color_input color-indicator" maxlength="7"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
|
|
@ -72,7 +72,7 @@
|
|||
<option value="solid">{$lang->cmd_widget_border_solid}</option>
|
||||
<option value="dotted">{$lang->cmd_widget_border_dotted}</option>
|
||||
</select>
|
||||
<input type="text" name="border_left_color" value="" class="color_input color-indicator" maxlength="6"/>
|
||||
<input type="text" name="border_left_color" value="" class="color_input color-indicator" maxlength="7"/>
|
||||
</td>
|
||||
<td style="text-align:right">
|
||||
<input type="number" name="border_right_thick" value="" class="small_input" /> px
|
||||
|
|
@ -80,7 +80,7 @@
|
|||
<option value="solid">{$lang->cmd_widget_border_solid}</option>
|
||||
<option value="dotted">{$lang->cmd_widget_border_dotted}</option>
|
||||
</select>
|
||||
<input type="text" name="border_right_color" value="" class="color_input color-indicator" maxlength="6"/>
|
||||
<input type="text" name="border_right_color" value="" class="color_input color-indicator" maxlength="7"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
|
|
@ -90,7 +90,7 @@
|
|||
<option value="solid">{$lang->cmd_widget_border_solid}</option>
|
||||
<option value="dotted">{$lang->cmd_widget_border_dotted}</option>
|
||||
</select>
|
||||
<input type="text" name="border_bottom_color" value="" class="color_input color-indicator" maxlength="6"/>
|
||||
<input type="text" name="border_bottom_color" value="" class="color_input color-indicator" maxlength="7"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
|
|
@ -126,7 +126,7 @@
|
|||
<style scoped>
|
||||
.wgs{margin:0;width:700px}
|
||||
.wgs select{margin:0;width:auto}
|
||||
.wgs input{margin:0!important;width:50px}
|
||||
.wgs input{margin:0!important;width:60px}
|
||||
</style>
|
||||
</section>
|
||||
<!--%load_js_plugin("ui.colorpicker")-->
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue