modules/sejin7940_vote/sejin7940_vote.model.php
<?php /** * @class sejin7940_voteModel * @author sejin7940 (sejin7940@nate.com) * @brief sejin7940_vote 모듈의 Model class **/ class sejin7940_voteModel extends sejin7940_vote { /** * @brief Initialization **/ function init() { } /** * @brief 모듈의 global 설정 구함 */ function getModuleConfig() { static $config = null; if(is_null($config)) { $oModuleModel = &getModel('module'); $config = $oModuleModel->getModuleConfig('sejin7940_vote'); } if(!$config->skin) $config->skin = "default"; return $config; } // 특정회원이 특정그룹에 속하는지 여부 function isMemberGroup($args) { $obj = new stdClass(); $args = new stdClass(); $obj->selected_group_srl = $args->group_srl; if($args->member_srl) $obj->member_srls = $args->member_srl; if($args->user_id) $obj->s_user_id = $args->user_id; if($args->nick_name) $obj->s_nick_name = $args->nick_name; if($args->email_address) $obj->s_nick_name = $args->email_address; $output_group = executeQuery('sejin7940_vote.getMemberListWithinGroup', $obj); $is_group_member = count($output_group->data); return $is_group_member; } function getDocumentMoveAuto($obj) { $args = new stdClass(); $args->auto_srl = $obj->auto_srl; $args->target_module = $obj->target_module; $args->target_category = $obj->target_category; $args->move_module = $obj->move_module; $args->move_category = $obj->move_category; return executeQuery('sejin7940_vote.getDocumentMoveAuto',$args); } function getDocumentMoveCheck($obj) { $args = new stdClass(); $args->move_voted = $obj->after_point; // 추천수 $args->target_module = $obj->module_srl; $oDocumentModel = &getModel('document'); $document_info = $oDocumentModel->getDocument($obj->document_srl); $args->target_category = $document_info->get('category_srl'); $output = executeQueryArray('sejin7940_vote.getDocumentMoveCheck',$args); if(count($output->data)) { // 추천이동 설정 있는 경우 foreach($output->data as $key_check => $val_check) { if($val_check->move_type == 'move') { $check[] = $val_check; } elseif($val_check->move_type == 'copy') { $args_moved->document_srl = $obj->document_srl; $args_moved->move_module = $val_check->move_module; $args_moved->move_category = $val_check->move_category; $args_moved->move_type = $val_check->move_type; $output_moved = executeQuery('sejin7940_vote.getDocumentMoveLog',$args_moved); if(!count($output_moved->data)) { // 이동한 내역이 없는 경우만 $check[] = $val_check; } } } } return $check; } function getDocumentVotedLog($obj) { $args = new stdClass(); $args->document_srl = $obj->document_srl; $args->member_srl = $obj->member_srl; $args->module_srl = $obj->module_srl; $args->category_srl = $obj->category_srl; $args->sort_index = 'document_voted_log.regdate'; $args->sort_order = 'desc'; $args->page = $obj->page; return executeQuery('sejin7940_vote.getDocumentVotedLog',$args); } function getDocumentVotedLogCount($member_srl) { $args = new stdClass(); $args->member_srl = $member_srl; $output = executeQuery('sejin7940_vote.getDocumentVotedLogCount', $args); return (int)$output->data->count; } function getDocumentBlamedLogCount($member_srl) { $args = new stdClass(); $args->member_srl = $member_srl; $output = executeQuery('sejin7940_vote.getDocumentBlamedLogCount', $args); return (int)$output->data->count; } } ?>