mirror of
https://github.com/moodle/moodle.git
synced 2025-03-09 18:30:03 +01:00
Code based on the work of Daryl Hawes for the blog module. Thanks, Daryl! Please test the hell out of it as it's sure to have issues that need to be ironed out.
133 lines
5.4 KiB
PHP
133 lines
5.4 KiB
PHP
<?php //$Id$
|
|
|
|
class CourseBlock_social_activities extends MoodleBlock {
|
|
function init(){
|
|
$this->title = get_string('blockname','block_social_activities');
|
|
$this->content_type = BLOCK_TYPE_LIST;
|
|
$this->version = 2004041800;
|
|
}
|
|
|
|
function applicable_formats() {
|
|
return array('social' => true);
|
|
}
|
|
|
|
function get_content() {
|
|
global $USER, $CFG;
|
|
|
|
if ($this->content !== NULL) {
|
|
return $this->content;
|
|
}
|
|
|
|
$this->content = new stdClass;
|
|
$this->content->items = array();
|
|
$this->content->icons = array();
|
|
$this->content->footer = '';
|
|
|
|
if (empty($this->instance)) {
|
|
return $this->content;
|
|
}
|
|
|
|
$course = get_record('course', 'id', $this->instance->pageid);
|
|
|
|
// To make our day, we start with an ugly hack
|
|
global $sections, $mods, $modnames;
|
|
|
|
$section = $sections[0];
|
|
// That wasn't so bad, was it?
|
|
|
|
$groupbuttons = $course->groupmode;
|
|
$groupbuttonslink = (!$course->groupmodeforce);
|
|
$isteacher = isteacher($this->instance->pageid);
|
|
$isediting = isediting($this->instance->pageid);
|
|
$ismoving = ismoving($this->instance->pageid);
|
|
if ($ismoving) {
|
|
$strmovehere = get_string('movehere');
|
|
$strmovefull = strip_tags(get_string('movefull', '', "'$USER->activitycopyname'"));
|
|
$strcancel= get_string('cancel');
|
|
$stractivityclipboard = $USER->activitycopyname;
|
|
}
|
|
|
|
$modinfo = unserialize($course->modinfo);
|
|
$editbuttons = '';
|
|
|
|
if ($ismoving) {
|
|
$this->content->icons[] = ' <img align="bottom" src="'.$CFG->pixpath.'/t/move.gif" height="11" width="11" alt=\"\" />';
|
|
$this->content->items[] = $USER->activitycopyname.' (<a href="'.$CFG->wwwroot.'/course/mod.php?cancelcopy=true">'.$strcancel.'</a>)';
|
|
}
|
|
|
|
if (!empty($section->sequence)) {
|
|
$sectionmods = explode(',', $section->sequence);
|
|
foreach ($sectionmods as $modnumber) {
|
|
if (empty($mods[$modnumber])) {
|
|
continue;
|
|
}
|
|
$mod = $mods[$modnumber];
|
|
if ($isediting && !$ismoving) {
|
|
if ($groupbuttons) {
|
|
if (! $mod->groupmodelink = $groupbuttonslink) {
|
|
$mod->groupmode = $course->groupmode;
|
|
}
|
|
|
|
} else {
|
|
$mod->groupmode = false;
|
|
}
|
|
$editbuttons = '<br />'.make_editing_buttons($mod, true, true);
|
|
} else {
|
|
$editbuttons = '';
|
|
}
|
|
if ($mod->visible || $isteacher) {
|
|
if ($ismoving) {
|
|
if ($mod->id == $USER->activitycopy) {
|
|
continue;
|
|
}
|
|
$this->content->items[] = '<a title="'.$strmovefull.'" href="'.$CFG->wwwroot.'/course/mod.php?moveto='.$mod->id.'">'.
|
|
'<img height="16" width="80" src="'.$CFG->pixpath.'/movehere.gif" alt="'.$strmovehere.'" border="0" /></a>';
|
|
$this->content->icons[] = '';
|
|
}
|
|
$instancename = urldecode($modinfo[$modnumber]->name);
|
|
if (!empty($CFG->filterall)) {
|
|
$instancename = filter_text('<nolink>'.$instancename.'</nolink>', $this->instance->pageid);
|
|
}
|
|
$linkcss = $mod->visible ? '' : ' class="dimmed" ';
|
|
if (!empty($modinfo[$modnumber]->extra)) {
|
|
$extra = urldecode($modinfo[$modnumber]->extra);
|
|
} else {
|
|
$extra = '';
|
|
}
|
|
if (!empty($modinfo[$modnumber]->icon)) {
|
|
$icon = $CFG->pixpath.'/'.urldecode($modinfo[$modnumber]->icon);
|
|
} else {
|
|
$icon = $CFG->modpixpath.'/'.$mod->modname.'/icon.gif';
|
|
}
|
|
|
|
if ($mod->modname == 'label') {
|
|
$this->content->items[] = format_text($extra, FORMAT_HTML).$editbuttons;
|
|
$this->content->icons[] = '';
|
|
} else {
|
|
$this->content->items[] = '<a title="'.$mod->modfullname.'" '.$linkcss.' '.$extra.
|
|
' href="'.$CFG->wwwroot.'/mod/'.$mod->modname.'/view.php?id='.$mod->id.'">'.$instancename.'</a>'.$editbuttons;
|
|
$this->content->icons[] = '<img src="'.$icon.'" height="16" width="16" alt="'.$mod->modfullname.'" />';
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
if ($ismoving) {
|
|
$this->content->items[] = '<a title="'.$strmovefull.'" href="'.$CFG->wwwroot.'/course/mod.php?movetosection='.$section->id.'">'.
|
|
'<img height="16" width="80" src="'.$CFG->pixpath.'/movehere.gif" alt="'.$strmovehere.'" border="0" /></a>';
|
|
$this->content->icons[] = '';
|
|
}
|
|
|
|
if ($isediting && $modnames) {
|
|
$this->content->footer = '<div style="text-align: right;">'.
|
|
print_section_add_menus($course, 0, $modnames, true, true).'</div>';
|
|
} else {
|
|
$this->content->footer = '';
|
|
}
|
|
|
|
return $this->content;
|
|
}
|
|
}
|
|
|
|
?>
|