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); }
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; }
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; }