public function update($new_instance, $old_instance)
 {
     // processes widget options to be saved
     $saveData = parent::updateWithDefault($this->plugin->getListingGridDefaults(), $new_instance, $old_instance);
     /* Advanced Mode */
     if ($saveData['mode'] == 'advanced') {
         if ($saveData['savedsearch'] == 'deleted') {
             /* Maintain the existing search criteria */
         } else {
             $criteria = $this->plugin->getSavedSearch($saveData['savedsearch']);
             $saveData['criteria'] = json_encode($criteria);
         }
         $saveData['zipcode'] = '';
         $saveData['city'] = '';
         $saveData['minprice'] = '';
         $saveData['maxprice'] = '';
         if ($saveData['keyid'] != '') {
             $criteria['keyid'] = $saveData['keyid'];
         }
     } else {
         /* Basic Mode */
         $criteria = array();
         if ($saveData['keyid'] != '') {
             $criteria['keyid'] = $saveData['keyid'];
         }
         if ($saveData['minprice'] != '') {
             $criteria['minprice'] = $saveData['minprice'];
         }
         if ($saveData['maxprice'] != '') {
             $criteria['maxprice'] = $saveData['maxprice'];
         }
         if ($saveData['city'] != '') {
             $criteria['city'] = $saveData['city'];
         }
         if ($saveData['zipcode'] != '') {
             $criteria['zipcode'] = $saveData['zipcode'];
         }
         $saveData['criteria'] = json_encode($criteria);
         $saveData['savedsearch'] = '';
     }
     return $saveData;
 }
 public function update($new_instance, $old_instance)
 {
     return parent::updateWithDefault($this->plugin->getQuickSearchDefaults(), $new_instance, $old_instance);
 }
 public function update($new_instance, $old_instance)
 {
     return parent::updateWithDefault($this->plugin->getFeaturedListingsDefaults(), $new_instance, $old_instance);
 }