diff --git a/course/format/social/format.php b/course/format/social/format.php
index c3ae054b84d..17d46f8dee3 100644
--- a/course/format/social/format.php
+++ b/course/format/social/format.php
@@ -30,7 +30,12 @@
}
echo '
', forum_get_subscribe_link($forum, $modcontext), '
';
- forum_print_latest_discussions($course, $forum, 10, 'plain', '', false);
+
+ $numdiscussions = course_get_format($course)->get_course()->numdiscussions;
+ if ($numdiscussions < 1) {
+ $numdiscussions = 1; // Make sure that the value is at least zero.
+ }
+ forum_print_latest_discussions($course, $forum, $numdiscussions, 'plain', '', false);
} else {
echo $OUTPUT->notification('Could not find or create a social forum here');
diff --git a/course/format/social/lang/en/format_social.php b/course/format/social/lang/en/format_social.php
index 0316353af53..fdbf20f8cb1 100644
--- a/course/format/social/lang/en/format_social.php
+++ b/course/format/social/lang/en/format_social.php
@@ -23,5 +23,7 @@
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
-$string['sectionname'] = 'section';
+$string['numberdiscussions'] = 'Number of discussions';
+$string['numberdiscussions_help'] = 'This setting specifies how many discussions should be dispalyed.';
$string['pluginname'] = 'Social format';
+$string['sectionname'] = 'section';
diff --git a/course/format/social/lib.php b/course/format/social/lib.php
index a9c62238894..e4665859633 100644
--- a/course/format/social/lib.php
+++ b/course/format/social/lib.php
@@ -75,4 +75,38 @@ class format_social extends format_base {
'recent_activity', 'course_list')
);
}
+
+ /**
+ * Definitions of the additional options that this course format uses for course
+ *
+ * social format uses the following options:
+ * - numdiscussions
+ *
+ * @param bool $foreditform
+ * @return array of options
+ */
+ public function course_format_options($foreditform = false) {
+ static $courseformatoptions = false;
+ if ($courseformatoptions === false) {
+ $courseformatoptions = array(
+ 'numdiscussions' => array(
+ 'default' => 10,
+ 'type' => PARAM_INT,
+ )
+ );
+ }
+
+ if ($foreditform && !isset($courseformatoptions['numdiscussions']['label'])) {
+ $courseformatoptionsedit = array(
+ 'numdiscussions' => array(
+ 'label' => new lang_string('numberdiscussions', 'format_social'),
+ 'help' => 'numberdiscussions',
+ 'help_component' => 'format_social',
+ 'element_type' => 'text',
+ )
+ );
+ $courseformatoptions = array_merge_recursive($courseformatoptions, $courseformatoptionsedit);
+ }
+ return $courseformatoptions;
+ }
}
diff --git a/course/format/social/version.php b/course/format/social/version.php
index e361fb65282..f15e8293a0d 100644
--- a/course/format/social/version.php
+++ b/course/format/social/version.php
@@ -25,6 +25,6 @@
defined('MOODLE_INTERNAL') || die();
-$plugin->version = 2014111000; // The current plugin version (Date: YYYYMMDDXX)
+$plugin->version = 2015102100; // The current plugin version (Date: YYYYMMDDXX)
$plugin->requires = 2014110400; // Requires this Moodle version
$plugin->component = 'format_social'; // Full name of the plugin (used for diagnostics)