'Displays AdButler Ad Tags')); } /** * @param array $new_instance New saved widget state * @param array $old_instance Pre-existing widget state * * @return array The processed widget state ready to be saved to the db */ function update($new_instance, $old_instance) { global $abinst; $instance = $old_instance; if (is_numeric($new_instance['zone'])) { $instance['zone'] = strip_tags($new_instance['zone']); } switch ($new_instance['type']) { case 'asyncbeta': case 'asyncjs': case 'js': case 'iframe': case 'if_html': case 'img': $instance['type'] = $new_instance['type']; break; default: break; } $instance['secure'] = isset($new_instance['secure']) ? $new_instance['secure'] : false; if (preg_match('^\d+x\d+$^', $new_instance['size'])) { $instance['size'] = $new_instance['size']; } $instance['name'] = sanitize_text_field($new_instance['name']); switch ($new_instance['responsive']) { case 'FIXED': case 'AUTO': case 'INHERIT': $instance['responsive'] = $new_instance['responsive']; break; default: break; } $instance['extra_data'] = sanitize_text_field($new_instance['extra_data']); $instance['title'] = sanitize_text_field( $new_instance['title'] ); $def = array( 'adbutler_id' => get_option('adbutler_id'), 'host_name' => get_option('adbutler_host_name'), 'ssl_host_name' => get_option('adbutler_ssl_host_name'), 'zone_id' => $instance['zone'], 'type' => $instance['type'], 'secure' => $instance['secure'], 'extra_data' => $instance['extra_data'], 'size' => $instance['size'], 'name' => $instance['name'], 'responsive' => $instance['responsive'], ); if (!$instance['zone'] == 0) { $instance['adtag'] = $abinst->build_ad_tag($def); } return $instance; } /** * Our AdButler administration widget configuration form * * @param array $instance Widget state variables * * @return string|void */ function form($instance) { $zone = 0; $secure = 0; $type = 'js'; $size_hidden = '0x0'; $name_hidden = ''; $responsive_hidden = 'FIXED'; $extra_data = ''; $title = ''; if ($instance) { $zone = esc_attr($instance['zone']); $secure = esc_attr($instance['secure']); $type = esc_attr($instance['type']); $size_hidden = esc_attr($instance['size']); $name_hidden = esc_attr($instance['name']); $responsive_hidden = esc_attr($instance['responsive']); $extra_data = esc_attr($instance['extra_data']); $title = esc_attr($instance['title']); } $responsive_type_list = array( 'asyncjs' => 'Asynchronous JavaScript (Recommended)', 'asyncbeta' => 'Asynchronous JavaScript (1.1 Beta)', 'js' => 'JavaScript', 'iframe' => 'Iframe', 'if_html' => 'Iframe (HTML Only)', 'img' => 'Image (Basic)', ); $fixed_type_list = array( 'asyncjs' => 'Asynchronous JavaScript (Recommended)', 'asyncbeta' => 'Asynchronous JavaScript (1.1 Beta)', 'js' => 'JavaScript', 'img' => 'Image (Basic)', ); ?>