8 if(!defined('XOOPS_ROOT_PATH'))
13 require_once SD3RD_TRUST_PATH . '/class/AbstractMasterHandler.class.php';
18 class Sd3rd_SkillObject extends XoopsSimpleObject
27 public function __construct()
29 $this->initVar('skill_id', XOBJ_DTYPE_INT, '', false);
30 $this->initVar('skill_name', XOBJ_DTYPE_STRING, '', false, 50);
31 $this->initVar('description', XOBJ_DTYPE_STRING, '', false, 255);
32 $this->initVar('range', XOBJ_DTYPE_INT, '', false);
33 $this->initVar('target_id', XOBJ_DTYPE_INT, '', false);
34 $this->initVar('kind_id', XOBJ_DTYPE_INT, '', false);
35 $this->initVar('tp', XOBJ_DTYPE_INT, '', false);
36 $this->initVar('register_time', XOBJ_DTYPE_INT, '', false);
43 class Sd3rd_SkillHandler extends Sd3rd_AbstractMasterHandler
45 public /*** string ***/ $mTable = '{dirname}_skill';
46 public /*** string ***/ $mPrimary = 'skill_id';
47 public /*** string ***/ $mClass = 'Sd3rd_SkillObject';
48 protected /*** string ***/ $_mIdColumn = 'skill_id';
49 protected /*** string ***/ $_mValueColumn = 'skill_name';
52 * Create new record at master data.
54 * @param mixed{} $values
59 protected function _appendMaster(/*** mixed{} ***/ $values,/*** bool ***/ $force)
61 $element = $values['element'];
62 unset($values['element']);
63 $values['range'] *= 10;
64 parent::_appendMaster($values,$force);
65 $this->_setElement($this->getId($values[$this->_mValueColumn]),$element,$force);
69 * Set skill element list.
72 * @param int[] $element
77 protected function _setElement(/*** int ***/ $skillId,/*** int[] ***/ $element,/*** bool ***/ $force = false)
79 static $handler = null;
82 $handler = Sd3rd_UpdateUtils::getHandler(Sd3rd_HANDLER::SKILL_ELEMENT);
84 $obj =& $handler->create();
85 foreach($element as $elementId)
87 $obj->set('skill_id',$skillId);
88 $obj->set('element_id',$elementId);
90 if(!$handler->insert($obj,$force))
92 throw new Sd3rd_QueryErrorException('Cannot insert skill element data.');