'AffinityClickInText', 'description' => 'In-line text ads.' ); $control_ops = array( 'width' => 200, 'height' => 300, 'id_base' => 'acintext','ac_widget_key'=>'','ac_widget_code'=>'' ); //create a wordpress widget using the above parameters as setting structures $this->WP_Widget( 'acintext', 'AffinityClick In-Text', $widget_ops, $control_ops ); } function control(){ } function form($instance) { #get all of our intext widgets $title = "Your Available In-Text Widgets:"; echo "

$title

"; echo ""; } function widget($args,$instance){ $default_code = ""; $result = str_replace("_WIDGETKEY_",$instance['ac_widget_key'],$default_code); #echo $instance['ac_widget_code']."asdf"; echo $result; } function register(){ register_sidebar_widget('AffinityClick_InText', array('AffinityClick_InText', 'widget')); register_widget_control('AffinityClick_InText', array('AffinityClick_InText', 'control')); } function update($new_instance, $old_instance) { $instance = $old_instance; $instance['ac_widget_key'] = strip_tags($new_instance['ac_widget_key']); #$instance['ac_widget_code'] = $new_instance['ac_widget_code']; return $instance; } function getwidgets($type){ global $AffinityClick; $username = get_option("affinityclick_email"); $password = get_option("affinityclick_password"); $login_url = $AffinityClick->getUrlFor('my')."/login.json?username=$username&password=$password"; $result = wp_remote_get($login_url, array('method'=>'GET','timeout'=>5,'redirection'=>1,'httpversion'=>'1.0','blocking'=>true,'headers'=>array(),'body'=>'','cookies'=>array())); if( is_wp_error( $result ) ) { #who cares? we get nothing from the server here. # return array($result->get_error_message()); $cookies = array(); } else { $cookies = $result['cookies']; } $widget_code_url=$AffinityClick->getUrlFor('api')."/widgets/code"; $result = wp_remote_get($widget_code_url, array('method'=>'GET','timeout'=>5,'redirection'=>1,'httpversion'=>'1.0','blocking'=>true,'headers'=>array(),'body'=>'','cookies'=>$cookies)); if( is_wp_error( $result ) ) { return array( 'Something went wrong getting your widget\'s code!'); } $widget_code = "foobar!";#urlencode($result['body']); $widget_url = $AffinityClick->getUrlFor('api')."/widgets.json"; $result = wp_remote_get($widget_url, array('method'=>'GET','timeout'=>5,'redirection'=>1,'httpversion'=>'1.0','blocking'=>true,'headers'=>array(),'body'=>'','cookies'=>$cookies)); if( is_wp_error( $result ) ) { return array( 'Something went wrong getting your widgets!'); } $obj = json_decode($result['body']); $arr = array(); if($obj->{'success'} == strtolower("true")) { foreach($obj->{'data'} as $widget) { if($widget->{'kind'} == strtolower($type)) { $arr[] = array($widget->{'name'},$widget->{'key'}); } } return array('code'=>$widget_code,'widgets'=>$arr); } return array("failed to get widgets for you"); } } ?>