/** * @see PwUploadAction.check */ public function check() { if (!$this->user->isExists()) { return new PwError('login.not'); } if (!$this->forum->isForum()) { return new PwError('FORUM_IS_NOT_EXISTS'); } if (($result = $this->forum->allowUpload($this->user)) !== true) { return new PwError('BBS:forum.permissions.upload.allow', array('{grouptitle}' => $this->user->getGroupInfo('name'))); } if (!$this->forum->foruminfo['allow_upload'] && !$this->user->getPermission('allow_upload')) { return new PwError('permission.upload.allow', array('{grouptitle}' => $this->user->getGroupInfo('name'))); } if ($uploadPerday = $this->user->getPermission('uploads_perday')) { $count = PwUpload::countUploadedFile() + count($this->flashatt); $todayupload = $this->user->info['lastpost'] < Pw::getTdtime() ? 0 : $this->user->info['todayupload']; if ($count > 0 && $count + $todayupload > $uploadPerday) { return new PwError('permission.upload.nums.perday', array('{nums}' => $uploadPerday)); } } return true; }