function get_state($data) { $state = array(); $settings = array(); $default = array('live' => array(), 'draft' => array()); $pageID = $data['pageID']; $typeID = $data['typeID']; // Local $settings['local'] = pl_meta($pageID, PL_SETTINGS); if ($typeID != $pageID) { $settings['type'] = pl_meta($typeID, PL_SETTINGS); } $settings['global'] = pl_opt(PL_SETTINGS); foreach ($settings as $scope => $set) { $set = wp_parse_args($set, $default); $scope = str_replace('map-', '', $scope); if ($set['draft'] != $set['live']) { $state[$scope] = $scope; } } if (count($state) > 1) { $state[] = 'multi'; } return $state; }
function update_objects($action = 'draft') { $all = pl_opt($this->slug); if ($action == 'publish') { $all['live'] = $all['draft']; } elseif ($action == 'revert') { $all['draft'] = $all['live']; } else { $all['draft'] = $this->objects; } pl_opt_update($this->slug, $all); }