protected function filterConditionData()
 {
     if (!isset($this->_data['conditions'])) {
         return true;
     }
     $condition = $this->_data['conditions'];
     if (!$condition || !is_array($condition)) {
         return new PwError('TASK:condition.require');
     }
     if (!$condition['tid']) {
         return new PwError('TASK:condition.reply.tid.require');
     }
     if (!WindValidator::isNonNegative($condition['tid'])) {
         return new PwError('TASK:condition.reply.tid.isNonNegative');
     }
     if (!$condition['num']) {
         return new PwError('TASK:condition.reply.num.require');
     }
     if (!WindValidator::isNonNegative($condition['num'])) {
         return new PwError('TASK:condition.reply.num.isNonNegative');
     }
     $condition['num'] = ceil($condition['num']);
     $url = $condition['url'];
     unset($condition['url']);
     $this->_data['conditions']['num'] = $condition['num'];
     $this->_data['conditions']['url'] = $this->getReplace($condition, $url);
     $this->_data['conditions'] = serialize($this->_data['conditions']);
     return true;
 }
 public function checkReward($reward)
 {
     if (!$reward['num']) {
         return new PwError('TASK:reward.credit.num.require');
     }
     if (!WindValidator::isNonNegative($reward['num'])) {
         return new PwError('TASK:reward.credit.num.isNonNegative');
     }
     $reward['num'] = ceil($reward['num']);
     return parent::checkReward($reward);
 }
 public function checkReward($reward)
 {
     if (!$reward['time']) {
         return new PwError('TASK:reward.group.num.require');
     }
     if (!WindValidator::isNonNegative($reward['time'])) {
         return new PwError('TASK:reward.group.num.isNonNegative');
     }
     $reward['time'] = ceil($reward['time']);
     if ($reward['time'] <= 0) {
         return new PwError('TASK:reward.group.num.isNonNegative');
     }
     return parent::checkReward($reward);
 }