Skip to content
Snippets Groups Projects
Select Git revision
  • 8fabce22b6342cd77cd0437761883c520a8f85b3
  • main default protected
  • 5.5 protected
  • atlantis
  • 5.3 protected
  • 5.0 protected
  • issue-23
  • issue8-seat-logging-and-export
  • ticket-216
  • tickets-215-216-241-242
10 results

courseware.php

Blame
  • Forked from Stud.IP / Stud.IP
    Source project has a limited visibility.
    Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    courseware.php 15.16 KiB
    <?php
    
    use \Courseware\StructuralElement;
    
    class Contents_CoursewareController extends AuthenticatedController
    {
        /**
         * Callback function being called before an action is executed.
         *
         * @SuppressWarnings(PHPMD.CamelCaseMethodName)
         * @SuppressWarnings(PHPMD.Superglobals)
         */
        public function before_filter(&$action, &$args)
        {
            parent::before_filter($action, $args);
    
            PageLayout::setHelpKeyword('Basis.Courseware'); // set keyword for new help
    
            PageLayout::setTitle(_('Courseware'));
    
            $this->user = $GLOBALS['user'];
        }
    
        /**
         * Entry point of the controller that displays the courseware projects overview
         *
         * @param string $action
         * @param string $widgetId
         * @SuppressWarnings(PHPMD.CamelCaseMethodName)
         * @SuppressWarnings(PHPMD.Superglobals)
         * @SuppressWarnings(PHPMD.UnusedFormalParameter)
         */
        public function index_action()
        {
            Navigation::activateItem('/contents/courseware/overview');
            $this->user_id = $GLOBALS['user']->id;
            $this->setOverviewSidebar();
            $this->courseware_root = \Courseware\StructuralElement::getCoursewareUser($this->user_id);
            if (!$this->courseware_root) {
                // create initial courseware dataset
                $new = \Courseware\StructuralElement::createEmptyCourseware($this->user_id, 'user');
                $this->courseware_root = $new->getRoot();
            }
            $this->licenses = $this->getLicences();
        }
    
        private function setOverviewSidebar()
        {
            $sidebar = Sidebar::Get();
            $views = new TemplateWidget(
                _('Aktionen'),
                $this->get_template_factory()->open('contents/courseware/overview_action_widget')
            );
            $sidebar->addWidget($views)->addLayoutCSSClass('courseware-overview-filter-widget');
    
            $views = new TemplateWidget(
                _('Filter'),
                $this->get_template_factory()->open('contents/courseware/overview_filter_widget')
            );
            $sidebar->addWidget($views)->addLayoutCSSClass('courseware-overview-filter-widget');
        }
    
        /**
         * Show Courseware of current user
         *
         * @param string $action
         * @param string $widgetId
         * @SuppressWarnings(PHPMD.CamelCaseMethodName)
         * @SuppressWarnings(PHPMD.Superglobals)
         * @SuppressWarnings(PHPMD.UnusedFormalParameter)