From: dongsheng Date: Thu, 4 Sep 2008 05:40:26 +0000 (+0000) Subject: "MDL-13766, recommit jerome's changes" X-Git-Url: http://git.mjollnir.org/gw?a=commitdiff_plain;h=2a06d06e2a68a8c35b001084b77c86ee27bd6c95;p=moodle.git "MDL-13766, recommit jerome's changes" --- diff --git a/repository/lib.php b/repository/lib.php index 4805c7b353..eb70d30d2b 100644 --- a/repository/lib.php +++ b/repository/lib.php @@ -108,7 +108,7 @@ class repository_type { * @param boolean $visible * @param integer $sortorder (don't really need set, it will be during create() call) */ - public function __construct($typename = '', $typeoptions = array(), $visible = true, $sortorder = 0){ + public function __construct($typename = '', $typeoptions = array(), $visible = false, $sortorder = 0){ global $CFG; //set type attributs @@ -607,7 +607,7 @@ abstract class repository { $id = $DB->insert_record('repository_instances', $record); $options = array(); if (call_user_func($classname . '::has_instance_config')) { - $configs = call_user_func($classname . '::get_instance_option_names'); + $configs = call_user_func($classname . '::get_instance_option_names'); foreach ($configs as $config) { $options[$config] = $params[$config]; } @@ -1952,7 +1952,6 @@ 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) { @@ -2008,7 +2007,11 @@ function repository_display_instances_list($context, $admin = false, $typename = $stropt = get_string('operation', 'repository'); $updown = get_string('updown', 'repository'); $plugins = get_list_of_plugins('repository'); - $instances = repository_get_instances($context,null,true,$typename); + //retrieve list of instances. In administration context we want to display all + //instances even if the type is not visible. In course/user context we + //want to display only visible instances. The repository_get_instances() + //third parameter displays only visible type. + $instances = repository_get_instances($context,null,!$admin,$typename); $instancesnumber = count($instances); $alreadyplugins = array(); $table = new StdClass; @@ -2023,6 +2026,13 @@ function repository_display_instances_list($context, $admin = false, $typename = //$row .= ' ' . get_string($i->visible ? 'hide' : 'show') . '' . "\n"; $table->data[] = array($i->name, $type->get_readablename(),$row); + //display a grey row if the type is defined as not visible + if (isset($type) && !$type->get_visible()){ + $table->rowclass[] = 'dimmed_text'; + } else{ + $table->rowclass[] = ''; + } + if (!in_array($i->name, $alreadyplugins)) { $alreadyplugins[] = $i->name; } @@ -2050,7 +2060,7 @@ function repository_display_instances_list($context, $admin = false, $typename = //create a unique type of instance else { if (repository_static_function($typename, 'has_multiple_instances')){ - $addable = 1; + $addable = 1; $instancehtml .= '
  • '.get_string('create', 'repository') .' "'.get_string('repositoryname', 'repository_'.$typename).'" ' .get_string('instance', 'repository').'
  • ';