/**
  * 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;
 }
Beispiel #2
0
 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();
 }