public function display() { //Add the template override path $parts = $this->_identifier->path; array_shift($parts); if (count($parts) > 1) { $path = KInflector::pluralize(array_shift($parts)); $path .= count($parts) ? DS . implode(DS, $parts) : ''; $path .= DS . strtolower($this->getName()); } else { $path = strtolower($this->getName()); } $template = KFactory::get('lib.joomla.application')->getTemplate(); $override = JPATH_THEMES . DS . $template . DS . 'html' . DS . 'com_' . $this->_identifier->package . DS . $path; KFactory::get($this->getTemplate())->addPath($override); if ($template == 'morph' && class_exists('Morph')) { $override = JPATH_ROOT . '/morph_assets/themelets/' . Morph::getInstance()->themelet . '/html/' . 'com_' . $this->_identifier->package . '/' . $path; KFactory::get($this->getTemplate())->addPath($override); } $model = KFactory::get($this->getModel()); $identifier = $model->getIdentifier(); $type = $identifier->type; $package = $identifier->package; $isAdmin = KFactory::get('lib.joomla.application')->isAdmin(); //Set the document title if ($this->_auto_title) { $this->setDocumentTitle(); } // Hide the toolbar if we're in an iframe if (KRequest::get('get.tmpl', 'cmd') == 'component') { $this->_toolbar = false; } $this->assign('length', KFactory::tmp($this->getModel()->getIdentifier())->getTotal()); if ($this->_toolbar) { $toolbar = $this->_createToolbar(); if (!$this->length && KInflector::isPlural($this->getName())) { $toolbar->removeListButtons(); } $this->_document->setBuffer($toolbar->renderTitle(), 'modules', 'title'); $this->_document->setBuffer($toolbar->render(), 'modules', 'toolbar'); //Needed for templates like AdminPraise2 //@TODO submit patch to com_default's dispatcher KFactory::get('lib.joomla.application')->set('JComponentTitle', $toolbar->renderTitle()); } KFactory::map('admin::com.' . $package . '.form.default', 'admin::com.ninja.form.default'); //Add admin.css from the extension or current template if it exists. if ($isAdmin) { $this->css('/admin.css'); } return parent::display(); }
$BarracksOnTechLab = new TerranStructure("Barracks with attached Tech Lab", null, null, null, null, false); $FactoryOnReactor = new TerranStructure("Factory with attached Reactor", null, null, null, null, false); $FactoryOnTechLab = new TerranStructure("Factory with attached Tech Lab", null, null, null, null, false); $StarportOnReactor = new TerranStructure("Starport with attached Reactor", null, null, null, null, false); $StarportOnTechLab = new TerranStructure("Starport with attached Tech Lab", null, null, null, null, false); $Reactor = new TerranStructure("Reactor", null, null, null, null, false); $ReactorOnBarracks = new TerranStructure("Reactor attached to Barracks", null, null, null, null, false); $ReactorOnFactory = new TerranStructure("Reactor attached to Factory", null, null, null, null, false); $ReactorOnStarport = new TerranStructure("Reactor attached to Starport", null, null, null, null, false); $TechLab = new TerranStructure("Tech Lab", null, null, null, null, false); $TechLabOnBarracks = new TerranStructure("Tech Lab attached to Barracks", null, null, null, null, false); $TechLabOnFactory = new TerranStructure("Tech Lab attached to Factory", null, null, null, null, false); $TechLabOnStarport = new TerranStructure("Tech Lab attached to Starport", null, null, null, null, false); /// Terran morphs $SalvageBunker = new Morph("Salvage Bunker", Terran, null, array($Bunker), array(), null, -100, 0, 3); $MorphToOrbitalCommand = new Morph("Orbital Command", Terran, array($Barracks), array($CommandCenter), array($OrbitalCommand), null, 150, 0, 35); $MorphToPlanetaryFortress = new Morph("Planetary Fortress", Terran, array($EngineeringBay), array($CommandCenter), array($PlanetaryFortress), null, 150, 150, 50); $BuildReactorOnBarracks = new Morph("Reactor on Barracks", Terran, null, array($Barracks), array($BarracksOnReactor, $ReactorOnBarracks), null, 50, 50, 50); $BuildTechLabOnBarracks = new Morph("Tech Lab on Barracks", Terran, null, array($Barracks), array($BarracksOnTechLab, $TechLabOnBarracks), null, 50, 25, 25); $BuildReactorOnFactory = new Morph("Reactor on Factory", Terran, null, array($Factory), array($FactoryOnReactor, $ReactorOnFactory), null, 50, 50, 50); $BuildTechLabOnFactory = new Morph("Tech Lab on Factory", Terran, null, array($Factory), array($FactoryOnTechLab, $TechLabOnFactory), null, 50, 25, 25); $BuildReactorOnStarport = new Morph("Reactor on Starport", Terran, null, array($Starport), array($StarportOnReactor, $ReactorOnStarport), null, 50, 50, 50); $BuildTechLabOnStarport = new Morph("Tech Lab on Starport", Terran, null, array($Starport), array($StarportOnTechLab, $TechLabOnStarport), null, 50, 25, 25); $SwapReactorOnBarracksToFactory = new Morph("Swap Reactor on Barracks to Factory", Terran, null, array($BarracksOnReactor, $ReactorOnBarracks, $Factory), array($Barracks, null, $FactoryOnReactor, $ReactorOnFactory), null, null, null, ADDON_SWAP_TIME); $SwapReactorOnBarracksToStarport = new Morph("Swap Reactor on Barracks to Starport", Terran, null, array($BarracksOnReactor, $ReactorOnBarracks, $Starport), array($Barracks, null, $StarportOnReactor, $ReactorOnStarport), null, null, null, ADDON_SWAP_TIME); $SwapReactorOnFactoryToBarracks = new Morph("Swap Reactor on Factory to Barracks", Terran, null, array($FactoryOnReactor, $ReactorOnFactory, $Barracks), array($Factory, null, $BarracksOnReactor, $ReactorOnBarracks), null, null, null, ADDON_SWAP_TIME); $SwapReactorOnFactoryToStarport = new Morph("Swap Reactor on Factory to Starport", Terran, null, array($FactoryOnReactor, $ReactorOnFactory, $Starport), array($Factory, null, $StarportOnReactor, $ReactorOnStarport), null, null, null, ADDON_SWAP_TIME); $SwapReactorOnStarportToBarracks = new Morph("Swap Reactor on Starport to Barracks", Terran, null, array($StarportOnReactor, $ReactorOnStarport, $Barracks), array($Starport, null, $BarracksOnReactor, $ReactorOnBarracks), null, null, null, ADDON_SWAP_TIME); $SwapReactorOnStarportToFactory = new Morph("Swap Reactor on Starport to Factory", Terran, null, array($StarportOnReactor, $ReactorOnStarport, $Factory), array($Starport, null, $FactoryOnReactor, $ReactorOnFactory), null, null, null, ADDON_SWAP_TIME); $SwapTechLabOnBarracksToFactory = new Morph("Swap Tech Lab on Barracks to Factory", Terran, null, array($BarracksOnTechLab, $TechLabOnBarracks, $Factory), array($Barracks, null, $FactoryOnTechLab, $TechLabOnFactory), null, null, null, ADDON_SWAP_TIME); $SwapTechLabOnBarracksToStarport = new Morph("Swap Tech Lab on Barracks to Starport", Terran, null, array($BarracksOnTechLab, $TechLabOnBarracks, $Starport), array($Barracks, null, $StarportOnTechLab, $TechLabOnStarport), null, null, null, ADDON_SWAP_TIME);
protected function _getAsset($asset, $url, $extension = null) { if (!$extension) { $extension = KRequest::get('get.option', 'cmd'); } $template = KFactory::get('lib.joomla.application')->getTemplate(); $isMorph = $template == 'morph'; $custom = '/images/' . $extension . $url; $framework = '/media/plg_koowa/' . $asset . $url; $fallback = '/media/com_ninja/' . $asset . $url; $default = '/media/' . $extension . '/' . $asset . $url; $overriden = '/templates/' . $template . '/' . $asset . '/' . $extension . $url; if ($isMorph) { $overriden = '/templates/' . $template . '/core/' . $asset . '/' . $extension . $url; if (class_exists('Morph')) { $themelet = '/morph_assets/themelets/' . Morph::getInstance()->themelet . '/' . $asset . '/' . $extension . $url; } else { $themelet = null; } } //Maybe support more types of assets for $custom in the future if ($asset == 'images' && file_exists(JPATH_ROOT . $custom)) { return KRequest::root() . $custom; } elseif ($isMorph && file_exists(JPATH_ROOT . $themelet)) { return KRequest::root() . $themelet; } elseif (file_exists(JPATH_BASE . $overriden)) { return KRequest::base() . $overriden; } elseif (file_exists(JPATH_ROOT . $default)) { return KRequest::root() . $default; } elseif (file_exists(JPATH_ROOT . $fallback)) { return KRequest::root() . $fallback; } elseif (file_exists(JPATH_ROOT . $framework)) { return KRequest::root() . $framework; } return false; }