Пример #1
0
 public static function find($args = array()) {
   $defaults = array(
     "where" => "`type` = 't'"
   );
   
   $r = wp_parse_args($args, $defaults);
   
   return parent::find($r);  
 }
Пример #2
0
 public static function find($args = array()) {
   $defaults = array(
     "where" => "`type` = 'x'"
   );
   
   $r = wp_parse_args($args, $defaults);
   
   return parent::find(self::k(__CLASS__), $r);  
 }
Пример #3
0
  protected function import_field_sets(&$field_sets, $lookup_criteria = '', $dir = '') {

    $import = array();
    
    $icon_dest = MASTERPRESS_CONTENT_MENU_ICONS_DIR;
    $icon_src = $dir.WOOF_DIR_SEP."icons".WOOF_DIR_SEP;
    
    if (isset($field_sets) && count($field_sets)) {
      
      foreach ($field_sets as $field_set) {
            
        // try to find a field set with the same specification
        // we need to UPDATE these, rather than creating a new ID, so that all relationships still hold
        
        $where = "`name` = '".$field_set["name"]."' ".$lookup_criteria;
      
        $data = $field_set;
        unset($data["id"], $data["fields"], $data["parent_id"], $data["description"], $data["templates_permission"], $data["sites"], $data["templates"]);

        $results = MPM_FieldSet::find( array( "where" => $where ) );

        $field_set_insert = true;
      
        if (count($results)) {
          $field_set_insert = false;
          $field_set_model = $results[0];
        } else {
          $field_set_model = new MPM_FieldSet();
        }

        $field_set_model->set($data, true);
      
        if ($field_set_insert) {
          $field_set_model->insert();
        } else {
          $field_set_model->update();
        }
      
        $field_set["fields_by_name"] = array();

        // install field set icons

        if (isset($field_set["icon"]) && !is_null($field_set["icon"]) && $field_set["icon"] != "") {
          $src = $icon_src.$field_set["icon"];
         
          if (file_exists($src)) {
            copy($src, $icon_dest.$field_set["icon"]);
          }
        }

        // now run through all of the fields inside the set
      
        foreach ($field_set["fields"] as $field) {
        
          $data = $field;
          
          unset($data["id"], $data["description"], $data["parent_id"], $data["allow_multiple"], $data["tooltip_help"], $data["post_types_inherit"], $data["sites"]);
          
          // if the field set already existed, we need to look up a field with the same name under that parent
          // it's very important to UPDATE these, rather than creating a new ID, so that all meta pointers are still correct
        
          $field_insert = true;

          $field_model = new MPM_Field();
        
          if ($field_set_insert) {
            $where = "`name` = '".$field["name"]."' AND `field_set_id` = ".$field_set_model->id;
          
            $results = MPM_Field::find(array( "where" => $where ));
          
            if (count($results)) {
              $field_model = $results[0];
              $field_insert = false;
            } 
          
          }
        
          $field_model->set($data, true);
          $field_model->field_set_id = $field_set_model->id;
        
          if (isset($field["icon"]) && !is_null($field["icon"]) && $field["icon"] != "") {
            $src = $icon_src.$field["icon"];
         
            if (file_exists($src)) {
              copy($src, $icon_dest.$field["icon"]);
            }
          }


          
          if ($field_insert) {
            $field_model->insert();
          } else {
            $field_model->update();
          }
        
          $field_set["fields_by_name"][$field["name"]] = $field;
        
        }
      
        $import[$field_set["name"]] = $field_set;
      
      }
    
    }
    
    return $import;
  }