/** * Find any {field} {/field} tag pair chunks in the template and * extract them for easier parsing in the main loop. * * The returned chunks will be passed to replace() as a third parameter. * * @param String The tagdata to be parsed * @param Object The preparser object. * @return Array The found custom field pair chunks */ public function pre_process($tagdata, EE_Channel_preparser $pre) { $pfield_chunk = array(); $prefix = $pre->prefix(); $channel = $pre->channel(); foreach ($channel->pfields as $site_id => $pfields) { $pfield_names = array_intersect($channel->cfields[$site_id], array_keys($pfields)); $pfield_chunk[$site_id] = array(); foreach ($pfield_names as $field_name => $field_id) { if (!$pre->has_tag_pair($field_name)) { continue; } $pfield_chunk[$site_id][$field_name] = ee()->api_channel_fields->get_pair_field($tagdata, $field_name, $prefix); } } return $pfield_chunk; }
/** * Check if header/footer is enabled. * * @param array A list of "disabled" features * @return Boolean Is disabled? */ public function disabled(array $disabled, EE_Channel_preparser $pre) { return !($pre->has_tag_pair('date_heading') or $pre->has_tag_pair('date_footer')); }
/** * Check if categories are enabled and requested in the template. * * @param array A list of "disabled" features * @return Boolean Is disabled? */ public function disabled(array $disabled, EE_Channel_preparser $pre) { return in_array('categories', $disabled) or !$pre->has_tag_pair('categories'); }