public static function updateSettings($action)
 {
     $setting = array();
     $formData = $action->getRequestParameter("edit");
     $posted = $formData[0];
     if (class_exists("GraphUtil")) {
         $setting = GraphUtil::getDefaultSettingByName($posted['name']);
     }
     if (!isset($posted['default'])) {
         $userSetting = array();
         foreach ($setting as $key => $value) {
             if (is_array($value)) {
                 foreach ($value as $k => $v) {
                     $userSetting[$key][$k] = isset($posted[$key . "_" . $k]) ? $posted[$key . "_" . $k] : false;
                 }
             }
         }
         $setting = $userSetting;
     }
     $obj = afWidgetSettingPeer::retrieveByPK($posted['id']);
     if (!$obj) {
         $obj = new afWidgetSetting();
         $obj->setUser($action->getUser()->getAppFlowerUser()->getId());
         $obj->setName($posted['name']);
     }
     $obj->setSetting(json_encode($setting));
     $obj->save();
     $message = 'Settings successfully saved';
     return $action->renderText(json_encode(array('success' => true, 'message' => $message)));
 }
 /**
  * Exclude object from result
  *
  * @param     afWidgetSetting $afWidgetSetting Object to remove from the list of results
  *
  * @return    afWidgetSettingQuery The current query, for fluid interface
  */
 public function prune($afWidgetSetting = null)
 {
     if ($afWidgetSetting) {
         $this->addUsingAlias(afWidgetSettingPeer::ID, $afWidgetSetting->getId(), Criteria::NOT_EQUAL);
     }
     return $this;
 }