diff --git a/upload/source/class/class_task.php b/upload/source/class/class_task.php index c69e70f74eb38b6c3e4abf387d1e97801161cea7..2bb6b8e8ec9a6097dbe3fb1e1ac17de3a7fc92b5 100644 --- a/upload/source/class/class_task.php +++ b/upload/source/class/class_task.php @@ -501,6 +501,15 @@ class task { showmessage('task_nonexistence'); } + $escript = explode(':', $this->task['scriptname']); + if(count($escript) > 1) { + include_once DISCUZ_ROOT.'./source/plugin/'.$escript[0].'/task/task_'.$escript[1].'.php'; + $taskclassname = 'task_'.$escript[1]; + } else { + require_once libfile('task/'.$this->task['scriptname'], 'class'); + $taskclassname = 'task_'.$this->task['scriptname']; + } + $taskclass = new $taskclassname; if(method_exists($taskclass, 'delete')) { $taskclass->delete($this->task); }