/**
  * Gets all the URLs which need to be banned
  * @param \ride\library\cms\node\Node $node Node to ban
  * @param string $baseUrl Base URL to the system
  * @param string $locale Code of the locale
  * @param boolean $recursive Flag to see if child nodes should be banned
  * @param array $result
  * @return array
  */
 protected function getBanUrls(Node $node, $baseUrl, $locale = null, $recursive = false, array $result = array())
 {
     if ($node instanceof SiteNode) {
         $recursive = true;
     }
     if ($locale === null) {
         $urls = $node->getUrls($baseUrl);
         $baseUrls = $urls;
         foreach ($baseUrls as $locale => $nodeUrl) {
             $urls = $this->getWidgetUrls($urls, $node, $locale, $nodeUrl);
         }
     } else {
         $nodeUrl = $node->getUrl($locale, $baseUrl);
         $urls = array($nodeUrl);
         $urls = $this->getWidgetUrls($urls, $node, $locale, $nodeUrl);
     }
     foreach ($urls as $url) {
         $result[$url] = $recursive;
         if (!$recursive) {
             $result[$url . '?'] = true;
         }
     }
     if (!$recursive || $node instanceof SiteNode) {
         return $result;
     }
     $children = $node->getChildren();
     if ($children) {
         foreach ($children as $child) {
             $result = $this->getBanUrls($child, $locale, $baseUrl, true, $result);
         }
     }
     return $result;
 }