function load()
 {
     ECF_Field::load();
     // check for delete request
     if (isset($_GET['delete_field']) && $_GET['delete_field'] == $this->name && isset($_GET['delete_value']) && is_admin()) {
         $delete_value = urldecode($_GET['delete_value']);
         $redirect_url = remove_query_arg(array('delete_field', 'delete_value'));
         if (!$this->is_multiply && $delete_value != $this->value) {
             header('Location: ' . $redirect_url);
             exit;
         } elseif ($this->is_multiply) {
             // go trhough every $this->values entry and check for equal meta_value
             $found = false;
             foreach ($this->values as $val) {
                 if ($val->meta_value == $delete_value) {
                     $found = true;
                     break;
                 }
             }
             if (!$found) {
                 header('Location: ' . $redirect_url);
                 exit;
             }
         }
         $this->delete($delete_value);
         $this->delete_meta($this->post_id, $this->name, $delete_value);
         header('Location: ' . $redirect_url);
         exit;
     }
 }
Esempio n. 2
0
 function load()
 {
     ECF_Field::load();
     if (isset($_GET['delete_field']) && $_GET['delete_field'] == $this->name && isset($_GET['delete_value']) && is_admin()) {
         $delete_value = urldecode($_GET['delete_value']);
         if (!$this->is_multiply && $delete_value != $this->value || $this->is_multiply && !in_array($delete_value, $this->values)) {
             return;
         }
         $this->delete($delete_value);
         delete_post_meta($this->post_id, $this->name, $delete_value);
         header('Location: ' . remove_query_arg(array('delete_field', 'delete_value')));
     }
 }