Skip to content

Commit

Permalink
Improved handling of wrapped and un-wrapped field data
Browse files Browse the repository at this point in the history
  • Loading branch information
Nathan Pitman committed Aug 9, 2014
1 parent a617392 commit 41edb75
Showing 1 changed file with 10 additions and 8 deletions.
18 changes: 10 additions & 8 deletions system/third_party/nf_categories_field/ft.nf_categories_field.php
Original file line number Diff line number Diff line change
Expand Up @@ -526,8 +526,8 @@ function replace_tag($data, $params = array(), $tagdata = FALSE) {
$settings = (isset($this->settings['nf_categories_field'])) ? $this->settings['nf_categories_field'] : $this->settings;
$settings = $this->_default_settings($settings);

// Explode the category string to an array
$categories = array_filter(explode($settings['delimiter'], $data));
// array_filter removes empty nodes, array_values re-indexes
$categories = array_values(array_filter(explode($settings['delimiter'], $data)));
// Remove the primary category (if set)
if (substr( $categories[0], 0, 1 ) === "p") {
unset($categories[0]);
Expand All @@ -554,16 +554,17 @@ function replace_tag($data, $params = array(), $tagdata = FALSE) {
return $parsed;
}

// {field_name:primary_id}
function replace_primary_id($data, $params = array(), $tagdata = FALSE)
// {field_name:primary_category_id}
function replace_primary_category_id($data, $params = array(), $tagdata = FALSE)
{

// Establish Settings
$settings = (isset($this->settings['nf_categories_field'])) ? $this->settings['nf_categories_field'] : $this->settings;
$settings = $this->_default_settings($settings);

$primary_cat_id = FALSE;
$categories = array_filter(explode($settings['delimiter'], $data));
// array_filter removes empty nodes, array_values re-indexes
$categories = array_values(array_filter(explode($settings['delimiter'], $data)));

if (substr( $categories[0], 0, 1 ) === "p") {
$primary_cat_id = ltrim($categories[0],'p');
Expand All @@ -572,16 +573,17 @@ function replace_primary_id($data, $params = array(), $tagdata = FALSE)
return $primary_cat_id;
}

// {field_name:primary_name}
function replace_primary_name($data, $params = array(), $tagdata = FALSE)
// {field_name:primary_category_name}
function replace_primary_category_name($data, $params = array(), $tagdata = FALSE)
{

// Establish Settings
$settings = (isset($this->settings['nf_categories_field'])) ? $this->settings['nf_categories_field'] : $this->settings;
$settings = $this->_default_settings($settings);

$primary_cat_name = FALSE;
$categories = array_filter(explode($settings['delimiter'], $data));
// array_filter removes empty nodes, array_values re-indexes
$categories = array_values(array_filter(explode($settings['delimiter'], $data)));

if (substr( $categories[0], 0, 1 ) === "p") {
$primary_cat_id = ltrim($categories[0],'p');
Expand Down

0 comments on commit 41edb75

Please sign in to comment.