1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90
<?php
namespace REL\widgets;
use hji\common\interfaces\Widget as WidgetInterface;
use REL\RealEstateListings;
require_once(\hji\membership\Membership::$dir . '/common/interfaces/Widget.php');
class PocketListingsWidget extends WidgetInterface
{
function __construct()
{
$widget_ops = array(
'classname' => 'featured-listings',
'description' => __('Display pocket listings as featured.', 'rel')
);
$control_ops = array('width' => 300, 'height' => 350);
parent::__construct('featured-listings', __('HJI Featured Pocket Listings', 'rel'), $widget_ops, $control_ops);
}
function prepareWidget($args, $instance)
{
$instance = wp_parse_args($instance, array(
'title' => '',
'posts_per_page' => 10,
'style' => 'one-third',
));
return $instance;
}
function update($new_instance, $old_instance)
{
return $new_instance;
}
function prepareForm($instance)
{
$taxonomyTerms = $this->_getTaxonomyTerms();
if ($this->isTinyMcePlugin && is_wp_error($taxonomyTerms))
{
RealEstateListings::getInstance()->PocketListingsController->register_taxonomies();
$taxonomyTerms = $this->_getTaxonomyTerms();
}
$instance = wp_parse_args($instance, array(
'title' => '',
'posts_per_page' => 10,
'style' => 'one-third',
'taxonomyTerms' => $taxonomyTerms
));
return $instance;
}
function _getTaxonomyTerms()
{
$listings_taxonomies = (array)get_option('listing-taxonomies');
$taxonomies = array_keys($listings_taxonomies);
return get_terms($taxonomies);
}
function getFormTemplateFile()
{
return REL_VIEWS . 'widget-featured-listings-form.phtml';
}
function getWidgetTemplateFile()
{
return REL_VIEWS . 'widget-featured-listings-view.phtml';
}
}