BP_Group_Extension::parse_legacy_properties()
Parse legacy properties.
Description Description
The old standard for BP_Group_Extension was for plugins to register their settings as properties in their constructor. The new method is to pass a config array to the init() method. In order to support legacy plugins, we slurp up legacy properties, and later on we’ll parse them into the new init() array.
Source Source
File: bp-groups/classes/class-bp-group-extension.php
protected function parse_legacy_properties() { // Only run this one time. if ( ! empty( $this->legacy_properties_converted ) ) { return; } $properties = $this->get_legacy_property_list(); // By-reference variable for convenience. $lpc =& $this->legacy_properties_converted; foreach ( $properties as $property ) { // No legacy config exists for this key. if ( ! isset( $this->{$property} ) ) { continue; } // Grab the value and record it as appropriate. $value = $this->{$property}; switch ( $property ) { case 'enable_create_step' : $lpc['screens']['create']['enabled'] = (bool) $value; break; case 'enable_edit_item' : $lpc['screens']['edit']['enabled'] = (bool) $value; break; case 'enable_admin_item' : $lpc['screens']['admin']['enabled'] = (bool) $value; break; case 'create_step_position' : $lpc['screens']['create']['position'] = $value; break; // Note: 'admin' becomes 'edit' to distinguish from Dashboard 'admin'. case 'admin_name' : $lpc['screens']['edit']['name'] = $value; break; case 'admin_slug' : $lpc['screens']['edit']['slug'] = $value; break; case 'create_name' : $lpc['screens']['create']['name'] = $value; break; case 'create_slug' : $lpc['screens']['create']['slug'] = $value; break; case 'admin_metabox_context' : $lpc['screens']['admin']['metabox_context'] = $value; break; case 'admin_metabox_priority' : $lpc['screens']['admin']['metabox_priority'] = $value; break; default : $lpc[ $property ] = $value; break; } } }
Changelog Changelog
Version | Description |
---|---|
1.8.0 | Introduced. |