function getSubDomain($uri, &$titlepage) { static $subdomains = null; $titlepage = false; $Itemid = $uri->getVar('Itemid'); $option = $uri->getVar('option'); if (is_null($subdomains)) { $db = JFactory::getDBO(); $query = "SELECT * FROM #__sef_subdomains"; $db->setQuery($query); $subdomains = $db->loadObjectList(); } for ($i = 0; $i < count($subdomains); $i++) { $Itemids = explode(",", $subdomains[$i]->Itemid); if ($Itemid == $subdomains[$i]->Itemid_titlepage) { // Check whole menu query $menu =& JSite::getMenu(true); $item = $menu->getItem($Itemid); if ($item != null) { // Check queries except Itemids $query1 = $uri->getQuery(true); $query2 = $item->query; if (isset($query1['Itemid'])) { unset($query1['Itemid']); } if (isset($query2['Itemid'])) { unset($query2['Itemid']); } if (SEFTools::arraysEqual($query1, $query2)) { $titlepage = true; } } return $subdomains[$i]->subdomain; } if ($option == $subdomains[$i]->option) { return $subdomains[$i]->subdomain; } if (strlen($subdomains[$i]->Itemid) && in_array($Itemid, $Itemids)) { return $subdomains[$i]->subdomain; } } return null; }