File "themes-widget.php"
Full Path: /home/vantageo/public_html/cache/cache/cache/cache/.wp-cli/wp-content/plugins/mojo-marketplace-wp-plugin/inc/themes-widget.php
File size: 8.4 KB
MIME-type: text/x-php
Charset: utf-8
<?php
/*
This file creates the widget for themes
*/
class MOJO_Widget extends WP_Widget {
var $defaults = array(
'mojo-title' => 'Mojo Marketplace',
'mojo-platform' => 'wordpress',
'mojo-type' => 'themes',
'mojo-items' => 'recent',
'mojo-image-size' => 'thumbnail',
'mojo-quantity' => '3',
'mojo-preview' => 'off',
'mojo-seller' => '',
'mojo-aff-id' => '',
);
public function __construct() {
$this->defaults['mojo-title'] = __( 'Mojo Marketplace', 'mojo-marketplace-wp-plugin' );
parent::__construct(
'mojo_widget',
__( 'MOJO WordPress Themes', 'mojo-marketplace-wp-plugin' ),
array( 'description' => __( 'Add Themes/Plugins from MOJO.', 'mojo-marketplace-wp-plugin' ) )
);
}
public function form( $instance ) {
$instance = wp_parse_args( $instance, $this->defaults );
?>
<label for="<?php echo $this->get_field_name( 'mojo-title' ); ?>"><?php esc_html_e( 'Title', 'mojo-marketplace-wp-plugin' ); ?>:</label>
<input class="widefat" id="<?php echo $this->get_field_id( 'mojo-title' ); ?>" name="<?php echo $this->get_field_name( 'mojo-title' ); ?>" type="text" value="<?php echo esc_attr( $instance['mojo-title'] ); ?>" />
<label for="<?php echo $this->get_field_name( 'mojo-platform' ); ?>"><?php esc_html_e( 'Platform', 'mojo-marketplace-wp-plugin' ); ?>:</label>
<select class="widefat mojo-wid-type" id="<?php echo $this->get_field_id( 'mojo-platform' ); ?>" name="<?php echo $this->get_field_name( 'mojo-platform' ); ?>">
<option value='wordpress' <?php selected( $instance['mojo-platform'], 'WordPress', true ); ?>><?php esc_html_e( 'WordPress', 'mojo-marketplace-wp-plugin' ); ?></option>
<option value='joomla' <?php selected( $instance['mojo-platform'], 'joomla', true ); ?>><?php esc_html_e( 'Joomla', 'mojo-marketplace-wp-plugin' ); ?></option>
<option value='drupal' <?php selected( $instance['mojo-platform'], 'drupal', true ); ?>><?php esc_html_e( 'Drupal', 'mojo-marketplace-wp-plugin' ); ?></option>
<option value='magento' <?php selected( $instance['mojo-platform'], 'magento', true ); ?>><?php esc_html_e( 'Magento', 'mojo-marketplace-wp-plugin' ); ?></option>
<option value='prestashop' <?php selected( $instance['mojo-platform'], 'prestashop', true ); ?>><?php esc_html_e( 'PrestaShop', 'mojo-marketplace-wp-plugin' ); ?></option>
</select>
<label for="<?php echo $this->get_field_name( 'mojo-type' ); ?>">Type:</label>
<select class="widefat mojo-wid-type" id="<?php echo $this->get_field_id( 'mojo-type' ); ?>" name="<?php echo $this->get_field_name( 'mojo-type' ); ?>">
<option value='themes' <?php selected( $instance['mojo-type'], 'themes', true ); ?>><?php esc_html_e( 'Themes', 'mojo-marketplace-wp-plugin' ); ?></option>
<option value='plugins' <?php selected( $instance['mojo-type'], 'plugins', true ); ?>><?php esc_html_e( 'Plugins', 'mojo-marketplace-wp-plugin' ); ?></option>
</select>
<label for="<?php echo $this->get_field_name( 'mojo-items' ); ?>">Items:</label>
<select class="widefat mojo-wid-type" id="<?php echo $this->get_field_id( 'mojo-items' ); ?>" name="<?php echo $this->get_field_name( 'mojo-items' ); ?>">
<option value='popular' <?php selected( $instance['mojo-items'], 'popular', true ); ?>><?php esc_html_e( 'Popular', 'mojo-marketplace-wp-plugin' ); ?></option>
<option value='recent' <?php selected( $instance['mojo-items'], 'recent', true ); ?>><?php esc_html_e( 'Recent', 'mojo-marketplace-wp-plugin' ); ?></option>
</select>
<label for="<?php echo $this->get_field_name( 'mojo-image-size' ); ?>">Image Size:</label>
<select class="widefat mojo-wid-type" id="<?php echo $this->get_field_id( 'mojo-image-size' ); ?>" name="<?php echo $this->get_field_name( 'mojo-image-size' ); ?>">
<option value='square_thumbnail_url' <?php selected( $instance['mojo-image-size'], 'square_thumbnail_url', true ); ?>><?php esc_html_e( 'Square Thumbnail', 'mojo-marketplace-wp-plugin' ); ?></option>
<option value='thumbnail_url' <?php selected( $instance['mojo-image-size'], 'thumbnail_url', true ); ?>><?php esc_html_e( 'Thumbnail', 'mojo-marketplace-wp-plugin' ); ?></option>
<option value='large_thumbnail_url' <?php selected( $instance['mojo-image-size'], 'large_thumbnail_url', true ); ?>><?php esc_html_e( 'Large', 'mojo-marketplace-wp-plugin' ); ?></option>
</select>
<label for="<?php echo $this->get_field_name( 'mojo-seller' ); ?>"><?php esc_html_e( 'Seller Profile <small>(optional)</small>', 'mojo-marketplace-wp-plugin' ); ?>:</label>
<input class="widefat" id="<?php echo $this->get_field_id( 'mojo-seller' ); ?>" name="<?php echo $this->get_field_name( 'mojo-seller' ); ?>" type="text" value="<?php echo esc_attr( $instance['mojo-seller'] ); ?>" />
<label for="<?php echo $this->get_field_name( 'mojo-preview' ); ?>"><?php esc_html_e( 'Preview on hover', 'mojo-marketplace-wp-plugin' ); ?>:</label>
<input type="checkbox" id="<?php echo $this->get_field_id( 'mojo-preview' ); ?>" name="<?php echo $this->get_field_name( 'mojo-preview' ); ?>" <?php checked( $instance['mojo-preview'], 'on', true ); ?>/>
<label for="<?php echo $this->get_field_name( 'mojo-quantity' ); ?>"><?php esc_html_e( 'Quantity', 'mojo-marketplace-wp-plugin' ); ?>:</label>
<select id="<?php echo $this->get_field_id( 'mojo-quantity' ); ?>" name="<?php echo $this->get_field_name( 'mojo-quantity' ); ?>">
<?php
for ( $i = 1; $i <= 10; $i++ ) {
?>
<option value='<?php echo $i; ?>' <?php selected( $instance['mojo-quantity'], $i, true ); ?>><?php echo $i; ?></option>
<?php
}
?>
</select>
<br/>
<?php
if ( defined( 'MMAFF' ) && $instance['mojo-aff-id'] == MMAFF ) {
$instance['mojo-aff-id'] = '';
}
?>
<label for="<?php echo $this->get_field_name( 'mojo-aff-id' ); ?>"><?php esc_html_e( 'Affiliate ID', 'mojo-marketplace-wp-plugin' ); ?>:</label>
<input class="widefat" id="<?php echo $this->get_field_id( 'mojo-aff-id' ); ?>" name="<?php echo $this->get_field_name( 'mojo-aff-id' ); ?>" type="text" value="<?php echo esc_attr( $instance['mojo-aff-id'] ); ?>" />
</p>
<?php
}
public function widget( $args, $instance ) {
$instance = wp_parse_args( $instance, $this->defaults );
$query = array();
if ( $instance['mojo-platform'] == 'WordPress' && $instance['mojo-type'] == 'plugins' ) {
$instance['mojo-type'] = 'themes'; // Because MOJO Cannot sell WP plugins...
}
if ( $instance['mojo-quantity'] != 10 ) {
$query['count'] = $instance['mojo-quantity'];
}
if ( 2 < strlen( $instance['mojo-seller'] ) ) {
$query['seller'] = $instance['mojo-seller'];
}
if ( 'on' == $instance['mojo-preview'] ) {
global $use_mm_styles;
$use_mm_styles = true;
}
$items = mm_api( $instance, $query );
/*if there are no popular items show default*/
if ( strlen( $items['body'] ) < $instance['mojo-quantity'] and $instance['mojo-items'] == 'popular' ) {
$items = mm_api();
}
if ( ! is_wp_error( $items ) ) {
$items = json_decode( $items['body'] );
$aff_id = ( isset( $instance['mojo-aff-id'] ) and strlen( $instance['mojo-aff-id'] ) > 0 ) ? $instance['mojo-aff-id'] : '';
$content = '';
$count = 0;
foreach ( $items as $item ) {
$item->name = apply_filters( 'mm_item_name', $item->name );
$content .= '<div class="mojo-widget-item wp-caption" style="margin:15px 0px;">';
$content .= '<a target="_blank" href="' . mm_build_link(
$item->page_url,
array(
'r' => $aff_id,
'utm_medium' => 'plugin_widget',
'utm_content' => 'item_thumbnail',
)
) . '"><img style="display:block;margin: 0 auto;max-width: 100%;" src="' . $item->images->{$instance['mojo-image-size']} . '" /></a>';
if ( 'on' == $instance['mojo-preview'] ) {
$content .= '<a target="_blank" class="mojo-widget-preview" href="' . mm_build_link(
$item->page_url,
array(
'r' => $aff_id,
'utm_medium' => 'plugin_widget',
'utm' => 'item_thumbnail_hover_preview',
)
) . '"><img src="' . $item->images->preview_url . '" /></a>';
}
$content .= '<p class="wp-caption-text">' . $item->name . '</p>';
$content .= '</div>';
$count++;
}
$title = apply_filters( 'widget_title', $instance['mojo-title'] );
echo $args['before_widget'];
if ( ! empty( $title ) ) {
echo $args['before_title'] . $title . $args['after_title'];
}
echo $content;
echo $args['after_widget'];
}
}
}
function mm_register_widget() {
register_widget( 'Mojo_Widget' );
}
add_action( 'widgets_init', 'mm_register_widget' );