<?php 
    echo awpcp_form_error('start_date', $errors);
    ?>
        </p>

        <p class="awpcp-form-spacer">
            <label for="end-date"><?php 
    echo esc_html(_x('End Date', 'ad details form', 'AWPCP'));
    echo $required['end-date'] ? '*' : '';
    ?>
</label>
            <?php 
    $date = awpcp_datetime('awpcp-date', $form['end_date']);
    ?>
            <input class="inputbox" id="end-date" type="text" size="50" datepicker-placeholder value="<?php 
    echo awpcp_esc_attr($date);
    ?>
" />
            <input type="hidden" name="end_date" value="<?php 
    echo esc_attr(awpcp_datetime('Y/m/d', $form['end_date']));
    ?>
" />
            <?php 
    echo awpcp_form_error('end_date', $errors);
    ?>
        </p>

        <?php 
}
?>
echo $required ? '*' : '';
if (!empty($help_text)) {
    ?>
&nbsp;<span class="helptext"><?php 
    echo esc_html($help_text);
    ?>
</span><?php 
}
?>
</label>
    <input class="inputbox <?php 
echo esc_attr($validators);
?>
" id="<?php 
echo esc_attr($html['id']);
?>
" <?php 
echo $html['readonly'] ? 'readonly="readonly"' : '';
?>
 type="text" size="50" name="<?php 
echo esc_attr($html['name']);
?>
" value="<?php 
echo awpcp_esc_attr($value);
?>
" />
    <?php 
echo awpcp_form_error($html['name'], $errors);
?>
</p>
 function awpcp_extra_fields_render_field($field, $value, $category, $context, $errors = array())
 {
     $label = stripslashes_deep($field->field_label);
     $name = "awpcp-{$field->field_name}";
     $type = $field->field_input_type;
     $id = $name;
     $classes = array_filter(array('awpcp-form-spacer', 'awpcp-extra-field', "awpcp-extra-field-{$field->field_name}"));
     foreach ($field->field_category as $category_id) {
         $classes[] = "awpcp-extra-field-category-{$category_id}";
     }
     $all_categories = awpcp_get_categories_ids();
     // always show field if no category is selected or all categories are selected
     if (empty($field->field_category) || count(array_diff($all_categories, $field->field_category)) == 0) {
         $classes[] = 'awpcp-extra-field-always-visible';
         // hide fields that belong to a different category
     } else {
         if (!empty($category) && !in_array($category, $field->field_category)) {
             $classes[] = 'awpcp-extra-field-hidden';
         }
     }
     $validators = array();
     switch ($field->field_validation) {
         case 'email':
             $validators[] = 'email';
             break;
         case 'url':
             $validators[] = 'url';
             break;
         case 'currency':
             $validators[] = 'money';
             break;
         case 'missing':
             $validators[] = 'required';
             break;
         case 'numericdeci':
             $validators[] = 'number';
             break;
         case 'numericnodeci':
             $validators[] = 'integer';
             break;
     }
     if ($context != 'search' && $field->required && $field->field_validation != 'missing') {
         $validators[] = 'required';
     }
     $validator = join(' ', $validators);
     /* Range Search support */
     $has_numeric_data_type = in_array($field->field_mysql_data_type, array('INT', 'FLOAT'));
     $has_numeric_validator = in_array($field->field_validation, array('numericdeci', 'numericnodeci'));
     $is_single_valued = in_array($type, array('Input Box', 'Select', 'Radio Button'));
     // TODO: pass min and max values
     if ($context == 'search' && $is_single_valued && ($has_numeric_validator || $has_numeric_data_type)) {
         $id = "awpcp-extra-field-{$name}-min";
         $body = '<span class="awpcp-range-search">';
         $body .= '<label for="%1$s-min">' . __('Min', 'awpcp-extra-fields') . '</label>';
         $body .= '<input id="%1$s-min" class="inputbox %2$s" type="text" name="%3$s-min" value="%4$s">';
         $body .= '<label for="%1$s-max">' . __('Max', 'awpcp-extra-fields') . '</label>';
         $body .= '<input id="%1$s-max" class="inputbox %2$s" type="text" name="%3$s-max" value="%5$s">';
         $body .= '</span>';
         if (!is_array($value)) {
             $value = stripslashes_deep(array('min' => $value, 'max' => $value));
         }
         $body = sprintf($body, "awpcp-extra-field-{$name}", $validator, $name, $value['min'], $value['max']);
         /* Normal Input */
     } else {
         if ($type == 'Input Box') {
             $body = '<input id="%s" class="inputbox %s" type="text" name="%s" value="%s">';
             $body = sprintf($body, $name, $validator, $name, stripslashes($value));
         } else {
             if ($type == 'Select') {
                 $options = array(sprintf('<option value="">%s</option>', __('Select One', 'awpcp-extra-fields')));
                 foreach ($field->field_options as $option) {
                     $option = trim($option);
                     $_html = '<option %s value="%s">%s</option>';
                     $_html = sprintf($_html, $value == $option ? 'selected' : '', awpcp_esc_attr($option), stripslashes($option));
                     $options[] = $_html;
                 }
                 $body = sprintf('<select id="%s" class="%s" name="%s">%s</select>', $name, $validator, $name, join('', $options));
             } else {
                 if ($type == 'Textarea Input') {
                     $body = '<textarea id="%s" class="awpcp-textarea textareainput %s" name="%s" rows="10" cols="50">%s</textarea>';
                     $body = sprintf($body, $name, $validator, $name, awpcp_esc_textarea($value));
                 } else {
                     if ($type == 'Radio Button') {
                         $options = array();
                         foreach ($field->field_options as $option) {
                             $_html = '<label class="secondary-label"><input class="%s" type="radio" %s name="%s" value="%s">%s</label><br>';
                             $_html = sprintf($_html, $validator, $value == $option ? 'checked' : '', $name, awpcp_esc_attr($option), stripslashes($option));
                             $options[] = $_html;
                         }
                         $body = join('', $options);
                     } else {
                         if ($type == 'Select Multiple') {
                             $value = is_array($value) ? $value : explode(',', $value);
                             $options = array();
                             foreach ($field->field_options as $option) {
                                 $option = trim($option);
                                 $_html = '<option %s value="%s">%s</option>';
                                 $options[] = sprintf($_html, in_array($option, $value) ? 'selected' : '', awpcp_esc_attr($option), stripslashes($option));
                             }
                             $body = '<select id="%s" class="%s" name="%s[]" multiple style="width:25%%;height:100px">%s</select>';
                             $body = sprintf($body, $name, $validator, $name, join('', $options));
                         } else {
                             if ($type == 'Checkbox') {
                                 $value = is_array($value) ? $value : explode(',', $value);
                                 $options = array();
                                 foreach ($field->field_options as $option) {
                                     $_html = '<label class="secondary-label"><input class="%s" type="checkbox" %s name="%s[]" value="%s">%s</label><br>';
                                     $options[] = sprintf($_html, $validator, in_array($option, $value) ? 'checked' : '', $name, awpcp_esc_attr($option), stripslashes($option));
                                 }
                                 $body = join('', $options);
                             }
                         }
                     }
                 }
             }
         }
     }
     $error = awpcp_form_error($field->field_name, $errors);
     $html = '<p class="%s" data-category="%s"><label for="%s">%s</label>%s %s</p>';
     return sprintf($html, join(' ', $classes), join(',', $field->field_category), $id, $label, $body, $error);
 }
예제 #4
0
/**
 * @since 3.0
 */
function awpcp_do_placeholder_images($ad, $placeholder)
{
    global $wpdb;
    global $awpcp_imagesurl;
    static $replacements = array();
    if (isset($replacements[$ad->ad_id])) {
        return $replacements[$ad->ad_id][$placeholder];
    }
    $placeholders = array('featureimg' => '', 'awpcpshowadotherimages' => '', 'images' => '', 'awpcp_image_name_srccode' => '');
    $url = awpcp_listing_renderer()->get_view_listing_url($ad);
    $thumbnail_width = get_awpcp_option('displayadthumbwidth');
    if (awpcp_are_images_allowed()) {
        $images_uploaded = $ad->count_image_files();
        $primary_image = awpcp_media_api()->get_ad_primary_image($ad);
        $gallery_name = 'awpcp-gallery-' . $ad->ad_id;
        if ($primary_image) {
            $large_image = $primary_image->get_large_image_url('large');
            $thumbnail = $primary_image->get_primary_thumbnail_url('primary');
            if (get_awpcp_option('show-click-to-enlarge-link', 1)) {
                $link = '<a class="thickbox enlarge" href="%s">%s</a>';
                $link = sprintf($link, $large_image, __('Click to enlarge image.', 'AWPCP'));
            } else {
                $link = '';
            }
            // single ad
            $content = '<div class="awpcp-ad-primary-image">';
            $content .= '<a class="awpcp-listing-primary-image-thickbox-link thickbox thumbnail" href="%s" rel="%s">';
            $content .= '<img class="thumbshow" src="%s"/>';
            $content .= '</a>%s';
            $content .= '</div>';
            $placeholders['featureimg'] = sprintf($content, esc_attr($large_image), $gallery_name, esc_attr($thumbnail), $link);
            // listings
            $content = '<a class="awpcp-listing-primary-image-listing-link" href="%s"><img src="%s" width="%spx" border="0" alt="%s" /></a>';
            $content = sprintf($content, $url, $thumbnail, $thumbnail_width, awpcp_esc_attr($ad->ad_title));
            $placeholders['awpcp_image_name_srccode'] = $content;
        }
        if ($images_uploaded >= 1) {
            $results = awpcp_media_api()->find_public_images_by_ad_id($ad->ad_id);
            $columns = get_awpcp_option('display-thumbnails-in-columns', 0);
            $rows = $columns > 0 ? ceil(count($results) / $columns) : 0;
            $shown = 0;
            $images = array();
            foreach ($results as $image) {
                $large_image = $image->get_url('large');
                $thumbnail = $image->get_url('thumbnail');
                if ($columns > 0) {
                    $css = join(' ', awpcp_get_grid_item_css_class(array(), $shown, $columns, $rows));
                } else {
                    $css = '';
                }
                $content = '<li class="%s">';
                $content .= '<a class="thickbox" href="%s" rel="%s">';
                $content .= '<img class="thumbshow" src="%s" />';
                $content .= '</a>';
                $content .= '</li>';
                $images[] = sprintf($content, esc_attr($css), esc_attr($large_image), esc_attr($gallery_name), esc_attr($thumbnail));
                $shown = $shown + 1;
            }
            $placeholders['awpcpshowadotherimages'] = join('', $images);
            $content = '<ul class="awpcp-single-ad-images">%s</ul>';
            $placeholders['images'] = sprintf($content, $placeholders['awpcpshowadotherimages']);
        }
    }
    // fallback thumbnail
    if (awpcp_are_images_allowed() && empty($placeholders['awpcp_image_name_srccode'])) {
        $thumbnail = sprintf('%s/adhasnoimage.png', $awpcp_imagesurl);
        $content = '<a class="awpcp-listing-primary-image-listing-link" href="%s"><img src="%s" width="%spx" border="0" alt="%s" /></a>';
        $content = sprintf($content, $url, $thumbnail, $thumbnail_width, awpcp_esc_attr($ad->ad_title));
        $placeholders['awpcp_image_name_srccode'] = $content;
    }
    $placeholders['featureimg'] = apply_filters('awpcp-featured-image-placeholder', $placeholders['featureimg'], 'single', $ad);
    $placeholders['awpcp_image_name_srccode'] = apply_filters('awpcp-featured-image-placeholder', $placeholders['awpcp_image_name_srccode'], 'listings', $ad);
    $placeholders['featured_image'] = $placeholders['featureimg'];
    $placeholders['imgblockwidth'] = "{$thumbnail_width}px";
    $placeholders['thumbnail_width'] = "{$thumbnail_width}px";
    $replacements[$ad->ad_id] = apply_filters('awpcp-placeholders-image', $placeholders, $ad);
    return $replacements[$ad->ad_id][$placeholder];
}
" />
        <?php 
}
?>

        <h2><?php 
echo esc_html(__('Resend Ad access key', 'AWPCP'));
?>
</h2>

        <p class="awpcp-form-spacer">
            <label for="ad-email"><?php 
echo esc_html(__('Enter your email address', 'AWPCP'));
?>
</label>
            <input class="inputbox" id="ad-email" type="text" size="50" name="ad_email" value="<?php 
echo awpcp_esc_attr($form['ad_email']);
?>
" />
            <?php 
echo awpcp_form_error('ad_email', $errors);
?>
        </p>

        <input type="submit" class="button" value="<?php 
echo esc_html(_x("Continue", 'send ad access key form', "AWPCP"));
?>
" />
	</form>
</div>
            <input class="inputbox" id="ad-email" type="text" size="50" name="ad_email" value="<?php 
echo awpcp_esc_attr($form['ad_email']);
?>
" />
            <?php 
echo awpcp_form_error('ad_email', $errors);
?>
        </p>

        <p class="awpcp-form-spacer">
            <label for="ad-key"><?php 
echo esc_html(__('Enter your Ad access key', 'AWPCP'));
?>
</label>
            <input class="inputbox" id="ad-key" type="text" size="50" name="ad_key" value="<?php 
echo awpcp_esc_attr($form['ad_key']);
?>
" />
            <?php 
echo awpcp_form_error('ad_key', $errors);
?>
            <br><a href="<?php 
echo esc_attr($send_access_key_url);
?>
"><?php 
echo esc_html(__('Click here to have your Ad access keys sent to you.', 'AWPCP'));
?>
</a>
        </p>

        <input type="submit" class="button" value="<?php