diff --git a/filter/activitynames/filter.php b/filter/activitynames/filter.php index 9e52f155c1cfa..8f80dabeda747 100644 --- a/filter/activitynames/filter.php +++ b/filter/activitynames/filter.php @@ -17,6 +17,9 @@ function activitynames_filter($courseid, $text) { $course = get_record("course","id",$courseid); $modinfo = unserialize($course->modinfo); + //Sort modinfo by name lenght + usort($modinfo,'comparemodulenamesbylenght'); + if (!empty($modinfo)) { $cm = ''; foreach ($modinfo as $activity) { @@ -113,4 +116,12 @@ function activity_link_names($text,$name,$href_tag_begin,$href_tag_end = "") } return $text; } + + //This function is used to order module names from longer to shorter + function comparemodulenamesbylenght($a, $b) { + if (strlen($a->name) == strlen($b->name)) { + return 0; + } + return (strlen($a->name) < strlen($b->name)) ? 1 : -1; + } ?>