Skip to:
Content

BuddyPress.org

Changeset 8518


Ignore:
Timestamp:
06/15/2014 12:51:03 PM (10 years ago)
Author:
boonebgorges
Message:

Add 'option' to the whitelist of xprofile field types

The 'option' field type is not full-fledged, in the sense that it has an
associated BP_XProfile_Field_Type class; it is used only to save the values
that are child options of type 'radio', 'select', 'multiselect' and other
option-supporting field types. It is important that 'option' thus be added
manually to the field type whitelist, so that option fields can be created
programatically.

Fixes #5472

Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/bp-xprofile/bp-xprofile-loader.php

    r8277 r8518  
    103103        $this->field_types = apply_filters( 'xprofile_field_types', array_keys( bp_xprofile_get_field_types() ) );
    104104
     105        // 'option' is a special case. It is not a top-level field, so
     106        // does not have an associated BP_XProfile_Field_Type class,
     107        // but it must be whitelisted
     108        $this->field_types[] = 'option';
     109
    105110        // Register the visibility levels. See bp_xprofile_get_visibility_levels() to filter
    106111        $this->visibility_levels = array(
  • trunk/tests/phpunit/testcases/xprofile/functions.php

    r8178 r8518  
    569569        $this->assertEquals( 0, xprofile_get_field_data( 'Pens', $u ) );
    570570    }
     571
     572    /**
     573     * @group xprofile_insert_field
     574     */
     575    public function test_xprofile_insert_field_type_option() {
     576        $g = $this->factory->xprofile_group->create();
     577        $parent = $this->factory->xprofile_field->create( array(
     578            'field_group_id' => $g,
     579            'type' => 'selectbox',
     580            'name' => 'Parent',
     581        ) );
     582
     583        $f = xprofile_insert_field( array(
     584            'field_group_id' => $g,
     585            'parent_id' => $parent,
     586            'type' => 'option',
     587            'name' => 'Option 1',
     588            'field_order' => 5,
     589        ) );
     590
     591        $this->assertNotEmpty( $f );
     592    }
    571593}
Note: See TracChangeset for help on using the changeset viewer.