'widget_adwit_banner', 'description' => __('Create and display your adwit-express ads', 'adwit'));
parent::WP_Widget('adwit_banner', __('Adwit-Banner', 'adwit'), $widget_ops);
}
function widget($args, $instance) {
extract($args);
$sizeid = trim($instance['sizeid']);
$key_id = trim($instance['key']);
$title = apply_filters('widget_title', $instance['title']);
if (empty($title))
$title = __('Adwit Banner', 'adwit');
echo "{$before_widget}{$before_title}" . esc_html($title) . "{$after_title}";
if (!empty($key_id) && $sizeid > 0) {
$bann_list = Adwit_Banner_Manager_Admin::_get_bann_list();
//Add new banner info into adwit_options (wp)
$bsizes = array();
foreach ($bann_list as $bk => $bv) {
if ($bv['id'] == $sizeid) {
$bsizes = explode('x', $bk);
break;
}
}
echo '
';
$script_pos = Adwit_Banner_Manager_Admin::_adwit_script_generator($key_id, $bsizes[0], $bsizes[1]);
echo $script_pos;
echo '';
}
echo $after_widget;
}
/** @see WP_Widget::update */
function update($new_instance, $old_instance) {
$instance = $old_instance;
if ($new_instance['sizeid'] != '') {
$adwit_data = adwit_options();
$instance['sizeid'] = trim(strip_tags(stripslashes($new_instance['sizeid'])));
$instance['title'] = trim(strip_tags(stripslashes($new_instance['title'])));
$instance['adwit_zone_name'] = trim(strip_tags(stripslashes(str_replace('-', '_', $new_instance['adwit_zone_name']))));
$tmp_sizeid = trim(strip_tags(stripslashes($new_instance['tmp_sizeid'])));
$wg_opt_list = $this->_adwit_widget_filter($tmp_sizeid);
$bann_list = Adwit_Banner_Manager_Admin::_get_bann_list();
$url_data = array();
$url_data['page_type'] = $instance['adwit_zone_name'];
$url_data['pos_v'] = $instance['sizeid'];
$url_data['pos_h'] = 0;
$url_data['size_id'] = $instance['sizeid'];
$url_data['status'] = 'on';
$url_data['publisher_id'] = $adwit_data['adwit_express_publisher_id'];
//Get zone key
$url_express_create_zone = ADWIT_HOME_URL . '/' . Adwit_Banner_Manager_Admin::adwit_generate_token('campaign_ads/zone_add', $url_data, $adwit_data['adwit_express_key']);
$get_zone_key = wp_remote_fopen($url_express_create_zone);
if (!empty($tmp_sizeid) && $tmp_sizeid > 0 && $tmp_sizeid != $new_instance['sizeid']) {
$url_data['status'] = 'off';
$url_data['pos_v'] = $tmp_sizeid;
$url_data['size_id'] = $tmp_sizeid;
$url_express_update_zone = ADWIT_HOME_URL . '/' . Adwit_Banner_Manager_Admin::adwit_generate_token('campaign_ads/zone_add', $url_data, $adwit_data['adwit_express_key']);
wp_remote_fopen($url_express_update_zone);
}
if (empty($tmp_sizeid) && $new_instance['sizeid'] > 0) {
$adwit_data['adwit_express_ads_enabled'] = 1;
update_option('adwit_options', $adwit_data);
}
//Add new banner info into adwit_options (wp)
$bsizes = array();
$img_bsize = '';
foreach ($bann_list as $bk => $bv) {
if ($bv['id'] == $new_instance['sizeid']) {
$img_bsize = $bk;
$bsizes = explode('x', $bk);
break;
}
}
$instance['page_type'] = $instance['adwit_zone_name'];
$instance['pos_v'] = $instance['sizeid'];
$instance['pos_h'] = 0;
$instance['width'] = $bsizes[0];
$instance['height'] = $bsizes[1];
$instance['bsize'] = $img_bsize;
$instance['key'] = $get_zone_key; //zone key
$instance['img_name'] = $img_bsize . '.png';
}
return $instance;
}
function _adwit_widget_filter($tmp_sizeid = '') {
$bann_list = Adwit_Banner_Manager_Admin::_get_bann_list();
return $bann_list;
}
/** @see WP_Widget::form */
function form($instance) {
//widget_adwit_banner
$instance = wp_parse_args((array) $instance, array('sizeid' => '', 'title' => '', 'adwit_zone_name'=>''));
$sizeid = esc_attr($instance['sizeid']);
$title = esc_attr($instance['title']);
$adwit_zone_name = esc_attr($instance['adwit_zone_name']);
$adwit_uid = '';
if ( empty($instance['sizeid']) && empty($instance['title']) && empty($instance['adwit_zone_name']) || !$instance['adwit_zone_name']){
$adwit_zone_name = 'widget_'.$this->id;
}else{
$adwit_widget_uname = trim(strip_tags(stripslashes(str_replace('-', '_', $instance['adwit_zone_name']))));
$adwit_uid_arr = explode('_', $adwit_widget_uname);
if (is_array($adwit_uid_arr) && !empty($adwit_uid_arr)){
$adwit_uid = $adwit_uid_arr[count($adwit_uid_arr)-1];
if (!empty($title)){
$adwit_uid = $title .'_'. $adwit_uid;
}
echo '';
}
}
echo '
';
$bann_list = $this->_adwit_widget_filter();
echo ' ' . __('Add Banner', 'adwit') . '
';
}
}