예제 #1
0
 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;
 }