"MDL-17014, check soap extension in alfresco plugin"

This commit is contained in:
dongsheng 2008-10-28 03:13:31 +00:00
parent 6a77823cb6
commit efe018b492
2 changed files with 10 additions and 5 deletions

View File

@ -6,10 +6,6 @@
* @license http://www.gnu.org/copyleft/gpl.html GNU Public License
*/
require_once($CFG->libdir . '/soaplib.php');
require_once($CFG->libdir . '/alfresco/Service/Repository.php');
require_once($CFG->libdir . '/alfresco/Service/Session.php');
require_once($CFG->libdir . '/alfresco/Service/SpacesStore.php');
require_once($CFG->libdir . '/alfresco/Service/Node.php');
class repository_alfresco extends repository {
private $repo = null;
@ -21,6 +17,10 @@ class repository_alfresco extends repository {
global $SESSION, $CFG;
parent::__construct ($repositoryid, $context, $options);
if (class_exists('SoapClient')) {
require_once($CFG->libdir . '/alfresco/Service/Repository.php');
require_once($CFG->libdir . '/alfresco/Service/Session.php');
require_once($CFG->libdir . '/alfresco/Service/SpacesStore.php');
require_once($CFG->libdir . '/alfresco/Service/Node.php');
$this->repo = new Al_Repository($this->alfresco_url);
$this->sess_name = 'alfresco_ticket_'.$this->id;
$this->username = optional_param('al_username', '', PARAM_RAW);
@ -38,6 +38,8 @@ class repository_alfresco extends repository {
$this->logout();
}
$this->current_node = null;
} else {
$this->disabled = true;
}
}
public function print_login() {

View File

@ -481,6 +481,9 @@ function repository_get_types($visible=null) {
* @license http://www.gnu.org/copyleft/gpl.html GNU Public License
*/
abstract class repository {
// $disabled can be set to true to disable a plugin by force
// example: self::$disabled = true
public $disabled = false;
public $id;
public $context;
public $options;
@ -1130,7 +1133,7 @@ function repository_get_instances($contexts=array(), $userid = null, $onlyvisibl
$classname = 'repository_' . $repo->repositorytype;//
$repository = new $classname($repo->id, $repo->contextid, $options, $repo->readonly);
if (!$onlyvisible || $repository->is_visible()) {
if (!$onlyvisible || ($repository->is_visible() && !$repository->disabled)) {
$ret[] = $repository;
}
}