private function render_field_attribute($listing, $field_slug, $field_attribute)
 {
     $field = awpcp_get_extra_field_by_slug($field_slug);
     switch ($field_attribute) {
         case 'label':
             $output = $field->field_label;
             break;
         case 'value':
             $output = $this->render_field_value($field, get_field_value($listing->ad_id, $field_slug));
             break;
         case 'raw':
             $output = $this->render_field_raw_value($field, get_field_value($listing->ad_id, $field_slug));
             break;
     }
     return $output;
 }
 function awpcp_extra_form_field($slug)
 {
     $extra_field = awpcp_get_extra_field_by_slug(preg_replace('/^awpcp-/', '', $slug));
     return new AWPCP_ExtraFormField($slug, $extra_field, awpcp_request());
 }