Example #1
0
 protected function _prepareCollection()
 {
     Mage::getSingleton('mailchimp/webHooks')->updateController();
     $collection = Mage::getSingleton('mailchimp/mysql4_helper_collection');
     $lists = Mage::getSingleton('mailchimp/source_lists')->toOptionArray();
     if (is_array($lists) && count($lists)) {
         foreach ($lists as $list) {
             if ($list['value']) {
                 $id = $list['value'];
                 $return = Mage::getSingleton('mailchimp/webHooks')->mainWebHooksAction($id);
                 $item = new Varien_Object();
                 $item->setListId($id)->setName($list['label'])->setSubscribe((bool) $return['actions']['subscribe'])->setUnsubscribe((bool) $return['actions']['unsubscribe'])->setProfile((bool) $return['actions']['profile'])->setCleaned((bool) $return['actions']['cleaned'])->setUpemail((bool) $return['actions']['upemail'])->setUser((bool) $return['sources']['user'])->setAdmin((bool) $return['sources']['admin'])->setApi((bool) $return['sources']['api']);
                 $collection->addItem($item);
             }
         }
     }
     $this->setCollection($collection);
     if ($this->getCollection()) {
         $this->_preparePage();
         $columnId = $this->getParam($this->getVarNameSort(), $this->_defaultSort);
         $dir = $this->getParam($this->getVarNameDir(), $this->_defaultDir);
         $filter = $this->getParam($this->getVarNameFilter(), null);
         if (is_null($filter)) {
             $filter = $this->_defaultFilter;
         }
         if (is_string($filter)) {
             $data = $this->helper('adminhtml')->prepareFilterString($filter);
             $this->_setFilterValues($data);
         } else {
             if ($filter && is_array($filter)) {
                 $this->_setFilterValues($filter);
             } else {
                 if (0 !== sizeof($this->_defaultFilter)) {
                     $this->_setFilterValues($this->_defaultFilter);
                 }
             }
         }
         if (isset($this->_columns[$columnId]) && $this->_columns[$columnId]->getIndex()) {
             $dir = strtolower($dir) == 'desc' ? 'desc' : 'asc';
             $this->_columns[$columnId]->setDir($dir);
             $column = $this->_columns[$columnId]->getFilterIndex() ? $this->_columns[$columnId]->getFilterIndex() : $this->_columns[$columnId]->getIndex();
             $this->setCollection($this->getCollection()->sortCollection($column, $dir));
         }
         $this->getCollection()->load();
         $this->_afterLoadCollection();
     }
     return $this;
 }