1<?php
2  /*
3   +-----------------------------------------------------------------------------+
4   | ILIAS open source                                                           |
5   +-----------------------------------------------------------------------------+
6   | Copyright (c) 1998-2006 ILIAS open source, University of Cologne            |
7   |                                                                             |
8   | This program is free software; you can redistribute it and/or               |
9   | modify it under the terms of the GNU General Public License                 |
10   | as published by the Free Software Foundation; either version 2              |
11   | of the License, or (at your option) any later version.                      |
12   |                                                                             |
13   | This program is distributed in the hope that it will be useful,             |
14   | but WITHOUT ANY WARRANTY; without even the implied warranty of              |
15   | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the               |
16   | GNU General Public License for more details.                                |
17   |                                                                             |
18   | You should have received a copy of the GNU General Public License           |
19   | along with this program; if not, write to the Free Software                 |
20   | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA. |
21   +-----------------------------------------------------------------------------+
22  */
23
24include_once('./webservice/soap/classes/class.ilSoapAdministration.php');
25
26/**
27 * Soap background task administration methods
28 *
29 * @author Jörg Lützenkirchen <luetzenkirchen@leifos.com>
30 *
31 * @package ilias
32 */
33class ilSoapBackgroundTaskAdministration extends ilSoapAdministration
34{
35    /**
36     * Process task
37     *
38     * @param int $a_task_id
39     * @return boolean
40     */
41    public function processBackgroundTask($a_sid, $a_task_id)
42    {
43        $this->initAuth($a_sid);
44        $this->initIlias();
45
46        if (!$this->__checkSession($a_sid)) {
47            return $this->__raiseError($this->__getMessage(), $this->__getMessageCode());
48        }
49
50        include_once "Services/BackgroundTask/classes/class.ilBackgroundTask.php";
51        $task = new ilBackgroundTask($a_task_id);
52        if ($task->exists()) {
53            $handler = $task->getHandlerInstance();
54            $handler->process();
55
56            return true;
57        }
58
59        return false;
60    }
61}
62