/** * Extract arguments for Prepopulate from the array. * Build a 'query' array suitable for use by Prepopulate. * * @param $target : array * Array build from syntax defining arguments for use by the plugin. * Any elements recognized by freelinking_prepopulate will be used. * * @see freelinking_prepopulate_list_fields(), l() */ function freelinking_prepopulate_fields_from_array($plugin, $target) { $query = array(); $prepopulate = array_intersect_key(freelinking_prepopulate_list_fields($plugin), $target); foreach ($prepopulate as $field => $values) { // If it's an organic group, break the groups out to separate values. if ($field == 'og') { $query[$values['prepopulate']] = $target[$field]; } elseif ($field == 'taxonomy') { if (!strpos($target[$field], ':')) { $query[$values['prepopulate'] . '[1]'] = $target[$field]; continue; } list($vocab, $terms) = explode(':', $target[$field]); if (is_int($vocab)) { $query[$values['prepopulate'] . '[' . $vocab . ']'] = $terms; } else { $query[$values['prepopulate'] . '[1]'] = $terms; } } else { $query[$values['prepopuplate']] = $target[$field]; } } return $query; }
/** * Extract arguments for Prepopulate from the array. * Build a 'query' array suitable for use by Prepopulate. * * @param $target : array * Array build from syntax defining arguments for use by the plugin. * Any elements recognized by freelinking_prepopulate will be used. * * @see freelinking_prepopulate_list_fields(), l() */ function freelinking_prepopulate_fields_from_array($plugin, $target) { $query = array(); $prepopulate = array_intersect_key(freelinking_prepopulate_list_fields($plugin), $target); foreach ($prepopulate as $field => $values) { // If it's an organic group, break the groups out to separate values. if ($field == 'og') { $query[$values['prepopulate']] = $target[$field]; } else { $query[$values['prepopuplate']] = $target[$field]; } } return $query; }