]> git.mjollnir.org Git - moodle.git/commitdiff
MDL-15402: remove has_admin_config() and has_instance_config() from repository lib...
authorjerome <jerome>
Thu, 18 Sep 2008 02:36:17 +0000 (02:36 +0000)
committerjerome <jerome>
Thu, 18 Sep 2008 02:36:17 +0000 (02:36 +0000)
admin/repository.php
admin/settings/plugins.php
lib/adminlib.php
repository/boxnet/repository.class.php
repository/boxnet/settings.php [deleted file]
repository/boxnet/version.php [deleted file]
repository/flickr/repository.class.php
repository/flickr_public/repository.class.php
repository/lib.php

index 9ff6dc0ae294d6fb294dff6143f4eb6a8f3d2c10..e5139f3b3a5ad184be0066136bb9f4d1f76c2955 100644 (file)
@@ -52,11 +52,18 @@ if (!empty($edit) || !empty($new)) {
     // 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);
         }
@@ -91,8 +98,7 @@ if (!empty($edit) || !empty($new)) {
 
         //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);
            }
         }
index 3a8a5f5c6427d1f82c0fafb29cc3717cfd59c834..fd371e0cf95f704983b7e32a1bb616bc0a959300 100644 (file)
@@ -231,9 +231,9 @@ if ($hassiteconfig || has_capability('moodle/question:config', $systemcontext))
     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(),
index ad6ef3114282401c07b9319a03e559385babd198..331fea12f86e5a750a1b15a855b6fa76e79c2014 100644 (file)
@@ -6154,9 +6154,9 @@ class admin_setting_managerepository extends admin_setting {
         $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";
index 0fe94685802b23a9ff928f1ff12ea45ffbae15a8..1f900104dbca3465bf3d59b9d5d3a26882e10ea1 100755 (executable)
@@ -157,14 +157,6 @@ class repository_boxnet extends repository {
         }
     }
 
-    public static function has_admin_config() {
-        return true;
-    }
-
-    public static function has_instance_config() {
-        return false;
-    }
-
     public static function has_multiple_instances() {
         return false;
     }
diff --git a/repository/boxnet/settings.php b/repository/boxnet/settings.php
deleted file mode 100644 (file)
index 73b7443..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-<?php //$Id$
-require_once(dirname(dirname(dirname(__FILE__))) . '/config.php');
-require_once($CFG->libdir.'/formslib.php');
-require_once(dirname(dirname(__FILE__)) . '/lib.php');
-require_once(dirname(__FILE__) . '/repository.class.php');
-
-$repositoryid = optional_param('id', 1, PARAM_INT);
-$config = optional_param('config', 1, PARAM_INT);
-$course = optional_param('course', SITEID, PARAM_INT);
-if (! $course = $DB->get_record("course", array("id"=>$course))) {
-    print_error('invalidcourseid');
-}
-$user = $USER;
-$fullname = fullname($user);
-$strplugin = get_string('repositoryname', 'repository_boxnet');
-$returnurl = $CFG->wwwroot.'/repository/boxnet/settings.php?id='.$repositoryid;
-
-require_login($course, false);
-
-class boxnet_user_form extends moodleform {
-    private $repositoryid;
-    private $userid;
-    public function definition() {
-        global $CFG;
-        $box = new repository_boxnet($this->_customdata['repositoryid']);
-        $ret = $box->get_login();
-        $mform =& $this->_form;
-        $mform->addElement('text', 'name', get_string('username', 'repository_boxnet'), array('size'=>'30', 'value'=>$ret->username));    
-        $mform->addElement('passwordunmask', 'passwd', get_string('password', 'repository_boxnet'), array('size'=>'30', 'value'=>$ret->password));    
-        $mform->addElement('hidden', 'id', $this->_customdata['repositoryid']);
-        $mform->addElement('hidden', 'user', $this->_customdata['userid']);
-        $mform->setType('id', PARAM_INT);
-        $this->add_action_buttons(true, get_string('savechanges'));
-    }
-}
-
-$navlinks[] = array('name' => $fullname, 'link' => $CFG->wwwroot . '/user/view.php?id=' . $user->id, 'type' => 'misc');
-$navlinks[] = array('name' => get_string('repository', 'repository'), 'link' => $CFG->wwwroot . '/user/repository.php', 'type' => 'misc');
-$navlinks[] = array('name' => $strplugin, 'link' => null, 'type' => 'misc');
-
-$navigation = build_navigation($navlinks);
-
-print_header("$course->fullname: $fullname: $strplugin", $course->fullname,
-             $navigation, "", "", true, "&nbsp;", navmenu($course));
-
-$instance = repository_get_instance($repositoryid);
-$mform = new boxnet_user_form('', array('repositoryid' => $repositoryid, 'userid' => $user->id));
-$box = new repository_boxnet();
-if ($data = data_submitted()){
-    if (!confirm_sesskey()) {
-        print_error('confirmsesskeybad', '', $baseurl);
-    }
-    $box = new repository_boxnet($repositoryid);
-    $ret = $box->store_login($data->name, $data->passwd, $user->id);
-    if ($ret) {
-        redirect($returnurl, get_string('saved', 'repository_boxnet'));
-    } else {
-        print_error('cannotsave', 'repository_boxnet', $returnurl);
-    }
-    exit;
-} else {
-    print_heading(get_string('configplugin', 'repository_boxnet'));
-    print_simple_box_start();
-    $mform->display();
-    print_simple_box_end();
-}
diff --git a/repository/boxnet/version.php b/repository/boxnet/version.php
deleted file mode 100755 (executable)
index 6799f15..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-<?php // $Id$
-
-/////////////////////////////////////////////////////////////////////////////////
-///  Code fragment to define the version of repository plug-in (box.net)
-/////////////////////////////////////////////////////////////////////////////////
-
-$plugin->name     = "Box.net Repository";
-$plugin->version  = 2008062701;  // The current plug-in version (Date: YYYYMMDDXX)
-$plugin->requires = 2007101509;  // The current plug-in version (Date: YYYYMMDDXX)
-$plugin->cron     = 3600;        // Period for cron to check this plug-in (secs)
-
-?>
index 7c934fe5018f53c70660c1a8c7ec18745a9ac74d..68bf47157ba5f9b70d4f97a5275182f1c5ade4ea 100755 (executable)
@@ -174,18 +174,11 @@ class repository_flickr extends repository {
         ));
         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');
@@ -208,16 +201,6 @@ class repository_flickr extends repository {
         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'));
index 512f128993a8f885e139ec77d8c3806ca2332383..219c5f644e0a21b82a63bf36f497623a4e402c11 100644 (file)
@@ -168,18 +168,11 @@ class repository_flickr_public extends repository {
 
         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');
index 6c1f6734ef41a9ebcb4529216f0490ad14fc4536..bf74f478194ec952da90aa38301a2807adb20a97 100644 (file)
@@ -113,9 +113,9 @@ class repository_type {
 
         //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)) {
@@ -198,11 +198,10 @@ class repository_type {
             //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);
@@ -643,7 +642,7 @@ abstract class repository {
             $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];
@@ -914,26 +913,18 @@ abstract class repository {
 
     }
 
-    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) {
     }
 
     /**
@@ -1269,15 +1260,13 @@ final class repository_instance_form extends moodleform {
         $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();
@@ -1347,14 +1336,12 @@ final class repository_admin_form extends moodleform {
         $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.