Merge #939 댓글에 대한 추천, 비추천시 증감할 포인트 별도 설정 기능 및 포인트 변동 구현 by sejin7940

* pr/939:
  Update point.admin.controller.php
  Update module_config.html
  Update point.view.php
  Update point.admin.controller.php
  Update point_module_config.html
  Update point.controller.php
  Update config.html
  Update point.class.php

Conflicts:
	modules/point/point.admin.controller.php
	modules/point/point.class.php
This commit is contained in:
Kijin Sung 2015-10-08 14:05:57 +09:00
commit a215c41503
7 changed files with 88 additions and 10 deletions

View file

@ -50,6 +50,8 @@ class pointAdminController extends point
$config->download_file = (int)$args->download_file;
$config->voted = (int)$args->voted;
$config->blamed = (int)$args->blamed;
$config->voted_comment = (int)$args->voted_comment;
$config->blamed_comment = (int)$args->blamed_comment;
// The highest level
$config->max_level = $args->max_level;
if($config->max_level>1000) $config->max_level = 1000;
@ -132,7 +134,7 @@ class pointAdminController extends point
{
$args = Context::getRequestVars();
$configTypeList = array('insert_document', 'insert_comment', 'upload_file', 'download_file', 'read_document', 'voted', 'blamed');
$configTypeList = array('insert_document', 'insert_comment', 'upload_file', 'download_file', 'read_document', 'voted', 'blamed', 'voted_comment', 'blamed_comment');
foreach($configTypeList AS $config)
{
if(is_array($args->{$config}))
@ -186,6 +188,8 @@ class pointAdminController extends point
$config['read_document'] = (int)Context::get('read_document');
$config['voted'] = (int)Context::get('voted');
$config['blamed'] = (int)Context::get('blamed');
$config['voted_comment'] = (int)Context::get('voted_comment');
$config['blamed_comment'] = (int)Context::get('blamed_comment');
$oModuleController->insertModulePartConfig('point', $srl, $config);
}

View file

@ -65,12 +65,34 @@ class point extends ModuleObject
// Vote up / Vote down
$config->voted = 0;
$config->blamed = 0;
// Comment Vote up / Comment Vote down
$config->voted_comment = 0;
$config->blamed_comment = 0;
// Save configurations
$oModuleController->insertModuleConfig('point', $config);
// Cash act list for faster execution
$oPointController = getAdminController('point');
$oPointController->cacheActList();
// Add a trigger for registration/insert document/insert comment/upload a file/download
$oModuleController->insertTrigger('member.insertMember', 'point', 'controller', 'triggerInsertMember', 'after');
$oModuleController->insertTrigger('document.insertDocument', 'point', 'controller', 'triggerInsertDocument', 'after');
$oModuleController->insertTrigger('document.deleteDocument', 'point', 'controller', 'triggerBeforeDeleteDocument', 'before');
$oModuleController->insertTrigger('document.deleteDocument', 'point', 'controller', 'triggerDeleteDocument', 'after');
$oModuleController->insertTrigger('comment.insertComment', 'point', 'controller', 'triggerInsertComment', 'after');
$oModuleController->insertTrigger('comment.deleteComment', 'point', 'controller', 'triggerDeleteComment', 'after');
$oModuleController->insertTrigger('file.insertFile', 'point', 'controller', 'triggerInsertFile', 'after');
$oModuleController->insertTrigger('file.deleteFile', 'point', 'controller', 'triggerDeleteFile', 'after');
$oModuleController->insertTrigger('file.downloadFile', 'point', 'controller', 'triggerBeforeDownloadFile', 'before');
$oModuleController->insertTrigger('file.downloadFile', 'point', 'controller', 'triggerDownloadFile', 'after');
$oModuleController->insertTrigger('member.doLogin', 'point', 'controller', 'triggerAfterLogin', 'after');
$oModuleController->insertTrigger('module.dispAdditionSetup', 'point', 'view', 'triggerDispPointAdditionSetup', 'after');
$oModuleController->insertTrigger('document.updateReadedCount', 'point', 'controller', 'triggerUpdateReadedCount', 'after');
// Add a trigger for voting up and down 2008.05.13 haneul
$oModuleController->insertTrigger('document.updateVotedCount', 'point', 'controller', 'triggerUpdateVotedCount', 'after');
// Add a trigger for using points for permanent saving of a temporarily saved document 2009.05.19 zero
$oModuleController->insertTrigger('document.updateDocument', 'point', 'controller', 'triggerUpdateDocument', 'before');
// Add a trigger for comment voting up and down 2014.08.30 sejin7940
$oModuleController->insertTrigger('comment.updateVotedCount', 'point', 'controller', 'triggerUpdateVotedCount', 'after');
return new Object();
}
@ -107,8 +129,10 @@ class point extends ModuleObject
// 2012. 08. 29 Add a trigger to copy additional setting when the module is copied
if(!$oModuleModel->getTrigger('module.procModuleAdminCopyModule', 'point', 'controller', 'triggerCopyModule', 'after')) return true;
}
// Add a trigger for comment voting up and down 2014.08.30 sejin7940
if(!$oModuleModel->getTrigger('comment.updateVotedCount', 'point', 'controller', 'triggerUpdateVotedCount', 'after')) return true;
}
return false;
}
@ -158,6 +182,15 @@ class point extends ModuleObject
{
$oModuleController->insertTrigger('module.procModuleAdminCopyModule', 'point', 'controller', 'triggerCopyModule', 'after');
}
// Add a trigger for comment voting up and down 2014.08.30 sejin7940
if(!$oModuleModel->getTrigger('comment.updateVotedCount', 'point', 'controller', 'triggerUpdateVotedCount', 'after'))
{
$config = $oModuleModel->getModuleConfig('point');
$config->voted_comment = 0;
$config->blamed_comment = 0;
$oModuleController->insertModuleConfig('point', $config);
$oModuleController->insertTrigger('comment.updateVotedCount', 'point', 'controller', 'triggerUpdateVotedCount', 'after');
}
return new Object(0, 'success_updated');
}

View file

@ -459,15 +459,32 @@ class pointController extends point
if( $obj->point > 0 )
{
$point = $module_config['voted'];
if(strlen($point) == 0 && !is_int($point)) $point = $config->voted;
if($obj->comment_srl)
{
$point = $module_config['voted_comment'];
if(strlen($point) == 0 && !is_int($point)) $point = $config->voted_comment;
}
else
{
$point = $module_config['voted'];
if(strlen($point) == 0 && !is_int($point)) $point = $config->voted;
}
}
else
{
$point = $module_config['blamed'];
if(strlen($point) == 0 && !is_int($point)) $point = $config->blamed;
if($obj->comment_srl)
{
$point = $module_config['blamed_comment'];
if(strlen($point) == 0 && !is_int($point)) $point = $config->blamed_comment;
}
else
{
$point = $module_config['blamed'];
if(strlen($point) == 0 && !is_int($point)) $point = $config->blamed;
}
}
if(!$point) return new Object();
// Increase the point
$cur_point += $point;

View file

@ -48,6 +48,8 @@ class pointView extends point
$module_config['read_document'] = $config->read_document;
$module_config['voted'] = $config->voted;
$module_config['blamed'] = $config->blamed;
$module_config['voted_comment'] = $config->voted_comment;
$module_config['blamed_comment'] = $config->blamed_comment;
}
}

View file

@ -58,6 +58,12 @@
<br />
<input type="number" name="blamed" value="{$config->blamed}" id="blamed" style="text-align:right" /> :
<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>
<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>
</div>
</div>
<div class="x_control-group">

View file

@ -18,6 +18,8 @@
<th scope="col">{$lang->point_read_document}</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>
</tr>
</thead>
<tbody>
@ -30,6 +32,8 @@
<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>
</tr>
</tbody>
</table>

View file

@ -50,6 +50,18 @@
<input type="number" name="blamed" id="blamed" value="{$module_config['blamed']}" /> {$module_config['point_name']}
</div>
</div>
<div class="x_control-group">
<label for="voted_comment" class="x_control-label">{$lang->comment} {$lang->point_voted}</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>
<div class="x_controls">
<input type="number" name="blamed_comment" id="blamed_comment" value="{$module_config['blamed_comment']}" /> {$module_config['point_name']}
</div>
</div>
<div class="x_clearfix btnArea">
<button class="x_btn x_btn-warning x_pull-left" type="button" onclick="doPointReset('{$module_config['module_srl']?$module_config['module_srl']:$module_srls}')">{$lang->cmd_reset}</button>
<span class="x_pull-right">