/** * Add diff between stage post and production post. * * @param Post_Env_Diff $diff */ private function add_post_diff(Post_Env_Diff $diff) { // Store diff if it does not already exist. if (!isset($this->post_diffs[$diff->get_stage_id()])) { // Store diff in database. add_post_meta($this->batch->get_id(), 'sme_post_diff', $diff->to_array()); // Store diff in property. $this->post_diffs[$diff->get_stage_id()] = $diff; } }
/** * Get post environment diff object for a batch. * * @param Batch $batch * * @return array */ public function get_post_diffs(Batch $batch) { $objects = array(); $diffs = get_post_meta($batch->get_id(), 'sme_post_diff'); if (empty($diffs)) { return $objects; } foreach ($diffs as $diff) { $obj = new Post_Env_Diff($diff['stage_id']); $obj->set_revision_id($diff['revision_id']); $obj->set_prod_id($diff['prod_id']); $obj->set_stage_status($diff['stage_status']); $obj->set_parent_guid($diff['parent_guid']); $objects[$diff['stage_id']] = $obj; } return $objects; }