type = $type; if ( empty($label) ) { $label = ucfirst($type); } $this->label = $label; parent::__construct(); $this->setTargetFromType(); } /** * Set the item target link from its type */ protected function setTargetFromType() : void { global $INFO; global $plugin_controller; if ( ! $plugin_controller->isdisabled('translate') ) { // If the "translate" plugin is activated, the language code should stay the top-level namespace $translate_plugin =& $plugin_controller->load('helper', 'translate'); $language = $translate_plugin->getPageLanguage(); if ( $language !== null && preg_match("/^$language:/", $INFO['id']) ) { $this->id = preg_replace( "/^$language:/", "$language:".$this->type.':', $INFO['id'] ); } else { $this->id = $this->type.':'.$INFO['id']; } } else { $this->id = $this->type.':'.$INFO['id']; } $this->params = []; } }