/** * Renderers actions for individual course actions. * * @param course_in_list $course The course to renderer actions for. * @return string */ public function search_listitem_actions(course_in_list $course) { $baseurl = new moodle_url('/course/managementsearch.php', array('courseid' => $course->id, 'categoryid' => $course->category, 'sesskey' => sesskey())); $actions = array(); // Edit. if ($course->can_access()) { if ($course->can_edit()) { $actions[] = $this->output->action_icon(new moodle_url('/course/edit.php', array('id' => $course->id)), new pix_icon('t/edit', get_string('edit')), null, array('class' => 'action-edit')); } // Show/Hide. if ($course->can_change_visibility()) { if ($course->visible) { $actions[] = $this->output->action_icon(new moodle_url($baseurl, array('action' => 'hidecourse')), new pix_icon('t/show', get_string('hide')), null, array('data-action' => 'hide', 'class' => 'action-hide')); } else { $actions[] = $this->output->action_icon(new moodle_url($baseurl, array('action' => 'showcourse')), new pix_icon('t/hide', get_string('show')), null, array('data-action' => 'show', 'class' => 'action-show')); } } } if (empty($actions)) { return ''; } return html_writer::span(join('', $actions), 'course-item-actions item-actions'); }
/** * Makes a course hidden given a \course_in_list object. * * @param \course_in_list $course * @return bool * @throws \moodle_exception */ public static function action_course_hide(\course_in_list $course) { if (!$course->can_change_visibility()) { throw new \moodle_exception('permissiondenied', 'error', '', null, 'course_in_list::can_change_visbility'); } return course_change_visibility($course->id, false); }
foreach ($companycourses as $companycourse) { //print_object($companycourse); $courselink = new moodle_url('/course/view.php', array('id' => $companycourse->id)); $coursecontext = context_course::instance($companycourse->id); $deletecoursebutton = ''; if (has_capability('moodle/course:delete', $coursecontext)) { $deletecoursebutton = html_writer::link(new moodle_url('/course/delete.php', array('id' => $companycourse->id, 'returntocompanycourse' => 1)), get_string('delete')); } $editcoursebutton = ''; if (has_capability('moodle/course:update', $coursecontext)) { $editcoursebutton = html_writer::link(new moodle_url('/course/edit.php', array('id' => $companycourse->id, 'returnto' => 'companycourse')), get_string('edit')); } $record = get_course($companycourse->id); $course = new course_in_list($record); $coursesuspendbutton = ''; if ($course->can_change_visibility()) { $action = $course->visible ? 'hidecourse' : 'showcourse'; $buttontext = $course->visible ? get_string('suspend', 'block_iomad_company_admin') : get_string('unsuspend', 'block_iomad_company_admin'); $coursesuspendbutton = html_writer::link(new moodle_url('companycourses.php', array('courseid' => $companycourse->id, 'action' => $action)), $buttontext); } $companycourse->fullname = '<a href=' . $courselink . '>' . $companycourse->fullname . '</a>'; $assigncourselink = ''; $companyrecord = $DB->get_record('company', array('id' => $companycourse->companyid)); if (iomad::has_capability('local/manage_company_dept_title:manage_courses', $context) && $companyrecord) { $assigncourselink = html_writer::link(new moodle_url('/local/manage_company_dept_title/addcoursetodepttitle.php', array('course' => $companycourse->id, 'companyid' => $companycourse->companyid)), get_string('assigncourse', 'local_manage_company_dept_title')); } $coursenotificationlink = ''; if (iomad::has_capability('local/course_notification:manage', $context) && $companyrecord) { $coursenotificationlink = html_writer::link(new moodle_url('/local/course_notification/manage_notification.php', array('courseid' => $companycourse->id, 'companyid' => $companycourse->companyid)), get_string('managenotification', 'block_iomad_company_admin')); } $columndata = array($companycourse->fullname, $editcoursebutton, $deletecoursebutton, $coursesuspendbutton, $assigncourselink, $coursenotificationlink);