/**
  * Save crawler cms page relations
  *
  * @param Maverick_Crawler_Model_Crawler $crawler
  * @return $this
  */
 public function savePages($crawler)
 {
     $pageIds = $crawler->getPageIds();
     $oldPageIds = $this->getPageIds($crawler);
     $crawler->setIsChangedPages(false);
     $insert = array_diff($pageIds, $oldPageIds);
     $delete = array_diff($oldPageIds, $pageIds);
     $write = $this->_getWriteAdapter();
     if (!empty($insert)) {
         $data = array();
         foreach ($insert as $pageId) {
             if (empty($pageId)) {
                 continue;
             }
             $data[] = array('crawler_id' => (int) $crawler->getId(), 'page_id' => (int) $pageId);
         }
         if ($data) {
             $write->insertMultiple($this->_crawlerCmsTable, $data);
         }
     }
     if (!empty($delete)) {
         foreach ($delete as $pageId) {
             $where = array('crawler_id = ?' => (int) $crawler->getId(), 'page_id = ?' => (int) $pageId);
             $write->delete($this->_crawlerCmsTable, $where);
         }
     }
     if (!empty($insert) || !empty($delete)) {
         $crawler->setAffectedPageIds(array_merge($insert, $delete));
         $crawler->setIsChangedPages(true);
     }
     return $this;
 }