Skip to content

Commit

Permalink
MDL-15402: remove has_admin_config() and has_instance_config() from r…
Browse files Browse the repository at this point in the history
…epository lib and all repository plugins
  • Loading branch information
jerome committed Sep 18, 2008
1 parent 1d66f2b commit 06e65e1
Show file tree
Hide file tree
Showing 9 changed files with 36 additions and 153 deletions.
12 changes: 9 additions & 3 deletions admin/repository.php
Original file line number Diff line number Diff line change
Expand Up @@ -52,11 +52,18 @@
// display the edit form for this instance
$mform = new repository_admin_form('', array('plugin' => $plugin, 'instance' => $repositorytype));
$fromform = $mform->get_data();

//detect if we create a new type without config (in this case if don't want to display a setting page during creation)
$createnewtype = false;
if (!empty($new)) {
$adminconfignames = repository_static_function($new, 'get_admin_option_names');
$createnewtype = empty($adminconfignames);
}
// end setup, begin output
if ($mform->is_cancelled()){
redirect($baseurl);
exit;
} else if (!empty($fromform) || (!empty($new) && !repository_static_function($new,"has_admin_config"))){
} else if (!empty($fromform) || $createnewtype){
if (!confirm_sesskey()) {
print_error('confirmsesskeybad', '', $baseurl);
}
Expand Down Expand Up @@ -91,8 +98,7 @@

//display instances list and creation form
if ($edit){
if (repository_static_function($edit,"has_instance_config")
|| repository_static_function($edit,"has_multiple_instances")){
if (repository_static_function($edit,"has_multiple_instances")){
repository_display_instances_list(get_context_instance(CONTEXT_SYSTEM), $edit);
}
}
Expand Down
6 changes: 3 additions & 3 deletions admin/settings/plugins.php
Original file line number Diff line number Diff line change
Expand Up @@ -231,9 +231,9 @@
foreach (repository_get_types()
as $repositorytype)
{
//display setup page for plugins with: general options or instance options or multiple instances
if (repository_static_function($repositorytype->get_typename(), 'has_admin_config')
|| repository_static_function($repositorytype->get_typename(), 'has_instance_config')
//display setup page for plugins with: general options or multiple instances
$adminconfignames = repository_static_function($repositorytype->get_typename(), 'get_admin_option_names');
if (!empty($adminconfignames)
|| repository_static_function($repositorytype->get_typename(), 'has_multiple_instances')) {
$ADMIN->add('repositorysettings',
new admin_externalpage('repositorysettings'.$repositorytype->get_typename(),
Expand Down
6 changes: 3 additions & 3 deletions lib/adminlib.php
Original file line number Diff line number Diff line change
Expand Up @@ -6154,9 +6154,9 @@ function output_html($data, $query='') {
$updowncount=1;
foreach ($instances as $i) {
$settings = '';
//display edit link only if you can config the type or its instances
if ( repository_static_function($i->get_typename(), 'has_admin_config')
|| repository_static_function($i->get_typename(), 'has_instance_config')
//display edit link only if you can config the type or if it has multiple instances
$adminconfignames = repository_static_function($i->get_typename(), 'get_admin_option_names');
if ( !empty($adminconfignames)
|| repository_static_function($i->get_typename(), 'has_multiple_instances')) {
$settings .= '<a href="' . $this->baseurl . '&amp;edit=' . $i->get_typename() . '">'
. $settingsstr .'</a>' . "\n";
Expand Down
8 changes: 0 additions & 8 deletions repository/boxnet/repository.class.php
Original file line number Diff line number Diff line change
Expand Up @@ -157,14 +157,6 @@ public function print_login(){
}
}

public static function has_admin_config() {
return true;
}

public static function has_instance_config() {
return false;
}

public static function has_multiple_instances() {
return false;
}
Expand Down
66 changes: 0 additions & 66 deletions repository/boxnet/settings.php

This file was deleted.

12 changes: 0 additions & 12 deletions repository/boxnet/version.php

This file was deleted.

17 changes: 0 additions & 17 deletions repository/flickr/repository.class.php
Original file line number Diff line number Diff line change
Expand Up @@ -174,18 +174,11 @@ public function get_file($photo_id, $file = '') {
));
return $dir.$file;
}
public static function has_admin_config() {
return true;
}

public static function has_multiple_instances() {
return false;
}

public static function has_instance_config() {
return false;
}

public function instance_config_form(&$mform) {
$mform->addElement('text', 'email_address', get_string('emailaddress', 'repository_flickr'));
$mform->addRule('email_address', get_string('required'), 'required', null, 'client');
Expand All @@ -208,16 +201,6 @@ public function admin_config_form(&$mform) {
if (empty($secret)) {
$secret = '';
}
/*
$noticetext = get_string('notice', 'repository_flickr');
//$noticetext = 'a[';
//var_dump($noticetext);
if (strpos($noticetext, '[')==0) {
$mform->addElement('static', 'notice', '<strong>'.get_string('notice', 'repository').'</strong>', '<i>'.$noticetext.'</i>');
}
* */



$strrequired = get_string('required');
$mform->addElement('text', 'api_key', get_string('apikey', 'repository_flickr'), array('value'=>$api_key,'size' => '40'));
Expand Down
7 changes: 0 additions & 7 deletions repository/flickr_public/repository.class.php
Original file line number Diff line number Diff line change
Expand Up @@ -168,18 +168,11 @@ public function get_file($photo_id, $file = '') {

return $dir.$file;
}
public static function has_admin_config() {
return true;
}

public static function has_multiple_instances() {
return true;
}

public static function has_instance_config() {
return true;
}

public function instance_config_form(&$mform) {
$mform->addElement('text', 'email_address', get_string('emailaddress', 'repository_flickr_public'));
$mform->addRule('email_address', get_string('required'), 'required', null, 'client');
Expand Down
55 changes: 21 additions & 34 deletions repository/lib.php
Original file line number Diff line number Diff line change
Expand Up @@ -113,9 +113,9 @@ public function __construct($typename = '', $typeoptions = array(), $visible = f

//set options attribut
$this->_options = array();
$options = repository_static_function($typename,'get_admin_option_names');
//check that the type can be setup
if (repository_static_function($typename,"has_admin_config")) {
$options = repository_static_function($typename,'get_admin_option_names');
if (!empty($options)) {
//set the type options
foreach ($options as $config) {
if (array_key_exists($config,$typeoptions)) {
Expand Down Expand Up @@ -198,11 +198,10 @@ public function create() {
//save the options in DB
$this->update_options();

//if the plugin type has no multiple and no instance config so it wont
//if the plugin type has no multiple so it wont
//be possible for the administrator to create a instance
//in this case we need to create an instance
if (!repository_static_function($this->_typename,"has_instance_config")
&& !repository_static_function($this->_typename,"has_multiple_instances")) {
if (!repository_static_function($this->_typename,"has_multiple_instances")) {
$instanceoptions = array();
$instanceoptions['name'] = $this->_typename;
repository_static_function($this->_typename, 'create', $this->_typename, 0, get_system_context(), $instanceoptions);
Expand Down Expand Up @@ -643,7 +642,7 @@ final public static function create($type, $userid, $context, $params, $readonly
$record->userid = $userid;
$id = $DB->insert_record('repository_instances', $record);
$options = array();
if (call_user_func($classname . '::has_instance_config')) {
if (call_user_func($classname . '::has_multiple_instances')) {
$configs = call_user_func($classname . '::get_instance_option_names');
foreach ($configs as $config) {
$options[$config] = $params[$config];
Expand Down Expand Up @@ -914,26 +913,18 @@ public static function plugin_init(){

}

public static function add_unremovable_instances(){

}

/**
* Return true if the plugin type has at least one general option field
* By default: false
* @return boolean
* Edit/Create Admin Settings Moodle form
* @param object $ Moodle form (passed by reference)
*/
public static function has_admin_config() {
return false;
public function admin_config_form(&$mform) {
}

/**
* Return true if a plugin instance has at least one config field
* By default: false
* @return boolean

/**
* Edit/Create Instance Settings Moodle form
* @param object $ Moodle form (passed by reference)
*/
public static function has_instance_config() {
return false;
public function instance_config_form(&$mform) {
}

/**
Expand Down Expand Up @@ -1269,15 +1260,13 @@ public function definition() {
$mform->addElement('text', 'name', get_string('name'), 'maxlength="100" size="30"');
$mform->addRule('name', $strrequired, 'required', null, 'client');

// let the plugin add the fields they want (either statically or not)
if (repository_static_function($this->plugin, 'has_instance_config')) {
if (!$this->instance) {
$result = repository_static_function($this->plugin, 'instance_config_form', $mform);
} else {
$result = $this->instance->instance_config_form($mform);
}
//add fields
if (!$this->instance) {
$result = repository_static_function($this->plugin, 'instance_config_form', $mform);
} else {
$result = $this->instance->instance_config_form($mform);
}

// and set the data if we have some.
if ($this->instance) {
$data = array();
Expand Down Expand Up @@ -1347,14 +1336,12 @@ public function definition() {
$mform->addElement('hidden', 'edit', ($this->instance) ? $this->instance->get_typename() : 0);
$mform->addElement('hidden', 'new', $this->plugin);
$mform->addElement('hidden', 'plugin', $this->plugin);
// let the plugin add the fields they want (either statically or not)
if (repository_static_function($this->plugin, 'has_admin_config')) {
if (!$this->instance) {
// let the plugin add its specific fields
if (!$this->instance) {
$result = repository_static_function($this->plugin, 'admin_config_form', $mform);
} else {
$classname = 'repository_' . $this->instance->get_typename();
$result = call_user_func(array($classname,'admin_config_form'),$mform);
}
}

// and set the data if we have some.
Expand Down

0 comments on commit 06e65e1

Please sign in to comment.