示例#1
0
 function toggleItem($uid, $itemid)
 {
     $app = JFactory::getApplication('site');
     $sitemap = $this->getItem();
     $displayer = new XmapDisplayer($app->getParams(), $sitemap);
     $excludedItems = $displayer->getExcludedItems();
     if (isset($excludedItems[$itemid])) {
         $excludedItems[$itemid] = (array) $excludedItems[$itemid];
     }
     if (!$displayer->isExcluded($itemid, $uid)) {
         $excludedItems[$itemid][] = $uid;
         $state = 0;
     } else {
         if (is_array($excludedItems[$itemid]) && count($excludedItems[$itemid])) {
             $excludedItems[$itemid] = array_filter($excludedItems[$itemid], create_function('$var', 'return ($var != \'' . $uid . '\');'));
         } else {
             unset($excludedItems[$itemid]);
         }
         $state = 1;
     }
     $registry = new JRegistry('_default');
     $registry->loadArray($excludedItems);
     $str = $registry->toString();
     $db =& JFactory::getDBO();
     $query = "UPDATE #__xmap_sitemap set excluded_items='" . $db->escape($str) . "' where id=" . $sitemap->id;
     $db->setQuery($query);
     $db->query();
     return $state;
 }