From 4e594ca280252afbfefb1a31e169085a60fd0e65 Mon Sep 17 00:00:00 2001 From: David Mudrak Date: Mon, 4 Jan 2010 18:15:00 +0000 Subject: [PATCH] Fixed a table name --- mod/workshop/form/rubric/db/install.xml | 8 ++--- mod/workshop/form/rubric/lib.php | 42 ++++++++++++++++++++++--- mod/workshop/form/rubric/version.php | 2 +- 3 files changed, 42 insertions(+), 10 deletions(-) diff --git a/mod/workshop/form/rubric/db/install.xml b/mod/workshop/form/rubric/db/install.xml index f1e18ebd96..5297350e9c 100644 --- a/mod/workshop/form/rubric/db/install.xml +++ b/mod/workshop/form/rubric/db/install.xml @@ -1,5 +1,5 @@ - @@ -17,7 +17,7 @@ - +
@@ -30,7 +30,7 @@
- +
@@ -38,7 +38,7 @@ - +
diff --git a/mod/workshop/form/rubric/lib.php b/mod/workshop/form/rubric/lib.php index 6066c80306..2932cd6312 100644 --- a/mod/workshop/form/rubric/lib.php +++ b/mod/workshop/form/rubric/lib.php @@ -48,6 +48,12 @@ class workshop_rubric_strategy implements workshop_strategy { /** @var array options for dimension description fields */ protected $descriptionopts; + /** @var array options for level definition fields */ + protected $definitionopts; + + /** @var object rubric configuration */ + protected $config; + /** * Constructor * @@ -57,8 +63,10 @@ class workshop_rubric_strategy implements workshop_strategy { public function __construct(workshop $workshop) { $this->workshop = $workshop; $this->dimensions = $this->load_fields(); + $this->config = $this->load_config(); $this->descriptionopts = array('trusttext' => true, 'subdirs' => false, 'maxfiles' => -1); $this->definitionopts = array('trusttext' => true, 'subdirs' => false, 'maxfiles' => -1); + print_object($this->config); die(); // DONOTCOMMIT } /** @@ -344,22 +352,46 @@ class workshop_rubric_strategy implements workshop_strategy { $sql = 'SELECT r.id AS rid, l.id AS lid, * FROM {workshopform_rubric} r - LEFT JOIN {workshopform_rubric_levels} l ON (l.dimensionid = r.id} + LEFT JOIN {workshopform_rubric_levels} l ON (l.dimensionid = r.id) WHERE r.workshopid = :workshopid ORDER BY r.sort, l.grade'; $params = array('workshopid' => $this->workshop->id); - $rs = $DB->get_recordset_sql($sql, $param); + $rs = $DB->get_recordset_sql($sql, $params); $fields = array(); foreach ($rs as $record) { - // if (!isset($fields - print_object($record); die(); // DONOTCOMMIT + if (!isset($fields[$record->rid])) { + $fields[$record->rid] = new stdClass(); + $fields[$record->rid]->id = $record->rid; + $fields[$record->rid]->sort = $record->sort; + $fields[$record->rid]->description = $record->description; + $fields[$record->rid]->descriptionformat = $record->descriptionformat; + $fields[$record->rid]->levels = array(); + } + $fields[$record->rid]->levels[$record->lid] = new stdClass(); + $fields[$record->rid]->levels[$record->lid]->id = $record->lid; + $fields[$record->rid]->levels[$record->lid]->grade = $record->grade; + $fields[$record->rid]->levels[$record->lid]->definition = $record->definition; + $fields[$record->rid]->levels[$record->lid]->definitionformat = $record->definitionformat; } $rs->close(); - return $fields; } + /** + * Get the configuration for the current rubric strategy + * + * @return object + */ + protected function load_config() { + global $DB; + + if (!$config = $DB->get_record('workshopform_rubric_config', array('workshopid' => $this->workshop->id), 'layout')) { + $config = (object)array('layout' => 'list'); + } + return $config; + } + /** * Maps the dimension data from DB to the form fields * diff --git a/mod/workshop/form/rubric/version.php b/mod/workshop/form/rubric/version.php index 7470c911bd..986dcc7203 100644 --- a/mod/workshop/form/rubric/version.php +++ b/mod/workshop/form/rubric/version.php @@ -28,5 +28,5 @@ defined('MOODLE_INTERNAL') || die(); -$plugin->version = 2009100801; +$plugin->version = 2009100900; $plugin->requires = 2009100600; // Requires this Moodle version -- 2.39.5