예제 #1
0
 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;
 }
예제 #2
0
 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);
 }