Merge pull request #1000 from kijin/pr/more-points

더 다양한 상황에서 포인트를 주고받을 수 있도록 개선
This commit is contained in:
Kijin Sung 2018-02-02 17:41:25 +09:00 committed by GitHub
commit 431ed92454
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
9 changed files with 263 additions and 130 deletions

View file

@ -27,8 +27,8 @@ $lang->cmd_replace = 'Replace';
$lang->cmd_confirm = 'Confirm';
$lang->cmd_cancel = 'Cancel';
$lang->cmd_back = 'Go Back';
$lang->cmd_vote = 'Recommend';
$lang->cmd_vote_down = 'Not recommend';
$lang->cmd_vote = 'Upvote';
$lang->cmd_vote_down = 'Downvote';
$lang->cmd_declare = 'Report';
$lang->cmd_cancel_declare = 'Cancel Report';
$lang->cmd_declared_list = 'Reported List';
@ -265,13 +265,13 @@ $lang->fail_to_registed = 'Failed to register.';
$lang->fail_to_update = 'Fail to update.';
$lang->fail_to_delete = 'Failed to delete.';
$lang->fail_to_move = 'Failed to move.';
$lang->failed_voted = 'No permission to Recommend.';
$lang->failed_blamed = 'No permission to Not Recommend.';
$lang->failed_voted = 'No permission to upvote.';
$lang->failed_blamed = 'No permission to downvote.';
$lang->failed_declared = 'No permission to Report.';
$lang->fail_to_delete_have_children = 'Cannot delete the article with comments.';
$lang->confirm_submit = 'Are you sure you want to submit?';
$lang->confirm_logout = 'Are you sure you want to sign out?';
$lang->confirm_vote = 'Are you sure you want to recommend?';
$lang->confirm_vote = 'Are you sure you want to upvote?';
$lang->confirm_delete = 'Are you sure you want to delete?';
$lang->confirm_restore = 'Are you sure you want to restore?';
$lang->confirm_move = 'Are you sure you want to move?';

View file

@ -1179,10 +1179,6 @@ class documentController extends document
// Option 'some': only count once per session.
if ($config->view_count_option != 'all' && $_SESSION['readed_document'][$document_srl])
{
if (Context::getSessionStatus())
{
$_SESSION['readed_document'][$document_srl] = true;
}
return false;
}

View file

@ -17,6 +17,7 @@ $lang->disable_download = 'Prohibit Downloads';
$lang->about_disable_download = 'This will prohibit downloads when there are not enough points. (Exclude image files)';
$lang->disable_read_document = 'Prohibit Readings';
$lang->about_disable_read_document = 'Users will be unable to read articles when they do not have enough points';
$lang->disable_read_document_except_robots = 'Except search robots';
$lang->level_point_calc = 'Point Calculation per Point';
$lang->expression = 'Please input Javascript formula by using level variable <b>i</b>. ex) Math.pow(i, 2) * 90';
$lang->cmd_exp_calc = 'Calculate';
@ -33,17 +34,23 @@ $lang->point_group_ratchet_yes = 'Maintain current group if point is reduced';
$lang->point_group_ratchet_no = 'Move to lower group if point is reduced';
$lang->about_point_link_group = 'If you specify level for a specific group, users are assigned into the group when they advance to the level by getting points.';
$lang->about_module_point = 'You can set point for each module, and modules which don\'t have any value will use the default point. All points will be restored on acting reverse.';
$lang->point_signup = 'Sign up';
$lang->point_insert_document = 'On Writing';
$lang->point_delete_document = 'On Deleting';
$lang->point_insert_comment = 'On Adding Comments';
$lang->point_delete_comment = 'On Deleting Comments';
$lang->point_upload_file = 'On Uploading';
$lang->point_delete_file = 'On Deleting Files';
$lang->point_download_file = 'On Downloading Files(Exclude images)';
$lang->point_read_document = 'On Reading';
$lang->point_voted = 'On Recommended';
$lang->point_blamed = 'On Not Recommended';
$lang->point_signup = 'Sign Up';
$lang->point_insert_document = 'Writing a document';
$lang->point_delete_document = 'Deleting a document';
$lang->point_insert_comment = 'Writing a comment';
$lang->point_delete_comment = 'Deleting a comment';
$lang->point_upload_file = 'Uploading a file';
$lang->point_delete_file = 'Deleting a file';
$lang->point_download_file = 'Downloading a file (excluding images)';
$lang->point_read_document = 'Reading another person\'s post';
$lang->point_voter = 'Upvoting another person\'s document';
$lang->point_blamer = 'Downvoting another person\'s document';
$lang->point_voter_comment = 'Upvoting another person\'s comment';
$lang->point_blamer_comment = 'Downvoting another person\'s comment';
$lang->point_voted = 'One\'s document is upvoted';
$lang->point_blamed = 'One\'s document is downvoted';
$lang->point_voted_comment = 'One\'s comment is upvoted';
$lang->point_blamed_comment = 'One\'s comment is downvoted';
$lang->cmd_point_config = 'Default Setting';
$lang->cmd_point_module_config = 'Module Setting';
$lang->cmd_point_act_config = 'Act Setting';

View file

@ -14,9 +14,10 @@ $lang->about_point_name = '포인트 이름이나 단위를 정할 수 있습니
$lang->level_point = '레벨 포인트';
$lang->about_level_point = '각 회원의 포인트가 아래 레벨별 포인트에 도달하거나 미달하게 되면 해당 회원의 레벨이 조절됩니다.';
$lang->disable_download = '다운로드 금지';
$lang->about_disable_download = '포인트가 부족할 경우 다운로드를 금지 합니다. (이미지 파일, 동영상 파일등 직접 링크가 가능한 파일들은 예외입니다.)';
$lang->about_disable_download = '포인트가 부족할 경우 다운로드를 금지합니다. (이미지 파일, 동영상 파일등 직접 링크가 가능한 파일들은 예외입니다.)';
$lang->disable_read_document = '글 열람 금지';
$lang->about_disable_read_document = '포인트가 부족할 경우 글 열람을 금지 합니다';
$lang->about_disable_read_document = '포인트가 부족할 경우 글 열람을 금지합니다.';
$lang->disable_read_document_except_robots = '검색엔진은 열람 허용';
$lang->level_point_calc = '레벨별 포인트 계산';
$lang->expression = '레벨 변수 <b>i</b>를 사용하여 자바스크립트 수식을 입력하세요. 예: Math.pow(i, 2) * 90';
$lang->cmd_exp_calc = '계산';
@ -40,16 +41,24 @@ $lang->point_insert_comment = '댓글 작성';
$lang->point_delete_comment = '댓글 삭제';
$lang->point_upload_file = '파일 업로드';
$lang->point_delete_file = '파일 삭제';
$lang->point_download_file = '파일 다운로드(이미지 제외)';
$lang->point_read_document = '게시글 조회';
$lang->point_voted = '추천 받음';
$lang->point_blamed = '비추천 받음';
$lang->point_download_file = '파일 다운로드 (이미지 제외)';
$lang->point_read_document = '다른 사람의 글을 읽음';
$lang->point_voter = '다른 사람의 글을 추천함';
$lang->point_blamer = '다른 사람의 글을 비추천함';
$lang->point_voter_comment = '다른 사람의 댓글을 추천함';
$lang->point_blamer_comment = '다른 사람의 댓글을 비추천함';
$lang->point_download_file_author = '내 파일이 다운로드됨 (이미지 제외)';
$lang->point_read_document_author = '내 글이 읽힘';
$lang->point_voted = '내 글이 추천받음';
$lang->point_blamed = '내 글이 비추천받음';
$lang->point_voted_comment = '내 댓글이 추천받음';
$lang->point_blamed_comment = '내 댓글이 비추천받음';
$lang->cmd_point_config = '기본 설정';
$lang->cmd_point_module_config = '모듈별 설정';
$lang->cmd_point_act_config = '기능별 act 설정';
$lang->cmd_point_member_list = '회원 포인트 목록';
$lang->msg_cannot_download = '포인트가 부족하여 다운로드할 수 없습니다.';
$lang->msg_disallow_by_point = '포인트가 부족하여 글을 읽을 수 없습니다. (필요한 포인트 : %d, 현재 포인트 : %d)';
$lang->msg_cannot_download = '로그인하지 않았거나 포인트가 부족하여 다운로드할 수 없습니다.';
$lang->msg_disallow_by_point = '로그인하지 않았거나 포인트가 부족하여 글을 읽을 수 없습니다.<br>(필요한 포인트 : %d, 현재 포인트 : %d)';
$lang->point_recal_message = '포인트 적용 중입니다. (%d / %d)';
$lang->point_recal_finished = '포인트 재계산이 완료되었습니다.';
$lang->point_update_desc = '포인트를 증가시키려면 +를 감소시키려면 -를 숫자앞에 표기한 후 업데이트해 주세요. + 또는 - 표시가 없으면 입력한 값으로 설정됩니다.';

View file

@ -45,12 +45,18 @@ class pointAdminController extends point
$config->signup_point = (int)$args->signup_point;
$config->login_point = (int)$args->login_point;
$config->insert_document = (int)$args->insert_document;
$config->read_document = (int)$args->read_document;
$config->insert_comment = (int)$args->insert_comment;
$config->upload_file = (int)$args->upload_file;
$config->download_file = (int)$args->download_file;
$config->read_document = (int)$args->read_document;
$config->voter = (int)$args->voter;
$config->blamer = (int)$args->blamer;
$config->voted = (int)$args->voted;
$config->blamed = (int)$args->blamed;
$config->download_file_author = (int)$args->download_file_author;
$config->read_document_author = (int)$args->read_document_author;
$config->voter_comment = (int)$args->voter_comment;
$config->blamer_comment = (int)$args->blamer_comment;
$config->voted_comment = (int)$args->voted_comment;
$config->blamed_comment = (int)$args->blamed_comment;
// The highest level
@ -60,11 +66,10 @@ class pointAdminController extends point
// Set the level icon
$config->level_icon = $args->level_icon;
// Check if downloads are not allowed
if($args->disable_download == 'Y') $config->disable_download = 'Y';
else $config->disable_download = 'N';
$config->disable_download = ($args->disable_download === 'Y') ? 'Y' : 'N';
// Check if reading a document is not allowed
if($args->disable_read_document == 'Y') $config->disable_read_document = 'Y';
else $config->disable_read_document = 'N';
$config->disable_read_document = ($args->disable_read_document === 'Y') ? 'Y' : 'N';
$config->disable_read_document_except_robots = ($args->disable_read_document_except_robots === 'Y') ? 'Y' : 'N';
//check is reading a document is not regdate setting
$config->no_point_date = (int)$args->no_point_date;
@ -134,7 +139,12 @@ class pointAdminController extends point
{
$args = Context::getRequestVars();
$configTypeList = array('insert_document', 'insert_comment', 'upload_file', 'download_file', 'read_document', 'voted', 'blamed', 'voted_comment', 'blamed_comment');
$configTypeList = array(
'insert_document', 'insert_comment', 'upload_file', 'download_file', 'read_document',
'voter', 'blamer', 'voter_comment', 'blamer_comment',
'download_file_author', 'read_document_author', 'voted', 'blamed', 'voted_comment', 'blamed_comment',
);
foreach($configTypeList AS $config)
{
if(is_array($args->{$config}))
@ -186,6 +196,12 @@ class pointAdminController extends point
$config['upload_file'] = (int)Context::get('upload_file');
$config['download_file'] = (int)Context::get('download_file');
$config['read_document'] = (int)Context::get('read_document');
$config['voter'] = (int)Context::get('voter');
$config['blamer'] = (int)Context::get('blamer');
$config['voter_comment'] = (int)Context::get('voter_comment');
$config['blamer_comment'] = (int)Context::get('blamer_comment');
$config['download_file_author'] = (int)Context::get('download_file_author');
$config['read_document_author'] = (int)Context::get('read_document_author');
$config['voted'] = (int)Context::get('voted');
$config['blamed'] = (int)Context::get('blamed');
$config['voted_comment'] = (int)Context::get('voted_comment');

View file

@ -32,7 +32,7 @@ class pointController extends point
return;
}
$cur_point = getModel('point')->getPoint($member_srl, true);
$cur_point = getModel('point')->getPoint($member_srl);
$this->setPoint($member_srl, $cur_point + $point, 'signup');
}
@ -60,7 +60,7 @@ class pointController extends point
return;
}
$cur_point = getModel('point')->getPoint($member_srl, true);
$cur_point = getModel('point')->getPoint($member_srl);
$this->setPoint($member_srl, $cur_point + $point);
}
@ -103,7 +103,7 @@ class pointController extends point
}
// Get the points of the member
$cur_point = getModel('point')->getPoint($member_srl, true);
$cur_point = getModel('point')->getPoint($member_srl);
// Add points for the document.
$document_point = $this->_getModulePointConfig($module_srl, 'insert_document');
@ -141,7 +141,7 @@ class pointController extends point
{
if ($obj->uploaded_count > $oDocument->get('uploaded_count'))
{
$cur_point = getModel('point')->getPoint($member_srl, true);
$cur_point = getModel('point')->getPoint($member_srl);
$attached_files_point = $this->_getModulePointConfig($module_srl, 'upload_file');
$cur_point += $attached_files_point * ($obj->uploaded_count - $oDocument->get('uploaded_count'));
$this->setPoint($member_srl, $cur_point);
@ -150,7 +150,7 @@ class pointController extends point
}
// Get the points of the member
$cur_point = getModel('point')->getPoint($member_srl, true);
$cur_point = getModel('point')->getPoint($member_srl);
// Add points for the document.
$document_point = $this->_getModulePointConfig($module_srl, 'insert_document');
@ -198,7 +198,7 @@ class pointController extends point
}
// Get the points of the member
$cur_point = getModel('point')->getPoint($member_srl, true);
$cur_point = getModel('point')->getPoint($member_srl);
// Subtract points for the document.
$document_point = $this->_getModulePointConfig($module_srl, 'insert_document');
@ -238,7 +238,7 @@ class pointController extends point
}
// Get the points of the member
$cur_point = getModel('point')->getPoint($member_srl, true);
$cur_point = getModel('point')->getPoint($member_srl);
// Add points for the comment.
$comment_point = $this->_getModulePointConfig($module_srl, 'insert_comment');
@ -290,7 +290,7 @@ class pointController extends point
}
// Get the points of the member
$cur_point = getModel('point')->getPoint($member_srl, true);
$cur_point = getModel('point')->getPoint($member_srl);
// Add points for the comment.
$comment_point = $this->_getModulePointConfig($module_srl, 'insert_comment');
@ -323,7 +323,7 @@ class pointController extends point
}
// Get the points of the member
$cur_point = getModel('point')->getPoint($member_srl, true);
$cur_point = getModel('point')->getPoint($member_srl);
// Subtract points for the file.
$file_point = $this->_getModulePointConfig($module_srl, 'upload_file');
@ -339,10 +339,10 @@ class pointController extends point
public function triggerBeforeDownloadFile($obj)
{
$logged_info = Context::get('logged_info');
$member_srl = $logged_info->member_srl;
$logged_member_srl = $logged_info->member_srl;
$author_member_srl = abs($obj->member_srl);
$module_srl = $obj->module_srl;
if ($member_srl && abs($obj->member_srl) == $member_srl)
if ($logged_member_srl && $logged_member_srl == $author_member_srl)
{
return;
}
@ -354,7 +354,7 @@ class pointController extends point
}
// Get current points.
$cur_point = $member_srl ? getModel('point')->getPoint($member_srl, true) : 0;
$cur_point = $logged_member_srl ? getModel('point')->getPoint($logged_member_srl) : 0;
// If the user (member or guest) does not have enough points, deny access.
$config = $this->getConfig();
@ -372,22 +372,35 @@ class pointController extends point
public function triggerDownloadFile($obj)
{
$logged_info = Context::get('logged_info');
$member_srl = $logged_info->member_srl;
$logged_member_srl = $logged_info->member_srl;
$author_member_srl = abs($obj->member_srl);
$module_srl = $obj->module_srl;
if (!$member_srl || abs($obj->member_srl) == $member_srl)
if ($logged_member_srl && $logged_member_srl == $author_member_srl)
{
return;
}
$point = $this->_getModulePointConfig($module_srl, 'download_file');
if (!$point)
// Adjust points of the downloader.
if ($logged_member_srl)
{
return;
$point = $this->_getModulePointConfig($module_srl, 'download_file');
if ($point)
{
$cur_point = getModel('point')->getPoint($logged_member_srl);
$this->setPoint($logged_member_srl, $cur_point + $point);
}
}
$cur_point = getModel('point')->getPoint($member_srl, true);
$this->setPoint($member_srl, $cur_point + $point);
// Adjust points of the uploader.
if ($author_member_srl)
{
$point = $this->_getModulePointConfig($module_srl, 'download_file_author');
if ($point)
{
$cur_point = getModel('point')->getPoint($author_member_srl);
$this->setPoint($author_member_srl, $cur_point + $point);
}
}
}
/**
@ -397,25 +410,27 @@ class pointController extends point
public function triggerUpdateReadedCount($obj)
{
$logged_info = Context::get('logged_info');
$member_srl = $logged_info->member_srl;
$logged_member_srl = $logged_info->member_srl;
$author_member_srl = abs($obj->get('member_srl'));
$module_srl = $obj->get('module_srl');
$target_member_srl = abs($obj->get('member_srl'));
if ($member_srl && $target_member_srl == $member_srl)
if ($logged_member_srl && $logged_member_srl == $author_member_srl)
{
return;
}
$point = $this->_getModulePointConfig($module_srl, 'read_document');
if (!$point)
// Load configuration for reader and author points.
$reader_point = $this->_getModulePointConfig($module_srl, 'read_document');
$author_point = $this->_getModulePointConfig($module_srl, 'read_document_author');
if (!$reader_point && !$author_point)
{
return;
}
// If the current member has already read this document, do not adjust points again.
if ($member_srl)
// If the reader has already read this document, do not adjust points again.
if ($logged_member_srl)
{
$args = new stdClass();
$args->member_srl = $member_srl;
$args = new stdClass;
$args->member_srl = $logged_member_srl;
$args->document_srl = $obj->document_srl;
$output = executeQuery('document.getDocumentReadedLogInfo', $args);
if ($output->data->count)
@ -424,31 +439,49 @@ class pointController extends point
}
}
// Get current points.
$cur_point = $member_srl ? getModel('point')->getPoint($member_srl, true) : 0;
// If the user (member or guest) does not have enough points, deny access.
$config = $this->getConfig();
if($config->disable_read_document == 'Y' && $cur_point + $point < 0)
// Adjust points of the reader.
if ($reader_point)
{
$message = sprintf(lang('msg_disallow_by_point'), abs($point), $cur_point);
$obj->add('content', $message);
$_SESSION['banned_document'][$obj->document_srl] = true;
return new BaseObject(-1, $message);
}
else
{
$_SESSION['banned_document'][$obj->document_srl] = false;
// Get current points.
$cur_point = $logged_member_srl ? getModel('point')->getPoint($logged_member_srl) : 0;
// If the reader does not have enough points, deny access.
$config = $this->getConfig();
if ($cur_point + $reader_point < 0 && $config->disable_read_document == 'Y')
{
if (!$logged_member_srl && $config->disable_read_document_except_robots == 'Y' && isCrawler())
{
$_SESSION['banned_document'][$obj->document_srl] = false;
}
else
{
$message = sprintf(lang('msg_disallow_by_point'), abs($reader_point), $cur_point);
$obj->add('content', $message);
$_SESSION['banned_document'][$obj->document_srl] = true;
return new BaseObject(-1, $message);
}
}
else
{
$_SESSION['banned_document'][$obj->document_srl] = false;
}
// Record the fact that this member has already read this document.
if ($logged_member_srl)
{
$args = new stdClass();
$args->member_srl = $logged_member_srl;
$args->document_srl = $obj->document_srl;
$output = executeQuery('document.insertDocumentReadedLog', $args);
$this->setPoint($logged_member_srl, $cur_point + $reader_point);
}
}
// Adjust points for member.
if ($member_srl)
// Adjust points of the person who wrote the document.
if ($author_point && $author_member_srl)
{
$args = new stdClass();
$args->member_srl = $member_srl;
$args->document_srl = $obj->document_srl;
$output = executeQuery('document.insertDocumentReadedLog', $args);
$this->setPoint($member_srl, $cur_point + $point);
$cur_point = getModel('point')->getPoint($author_member_srl);
$this->setPoint($author_member_srl, $cur_point + $author_point);
}
}
@ -459,42 +492,46 @@ class pointController extends point
{
$logged_info = Context::get('logged_info');
$logged_member_srl = $logged_info->member_srl;
$module_srl = $obj->module_srl;
$member_srl = abs($obj->member_srl);
if ($logged_member_srl && $logged_member_srl == $member_srl)
{
return;
}
elseif (!$member_srl)
$target_member_srl = abs($obj->member_srl);
if ($logged_member_srl && $logged_member_srl == $target_member_srl)
{
return;
}
// Get current points.
$cur_point = getModel('point')->getPoint($member_srl, true);
// Document or comment?
$is_comment = isset($obj->comment_srl) && $obj->comment_srl;
// Get adjustment amount.
if ($obj->point > 0)
// Adjust points of the voter.
if ($logged_member_srl)
{
$config_key = (isset($obj->comment_srl) && $obj->comment_srl) ? 'voted_comment' : 'voted';
}
else
{
$config_key = (isset($obj->comment_srl) && $obj->comment_srl) ? 'blamed_comment' : 'blamed';
$config_key = ($obj->point > 0) ? ($is_comment ? 'voter_comment' : 'voter') : ($is_comment ? 'blamer_comment' : 'blamer');
$point = $this->_getModulePointConfig($obj->module_srl, $config_key);
if ($point)
{
if (isset($obj->cancel) && $obj->cancel)
{
$point = -1 * $point;
}
$cur_point = getModel('point')->getPoint($logged_member_srl);
$this->setPoint($logged_member_srl, $cur_point + $point);
}
}
$point = $this->_getModulePointConfig($module_srl, $config_key);
if (!$point)
// Adjust points of the person who wrote the document or comment.
if ($target_member_srl)
{
return;
$config_key = ($obj->point > 0) ? ($is_comment ? 'voted_comment' : 'voted') : ($is_comment ? 'blamed_comment' : 'blamed');
$point = $this->_getModulePointConfig($obj->module_srl, $config_key);
if ($point)
{
if (isset($obj->cancel) && $obj->cancel)
{
$point = -1 * $point;
}
$cur_point = getModel('point')->getPoint($target_member_srl);
$this->setPoint($target_member_srl, $cur_point + $point);
}
}
if (isset($obj->cancel) && $obj->cancel)
{
$point = -1 * $point;
}
$this->setPoint($member_srl, $cur_point + $point);
}
/**
@ -531,7 +568,7 @@ class pointController extends point
$config = $oModuleModel->getModuleConfig('point');
// Get the default configuration information
$current_point = $oPointModel->getPoint($member_srl, true);
$current_point = $oPointModel->getPoint($member_srl);
$current_level = $oPointModel->getLevel($current_point, $config->level_step);
// Change points

View file

@ -53,6 +53,24 @@
<input type="number" name="read_document" value="{$config->read_document}" id="read_document" style="text-align:right" /> :
<label for="read_document" class="x_inline">{$lang->point_read_document}</label>
<br />
<input type="number" name="voter" value="{$config->voter}" style="text-align:right" id="voter" /> :
<label for="voter" class="x_inline">{$lang->point_voter}</label>
<br />
<input type="number" name="blamer" value="{$config->blamer}" id="blamer" style="text-align:right" /> :
<label for="blamer" class="x_inline">{$lang->point_blamer}</label>
<br />
<input type="number" name="voter_comment" value="{$config->voter_comment}" style="text-align:right" id="voter_comment" /> :
<label for="voter_comment" class="x_inline">{$lang->point_voter_comment}</label>
<br />
<input type="number" name="blamer_comment" value="{$config->blamer_comment}" id="blamer_comment" style="text-align:right" /> :
<label for="blamer_comment" class="x_inline">{$lang->point_blamer_comment}</label>
<br />
<input type="number" name="download_file_author" value="{$config->download_file_author}" id="download_file_author" style="text-align:right" /> :
<label for="download_file_author" class="x_inline">{$lang->point_download_file_author}</label>
<br />
<input type="number" name="read_document_author" value="{$config->read_document_author}" id="read_document_author" style="text-align:right" /> :
<label for="read_document_author" class="x_inline">{$lang->point_read_document_author}</label>
<br />
<input type="number" name="voted" value="{$config->voted}" style="text-align:right" id="voted" /> :
<label for="voted" class="x_inline">{$lang->point_voted}</label>
<br />
@ -60,10 +78,10 @@
<label for="blamed" class="x_inline">{$lang->point_blamed}</label>
<br />
<input type="number" name="voted_comment" value="{$config->voted_comment}" style="text-align:right" id="voted_comment" /> :
<label for="voted_comment" class="x_inline">{$lang->comment} {$lang->point_voted}</label>
<label for="voted_comment" class="x_inline">{$lang->point_voted_comment}</label>
<br />
<input type="number" name="blamed_comment" value="{$config->blamed_comment}" id="blamed_comment" style="text-align:right" /> :
<label for="blamed_comment" class="x_inline">{$lang->comment} {$lang->point_blamed}</label>
<label for="blamed_comment" class="x_inline">{$lang->point_blamed_comment}</label>
</div>
</div>
<div class="x_control-group">
@ -88,14 +106,16 @@
<label for="disable_read_document" class="x_control-label">{$lang->disable_read_document}</label>
<div class="x_controls" style="padding-top:3px">
<input type="checkbox" name="disable_read_document" id="disable_read_document" value="Y" checked="checked"|cond="$config->disable_read_document=='Y'" />
{$lang->about_disable_read_document}
{$lang->about_disable_read_document} &nbsp;
<input type="checkbox" name="disable_read_document_except_robots" id="disable_read_document_except_robots" value="Y" checked="checked"|cond="$config->disable_read_document_except_robots == 'Y'" />
{$lang->disable_read_document_except_robots}
</div>
</div>
<div class="x_control-group">
<label for="no_point_date" class="x_control-label">{$lang->no_point_date}</label>
<div class="x_controls" style="padding-top:3px">
<input type="number" name="no_point_date" id="no_point_date" value="{$config->no_point_date}" style="width:50px;" />{$lang->day_ago}
<p>{$lang->about_no_point_date}</p>
<p class="x_help-block">{$lang->about_no_point_date}</p>
</div>
</div>
<div class="x_clearfix btnArea">

View file

@ -16,24 +16,36 @@
<th scope="col">{$lang->point_upload_file}</th>
<th scope="col">{$lang->point_download_file}</th>
<th scope="col">{$lang->point_read_document}</th>
<th scope="col">{$lang->point_voter}</th>
<th scope="col">{$lang->point_blamer}</th>
<th scope="col">{$lang->point_voter_comment}</th>
<th scope="col">{$lang->point_blamer_comment}</th>
<th scope="col">{$lang->point_download_file_author}</th>
<th scope="col">{$lang->point_read_document_author}</th>
<th scope="col">{$lang->point_voted}</th>
<th scope="col">{$lang->point_blamed}</th>
<th scope="col">{$lang->comment} {$lang->point_voted}</th>
<th scope="col">{$lang->comment} {$lang->point_blamed}</th>
<th scope="col">{$lang->point_voted_comment}</th>
<th scope="col">{$lang->point_blamed_comment}</th>
</tr>
</thead>
<tbody>
<tr loop="$mid_list => $key,$val">
<th scope="row">{$val->browser_title}({$val->mid})</th>
<td class="nowr"><input type="number" style="width:40px;text-align:right" name="insert_document[{$val->module_srl}]" value="{$module_config[$val->module_srl]['insert_document']}" title="{$config->point_name}" /> {$config->point_name}</td>
<td class="nowr"><input type="number" style="width:40px;text-align:right" name="insert_comment[{$val->module_srl}]" value="{$module_config[$val->module_srl]['insert_comment']}" title="{$config->point_name}" /> {$config->point_name}</td>
<td class="nowr"><input type="number" style="width:40px;text-align:right" name="upload_file[{$val->module_srl}]" value="{$module_config[$val->module_srl]['upload_file']}" title="{$config->point_name}" /> {$config->point_name}</td>
<td class="nowr"><input type="number" style="width:40px;text-align:right" name="download_file[{$val->module_srl}]" value="{$module_config[$val->module_srl]['download_file']}" title="{$config->point_name}" /> {$config->point_name}</td>
<td class="nowr"><input type="number" style="width:40px;text-align:right" name="read_document[{$val->module_srl}]" value="{$module_config[$val->module_srl]['read_document']}" title="{$config->point_name}" /> {$config->point_name}</td>
<td class="nowr"><input type="number" style="width:40px;text-align:right" name="voted[{$val->module_srl}]" value="{$module_config[$val->module_srl]['voted']}" title="{$config->point_name}" /> {$config->point_name}</td>
<td class="nowr"><input type="number" style="width:40px;text-align:right" name="blamed[{$val->module_srl}]" value="{$module_config[$val->module_srl]['blamed']}" title="{$config->point_name}" /> {$config->point_name}</td>
<td class="nowr"><input type="number" style="width:40px;text-align:right" name="voted_comment[{$val->module_srl}]" value="{$module_config[$val->module_srl]['voted_comment']}" title="{$config->point_name}" /> {$config->point_name}</td>
<td class="nowr"><input type="number" style="width:40px;text-align:right" name="blamed_comment[{$val->module_srl}]" value="{$module_config[$val->module_srl]['blamed_comment']}" title="{$config->point_name}" /> {$config->point_name}</td>
<th scope="row" style="min-width:100px">{$val->browser_title}<br /><span style="font-size:11px;font-weight:normal">({$val->mid})</span></th>
<td class="nowr"><input type="number" style="width:40px;text-align:right" name="insert_document[{$val->module_srl}]" value="{$module_config[$val->module_srl]['insert_document']}" title="{$config->point_name}" /></td>
<td class="nowr"><input type="number" style="width:40px;text-align:right" name="insert_comment[{$val->module_srl}]" value="{$module_config[$val->module_srl]['insert_comment']}" title="{$config->point_name}" /></td>
<td class="nowr"><input type="number" style="width:40px;text-align:right" name="upload_file[{$val->module_srl}]" value="{$module_config[$val->module_srl]['upload_file']}" title="{$config->point_name}" /></td>
<td class="nowr"><input type="number" style="width:40px;text-align:right" name="download_file[{$val->module_srl}]" value="{$module_config[$val->module_srl]['download_file']}" title="{$config->point_name}" /></td>
<td class="nowr"><input type="number" style="width:40px;text-align:right" name="read_document[{$val->module_srl}]" value="{$module_config[$val->module_srl]['read_document']}" title="{$config->point_name}" /></td>
<td class="nowr"><input type="number" style="width:40px;text-align:right" name="voter[{$val->module_srl}]" value="{$module_config[$val->module_srl]['voter']}" title="{$config->point_name}" /></td>
<td class="nowr"><input type="number" style="width:40px;text-align:right" name="blamer[{$val->module_srl}]" value="{$module_config[$val->module_srl]['blamer']}" title="{$config->point_name}" /></td>
<td class="nowr"><input type="number" style="width:40px;text-align:right" name="voter_comment[{$val->module_srl}]" value="{$module_config[$val->module_srl]['voter_comment']}" title="{$config->point_name}" /></td>
<td class="nowr"><input type="number" style="width:40px;text-align:right" name="blamer_comment[{$val->module_srl}]" value="{$module_config[$val->module_srl]['blamer_comment']}" title="{$config->point_name}" /></td>
<td class="nowr"><input type="number" style="width:40px;text-align:right" name="download_file_author[{$val->module_srl}]" value="{$module_config[$val->module_srl]['download_file_author']}" title="{$config->point_name}" /></td>
<td class="nowr"><input type="number" style="width:40px;text-align:right" name="read_document_author[{$val->module_srl}]" value="{$module_config[$val->module_srl]['read_document_author']}" title="{$config->point_name}" /></td>
<td class="nowr"><input type="number" style="width:40px;text-align:right" name="voted[{$val->module_srl}]" value="{$module_config[$val->module_srl]['voted']}" title="{$config->point_name}" /></td>
<td class="nowr"><input type="number" style="width:40px;text-align:right" name="blamed[{$val->module_srl}]" value="{$module_config[$val->module_srl]['blamed']}" title="{$config->point_name}" /></td>
<td class="nowr"><input type="number" style="width:40px;text-align:right" name="voted_comment[{$val->module_srl}]" value="{$module_config[$val->module_srl]['voted_comment']}" title="{$config->point_name}" /></td>
<td class="nowr"><input type="number" style="width:40px;text-align:right" name="blamed_comment[{$val->module_srl}]" value="{$module_config[$val->module_srl]['blamed_comment']}" title="{$config->point_name}" /></td>
</tr>
</tbody>
</table>

View file

@ -38,6 +38,42 @@
<input type="number" name="read_document" id="read_document" value="{$module_config['read_document']}" /> {$module_config['point_name']}
</div>
</div>
<div class="x_control-group">
<label for="voter" class="x_control-label">{$lang->point_voter}</label>
<div class="x_controls">
<input type="number" name="voter" id="voter" value="{$module_config['voter']}" /> {$module_config['point_name']}
</div>
</div>
<div class="x_control-group">
<label for="blamer" class="x_control-label">{$lang->point_blamer}</label>
<div class="x_controls">
<input type="number" name="blamer" id="blamer" value="{$module_config['blamer']}" /> {$module_config['point_name']}
</div>
</div>
<div class="x_control-group">
<label for="voter_comment" class="x_control-label">{$lang->point_voter_comment}</label>
<div class="x_controls">
<input type="number" name="voter_comment" id="voter_comment" value="{$module_config['voter_comment']}" /> {$module_config['point_name']}
</div>
</div>
<div class="x_control-group">
<label for="blamer_comment" class="x_control-label">{$lang->point_blamer_comment}</label>
<div class="x_controls">
<input type="number" name="blamer_comment" id="blamer_comment" value="{$module_config['blamer_comment']}" /> {$module_config['point_name']}
</div>
</div>
<div class="x_control-group">
<label for="download_file_author" class="x_control-label">{$lang->point_download_file_author}</label>
<div class="x_controls">
<input type="number" name="download_file_author" id="download_file_author" value="{$module_config['download_file_author']}" /> {$module_config['point_name']}
</div>
</div>
<div class="x_control-group">
<label for="read_document_author" class="x_control-label">{$lang->point_read_document_author}</label>
<div class="x_controls">
<input type="number" name="read_document_author" id="read_document_author" value="{$module_config['read_document_author']}" /> {$module_config['point_name']}
</div>
</div>
<div class="x_control-group">
<label for="voted" class="x_control-label">{$lang->point_voted}</label>
<div class="x_controls">
@ -51,13 +87,13 @@
</div>
</div>
<div class="x_control-group">
<label for="voted_comment" class="x_control-label">{$lang->comment} {$lang->point_voted}</label>
<label for="voted_comment" class="x_control-label">{$lang->point_voted_comment}</label>
<div class="x_controls">
<input type="number" name="voted_comment" id="voted_comment" value="{$module_config['voted_comment']}" /> {$module_config['point_name']}
</div>
</div>
<div class="x_control-group">
<label for="blamed_comment" class="x_control-label">{$lang->comment} {$lang->point_blamed}</label>
<label for="blamed_comment" class="x_control-label">{$lang->point_blamed_comment}</label>
<div class="x_controls">
<input type="number" name="blamed_comment" id="blamed_comment" value="{$module_config['blamed_comment']}" /> {$module_config['point_name']}
</div>