Example #1
0
function awpcp_get_extra_fields_by_category($category, $args = array())
{
    $condition = "( field_category LIKE '%%\"%d\"%%' OR field_category = 'a:0:{}' OR field_category = '' )";
    $conditions = awpcp_get_extra_fields_conditions($args);
    $conditions[] = sprintf($condition, absint($category));
    return awpcp_get_extra_fields('WHERE ' . join(' AND ', $conditions));
}
 public function register_extra_form_fields($fields)
 {
     $extra_fields = awpcp_get_extra_fields();
     foreach ($extra_fields as $field) {
         $fields["awpcp-{$field->field_name}"] = 'awpcp_extra_form_field';
     }
     return $fields;
 }
 public function register_content_placeholders($placeholders)
 {
     $definition = array('callback' => array($this, 'render_content_placeholder'));
     foreach (awpcp_get_extra_fields() as $extra_field) {
         $placeholders["x_{$extra_field->field_name}_label"] = $definition;
         $placeholders["x_{$extra_field->field_name}_value"] = $definition;
         $placeholders["x_{$extra_field->field_name}_raw"] = $definition;
     }
     return $placeholders;
 }
Example #4
0
 public function __construct($options = array())
 {
     $this->options = wp_parse_args($options, $this->defaults);
     // load Extra Fields definitions
     if (defined('AWPCPEXTRAFIELDSMOD')) {
         foreach (awpcp_get_extra_fields() as $field) {
             $this->extra_fields[$field->field_name] = $field;
         }
     }
 }
 public function get_posted_data($data = array(), $context = false)
 {
     if ($context == 'search') {
         $conditions = awpcp_get_extra_fields_conditions(array('hide_private' => true, 'context' => 'search'));
         $fields = awpcp_get_extra_fields('WHERE ' . join(' AND ', $conditions));
         $data['keywordphrase'] = stripslashes(awpcp_request_param('keywordphrase', null));
         foreach ($fields as $field) {
             $field_slug = "awpcp-{$field->field_name}";
             if (isset($_REQUEST["awpcp-{$field->field_name}-min"])) {
                 $min = $this->parse_field_posted_data($field, awpcp_request_param("awpcp-{$field->field_name}-min", null));
                 $max = $this->parse_field_posted_data($field, awpcp_request_param("awpcp-{$field->field_name}-max", null));
                 if (!is_null($min) || !is_null($max)) {
                     $data[$field_slug] = array('min' => $min, 'max' => $max);
                 }
             } else {
                 if (isset($_REQUEST["awpcp-{$field->field_name}-from"])) {
                     $from_date = $this->parse_field_posted_data($field, awpcp_request_param("awpcp-{$field->field_name}-from", null));
                     $to_date = $this->parse_field_posted_data($field, awpcp_request_param("awpcp-{$field->field_name}-to", null));
                     if (!is_null($from_date) || !is_null($to_date)) {
                         $data[$field_slug] = array('from_date' => $from_date, 'to_date' => $to_date);
                     }
                 } else {
                     $data[$field_slug] = $this->parse_field_posted_data($field, awpcp_request_param($field_slug, null));
                 }
             }
         }
     }
     return $data;
 }
 private function get_fields()
 {
     $conditions = awpcp_get_extra_fields_conditions(array('hide_private' => true, 'context' => 'search'));
     return awpcp_get_extra_fields('WHERE ' . join(' AND ', $conditions));
 }
Example #7
0
 private function upgrade_to_1_0_3($version)
 {
     global $wpdb;
     /* Set TEXT as MySQL data type for columns that should store multiple values */
     $fields = awpcp_get_extra_fields();
     $inputs = array('Select Multiple', 'Checkbox');
     $query = "ALTER TABLE " . AWPCP_TABLE_ADS . " CHANGE `%s` `%s` TEXT COLLATE utf8_general_ci NOT NULL";
     foreach ($fields as $i => $field) {
         if (in_array($field->field_input_type, $inputs)) {
             $wpdb->query(sprintf($query, $field->field_name, $field->field_name));
         }
     }
 }