示例#1
0
 private function render_item($item, $instance, $html_class)
 {
     $item_url = url_showad($item->ad_id);
     $item_title = sprintf('<a href="%s">%s</a>', $item_url, stripslashes($item->ad_title));
     if ($instance['show-title']) {
         $html_title = sprintf('<div class="awpcp-listing-title">%s</div>', $item_title);
     } else {
         $html_title = '';
     }
     if ($instance['show-excerpt']) {
         $excerpt = stripslashes(awpcp_utf8_substr($item->ad_details, 0, 50)) . "...";
         $read_more = sprintf('<a class="awpcp-widget-read-more" href="%s">[%s]</a>', $item_url, __('Read more', 'AWPCP'));
         $html_excerpt = sprintf('<div class="awpcp-listings-widget-item-excerpt">%s%s</div>', $excerpt, $read_more);
     } else {
         $html_excerpt = '';
     }
     $html_image = $this->render_item_image($item, $instance);
     if (!empty($html_image)) {
         $template = '<li class="awpcp-listings-widget-item %1$s"><div class="awpcplatestbox clearfix"><div class="awpcplatestthumb clearfix">%2$s</div>%3$s %4$s</div></li>';
     } else {
         $template = '<li class="awpcp-listings-widget-item %1$s"><div class="awpcplatestbox clearfix">%3$s %4$s</div></li>';
     }
     return sprintf($template, $html_class, $html_image, $html_title, $html_excerpt);
 }
示例#2
0
 protected function prepare_ad_details($details, $characters)
 {
     $allow_html = (bool) get_awpcp_option('allowhtmlinadtext');
     if (!$allow_html) {
         $details = esc_html($details);
     } else {
         $details = wp_kses_post($details);
     }
     if ($characters > 0 && awpcp_utf8_strlen($details) > $characters) {
         $details = awpcp_utf8_substr($details, 0, $characters);
     }
     if ($allow_html) {
         $details = force_balance_tags($details);
     }
     return $details;
 }
示例#3
0
function awpcp_get_ad_share_info($id)
{
    global $wpdb;
    $ad = AWPCP_Ad::find_by_id($id);
    $info = array();
    if (is_null($ad)) {
        return null;
    }
    $info['url'] = url_showad($id);
    $info['title'] = stripslashes($ad->ad_title);
    $info['description'] = strip_tags(stripslashes($ad->ad_details));
    $info['description'] = str_replace("\n", " ", $info['description']);
    if (awpcp_utf8_strlen($info['description']) > 300) {
        $info['description'] = awpcp_utf8_substr($info['description'], 0, 300) . '...';
    }
    $info['images'] = array();
    $info['published-time'] = awpcp_datetime('Y-m-d', $ad->ad_postdate);
    $info['modified-time'] = awpcp_datetime('Y-m-d', $ad->ad_last_updated);
    $images = awpcp_media_api()->find_by_ad_id($ad->ad_id, array('enabled' => true));
    foreach ($images as $image) {
        $info['images'][] = $image->get_url('large');
    }
    return $info;
}