/** * Save updated rows to meta data * @param array $data new data * @return array send back persisted data */ public function update($data) { if (!isset($data['elements'])) { $data['elements'] = array(); } if (is_wp_error($error = $this->validateRows($data['elements']))) { return $error; } if (isset($data['settings']) && $data['settings'] != '') { global $post; if (!isset($data['post_id']) || !($post = get_post($data['post_id']))) { return new WP_Error('cornerstone', 'Post ID not set'); } setup_postdata($post); $settingManager = new Cornerstone_Setting_Sections_Manager(); $settingManager->init(); foreach ($data['settings'] as $settingSection) { $settingManager->saveSection($settingSection); } wp_reset_postdata(); } $updated = array(); if (isset($data['elements']) && is_array($data['elements'])) { foreach ($data['elements'] as $row) { $updated[] = $this->sanitizeData($row); } } update_post_meta($this->post->ID, '_cornerstone_data', $updated); delete_post_meta($this->post->ID, '_cornerstone_override'); $newData = $this->get(); $content = $this->saveContent($data, $newData); $content .= $this->saveResponsiveText(); wp_update_post(array('ID' => $this->post->ID, 'post_content' => $content)); return $newData; }
public function settings() { Cornerstone_Setting_Sections_Manager::ajaxHandler(); }
/** * Create new instance to handle AJAX request */ public static function ajaxHandler() { self::$instance = new self(); return self::$instance->ajaxResponse(); }