Commit 86908ee2 authored by winddramon's avatar winddramon

insite message system v0.2

修正了一些恶性BUG。jscrollpane插件没法正常运行(应该是和别的一些js插件冲突了)干脆删了,也就是滚动条难看点罢了
parent 548320ca
......@@ -563,7 +563,7 @@ background-image: url("../../img/footer_line.gif");
.clearfix {display: inline-table;} /* Hides from IE-mac \*/ * html .clearfix {height: 1%;} .clearfix {display: block;} /* End hide from IE-mac */
input.cmdbutton{
width:80px;height:25px;margin:2;
min-width:80px;height:25px;margin:2;
}
.auto-style1 {
......
img/blank.png

107 Bytes

......@@ -35,11 +35,11 @@ if($urcmd){
$resultinfo = '第'.$startno.'条-第'.$endno.'条记录';
}
}
if($urcmd == 'ban' || $urcmd == 'unban' || $urcmd == 'del') {
if($urcmd == 'ban' || $urcmd == 'unban' || $urcmd == 'del' || $urcmd == 'sendmessage') {
$operlist = $gfaillist = $ffaillist = array();
for($i=0;$i<$showlimit;$i++){
if(isset(${'user_'.$i})) {
if(isset($urdata[$i]) && $urdata[$i]['uid'] == ${'user_'.$i} && $urdata[$i]['groupid'] < $mygroup){
if(isset($urdata[$i]) && $urdata[$i]['uid'] == ${'user_'.$i} && ($urdata[$i]['groupid'] < $mygroup || $urcmd == 'sendmessage')){
$operlist[${'user_'.$i}] = $urdata[$i]['username'];
if($urcmd == 'ban'){
$urdata[$i]['groupid'] = 0;
......@@ -58,7 +58,9 @@ if($urcmd == 'ban' || $urcmd == 'unban' || $urcmd == 'del') {
}
if($operlist || $gfaillist || $ffaillist){
$cmd_info = '';
if($urcmd == 'ban'){
if($urcmd == 'sendmessage'){
$operword = '发送邮件给';
}elseif($urcmd == 'ban'){
$operword = '封停';
$qryword = "UPDATE {$gtablepre}users SET groupid='0' ";
}elseif($urcmd == 'unban'){
......@@ -69,10 +71,21 @@ if($urcmd == 'ban' || $urcmd == 'unban' || $urcmd == 'del') {
$qryword = "DELETE FROM {$gtablepre}users ";
}
if($operlist){
$qrywhere = '('.implode(',',array_keys($operlist)).')';
$opernames = implode(',',($operlist));
$db->query("$qryword WHERE uid IN $qrywhere");
$cmd_info .= " 帐户 $opernames$operword 。<br>";
if($urcmd == 'sendmessage'){
include_once './include/messages.func.php';
foreach($operlist as $receiver){
message_create($receiver, $stitle, $scontent, $senclosure, $from='sys');
}
$opernames = implode(',',($operlist));
$cmd_info .= " 给帐户 $opernames 发送了邮件 。<br>";
adminlog($urcmd.'ur',$opernames,json_encode($stitle,$scontent,$senclosure));
}else{
$qrywhere = '('.implode(',',array_keys($operlist)).')';
$opernames = implode(',',($operlist));
$db->query("$qryword WHERE uid IN $qrywhere");
$cmd_info .= " 帐户 $opernames$operword 。<br>";
}
}
if($gfaillist){
$gfailnames = implode(',',($gfaillist));
......
......@@ -209,9 +209,8 @@ if(CURSCRIPT !== 'chat')
}
//除拉取聊天以外的访问都判定一下是否有新的站内信。
$new_messages = 0;
include_once GAME_ROOT.'./include/messages.func.php';
is_there_new_messages();
$new_messages = message_check_new($cuser);
fclose($plock);
}
......
/*
* CSS Styles that are needed by jScrollPane for it to operate correctly.
*
* Include this stylesheet in your site or copy and paste the styles below into your stylesheet - jScrollPane
* may not operate correctly without them.
*/
.jspContainer
{
overflow: hidden;
position: relative;
}
.jspPane
{
position: absolute;
}
.jspVerticalBar
{
position: absolute;
top: 0;
right: 0;
width: 9px;
height: 100%;
background: red;
}
.jspHorizontalBar
{
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 16px;
background: red;
}
.jspCap
{
display: none;
}
.jspHorizontalBar .jspCap
{
float: left;
}
.jspTrack
{
background: #dde;
position: relative;
}
.jspDrag
{
background: #bbd;
position: relative;
top: 0;
left: 0;
cursor: pointer;
}
.jspHorizontalBar .jspTrack,
.jspHorizontalBar .jspDrag
{
float: left;
height: 100%;
}
.jspArrow
{
background: #50506d;
text-indent: -20000px;
display: block;
cursor: pointer;
padding: 0;
margin: 0;
}
.jspArrow.jspDisabled
{
cursor: default;
background: #80808d;
}
.jspVerticalBar .jspArrow
{
height: 16px;
}
.jspHorizontalBar .jspArrow
{
width: 16px;
float: left;
height: 100%;
}
.jspVerticalBar .jspArrow:focus
{
outline: none;
}
.jspCorner
{
background: #eeeef4;
float: left;
height: 100%;
}
/* Yuk! CSS Hack for IE6 3 pixel bug :( */
* html .jspCorner
{
margin: 0 -3px 0 0;
}
\ No newline at end of file
This diff is collapsed.
.jspHorizontalBar,
.jspVerticalBar,
.jspTrack
{
background: url('ScrollBarBackground.png') repeat-y;
filter:alpha(opacity=60);
opacity:0.6;
}
.jspDrag
{
background: #bbd;
-moz-border-radius: 10px;
-webkit-border-radius: 10px;
border-radius: 10px;
}
.jspTrack .jspActive,
.jspTrack .jspHover,
.jspDrag:hover
{
background: #8B8B9F;
}
.jspArrow
{
/*
background: url(../image/ui-icons_222222_256x240.png) no-repeat;
*/
-moz-border-radius: 10px;
-webkit-border-radius: 10px;
border-radius: 10px;
}
.jspVerticalBar>.jspActive,
.jspArrow:hover
{
/*
background-image: url('../image/ui-icons_cd0a0a_256x240.png');
*/
}
.jspVerticalBar>.jspDisabled,
.jspVerticalBar>.jspDisabled:hover,
.jspHorizontalBar>.jspDisabled,
.jspHorizontalBar>.jspDisabled:hover
{
background-color: transparent;
/*
background-image: url('../image/ui-icons_888888_256x240.png');
*/
}
.jspVerticalBar .jspArrow
{
height: 15px;
}
.jspHorizontalBar .jspArrow
{
width: 15px;
}
.jspArrowUp
{
background-position: 0 0;
}
.jspArrowDown
{
background-position: -64px 0 !important;
}
.jspArrowLeft
{
background-position: -96px 0 !important;
}
.jspArrowRight
{
background-position: -32px 0 !important;
}
\ No newline at end of file
/*!
* jQuery Mousewheel 3.1.12
*
* Copyright 2014 jQuery Foundation and other contributors
* Released under the MIT license.
* http://jquery.org/license
*/
(function (factory) {
if ( typeof define === 'function' && define.amd ) {
// AMD. Register as an anonymous module.
define(['jquery'], factory);
} else if (typeof exports === 'object') {
// Node/CommonJS style for Browserify
module.exports = factory;
} else {
// Browser globals
factory(jQuery);
}
}(function (jQuery) {
var toFix = ['wheel', 'mousewheel', 'DOMMouseScroll', 'MozMousePixelScroll'],
toBind = ( 'onwheel' in document || document.documentMode >= 9 ) ?
['wheel'] : ['mousewheel', 'DomMouseScroll', 'MozMousePixelScroll'],
slice = Array.prototype.slice,
nullLowestDeltaTimeout, lowestDelta;
if ( jQuery.event.fixHooks ) {
for ( var i = toFix.length; i; ) {
jQuery.event.fixHooks[ toFix[--i] ] = jQuery.event.mouseHooks;
}
}
var special = jQuery.event.special.mousewheel = {
version: '3.1.12',
setup: function() {
if ( this.addEventListener ) {
for ( var i = toBind.length; i; ) {
this.addEventListener( toBind[--i], handler, false );
}
} else {
this.onmousewheel = handler;
}
// Store the line height and page height for this particular element
jQuery.data(this, 'mousewheel-line-height', special.getLineHeight(this));
jQuery.data(this, 'mousewheel-page-height', special.getPageHeight(this));
},
teardown: function() {
if ( this.removeEventListener ) {
for ( var i = toBind.length; i; ) {
this.removeEventListener( toBind[--i], handler, false );
}
} else {
this.onmousewheel = null;
}
// Clean up the data we added to the element
jQuery.removeData(this, 'mousewheel-line-height');
jQuery.removeData(this, 'mousewheel-page-height');
},
getLineHeight: function(elem) {
var jQueryelem = jQuery(elem),
jQueryparent = jQueryelem['offsetParent' in jQuery.fn ? 'offsetParent' : 'parent']();
if (!jQueryparent.length) {
jQueryparent = jQuery('body');
}
return parseInt(jQueryparent.css('fontSize'), 10) || parseInt(jQueryelem.css('fontSize'), 10) || 16;
},
getPageHeight: function(elem) {
return jQuery(elem).height();
},
settings: {
adjustOldDeltas: true, // see shouldAdjustOldDeltas() below
normalizeOffset: true // calls getBoundingClientRect for each event
}
};
jQuery.fn.extend({
mousewheel: function(fn) {
return fn ? this.bind('mousewheel', fn) : this.trigger('mousewheel');
},
unmousewheel: function(fn) {
return this.unbind('mousewheel', fn);
}
});
function handler(event) {
var orgEvent = event || window.event,
args = slice.call(arguments, 1),
delta = 0,
deltaX = 0,
deltaY = 0,
absDelta = 0,
offsetX = 0,
offsetY = 0;
event = jQuery.event.fix(orgEvent);
event.type = 'mousewheel';
// Old school scrollwheel delta
if ( 'detail' in orgEvent ) { deltaY = orgEvent.detail * -1; }
if ( 'wheelDelta' in orgEvent ) { deltaY = orgEvent.wheelDelta; }
if ( 'wheelDeltaY' in orgEvent ) { deltaY = orgEvent.wheelDeltaY; }
if ( 'wheelDeltaX' in orgEvent ) { deltaX = orgEvent.wheelDeltaX * -1; }
// Firefox < 17 horizontal scrolling related to DOMMouseScroll event
if ( 'axis' in orgEvent && orgEvent.axis === orgEvent.HORIZONTAL_AXIS ) {
deltaX = deltaY * -1;
deltaY = 0;
}
// Set delta to be deltaY or deltaX if deltaY is 0 for backwards compatabilitiy
delta = deltaY === 0 ? deltaX : deltaY;
// New school wheel delta (wheel event)
if ( 'deltaY' in orgEvent ) {
deltaY = orgEvent.deltaY * -1;
delta = deltaY;
}
if ( 'deltaX' in orgEvent ) {
deltaX = orgEvent.deltaX;
if ( deltaY === 0 ) { delta = deltaX * -1; }
}
// No change actually happened, no reason to go any further
if ( deltaY === 0 && deltaX === 0 ) { return; }
// Need to convert lines and pages to pixels if we aren't already in pixels
// There are three delta modes:
// * deltaMode 0 is by pixels, nothing to do
// * deltaMode 1 is by lines
// * deltaMode 2 is by pages
if ( orgEvent.deltaMode === 1 ) {
var lineHeight = jQuery.data(this, 'mousewheel-line-height');
delta *= lineHeight;
deltaY *= lineHeight;
deltaX *= lineHeight;
} else if ( orgEvent.deltaMode === 2 ) {
var pageHeight = jQuery.data(this, 'mousewheel-page-height');
delta *= pageHeight;
deltaY *= pageHeight;
deltaX *= pageHeight;
}
// Store lowest absolute delta to normalize the delta values
absDelta = Math.max( Math.abs(deltaY), Math.abs(deltaX) );
if ( !lowestDelta || absDelta < lowestDelta ) {
lowestDelta = absDelta;
// Adjust older deltas if necessary
if ( shouldAdjustOldDeltas(orgEvent, absDelta) ) {
lowestDelta /= 40;
}
}
// Adjust older deltas if necessary
if ( shouldAdjustOldDeltas(orgEvent, absDelta) ) {
// Divide all the things by 40!
delta /= 40;
deltaX /= 40;
deltaY /= 40;
}
// Get a whole, normalized value for the deltas
delta = Math[ delta >= 1 ? 'floor' : 'ceil' ](delta / lowestDelta);
deltaX = Math[ deltaX >= 1 ? 'floor' : 'ceil' ](deltaX / lowestDelta);
deltaY = Math[ deltaY >= 1 ? 'floor' : 'ceil' ](deltaY / lowestDelta);
// Normalise offsetX and offsetY properties
if ( special.settings.normalizeOffset && this.getBoundingClientRect ) {
var boundingRect = this.getBoundingClientRect();
offsetX = event.clientX - boundingRect.left;
offsetY = event.clientY - boundingRect.top;
}
// Add information to the event object
event.deltaX = deltaX;
event.deltaY = deltaY;
event.deltaFactor = lowestDelta;
event.offsetX = offsetX;
event.offsetY = offsetY;
// Go ahead and set deltaMode to 0 since we converted to pixels
// Although this is a little odd since we overwrite the deltaX/Y
// properties with normalized deltas.
event.deltaMode = 0;
// Add event and delta to the front of the arguments
args.unshift(event, delta, deltaX, deltaY);
// Clearout lowestDelta after sometime to better
// handle multiple device types that give different
// a different lowestDelta
// Ex: trackpad = 3 and mouse wheel = 120
if (nullLowestDeltaTimeout) { clearTimeout(nullLowestDeltaTimeout); }
nullLowestDeltaTimeout = setTimeout(nullLowestDelta, 200);
return (jQuery.event.dispatch || jQuery.event.handle).apply(this, args);
}
function nullLowestDelta() {
lowestDelta = null;
}
function shouldAdjustOldDeltas(orgEvent, absDelta) {
// If this is an older event and the delta is divisable by 120,
// then we are assuming that the browser is treating this as an
// older mouse wheel event and that we should divide the deltas
// by 40 to try and get a more usable deltaFactor.
// Side note, this actually impacts the reported scroll distance
// in older browsers and can cause scrolling to be slower than native.
// Turn this off by setting jQuery.event.special.mousewheel.settings.adjustOldDeltas to false.
return special.settings.adjustOldDeltas && orgEvent.type === 'mousewheel' && absDelta % 120 === 0;
}
}));
/**
* @author trixta
* @version 1.2
*/
(function(jQuery){
var mwheelI = {
pos: [-260, -260]
},
minDif = 3,
doc = document,
root = doc.documentElement,
body = doc.body,
longDelay, shortDelay
;
function unsetPos(){
if(this === mwheelI.elem){
mwheelI.pos = [-260, -260];
mwheelI.elem = false;
minDif = 3;
}
}
jQuery.event.special.mwheelIntent = {
setup: function(){
var jElm = jQuery(this).bind('mousewheel', jQuery.event.special.mwheelIntent.handler);
if( this !== doc && this !== root && this !== body ){
jElm.bind('mouseleave', unsetPos);
}
jElm = null;
return true;
},
teardown: function(){
jQuery(this)
.unbind('mousewheel', jQuery.event.special.mwheelIntent.handler)
.unbind('mouseleave', unsetPos)
;
return true;
},
handler: function(e, d){
var pos = [e.clientX, e.clientY];
if( this === mwheelI.elem || Math.abs(mwheelI.pos[0] - pos[0]) > minDif || Math.abs(mwheelI.pos[1] - pos[1]) > minDif ){
mwheelI.elem = this;
mwheelI.pos = pos;
minDif = 250;
clearTimeout(shortDelay);
shortDelay = setTimeout(function(){
minDif = 10;
}, 200);
clearTimeout(longDelay);
longDelay = setTimeout(function(){
minDif = 3;
}, 1500);
e = jQuery.extend({}, e, {type: 'mwheelIntent'});
return (jQuery.event.dispatch || jQuery.event.handle).apply(this, arguments);
}
}
};
jQuery.fn.extend({
mwheelIntent: function(fn) {
return fn ? this.bind("mwheelIntent", fn) : this.trigger("mwheelIntent");
},
unmwheelIntent: function(fn) {
return this.unbind("mwheelIntent", fn);
}
});
jQuery(function(){
body = doc.body;
//assume that document is always scrollable, doesn't hurt if not
jQuery(doc).bind('mwheelIntent.mwheelIntentDefault', jQuery.noop);
});
})(jQuery);
......@@ -5,8 +5,10 @@ if(!defined('IN_GAME')) {
}
$title2qiegao = 50;//已有头衔再次获得时转成多少切糕。单独一项配置不想放在其他文件里,干脆就丢这
$messages_autocreatedb = 1;//自动建表功能,一个很丑陋的开关
//判定是邮箱页面还是垃圾箱页面,并拉取对应的站内信数据
function init_messages($mode){
if('showdel' == $mode || 'recover' == $mode) {
return deleted_message_load();
......@@ -15,11 +17,11 @@ function init_messages($mode){
}
}
//判断有没有新站内信,基本上每次载入页面都需要调用
//因为check这个词用在查收站内信上了,不要吐槽这个命名
function is_there_new_messages(){
global $db, $gtablepre, $cuser, $new_messages, $messages_autocreatedb;
$new_messages = 0;
//判断指定用户有没有新站内信,基本上每次载入页面都需要调用
//如果没有新站内信则返回0,否则返回新站内信的数目
function message_check_new($username)
{
global $cuser,$db,$gtablepre;
if($cuser){
//考虑到devtools.php也得先载入common.inc.php,从而如果没有建表就会直接出错,必须在这里就做判断是否存在message表
//而既然做了判断为什么不直接建表呢?
......@@ -31,13 +33,13 @@ function is_there_new_messages(){
create_messages_db();
}
}
$result = $db->query("SELECT mid FROM {$gtablepre}messages WHERE receiver='$cuser' AND rd=0");
$new_messages = $db->num_rows($result);
}
$result = $db->query("SELECT mid FROM {$gtablepre}messages WHERE receiver='$username' AND rd=0");
$num = $db->num_rows($result);
return $num;
}
//很丑陋
//自动建表,很丑陋
function create_messages_db(){
global $db, $gtablepre;
$query =
......@@ -78,6 +80,8 @@ CREATE TABLE bra_del_messages (
$db->queries(str_replace('bra_',$gtablepre,$query));
}
//创建一封新邮件
//$to为接收用户名,$title为标题,$content为内容文字,$enclosure为附件(现支持getqeigao_xxx和gettitle_xxx两种附件),$from为发件人,$t为时间
function message_create($to, $title='', $content='', $enclosure='', $from='sys', $t=0)
{
global $now,$db,$gtablepre;
......@@ -94,15 +98,7 @@ function message_create($to, $title='', $content='', $enclosure='', $from='sys',
$db->array_insert("{$gtablepre}messages", $ins_arr);
}
//虽然直接放到sys模块里了,但是某些地方需要第二次更新的话,还是需要这个
function message_check_new($username)
{
global $db,$gtablepre;
$result = $db->query("SELECT mid FROM {$gtablepre}messages WHERE receiver='$username' AND rd=0");
$num = $db->num_rows($result);
return $num;
}
//载入当前用户有关的全部邮件,如果传入$mid_only则只拉取mid字段(一般是拉取数量用)
function message_load($mid_only=0)
{
global $udata,$db,$gtablepre;
......@@ -116,11 +112,13 @@ function message_load($mid_only=0)
return $messages;
}
function deleted_message_load()
//载入当前用户相关的垃圾箱邮件
function deleted_message_load($mid_only=0)
{
global $udata,$db,$gtablepre;
$username = $udata['username'];
$result = $db->query("SELECT * FROM {$gtablepre}del_messages WHERE receiver='$username' ORDER BY dtimestamp DESC, mid DESC");
if($mid_only) $result = $db->query("SELECT mid FROM {$gtablepre}del_messages WHERE receiver='$username' ORDER BY timestamp DESC, mid DESC");
else $result = $db->query("SELECT * FROM {$gtablepre}del_messages WHERE receiver='$username' ORDER BY dtimestamp DESC, mid DESC");
$d_messages = array();
while($r = $db->fetch_array($result)){
$d_messages[$r['mid']] = $r;
......@@ -163,14 +161,16 @@ function message_disp($messages)
if($gettitle && !empty($titles_list[$gettitle])) {//不存在的头衔不要发
$nicksrev_disp = is_array($udata['nicksrev']) ? $udata['nicksrev'] : json_decode($udata['nicksrev'],true);
$nownew = !in_array($gettitle, $nicksrev_disp['nicks']);
$mv['encl_disp'] .= '<div>头衔:<span class="'.$title_desc[$gettitle]['class'].'">'.$titles_list[$gettitle].($nownew ? ' <span class="L5 b">NEW!</span>' : '').'</span></div>';
$title_class = '';
if(isset($title_desc[$gettitle]['class'])) $title_class=$title_desc[$gettitle]['class'];
$mv['encl_disp'] .= '<div>头衔:<span class="'.$title_class.'">'.$titles_list[$gettitle].($nownew ? ' <span class="L5 b">NEW!</span>' : '').'</span></div>';
}
}
}
return $messages;
}
//查收站内信
//查收站内信,传入的$checklist是包含站内信cid的数组
function message_check($checklist, $messages)
{
global $udata,$db,$gtablepre,$info, $titles_list, $title_desc, $title2qiegao;
......@@ -210,6 +210,7 @@ function message_check($checklist, $messages)
$n = $udata['username'];
$c = $udata['credits2']+$getqiegaosum;
$t = $udata['nicksrev'];
if(is_array($t)) $t = json_encode($t);
$db->array_update("{$gtablepre}users", Array('credits2' => $c, 'nicksrev' => $t), "username='".$n."'");
}
}
......
......@@ -42,11 +42,12 @@ if($mode == 'del' || $mode == 'del2') {//删除
}
if(!empty($reclist)) {
$cost = $message_rec_cost * sizeof($reclist);
if($udata['gold'] < $cost) {
if($udata['credits2'] < $cost) {
$info[] = '切糕不足,无法恢复邮件!';
}else {
\cardbase\get_qiegao(-$cost, $udata);
$udata['credits2'] -= $cost;
$info[] = '支付了'.$cost.'切糕';
$db->array_update("{$gtablepre}users", Array('credits2' => $udata['credits2']), "username='".$udata['username']."'");
$editflag = 1;
}
}
......
......@@ -117,6 +117,18 @@
<input type="submit" name="submit" value="删除选中玩家" onclick="$('urcmd').value='del'">
</td>
</tr>
<tr>
<td colspan=2></td>
<td colspan=12 style="text-align:center;">
标题:
<input type="text" name="stitle" size="6" maxlength="20" value="发放奖励">&nbsp;&nbsp;&nbsp;
正文:
<input type="text" name="scontent" size="20" maxlength="30" value="您获得了奖励,请查收!">&nbsp;&nbsp;&nbsp;
附件:
<input type="text" name="senclosure" size="20" maxlength="30" value="getqiegao_0;gettitle_0">&nbsp;&nbsp;&nbsp;
<input type="submit" name="submit" value="发送站内邮件" onclick="$('urcmd').value='sendmessage'">
</td>
</tr>
<!--{/if}-->
</table>
......
......@@ -14,17 +14,10 @@
<!--{/if}-->
<!-- 为了在移植时偷懒,我直接对jQuery进行一个入的引 -->
<!-- jScrollPanel Utility Start -->
<link type="text/css" href="include/javascript/jScrollPane/jquery.jscrollpane.css" rel="stylesheet" media="all" />
<link type="text/css" href="include/javascript/jScrollPane/jquery.jscrollpane.lozenge.css" rel="stylesheet" media="all" />
<script type="text/javascript" src="include/javascript/jScrollPane/jquery.min.js"></script>
<script type="text/javascript" src="include/javascript/jScrollPane/jquery.mousewheel.js"></script>
<script type="text/javascript" src="include/javascript/jScrollPane/mwheelIntent.js"></script>
<script type="text/javascript" src="include/javascript/jScrollPane/jquery.jscrollpane.js"></script>
<script type="text/javascript" src="include/javascript/jquery.min.js"></script>
<script type="text/javascript" id="sourcecode">
jQuery.noConflict();
</script>
<!-- jScrollPanel Utility End -->
<script type="text/javascript" src="include/common.js"></script>
<script type="text/javascript" src="include/game20130526.js"></script>
......
......@@ -67,7 +67,7 @@
<div class="message_box" onclick="$('message_sl$mi').click();if($('message_sl$mi').checked) {$('sign$mi').style.display='block';} else {$('sign$mi').style.display='none';}">
<div class="message_title_bar">
<img id="sign$mi" class="message_sign" src="img/message_sl_sign.png">
<input type="checkbox" name="sl$mi" id="message_sl$mi" style="display:none" class="message_sl" value="1" />
<input type="checkbox" name="sl$mi" id="message_sl$mi" style="display:none" class="message_sl" value="0" onclick="this.value=this.checked?1:0;"/>
<span class="message_title">$mv['title']</span> <div class="message_hint">$mv['hint']</div>
</div>
<div class="message_cont"><span>$mv['content']</span></div>
......@@ -93,5 +93,5 @@
<!--{/loop}-->
<!--{/if}-->
</div>
<img type="hidden" style="display:none" src="img/blank.png" onload="jQuery(function() { jQuery('.scroll-pane').jScrollPane(); });">
<!--<img type="hidden" style="display:none" src="img/blank.png" onload="jQuery(function() { jQuery('.scroll-pane').jScrollPane(); });">-->
</div>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment