original_string: protected function load_stealth_activity(navigation_node $coursenode, $modinfo) {
          if (empty($modinfo->cms[$this->page->cm->id])) {
              return null;
          }
          $cm = $modinfo->cms[$this->page->cm->id];
          if ($cm->icon) {
              $icon = new pix_icon($cm->icon, get_string('modulename', $cm->modname), $cm->iconcomponent);
          } else {
              $icon = new pix_icon('icon', get_string('modulename', $cm->modname), $cm->modname);
          }
          $url = $cm->url;
          $activitynode = $coursenode->add(format_string($cm->name), $url, navigation_node::TYPE_ACTIVITY, null, $cm->id, $icon);
          $activitynode->title(get_string('modulename', $cm->modname));
          $activitynode->hidden = (!$cm->visible);
          if (!$cm->is_visible_on_course_page()) {
              // Do not show any error here, let the page handle exception that activity is not visible for the current user.
              // Also there may be no exception at all in case when teacher is logged in as student.
              $activitynode->display = false;
          } else if (!$url) {
              // Don't show activities that don't have links!
              $activitynode->display = false;
          } else if (self::module_extends_navigation($cm->modname)) {
              $activitynode->nodetype = navigation_node::NODETYPE_BRANCH;
          }
          return $activitynode;
      }
code: protected function load_stealth_activity(navigation_node $coursenode, $modinfo) {
          if (empty($modinfo->cms[$this->page->cm->id])) {
              return null;
          }
          $cm = $modinfo->cms[$this->page->cm->id];
          if ($cm->icon) {
              $icon = new pix_icon($cm->icon, get_string('modulename', $cm->modname), $cm->iconcomponent);
          } else {
              $icon = new pix_icon('icon', get_string('modulename', $cm->modname), $cm->modname);
          }
          $url = $cm->url;
          $activitynode = $coursenode->add(format_string($cm->name), $url, navigation_node::TYPE_ACTIVITY, null, $cm->id, $icon);
          $activitynode->title(get_string('modulename', $cm->modname));
          $activitynode->hidden = (!$cm->visible);
          if (!$cm->is_visible_on_course_page()) {
              // Do not show any error here, let the page handle exception that activity is not visible for the current user.
              // Also there may be no exception at all in case when teacher is logged in as student.
              $activitynode->display = false;
          } else if (!$url) {
              // Don't show activities that don't have links!
              $activitynode->display = false;
          } else if (self::module_extends_navigation($cm->modname)) {
              $activitynode->nodetype = navigation_node::NODETYPE_BRANCH;
          }
          return $activitynode;
      }
code_tokens: protected function load_stealth_activity ( navigation_node $ coursenode , $ modinfo ) { if ( empty ( $ modinfo -> cms [ $ this -> page -> cm -> id ] ) ) { return null ; } $ cm = $ modinfo -> cms [ $ this -> page -> cm -> id ] ; if ( $ cm -> icon ) { $ icon = new pix_icon ( $ cm -> icon , get_string ( 'modulename' , $ cm -> modname ) , $ cm -> iconcomponent ) ; } else { $ icon = new pix_icon ( 'icon' , get_string ( 'modulename' , $ cm -> modname ) , $ cm -> modname ) ; } $ url = $ cm -> url ; $ activitynode = $ coursenode -> add ( format_string ( $ cm -> name ) , $ url , navigation_node :: TYPE_ACTIVITY , null , $ cm -> id , $ icon ) ; $ activitynode -> title ( get_string ( 'modulename' , $ cm -> modname ) ) ; $ activitynode -> hidden = ( ! $ cm -> visible ) ; if ( ! $ cm -> is_visible_on_course_page ( ) ) { // Do not show any error here, let the page handle exception that activity is not visible for the current user. // Also there may be no exception at all in case when teacher is logged in as student. $ activitynode -> display = false ; } else if ( ! $ url ) { // Don't show activities that don't have links! $ activitynode -> display = false ; } else if ( self :: module_extends_navigation ( $ cm -> modname ) ) { $ activitynode -> nodetype = navigation_node :: NODETYPE_BRANCH ; } return $ activitynode ; }
docstring: Loads a stealth module from unavailable section
  @param navigation_node $coursenode
  @param stdClass $modinfo
  @return navigation_node or null if not accessible
docstring_tokens: Loads a stealth module from unavailable section