Exemplo n.º 1
0
  function psort($field, $property, $order = "ASC") {
    $sorted_items = $this->_items;

    self::$sort_field = $field;
    self::$sort_property = $property;
    
    if ($order == "ASC") {
      usort( $sorted_items, create_function('$a,$b', '$prop = MEOW_FieldSetCollection::$sort_property; return strcmp($a->f(MEOW_FieldSetCollection::$sort_field)->$prop(), $b->f(MEOW_FieldSetCollection::$sort_field)->$prop());'));
    } else {
      usort( $sorted_items, create_function('$a,$b', '$prop = MEOW_FieldSetCollection::$sort_property return strcmp($b->f(MEOW_FieldSetCollection::$sort_field)->$prop(), $a->f(MEOW_FieldSetCollection::$sort_field)->$prop());'));
    }
    
    return new MEOW_VirtualFieldSetCollection($sorted_items);
  }
Exemplo n.º 2
0
  function set($name, $object = NULL, $object_type = NULL) {
    
    $info = $this->infer_object($object, $object_type);
    
    extract($info);
    
    if ($object->exists()) {
      
      $site_id = $object->site_id();
      
      $here = isset($this->field_sets[$site_id][$object_type][$object->id][$name]);
      
      if ($here) {
        // the set needs to be refetched if it has been updated
        $here = !$this->field_sets[$site_id][$object_type][$object->id][$name]->is_updated();
      }
      
      if (!$here) {

        $set = new MEOW_FieldSetCollection($name, $object);
      
        if (!isset($this->field_sets[$site_id])) {
          $this->field_sets[$site_id] = array();
        }

        if (!isset($this->field_sets[$site_id][$object_type])) {
          $this->field_sets[$site_id][$object_type] = array();
        }

        if (!isset($this->field_sets[$site_id][$object_type][$object->id] )) {
          $this->field_sets[$site_id][$object_type][$object->id]  = array();
        }
        
        if ($set->exists()) {
          $this->field_sets[$site_id][$object_type][$object->id][$name] = $set;
        } else {
          $this->field_sets[$site_id][$object_type][$object->id][$name] = new WOOF_Silent(sprintf(__("Cannot find the field set named '%s'", MASTERPRESS_DOMAIN), $name));
        }
      
      }
    
      return $this->field_sets[$site_id][$object_type][$object->id][$name];
    
    }
    
    return new WOOF_Silent(__("No current object to retrieve the property or set named '$name'", MASTERPRESS_DOMAIN));

  }