Skip to content

Commit

Permalink
Trying to conform all files to the Wordpress coding standard.
Browse files Browse the repository at this point in the history
diff --git a/classes/NPRAPIWordpress.php b/classes/NPRAPIWordpress.php
index a2736ef..41d07c5 100644
--- a/classes/NPRAPIWordpress.php
+++ b/classes/NPRAPIWordpress.php
@@ -6,8 +6,8 @@
  * Defines a class for NPRML creation/transmission and retreival/parsing
  * Unlike NPRAPI class, NPRAPIDrupal is drupal-specific
  */
-require_once ('NPRAPI.php');
-require_once ('nprml.php');
+require_once( 'NPRAPI.php' );
+require_once( 'nprml.php' );

 class NPRAPIWordpress extends NPRAPI {

@@ -24,14 +24,14 @@ class NPRAPIWordpress extends NPRAPI {
    * @param string $base
    *   The base URL of the request (i.e., HTTP://EXAMPLE.COM/path) with no trailing slash.
    */
-  function request($params = array(), $path = 'query', $base = self::NPRAPI_PULL_URL) {
+  function request( $params = array(), $path = 'query', $base = self::NPRAPI_PULL_URL ) {

     $this->request->params = $params;
     $this->request->path = $path;
     $this->request->base = $base;

     $queries = array();
-    foreach ($this->request->params as $k => $v) {
+    foreach ( $this->request->params as $k => $v ) {
       $queries[] = "$k=$v";
     }
     $request_url = $this->request->base . '/' . $this->request->path . '?' . implode('&', $queries);
@@ -45,50 +45,46 @@ class NPRAPIWordpress extends NPRAPI {
    *
    * @param string $url -- the full url to query.
    */
-  function query_by_url($url){
-  	//check to see if the API key is included, if not, add the one from the options
-  	if (!stristr($url, 'apiKey=')){
-  		$url .= '&apiKey='. get_option( 'ds_npr_api_key' );
-  	}
+    function query_by_url( $url ) {
+        //check to see if the API key is included, if not, add the one from the options
+        if ( ! stristr( $url, 'apiKey=' ) ) {
+            $url .= '&apiKey='. get_option( 'ds_npr_api_key' );
+        }

-  	$this->request->request_url = $url;
+        $this->request->request_url = $url;

-  	//fill out the $this->request->param array so we can know what params were sent
-  	$parsed_url = parse_url($url);
-  	if (!empty($parsed_url['query'])) {
-	  	$parms = split('&', $parsed_url['query']);
-	  	if (!empty($params)){
-		  	foreach ($params as $p){
-		  		$attrs = split('=', $p);
-	  			$this->request->param[$attrs[0]] = $attrs[1];
-		  	}
-	  	}
-  	}
-    $response = wp_remote_get( $url );
-    if( !is_wp_error( $response ) ) {
-	    $this->response = $response;
-	    if ($response['response']['code'] == self::NPRAPI_STATUS_OK) {
-
-	      if ($response['body']) {
-	        $this->xml = $response['body'];
-	      }
-	      else {
-	        $this->notice[] = t('No data available.');
-	      }
-	    }
-	    else {
-	    	ds_npr_show_message('An error occurred pulling your story from the NPR API.  The API responded with message ='. $response['response']['message'], TRUE );
-	    }
-    }
-    else {
-    	$error_text = '';
-    	if (!empty($response->errors['http_request_failed'][0])){
-	    	$error_text = '<br> HTTP Error response =  '. $response->errors['http_request_failed'][0];
-    	}
-    	ds_npr_show_message('Error pulling story for url='.$url . $error_text, TRUE);
-    	error_log('Error retrieving story for url='.$url);
+        //fill out the $this->request->param array so we can know what params were sent
+        $parsed_url = parse_url( $url );
+        if ( ! empty( $parsed_url['query'] ) ) {
+            $parms = split( '&', $parsed_url['query'] );
+            if ( ! empty( $params ) ){
+                foreach ( $params as $p ){
+                    $attrs = split( '=', $p );
+                    $this->request->param[$attrs[0]] = $attrs[1];
+                }
+            }
+        }
+        $response = wp_remote_get( $url );
+        if ( !is_wp_error( $response ) ) {
+            $this->response = $response;
+            if ( $response['response']['code'] == self::NPRAPI_STATUS_OK ) {
+                if ( $response['body'] ) {
+                    $this->xml = $response['body'];
+                } else {
+                    $this->notice[] = t( 'No data available.' );
+                }
+            } else {
+                ds_npr_show_message( 'An error occurred pulling your story from the NPR API.  The API responded with message =' . $response['response']['message'], TRUE );
+	       }
+        } else {
+            $error_text = '';
+            if ( ! empty( $response->errors['http_request_failed'][0] ) ) {
+                $error_text = '<br> HTTP Error response =  '. $response->errors['http_request_failed'][0];
+            }
+            ds_npr_show_message( 'Error pulling story for url='.$url . $error_text, TRUE );
+            error_log( 'Error retrieving story for url='.$url );
+        }
     }
-  }

   /**
    *
@@ -97,324 +93,313 @@ class NPRAPIWordpress extends NPRAPI {
    *
    * @param unknown_type $publish
    */
-	function update_posts_from_stories($publish = TRUE ) {
-		$pull_post_type = get_option('ds_npr_pull_post_type');;
-		if (empty($pull_post_type)){
+    function update_posts_from_stories( $publish = TRUE ) {
+		$pull_post_type = get_option( 'ds_npr_pull_post_type' );
+		if ( empty( $pull_post_type ) ) {
 			$pull_post_type = 'post';
 		}

-		if (!empty($this->stories)){
+		if ( ! empty( $this->stories ) ) {
 			$single_story = TRUE;
-			if (sizeof($this->stories) > 1){
+			if ( sizeof( $this->stories ) > 1) {
 				$single_story = FALSE;
 			}
-			foreach ($this->stories as $story) {
-
-				$exists = new WP_Query( array( 'meta_key' => NPR_STORY_ID_META_KEY,
-	                                       'meta_value' => $story->id,
-	        															 'post_type' => $pull_post_type,
-	        															 'post_status' => 'any' ));
-
-	        //set the mod_date and pub_date to now so that for a new story we will fail the test below and do the update
-	        $post_mod_date = strtotime(date('Y-m-d H:i:s'));
-	        $post_pub_date = $post_mod_date;
-
-	        if ( $exists->found_posts ) {
-	            $existing = $exists->post;
-	            $post_id = $existing->ID;
-	            $existing_status = $exists->posts[0]->post_status;
-	            $post_mod_date_meta = get_post_meta($existing->ID, NPR_LAST_MODIFIED_DATE_KEY);
-	            if (!empty($post_mod_date_meta[0])){
-		            $post_mod_date = strtotime($post_mod_date_meta[0]);
-	            }
-	            $post_pub_date_meta = get_post_meta($existing->ID, NPR_PUB_DATE_META_KEY);
-	            if (!empty($post_pub_date_meta[0])){
-	            	$post_pub_date = strtotime($post_pub_date_meta[0]);
-	            }
-	        }
-	        else {
-	            $existing = null;
-	        }
+			foreach ( $this->stories as $story ) {
+				$exists = new WP_Query(
+				    array( 'meta_key' => NPR_STORY_ID_META_KEY,
+                        'meta_value' => $story->id,
+                        'post_type' => $pull_post_type,
+                        'post_status' => 'any'
+                    )
+                );
+
+                //set the mod_date and pub_date to now so that for a new story we will fail the test below and do the update
+                $post_mod_date = strtotime(date('Y-m-d H:i:s'));
+                $post_pub_date = $post_mod_date;
+
+                if ( $exists->found_posts ) {
+                    $existing = $exists->post;
+                    $post_id = $existing->ID;
+                    $existing_status = $exists->posts[0]->post_status;
+                    $post_mod_date_meta = get_post_meta( $existing->ID, NPR_LAST_MODIFIED_DATE_KEY );
+                    if ( ! empty( $post_mod_date_meta[0] ) ) {
+                        $post_mod_date = strtotime( $post_mod_date_meta[0] );
+                    }
+                    $post_pub_date_meta = get_post_meta( $existing->ID, NPR_PUB_DATE_META_KEY );
+                    if ( ! empty( $post_pub_date_meta[0] ) ) {
+                        $post_pub_date = strtotime($post_pub_date_meta[0]);
+                    }
+                } else {
+                    $existing = null;
+                }

-	        //add the transcript
+                //add the transcript
+                $story->body .= $this->get_transcript_body($story);

-					$story->body .= $this->get_transcript_body($story);
-
-					$story_date = new DateTime($story->storyDate->value);
-					$post_date = $story_date->format('Y-m-d H:i:s');
+                $story_date = new DateTime($story->storyDate->value);
+				$post_date = $story_date->format('Y-m-d H:i:s');

-	        //set the story as draft, so we don't try ingesting it
-	        $args = array(
-	            'post_title'   => $story->title,
-	            'post_excerpt' => $story->teaser,
-	            'post_content' => $story->body,
+                //set the story as draft, so we don't try ingesting it
+                $args = array(
+                    'post_title'   => $story->title,
+                    'post_excerpt' => $story->teaser,
+                    'post_content' => $story->body,
 	        		'post_status'  => 'draft',
 	        		'post_type'    => $pull_post_type,
-	        		'post_date'		 => $post_date,
-	        );
-					//check the last modified date and pub date (sometimes the API just updates the pub date), if the story hasn't changed, just go on
-					if (($post_mod_date != strtotime($story->lastModifiedDate->value))  || ($post_pub_date !=  strtotime($story->pubDate->value)) ){
+                    'post_date'    => $post_date,
+                );
+				//check the last modified date and pub date (sometimes the API just updates the pub date), if the story hasn't changed, just go on
+                if ( $post_mod_date != strtotime( $story->lastModifiedDate->value ) || $post_pub_date !=  strtotime( $story->pubDate->value ) ) {

-						$by_line = '';
-		        $byline_link = '';
-		        $multi_by_line = '';
-		        //continue to save single byline into npr_byline as is, but also set multi to false
-		        if (isset($story->byline->name->value)){ //fails if there are multiple bylines or no bylines
-		        	$by_line = $story->byline->name->value;
-		        	$multi_by_line = 0; //only single author, set multi to false
-		        	if (!empty($story->byline->link)){
-		        		foreach($story->byline->link as $link){
-		        			if ($link->type == 'html'){
-		        				$byline_link = $link->value;
-		        			}
-		        		}
-		        	}
-					 }
+                    $by_line = '';
+                    $byline_link = '';
+                    $multi_by_line = '';
+                    //continue to save single byline into npr_byline as is, but also set multi to false
+                    if ( isset( $story->byline->name->value ) ) { //fails if there are multiple bylines or no bylines
+                        $by_line = $story->byline->name->value;
+                        $multi_by_line = 0; //only single author, set multi to false
+                        if ( ! empty( $story->byline->link ) ) {
+                            foreach( $story->byline->link as $link ) {
+                                if ( $link->type == 'html' ) {
+                                    $byline_link = $link->value;
+                                }
+                            }
+                        }
+                    }

-						//construct delimited string if there are multiple bylines
-		        if(is_array($story->byline) && !empty($story->byline) ) {
-							$i = 0;
-		        	foreach ($story->byline as $single) {
-        				if($i==0){
-									$multi_by_line .= $single->name->value; //builds multi byline string without delimiter on first pass
-								} else{
-									$multi_by_line .= '|' . $single->name->value ; //builds multi byline string with delimiter
-								}
-								$by_line = $single->name->value; //overwrites so as to save just the last byline for previous single byline themes
+                    //construct delimited string if there are multiple bylines
+                    if ( is_array( $story->byline ) && !empty( $story->byline ) ) {
+                        $i = 0;
+                        foreach ( $story->byline as $single ) {
+                            if ( $i==0 ) {
+				                $multi_by_line .= $single->name->value; //builds multi byline string without delimiter on first pass
+                            } else {
+                                $multi_by_line .= '|' . $single->name->value ; //builds multi byline string with delimiter
+                            }
+                            $by_line = $single->name->value; //overwrites so as to save just the last byline for previous single byline themes

-								if (!empty($single->link)){
-	        				foreach($single->link as $link){
-	        					if ($link->type == 'html'){
-											$byline_link = $link->value; //overwrites so as to save just the last byline link for previous single byline themes
-											$multi_by_line .= '~' . $link->value; //builds multi byline string links
-										}
-		        			}
-			        	}
-							  $i++;
-							}
-						}
-		        //set the meta RETRIEVED so when we publish the post, we dont' try ingesting it
-		        $metas = array(
-		            NPR_STORY_ID_META_KEY      => $story->id,
-		            NPR_API_LINK_META_KEY      => $story->link['api']->value,
-		            NPR_HTML_LINK_META_KEY     => $story->link['html']->value,
-		            //NPR_SHORT_LINK_META_KEY    => $story->link['short']->value,
-		            NPR_STORY_CONTENT_META_KEY => $story->body,
-		            NPR_BYLINE_META_KEY        => $by_line,
-		            NPR_BYLINE_LINK_META_KEY   => $byline_link,
-		            NPR_MULTI_BYLINE_META_KEY  => $multi_by_line,
-		            NPR_RETRIEVED_STORY_META_KEY => 1,
-		            NPR_PUB_DATE_META_KEY => $story->pubDate->value,
-		            NPR_STORY_DATE_MEATA_KEY => $story->storyDate->value,
-								NPR_LAST_MODIFIED_DATE_KEY=> $story->lastModifiedDate->value,
-		        );
-		        //get audio
-		        if ( isset($story->audio) ) {
-		        	$mp3_array = array();
-		        	$m3u_array = array();
-		        	foreach ($story->audio as $n => $audio){
-								if (!empty($audio->format->mp3['mp3']) && $audio->permissions->download->allow == 'true'){
-									if ($audio->format->mp3['mp3']->type == 'mp3' ){
-										$mp3_array[] = $audio->format->mp3['mp3']->value;
-									}
-									if ($audio->format->mp3['m3u']->type == 'm3u' ){
-			 	       			$m3u_array[] = $audio->format->mp3['m3u']->value;
-									}
-								}
-		        	}
-		        	$metas[NPR_AUDIO_META_KEY] =  implode(',', $mp3_array);
-		        	$metas[NPR_AUDIO_M3U_META_KEY] = implode(',', $m3u_array);
-		        }
-		        if ( $existing ) {
-		            $created = false;
-		            $args[ 'ID' ] = $existing->ID;
-		        }
-		        else {
-		            $created = true;
-		        }
-		        $post_id = wp_insert_post( $args );
+                            if ( ! empty( $single->link ) ) {
+                                foreach( $single->link as $link ) {
+                                    if ($link->type == 'html' ) {
+								        $byline_link = $link->value; //overwrites so as to save just the last byline link for previous single byline themes
+								        $multi_by_line .= '~' . $link->value; //builds multi byline string links
+								    }
+                                }
+                            }
+                            $i++;
+                        }
+				    }
+                    //set the meta RETRIEVED so when we publish the post, we dont' try ingesting it
+                    $metas = array(
+                        NPR_STORY_ID_META_KEY        => $story->id,
+                        NPR_API_LINK_META_KEY        => $story->link['api']->value,
+                        NPR_HTML_LINK_META_KEY       => $story->link['html']->value,
+                        //NPR_SHORT_LINK_META_KEY    => $story->link['short']->value,
+                        NPR_STORY_CONTENT_META_KEY   => $story->body,
+                        NPR_BYLINE_META_KEY          => $by_line,
+                        NPR_BYLINE_LINK_META_KEY     => $byline_link,
+                        NPR_MULTI_BYLINE_META_KEY    => $multi_by_line,
+                        NPR_RETRIEVED_STORY_META_KEY => 1,
+                        NPR_PUB_DATE_META_KEY        => $story->pubDate->value,
+                        NPR_STORY_DATE_MEATA_KEY     => $story->storyDate->value,
+                        NPR_LAST_MODIFIED_DATE_KEY   => $story->lastModifiedDate->value,
+                    );
+                    //get audio
+                    if ( isset($story->audio) ) {
+                        $mp3_array = array();
+                        $m3u_array = array();
+                        foreach ( $story->audio as $n => $audio ) {
+                            if ( ! empty( $audio->format->mp3['mp3']) && $audio->permissions->download->allow == 'true' ) {
+				                if ($audio->format->mp3['mp3']->type == 'mp3' ) {
+				                    $mp3_array[] = $audio->format->mp3['mp3']->value;
+				                }
+				                if ($audio->format->mp3['m3u']->type == 'm3u' ) {
+                                    $m3u_array[] = $audio->format->mp3['m3u']->value;
+                                }
+				            }
+                        }
+                        $metas[NPR_AUDIO_META_KEY] = implode( ',', $mp3_array );
+                        $metas[NPR_AUDIO_M3U_META_KEY] = implode( ',', $m3u_array );
+                    }
+                    if ( $existing ) {
+                        $created = false;
+                        $args[ 'ID' ] = $existing->ID;
+                    } else {
+                        $created = true;
+                    }
+                    $post_id = wp_insert_post( $args );

-		        //now that we have an id, we can add images
-		        //this is the way WP seems to do it, but we couldn't call media_sideload_image or media_ because that returned only the URL
-		        //for the attachment, and we want to be able to set the primary image, so we had to use this method to get the attachment ID.
-						if (isset($story->image[0])){
-
-							//are there any images saved for this post, probably on update, but no sense looking of the post didn't already exist
-							if ($existing){
-								$image_args = array(
-									'order'=> 'ASC',
-									'post_mime_type' => 'image',
-									'post_parent' => $post_id,
-									'post_status' => null,
-									'post_type' => 'attachment',
-									'post_date'		 => $post_date,
-									);
-								$attached_images = get_children( $image_args );
-							}
+                    //now that we have an id, we can add images
+                    //this is the way WP seems to do it, but we couldn't call media_sideload_image or media_ because that returned only the URL
+                    //for the attachment, and we want to be able to set the primary image, so we had to use this method to get the attachment ID.
+                    if ( isset( $story->image[0] ) ) {

-
-		        	foreach ($story->image as $image){
-								$image_url = '';
-		        		//check the <enlargement> and then the crops, in this order "enlargement", "standard"  if they don't exist, just get the image->src
-		        		if (!empty($image->enlargement)){
-		        			$image_url = $image->enlargement->src;
-		        		}
-		        		else {
-		        			if (!empty($image->crop)) {
-		        				foreach ($image->crop as $crop){
-		        					if ($crop->type == 'enlargement') {
-		        						$image_url = $crop->src;
-		        						continue;
-		        					}
-		        				}
-		        				if (empty($image_url)){
-			        				foreach ($image->crop as $crop){
-			        					if ($crop->type == 'standard') {
-			        						$image_url = $crop->src;
-			        						continue;
-			        					}
-			        				}
-		        				}
-		        			}
-		        		}
-
-		        		if (empty($image_url)){
-		        			$image_url = $image->src;
-			        	}
-			        	error_log('Got image from :'.$image_url);
-		        		// Download file to temp location
-			          $tmp = download_url( $image_url );
-
-		            // Set variables for storage
-		            // fix file filename for query strings
-		            preg_match('/[^\?]+\.(jpg|JPG|jpe|JPE|jpeg|JPEG|gif|GIF|png|PNG)/', $image_url, $matches);
-		            $file_array['name'] = basename($matches[0]);
-		            $file_array['tmp_name'] = $tmp;
-
-		            $file_OK = TRUE;
-		            // If error storing temporarily, unlink
-		            if ( is_wp_error( $tmp ) ) {
-		            	@unlink($file_array['tmp_name']);
-		              $file_array['tmp_name'] = '';
-		              $file_OK = FALSE;
-		            }
+				    //are there any images saved for this post, probably on update, but no sense looking of the post didn't already exist
+                        if ( $existing ) {
+                            $image_args = array(
+                                'order'=> 'ASC',
+                                'post_mime_type' => 'image',
+                                'post_parent' => $post_id,
+                                'post_status' => null,
+                                'post_type' => 'attachment',
+                                'post_date'	=> $post_date,
+				            );
+                            $attached_images = get_children( $image_args );
+                        }
+                        foreach ( $story->image as $image ) {
+                            $image_url = '';
+		        		    //check the <enlargement> and then the crops, in this order "enlargement", "standard"  if they don't exist, just get the image->src
+                            if ( ! empty( $image->enlargement ) ) {
+                                $image_url = $image->enlargement->src;
+                            } else {
+                                if ( ! empty( $image->crop ) ) {
+                                    foreach ( $image->crop as $crop ) {
+                                        if ( $crop->type == 'enlargement' ) {
+                                            $image_url = $crop->src;
+                                            continue;
+                                        }
+                                    }
+                                    if ( empty( $image_url ) ) {
+                                        foreach ( $image->crop as $crop ) {
+                                            if ( $crop->type == 'standard' ) {
+                                                $image_url = $crop->src;
+                                                continue;
+                                            }
+                                        }
+                                    }
+                                }
+                            }

-		            // do the validation and storage stuff
-		            $id = media_handle_sideload( $file_array, $post_id, $image->title->value );
-		            // If error storing permanently, unlink
-		            if ( is_wp_error($id) ) {
-		            	@unlink($file_array['tmp_name']);
-		            	$file_OK = FALSE;
-		            }
-		            else {
-		            	$image_post = get_post($id);
-		            	if (!empty($attached_images)) {
-			            	foreach($attached_images as $att_image){
-			            			//see if the filename is very similar
-			            			$att_guid = explode('.', $att_image->guid);
-			            			//so if the already attached image name is part of the name of the file
-			            			//coming in, ignore the new/temp file, it's probably the same
-			            			if (strstr($image_post->guid, $att_guid[0])){
-			            				@unlink($file_array['tmp_name']);
-			            				wp_delete_attachment($id);
-			            				$file_OK = FALSE;
-			            			}
-			            	}
-		            	}
+                            if ( empty( $image_url ) ) {
+                                $image_url = $image->src;
+                            }
+                            error_log('Got image from :' . $image_url);
+                            // Download file to temp location
+                            $tmp = download_url( $image_url );
+
+                            // Set variables for storage
+                            // fix file filename for query strings
+                            preg_match( '/[^\?]+\.(jpg|JPG|jpe|JPE|jpeg|JPEG|gif|GIF|png|PNG)/', $image_url, $matches );
+                            $file_array['name'] = basename( $matches[0] );
+                            $file_array['tmp_name'] = $tmp;
+
+                            $file_OK = TRUE;
+                            // If error storing temporarily, unlink
+                            if ( is_wp_error( $tmp ) ) {
+                                @unlink($file_array['tmp_name']);
+                                $file_array['tmp_name'] = '';
+                                $file_OK = FALSE;
+                            }

-		            }
+                            // do the validation and storage stuff
+                            $id = media_handle_sideload( $file_array, $post_id, $image->title->value );
+                            // If error storing permanently, unlink
+                            if ( is_wp_error($id) ) {
+                                @unlink( $file_array['tmp_name'] );
+                                $file_OK = FALSE;
+                            } else {
+                                $image_post = get_post( $id );
+                                if ( ! empty( $attached_images ) ) {
+			            	        foreach( $attached_images as $att_image ) {
+			            	            //see if the filename is very similar
+                                        $att_guid = explode( '.', $att_image->guid );
+                                        //so if the already attached image name is part of the name of the file
+                                        //coming in, ignore the new/temp file, it's probably the same
+                                        if ( strstr ( $image_post->guid, $att_guid[0] ) ) {
+                                            @unlink( $file_array['tmp_name'] );
+                                            wp_delete_attachment( $id );
+                                            $file_OK = FALSE;
+                                        }
+                                    }
+                                }
+                            }

-		            //set the primary image
-		            if ($image->type == 'primary' && $file_OK){
-                        add_post_meta($post_id, '_thumbnail_id', $id, true);
-                        //get any image meta data and attatch it to the image post
-                        $image_metas = array(
-                            NPR_IMAGE_CREDIT_META_KEY =>$image->producer->value,
-                            NPR_IMAGE_AGENCY_META_KEY =>$image->provider->value,
-                            NPR_IMAGE_CAPTION_META_KEY =>$image->caption->value,
-                        );
-                        foreach ( $image_metas as $k => $v ) {
-                            update_post_meta( $post_id, $k, $v );
+                            //set the primary image
+                            if ( $image->type == 'primary' && $file_OK ) {
+                                add_post_meta( $post_id, '_thumbnail_id', $id, true );
+                                //get any image meta data and attatch it to the image post
+                                $image_metas = array(
+                                    NPR_IMAGE_CREDIT_META_KEY =>$image->producer->value,
+                                    NPR_IMAGE_AGENCY_META_KEY =>$image->provider->value,
+                                    NPR_IMAGE_CAPTION_META_KEY =>$image->caption->value,
+                                );
+                                foreach ( $image_metas as $k => $v ) {
+                                    update_post_meta( $post_id, $k, $v );
+                                }
+                            }
                         }
                     }

-		        	}
-		        }
-
-		        foreach ( $metas as $k => $v ) {
-		            update_post_meta( $post_id, $k, $v );
-		        }
+                    foreach ( $metas as $k => $v ) {
+                        update_post_meta( $post_id, $k, $v );
+                    }

-		        $args = array(
-		        		'post_title'   => $story->title,
-		            'post_content' => $story->body,
-		        		'post_excerpt' => $story->teaser,
-		        		'post_type'    => $pull_post_type,
-		            'ID'   => $post_id,
-		        		'post_date'		 => $post_date,
-		        );
+                    $args = array(
+                        'post_title'   => $story->title,
+                        'post_content' => $story->body,
+                        'post_excerpt' => $story->teaser,
+                        'post_type'    => $pull_post_type,
+                        'ID'   => $post_id,
+                        'post_date'		 => $post_date,
+                    );
+
+                    //set author
+                    if ( ! empty( $by_line ) ) {
+                        $userQuery = new WP_User_Query( array(
+                            'search' => trim($by_line),
+                            'search_columns' => array(
+                                'nickname'
+                                )
+                            )
+                        );

-                //set author
-                if (!empty($by_line)) {
-                    $userQuery = new WP_User_Query(array(
-                        'search' => trim($by_line),
-                        'search_columns' => array(
-                            'nickname'
-                        )
-                    ));
+                        $user_results = $userQuery->get_results();
+                        if ( count( $user_results ) == 1 && isset( $user_results[0]->data->ID) ) {
+                            $args['post_author'] = $user_results[0]->data->ID;
+                        }
+                    }

-                    $user_results = $userQuery->get_results();
-                    if (count($user_results) == 1 && isset($user_results[0]->data->ID)) {
-                        $args['post_author'] = $user_results[0]->data->ID;
+                    //now set the status
+                    if ( ! $existing ) {
+                        if ( $publish ) {
+                            $args['post_status'] = 'publish';
+                        } else {
+                            $args['post_status'] = 'draft';
+                        }
+                    } else {
+                        //if the post existed, save its status
+                        $args['post_status'] = $existing_status;
                     }
+                    $ret = wp_insert_post( $args );
                 }

-                //now set the status
-                if ( ! $existing ) {
-		        	if ($publish){
-		            $args['post_status'] = 'publish';
-		        	}
-		        	else {
-		        		$args['post_status'] = 'draft';
-		        	}
-		        }
-		        else {
-		        	//if the post existed, save its status
-		        	$args['post_status'] = $existing_status;
-		        }
-		        $ret = wp_insert_post( $args );
-					}
-
                 //set categories for story
                 $category_ids = array();
-                if (is_array($story->parent)) {
-                    foreach ($story->parent as $parent) {
-                        if (isset($parent->type) && $parent->type == 'category') {
-                            $category_id = get_cat_ID($parent->title->value);
-                            if (!empty($category_id)) {
+                if ( is_array( $story->parent ) ) {
+                    foreach ( $story->parent as $parent ) {
+                        if ( isset( $parent->type ) && $parent->type == 'category' ) {
+                            $category_id = get_cat_ID( $parent->title->value );
+                            if ( ! empty( $category_id ) ) {
                                 $category_ids[] = $category_id;
                             }
                         }
                     }
-                } elseif (isset($story->parent->type) && $story->parent->type == 'category') {
-                    $category_id = get_cat_ID($story->parent->title->value);
-                    if (!empty($category_id)) {
+                } elseif ( isset( $story->parent->type ) && $story->parent->type == 'category') {
+                    $category_id = get_cat_ID( $story->parent->title->value );
+                    if ( ! empty( $category_id) ) {
                         $category_ids[] = $category_id;
                     }
                 }
-
-                if (count($category_ids) > 0 && is_integer($ret)) {
-                    wp_set_post_categories($ret, $category_ids);
+                if ( count( $category_ids ) > 0 && is_integer( $ret ) ) {
+                    wp_set_post_categories( $ret, $category_ids );
                 }
-			}
-
-			if ($single_story){
-				return $post_id;
-			}
-		}
-
-    return;
-	}
+            }
+            if ( $single_story ) {
+                return $post_id;
+            }
+        }
+        return;
+    }

@@ -427,70 +412,68 @@ class NPRAPIWordpress extends NPRAPI {
    * @return string
    *   An NPRML string.
    */
-  function create_NPRML($post) {
-		//using some old helper code
-		return as_nprml($post);
-  }
+    function create_NPRML( $post ) {
+        //using some old helper code
+        return as_nprml( $post );
+    }

   /**
    * This function will send the push request to the NPR API to add/update a story.
    *
    * @see NPRAPI::send_request()
    */
-  function send_request ($nprml, $post_ID) {
-		$error_text = '';
-  	$org_id = get_option( 'ds_npr_api_org_id' );
-  	if (!empty($org_id)){
-	    $url = add_query_arg( array(
-	        'orgId'  => $org_id,
-	        'apiKey' => get_option( 'ds_npr_api_key' )
-	    ), get_option( 'ds_npr_api_push_url' ) . '/story' );
-
-	    error_log('Sending nprml = '.$nprml);
+    function send_request ( $nprml, $post_ID ) {
+        $error_text = '';
+        $org_id = get_option( 'ds_npr_api_org_id' );
+        if ( ! empty( $org_id ) ) {
+            $url = add_query_arg( array(
+                'orgId'  => $org_id,
+                'apiKey' => get_option( 'ds_npr_api_key' )
+            ), get_option( 'ds_npr_api_push_url' ) . '/story' );
+
+            error_log('Sending nprml = ' . $nprml);

-	    $result = wp_remote_post( $url, array( 'body' => $nprml ) );
-	    if ( !is_wp_error($result) ) {
-		    if(  $result['response']['code'] == 200 ) {
-			    $body = wp_remote_retrieve_body( $result );
-			    if ( $body ) {
-			        $response_xml = simplexml_load_string( $body );
-			        $npr_story_id = (string) $response_xml->list->story['id'];
-			        update_post_meta( $post_ID, NPR_STORY_ID_META_KEY, $npr_story_id );
-			    }
-			    else {
-			        error_log( 'NPR API Push ERROR: ' . print_r( $result, true ) );
-			    }
-		    }
-		    else {
-		    	$error_text = '';
-		    	if (!empty($result['response']['message'])){
-			    	$error_text = 'Error pushing story with post_id = '. $post_ID .' for url='.$url . ' HTTP Error response =  '. $result['response']['message'];
-		    	}
-		    	$body = wp_remote_retrieve_body( $result );
+            $result = wp_remote_post( $url, array( 'body' => $nprml ) );
+            if ( ! is_wp_error( $result ) ) {
+                if ( $result['response']['code'] == 200 ) {
+                    $body = wp_remote_retrieve_body( $result );
+                    if ( $body ) {
+                        $response_xml = simplexml_load_string( $body );
+                        $npr_story_id = (string) $response_xml->list->story['id'];
+                        update_post_meta( $post_ID, NPR_STORY_ID_META_KEY, $npr_story_id );
+                    }
+                    else {
+                        error_log( 'NPR API Push ERROR: ' . print_r( $result, true ) );
+                    }
+                } else {
+                    $error_text = '';
+                    if ( ! empty( $result['response']['message'] ) ) {
+                        $error_text = 'Error pushing story with post_id = '. $post_ID .' for url='.$url . ' HTTP Error response =  '. $result['response']['message'];
+                    }
+                    $body = wp_remote_retrieve_body( $result );

-			    if ( $body ) {
-			    	$response_xml = simplexml_load_string( $body );
-			    	$error_text .= '  API Error Message = ' .$response_xml->message->text;
-			    }
-		    	error_log('Error returned from API ' . $error_text);
-		    }
-	    } else {
-	    	$error_text = 'WP Error returned from sending story with post_id = '. $post_ID .' for url='.$url . ' to API ='. $result->get_error_message();
-	    	error_log($error_text);
-	    }
-  	} else {
-  		$error_text = 'Tried to push, but OrgID was not set for post_id ='. $post_ID;
-  		error_log($error_text);
-  	}
-
-		if (!empty($error_text)){
-	  	update_post_meta( $post_ID, NPR_PUSH_STORY_ERROR, $error_text );
+                    if ( $body ) {
+                        $response_xml = simplexml_load_string( $body );
+                        $error_text .= '  API Error Message = ' . $response_xml->message->text;
+                    }
+                    error_log('Error returned from API ' . $error_text);
+                }
+            } else {
+                $error_text = 'WP Error returned from sending story with post_id = '. $post_ID .' for url='.$url . ' to API ='. $result->get_error_message();
+                error_log($error_text);
+            }
+        } else {
+            $error_text = 'Tried to push, but OrgID was not set for post_id ='. $post_ID;
+            error_log($error_text);
+        }
+
+		if ( ! empty( $error_text ) ) {
+            update_post_meta( $post_ID, NPR_PUSH_STORY_ERROR, $error_text );
 		}
 		else {
-			delete_post_meta($post_ID, NPR_PUSH_STORY_ERROR);
+			delete_post_meta( $post_ID, NPR_PUSH_STORY_ERROR );
 		}
-
-  }
+    }

   /**
    *
@@ -499,24 +482,23 @@ class NPRAPIWordpress extends NPRAPI {
    *
    * @param  $api_id
    */
-  function send_delete($api_id){
-
-  	$url = add_query_arg( array(
-        'orgId'  => get_option( 'ds_npr_api_org_id' ),
-        'apiKey' => get_option( 'ds_npr_api_key' ),
+    function send_delete( $api_id ) {
+        $url = add_query_arg( array(
+            'orgId'  => get_option( 'ds_npr_api_org_id' ),
+            'apiKey' => get_option( 'ds_npr_api_key' ),
   			'id' => $api_id
-    ), get_option( 'ds_npr_api_push_url' ) . '/story' );
+        ), get_option( 'ds_npr_api_push_url' ) . '/story' );
+
 		//wp doesn't let me do a wp_remote_post with method=DELETE so we have to make our own curl request.  fun
 		//a lot of this code came from WP's class-http object
 		//$result = wp_remote_post( $url, array( 'method' => 'DELETE' ) );
-		$handle = curl_init();
-		curl_setopt( $handle, CURLOPT_CUSTOMREQUEST, 'DELETE' );
-	  curl_setopt( $handle, CURLOPT_URL, $url);
-	  curl_setopt($handle, CURLOPT_RETURNTRANSFER, TRUE);
+        $handle = curl_init();
+        curl_setopt( $handle, CURLOPT_CUSTOMREQUEST, 'DELETE' );
+        curl_setopt( $handle, CURLOPT_URL, $url );
+        curl_setopt( $handle, CURLOPT_RETURNTRANSFER, TRUE );
 		curl_exec( $handle );
 		curl_close( $handle );
-
-  }
+    }

   /**
    *
@@ -525,24 +507,24 @@ class NPRAPIWordpress extends NPRAPI {
    *
    * @param  $story
    */
-  function get_transcript_body($story){
-  	$transcript_body = "";
-	  if (!empty($story->transcript)){
-	  	foreach ($story->transcript as $transcript){
-	    	if ($transcript->type == 'api'){
-			  	$response = wp_remote_get( $transcript->value );
-    			if( !is_wp_error( $response ) ) {
-    				$transcript_body .= "<p><strong>Transcript :</strong><p>";
-    				$body_xml = simplexml_load_string($response['body']);
-    				if (!empty($body_xml->paragraph)){
-	    				foreach($body_xml->paragraph as $paragraph){
-	    					$transcript_body .= (strip_tags($paragraph)) . '<p>';
-	    				}
-    				}
-    			}
-	    	}
-	  	}
-	  }
-	  return $transcript_body;
-  }
+    function get_transcript_body( $story ) {
+        $transcript_body = "";
+        if ( ! empty( $story->transcript ) ) {
+            foreach ( $story->transcript as $transcript ) {
+                if ( $transcript->type == 'api' ) {
+                    $response = wp_remote_get( $transcript->value );
+                    if ( !is_wp_error( $response ) ) {
+                        $transcript_body .= "<p><strong>Transcript :</strong><p>";
+                        $body_xml = simplexml_load_string( $response['body'] );
+                        if ( ! empty( $body_xml->paragraph ) ) {
+                            foreach( $body_xml->paragraph as $paragraph ) {
+                                $transcript_body .= (strip_tags( $paragraph )) . '<p>';
+                            }
+                        }
+                    }
+                }
+            }
+        }
+        return $transcript_body;
+    }
 }
diff --git a/classes/nprml.php b/classes/nprml.php
index f06e65a..4988453 100644
--- a/classes/nprml.php
+++ b/classes/nprml.php
@@ -11,7 +11,6 @@ function as_nprml( $post ) {
         'children' => array( array( 'tag' => 'story', 'children' => $story ), ),
     );
     $ret_xml = array_to_xml( 'nprml', array( 'version' => '0.93' ), $doc );
-
     return $ret_xml;
 }

@@ -29,37 +28,36 @@ function post_to_nprml_story( $post ) {
         'attr' => array( 'type' => 'html' ),
         'text' => get_permalink( $post ),
     );
-    $use_custom = get_option('dp_npr_push_use_custom_map');
+    $use_custom = get_option( 'dp_npr_push_use_custom_map' );

     //get the list of metas available for this post
-    $post_metas = get_post_custom_keys($post->ID);
+    $post_metas = get_post_custom_keys( $post->ID );

     $teaser_text = '';
-    if (!empty($post->post_excerpt)){
+    if ( ! empty( $post->post_excerpt ) ){
     	$teaser_text = $post->post_excerpt;
     }

-    $custom_content_meta = get_option('ds_npr_api_mapping_body');
-    if ($use_custom && !empty($custom_content_meta) && $custom_content_meta != '#NONE#' && in_array($custom_content_meta,$post_metas)){
-    	$content = get_post_meta($post->ID, $custom_content_meta, true);
+    $custom_content_meta = get_option( 'ds_npr_api_mapping_body' );
+    if ( $use_custom && ! empty( $custom_content_meta ) && $custom_content_meta != '#NONE#' && in_array( $custom_content_meta,$post_metas ) ){
+        $content = get_post_meta( $post->ID, $custom_content_meta, true);
     	$post_for_teaser = $post;
     	$post_for_teaser->post_content = $content;
-    	if (empty($teaser_text)){
+        if ( empty( $teaser_text ) ){
 	    	$teaser_text = nai_get_excerpt( $post_for_teaser );
     	}
-    }
-    else {
-	    $content = $post->post_content ;
-	    if (empty($teaser_text)){
+    } else {
+	    $content = $post->post_content;
+	    if ( empty( $teaser_text ) ) {
 		    $teaser_text = nai_get_excerpt( $post );
 	    }
     }
     //lets see if there are any plugins that need to fix their shortcodes before we run do_shortcode
-    if (has_filter('npr_ds_shortcode_filter')) {
-	    $content = apply_filters('npr_ds_shortcode_filter', $content);
+    if ( has_filter( 'npr_ds_shortcode_filter' ) ) {
+	    $content = apply_filters( 'npr_ds_shortcode_filter', $content );
     }
 	  //let any plugin that has short codes try and replace those with HTML
-	  $content = do_shortcode( $content );
+    $content = do_shortcode( $content );
     //for any remaining short codes, nuke 'em
     $content = strip_shortcodes( $content );
     $content = apply_filters( 'the_content', $content );
@@ -68,15 +66,14 @@ function post_to_nprml_story( $post ) {
         'tag' => 'teaser',
         'text' => $teaser_text,
     );
-    $custom_title_meta = get_option('ds_npr_api_mapping_title');
-    if ($use_custom && !empty($custom_title_meta) && $custom_title_meta != '#NONE#' && in_array($custom_content_meta,$post_metas)){
-    	$custom_title = get_post_meta($post->ID, $custom_title_meta, true);
+    $custom_title_meta = get_option( 'ds_npr_api_mapping_title' );
+    if ( $use_custom && !empty( $custom_title_meta ) && $custom_title_meta != '#NONE#' && in_array( $custom_content_meta,$post_metas ) ){
+        $custom_title = get_post_meta( $post->ID, $custom_title_meta, true );
     	$story[] = array(
 	        'tag' => 'title',
 	        'text' => $custom_title,
 	    );
-    }
-    else {
+    } else {
 	    $story[] = array(
 	        'tag' => 'title',
 	        'text' => $post->post_title,
@@ -92,49 +89,54 @@ function post_to_nprml_story( $post ) {
      *
      */
     $byline = FALSE;
-    $custom_byline_meta = get_option('ds_npr_api_mapping_byline');
-    if ($use_custom && !empty($custom_byline_meta) && $custom_byline_meta != '#NONE#' && in_array($custom_content_meta,$post_metas)){
- 			$byline = TRUE;
+    $custom_byline_meta = get_option( 'ds_npr_api_mapping_byline' );
+    if ($use_custom && ! empty( $custom_byline_meta ) && $custom_byline_meta != '#NONE#' && in_array( $custom_content_meta,$post_metas ) ) {
+        $byline = TRUE;
     	$story[] = array(
 	        'tag' => 'byline',
-    			'children' => array ( array(
-								'tag' => 'name',
-	        			'text' => get_post_meta($post->ID, $custom_byline_meta, true),
-    			)),
-	    );
+            'children' => array(
+                array(
+                    'tag' => 'name',
+                    'text' => get_post_meta( $post->ID, $custom_byline_meta, true ),
+                )
+            ),
+	   );
     }
-    if (function_exists('get_coauthors')){
-    	$coauthors = get_coauthors($post->ID);
-    	if (!empty($coauthors)){
-    		$byline = TRUE;
-				foreach($coauthors as $i=>$co){
-					$story[] = array(
-	       		'tag' => 'byline',
-						'children' => array ( array(
-								'tag' => 'name',
-	       										'text' => $co->display_name,
-	   												)
-	   									));
-				}
-    	}
-    	else {
-    		error_log('we do not have co authors');
+    if ( function_exists( 'get_coauthors' ) ) {
+        $coauthors = get_coauthors( $post->ID );
+        if ( ! empty( $coauthors ) ) {
+            $byline = TRUE;
+            foreach( $coauthors as $i=>$co ) {
+                $story[] = array(
+                    'tag' => 'byline',
+                    'children' => array(
+                        array(
+                            'tag' => 'name',
+                            'text' => $co->display_name,
+                        )
+                    )
+                );
+            }
+        } else {
+            error_log( 'we do not have co authors' );
     	}
-   	}
-   	else {
+    } else {
    		error_log('can not find get_coauthors');
    	}
-		if (!$byline){
-			$story[] = array(
-	        		'tag' => 'byline',
-							'children' => array ( array('tag' => 'name',
-		        		'text' => get_the_author_meta( 'display_name', $post->post_author ),
-							)),
-	    			);
+    if ( ! $byline ) {
+        $story[] = array(
+            'tag' => 'byline',
+            'children' => array (
+                array(
+                    'tag' => 'name',
+                    'text' => get_the_author_meta( 'display_name', $post->post_author ),
+				)
+            ),
+        );
     }

     // NPR One
-    if (!empty($_POST['send_to_nprone'])) {
+    if ( ! empty( $_POST['send_to_nprone'] ) ) {
         $story[] = array(
             'tag' => 'parent',
             'attr' => array( 'id' => '319418027', 'type' => 'collection' ),
@@ -168,170 +170,175 @@ function post_to_nprml_story( $post ) {
         'children' => split_paragraphs( $content ),
     );

-    $perms_group = get_option('ds_npr_story_default_permission');
-    if (!empty($perms_group)){
+    $perms_group = get_option( 'ds_npr_story_default_permission' );
+    if (!empty( $perms_group ) ) {
      	$story[] = array(
-    			'tag' => 'permissions',
-    			'children' => array ( array(
+            'tag' => 'permissions',
+            'children' => array (
+                array(
     				'tag' => 'permGroup',
 			     	'attr' => array( 'id' => $perms_group ),
-    			)),
+    			)
+            ),
     	);
     }

-    $custom_media_credit = get_option('ds_npr_api_mapping_media_credit');
-		$custom_media_agency = get_option('ds_npr_api_mapping_media_agency');
+    $custom_media_credit = get_option( 'ds_npr_api_mapping_media_credit' );
+    $custom_media_agency = get_option( 'ds_npr_api_mapping_media_agency' );

-		/* remove this for now until we decide if we're going to actually do this...km
-		$dist_media_option = get_option('ds_npr_api_mapping_distribute_media');
-		$dist_media_polarity = get_option('ds_npr_api_mapping_distribute_media_polarity');
+    /* remove this for now until we decide if we're going to actually do this...km
+    $dist_media_option = get_option('ds_npr_api_mapping_distribute_media');
+    $dist_media_polarity = get_option('ds_npr_api_mapping_distribute_media_polarity');
     */
     $args = array(
-			'order'=> 'DESC',
-			'post_mime_type' => 'image',
-			'post_parent' => $post->ID,
-			'post_status' => null,
-			'post_type' => 'attachment'
-			);
-		$images = get_children( $args );
-		$primary_image = get_post_thumbnail_id($post->ID);
+        'order'=> 'DESC',
+        'post_mime_type' => 'image',
+        'post_parent' => $post->ID,
+        'post_status' => null,
+        'post_type' => 'attachment'
+    );
+
+    $images = get_children( $args );
+    $primary_image = get_post_thumbnail_id( $post->ID );

-		foreach ($images as $image){
-			$custom_credit = '';
-			$custom_agency = '';
-			$image_metas = get_post_custom_keys($image->ID);
-	    if ($use_custom && !empty($custom_media_credit) && $custom_media_credit != '#NONE#' && in_array($custom_media_credit,$image_metas)){
-	    	$custom_credit = get_post_meta($image->ID, $custom_media_credit, true);
+    foreach ( $images as $image ) {
+        $custom_credit = '';
+        $custom_agency = '';
+        $image_metas = get_post_custom_keys( $image->ID );
+	    if ( $use_custom && !empty( $custom_media_credit ) && $custom_media_credit != '#NONE#' && in_array( $custom_media_credit,$image_metas ) ) {
+	    	$custom_credit = get_post_meta( $image->ID, $custom_media_credit, true );
 	    }
-			if ($use_custom && !empty($custom_media_agency) && $custom_media_agency != '#NONE#' && in_array($custom_media_agency,$image_metas)){
-	    	$custom_agency = get_post_meta($image->ID, $custom_media_agency, true);
+        if ( $use_custom && ! empty( $custom_media_agency ) && $custom_media_agency != '#NONE#' && in_array( $custom_media_agency,$image_metas ) ) {
+	    	$custom_agency = get_post_meta( $image->ID, $custom_media_agency, true);
 	    }

-			if ($use_custom && !empty($dist_media_option) && $dist_media_option != '#NONE#' && in_array($dist_media_option,$image_metas)){
-	    	$dist_media = get_post_meta($image->ID, $dist_media_option, true);
+        if ( $use_custom && !empty( $dist_media_option ) && $dist_media_option != '#NONE#' && in_array( $dist_media_option,$image_metas ) ) {
+	    	$dist_media = get_post_meta( $image->ID, $dist_media_option, true );
 	    }

-			//if the image field for distribute is set and polarity then send it.
-			//all kinds of other math when polarity is negative or the field isn't set.
-			$image_type = 'standard';
-			if ($image->ID == $primary_image){
-				$image_type = 'primary';
-			}
+        //if the image field for distribute is set and polarity then send it.
+        //all kinds of other math when polarity is negative or the field isn't set.
+        $image_type = 'standard';
+        if ( $image->ID == $primary_image ) {
+            $image_type = 'primary';
+        }

-			//is the image in the content?  If so, tell the APi with a flag that CorePublisher knows
-			//WP may add something like "-150X150" to the end of the filename, before the extension.  Isn't that nice?
-			$image_name_parts = split(".", $image_guid);
-			$image_regex = "/". $image_name_parts[0] . "\-[a-zA-Z0-9]*" . $image_name_parts[1] . "/";
-			$in_body = "";
-			if (preg_match($image_regex, $content)) {
-				if (strstr($image->guid, '?')){
+        //is the image in the content?  If so, tell the APi with a flag that CorePublisher knows
+        //WP may add something like "-150X150" to the end of the filename, before the extension.  Isn't that nice?
+        $image_name_parts = split( ".", $image_guid );
+        $image_regex = "/" . $image_name_parts[0] . "\-[a-zA-Z0-9]*" . $image_name_parts[1] . "/";
+        $in_body = "";
+        if ( preg_match( $image_regex, $content ) ) {
+				if ( strstr( $image->guid, '?') ) {
 					$in_body = "&origin=body";
-				}
-				else {
+				} else {
 					$in_body = "?origin=body";
 				}
-			}
-			$story[] = array(
-				'tag' => 'image',
-				'attr' => array( 'src' => $image->guid . $in_body, 'type' => $image_type ),
-				'children' => array ( array(
-						'tag' => 'title',
-						'text' => $image->post_title,
-						),
-						array(
-							'tag' => 'caption',
-							'text' => $image->post_excerpt,
- 						),
- 						array(
- 							'tag' => 'producer',
- 							'text' => $custom_credit
- 						),
- 						array(
- 							'tag' => 'provider',
- 							'text' => $custom_agency
- 						)
-					),
-			);
-		}
+        }
+        $story[] = array(
+            'tag' => 'image',
+            'attr' => array( 'src' => $image->guid . $in_body, 'type' => $image_type ),
+            'children' => array(
+                array(
+				    'tag' => 'title',
+				    'text' => $image->post_title,
+				),
+				array(
+				    'tag' => 'caption',
+				    'text' => $image->post_excerpt,
+ 			    ),
+ 			    array(
+ 			        'tag' => 'producer',
+ 			        'text' => $custom_credit
+ 			    ),
+ 			    array(
+ 			        'tag' => 'provider',
+ 			        'text' => $custom_agency
+ 			    )
+            ),
+        );
+    }

-		//should be able to do the same as image for audio, with post_mime_typ = 'audio' or something.
-		$args = array(
-			'order'=> 'DESC',
-			'post_mime_type' => 'audio',
-			'post_parent' => $post->ID,
-			'post_status' => null,
-			'post_type' => 'attachment'
-		);
-		$audios = get_children( $args );
+    //should be able to do the same as image for audio, with post_mime_typ = 'audio' or something.
+    $args = array(
+        'order'=> 'DESC',
+        'post_mime_type' => 'audio',
+        'post_parent' => $post->ID,
+        'post_status' => null,
+        'post_type' => 'attachment'
+    );
+    $audios = get_children( $args );

-		foreach ($audios as $audio){
-		    $audio_meta = wp_get_attachment_metadata($audio->ID);
-			$caption = $audio->post_excerpt;
-			//if we don't have excerpt filled in, try content
-			if (empty($caption)) {
-				$caption = $audio->post_content;
-			}
+    foreach ( $audios as $audio ) {
+        $audio_meta = wp_get_attachment_metadata( $audio->ID );
+        $caption = $audio->post_excerpt;
+        //if we don't have excerpt filled in, try content
+        if ( empty( $caption ) ) {
+            $caption = $audio->post_content;
+        }

-			$story[] = array(
-      	'tag' => 'audio',
-        'children' => array(
-        	array(
-          	'tag' => 'format',
-            'children' => array ( array(
-            	'tag' => 'mp3',
-              'text' => $audio->guid,
-            )),
-          ),
-          array(
-            'tag' => 'description',
-            'text' => $caption,
-          ),
-          array(
-            'tag' => 'duration',
-            'text' => $audio_meta['length'],
-          ),
-        ),
-      );
-		}
+        $story[] = array(
+            'tag' => 'audio',
+            'children' => array(
+                array(
+                    'tag' => 'format',
+                    'children' => array (
+                        array(
+            	           'tag' => 'mp3',
+                            'text' => $audio->guid,
+                        )
+                    ),
+                ),
+                array(
+                    'tag' => 'description',
+                    'text' => $caption,
+                ),
+                array(
+                    'tag' => 'duration',
+                    'text' => $audio_meta['length'],
+                ),
+            ),
+        );
+    }

-		if ($enclosures = get_metadata('post', $post->ID, 'enclosure')) {
-		  // This logic is specifically driven by enclosure metadata items that are
-		  // created by the PowerPress podcasting plug-in. It will likely have to be
-		  // re-worked if we need to accomodate other plug-ins that use enclosures.
-		  foreach($enclosures as $enclosure) {
-		    $pieces = explode("\n", $enclosure);
+    if ( $enclosures = get_metadata( 'post', $post->ID, 'enclosure' ) ) {

-		    if (!empty($pieces[3])) {
-		      $metadata = unserialize($pieces[3]);
-		      $duration = (!empty($metadata['duration'])) ? nprapi_convert_duration($metadata['duration']) : NULL;
+        // This logic is specifically driven by enclosure metadata items that are
+        // created by the PowerPress podcasting plug-in. It will likely have to be
+        // re-worked if we need to accomodate other plug-ins that use enclosures.
+        foreach( $enclosures as $enclosure ) {
+            $pieces = explode( "\n", $enclosure );
+		    if ( !empty( $pieces[3] ) ) {
+                $metadata = unserialize( $pieces[3] );
+                $duration = ( ! empty($metadata['duration'] ) ) ? nprapi_convert_duration( $metadata['duration'] ) : NULL;
 		    }
 		    $story[] = array(
-              'tag' => 'audio',
-              'children' => array(
-                array(
-                  'tag' => 'duration',
-                  'text' => (!empty($duration)) ? $duration : 0,
-                ),
-                array(
-                  'tag' => 'format',
-                  'children' => array(
+                'tag' => 'audio',
+                'children' => array(
                     array(
-                      'tag' => 'mp3',
-                      'text' => $pieces[0],
+                        'tag' => 'duration',
+                        'text' => ( !empty($duration) ) ? $duration : 0,
+                    ),
+                    array(
+                        'tag' => 'format',
+                        'children' => array(
+                            array(
+                            'tag' => 'mp3',
+                            'text' => $pieces[0],
+                            ),
+                        ),
                     ),
-                  ),
                 ),
-              ),
             );
-		  }
-		}
-  return $story;
+        }
+    }
+    return $story;
 }

 // Convert "HH:MM:SS" duration (not time) into seconds
-function nprapi_convert_duration($duration) {
-  $pieces = explode(':', $duration);
-  $duration_in_seconds = ($pieces[0] * 60 * 60 + $pieces[1] * 60 + $pieces[2]);
+function nprapi_convert_duration( $duration ) {
+  $pieces = explode( ':', $duration );
+  $duration_in_seconds = ( $pieces[0] * 60 * 60 + $pieces[1] * 60 + $pieces[2] );
   return $duration_in_seconds;
 }

@@ -349,7 +356,6 @@ function split_paragraphs( $html ) {
         );
         $num++;
     }
-
     return $graphs;
 }

@@ -360,20 +366,15 @@ function split_paragraphs( $html ) {
 function array_to_xml( $tag, $attrs, $data ) {
     $xml = new DOMDocument();
     $xml->formatOutput = true;
-
     $root = $xml->createElement( $tag );
-
     foreach ( $attrs as $k => $v ) {
         $root->setAttribute( $k, $v );
     }
-
     foreach ( $data as $item ) {
         $elemxml = item_to_xml( $item, $xml );
         $root->appendChild( $elemxml );
     }
-
     $xml->appendChild( $root );
-
     return $xml->saveXML();
 }

@@ -438,7 +439,6 @@ function nai_get_excerpt( $post, $word_count = 30 ) {
     } else {
         $text = implode( ' ', $words );
     }
-
     return $text;
 }

diff --git a/ds-npr-api.php b/ds-npr-api.php
index aaa857e..acf610f 100644
--- a/ds-npr-api.php
+++ b/ds-npr-api.php
@@ -45,119 +45,110 @@ define( 'NPR_IMAGE_CAPTION_META_KEY', 'npr_image_caption');

 define( 'NPR_PUSH_STORY_ERROR', 'npr_push_story_error');

-define('NPR_MAX_QUERIES', 10);
+define( 'NPR_MAX_QUERIES', 10 );

-define('DS_NPR_PLUGIN_DIR', plugin_dir_path(__FILE__) );
+define( 'DS_NPR_PLUGIN_DIR', plugin_dir_path(__FILE__) );

-define('NPR_POST_TYPE', 'npr_story_post');
-require_once( DS_NPR_PLUGIN_DIR .'/settings.php' );
-require_once( DS_NPR_PLUGIN_DIR .'/classes/NPRAPIWordpress.php');
+define( 'NPR_POST_TYPE', 'npr_story_post' );
+require_once( DS_NPR_PLUGIN_DIR . '/settings.php' );
+require_once( DS_NPR_PLUGIN_DIR . '/classes/NPRAPIWordpress.php');

-require_once( DS_NPR_PLUGIN_DIR .'/get_stories.php');
+require_once( DS_NPR_PLUGIN_DIR . '/get_stories.php');
 //add the cron to get stories
-register_activation_hook(DS_NPR_PLUGIN_DIR .'/ds-npr-api.php', 'ds_npr_story_activation');
-add_action('npr_ds_hourly_cron', array ('DS_NPR_API','ds_npr_story_cron_pull'));
-register_deactivation_hook(DS_NPR_PLUGIN_DIR .'/ds-npr-api.php', 'ds_npr_story_deactivation');
+register_activation_hook( DS_NPR_PLUGIN_DIR . '/ds-npr-api.php', 'ds_npr_story_activation' );
+add_action( 'npr_ds_hourly_cron', array ( 'DS_NPR_API','ds_npr_story_cron_pull' ) );
+register_deactivation_hook( DS_NPR_PLUGIN_DIR . '/ds-npr-api.php', 'ds_npr_story_deactivation' );

 function ds_npr_story_activation() {
-
 	global $wpdb;
-
-	if (function_exists('is_multisite') && is_multisite()) {
+	if ( function_exists( 'is_multisite' ) && is_multisite() ) {
 	  // check if it is a network activation - if so, run the activation function for each blog id
-		$old_blog = $wpdb->blogid;
+        $old_blog = $wpdb->blogid;
 		// Get all blog ids
-		$blogids = $wpdb->get_col($wpdb->prepare("SELECT blog_id FROM $wpdb->blogs"));
-		foreach ($blogids as $blog_id) {
-			switch_to_blog($blog_id);
-			_ds_npr_activate();
+		$blogids = $wpdb->get_col( $wpdb->prepare( "SELECT blog_id FROM $wpdb->blogs" ) );
+		foreach ( $blogids as $blog_id ) {
+            switch_to_blog( $blog_id );
+            _ds_npr_activate();
 		}
-		switch_to_blog($old_blog);
-	}
-	else {
-		_ds_npr_activate();
+		switch_to_blog( $old_blog );
+	} else {
+        _ds_npr_activate();
 	}
 }

 function _ds_npr_activate() {
-
-	update_option('dp_npr_query_multi_cron_interval', 60);
-	if ( !wp_next_scheduled( 'npr_ds_hourly_cron' ) ) {
-		error_log('turning on cron event');
-		wp_schedule_event( time(), 'hourly', 'npr_ds_hourly_cron');
+	update_option( 'dp_npr_query_multi_cron_interval', 60 );
+	if ( ! wp_next_scheduled( 'npr_ds_hourly_cron' ) ) {
+		error_log( 'turning on cron event' );
+		wp_schedule_event( time(), 'hourly', 'npr_ds_hourly_cron' );
 	}

-	$num =  get_option('ds_npr_num');
-	if (empty($num)){
-		update_option('ds_npr_num', 5);
+	$num =  get_option( 'ds_npr_num' );
+	if ( empty($num) ) {
+		update_option( 'ds_npr_num', 5 );
 	}

 	$def_url = 'http://api.npr.org';
 	$pull_url = get_option( 'ds_npr_api_pull_url' );
-	if (empty($pull_url)){
-		update_option('ds_npr_api_pull_url', $def_url);
+	if ( empty( $pull_url ) ) {
+		update_option( 'ds_npr_api_pull_url', $def_url );
 	}

 }

 function ds_npr_story_deactivation() {
 	global $wpdb;
-
-	if (function_exists('is_multisite') && is_multisite()) {
+	if ( function_exists( 'is_multisite' ) && is_multisite() ) {
 	  // check if it is a network activation - if so, run the activation function for each blog id
 		$old_blog = $wpdb->blogid;
 		// Get all blog ids
-		$blogids = $wpdb->get_col($wpdb->prepare("SELECT blog_id FROM $wpdb->blogs"));
-		foreach ($blogids as $blog_id) {
-			switch_to_blog($blog_id);
+		$blogids = $wpdb->get_col( $wpdb->prepare( "SELECT blog_id FROM $wpdb->blogs" ) );
+		foreach ( $blogids as $blog_id ) {
+			switch_to_blog( $blog_id );
 			_ds_npr_deactivate();
 		}
-		switch_to_blog($old_blog);
-	}
-	else {
+		switch_to_blog( $old_blog );
+	} else {
 		_ds_npr_deactivate();
 	}
 }

 function _ds_npr_deactivate() {
-
-	wp_clear_scheduled_hook('npr_ds_hourly_cron');
-
-	$num =  get_option('ds_npr_num');
-	if (!empty($num)){
-		delete_option('ds_npr_num');
+	wp_clear_scheduled_hook( 'npr_ds_hourly_cron' );
+	$num =  get_option( 'ds_npr_num' );
+	if ( ! empty($num) ) {
+		delete_option( 'ds_npr_num' );
 	}

 	$push_url = get_option( 'ds_npr_api_push_url' );
-	if (!empty($push_url)){
-		delete_option('ds_npr_api_push_url');
+	if ( ! empty( $push_url ) ) {
+		delete_option( 'ds_npr_api_push_url' );
 	}
 }

-function ds_npr_show_message($message, $errormsg = false)
-{
-	if ($errormsg) {
+function ds_npr_show_message( $message, $errormsg = false ) {
+	if ( $errormsg ) {
 		echo '<div id="message" class="error">';
-	}
-	else {
+	} else {
 		echo '<div id="message" class="updated fade">';
 	}
-
 	echo "<p><strong>$message</strong></p></div>";
-}
-require_once('push_story.php');
+}
+
+require_once( 'push_story.php' );

 add_action( 'init', 'ds_npr_create_post_type' );
+
 function ds_npr_create_post_type() {
 	register_post_type( NPR_POST_TYPE,
 		array(
 			'labels' => …
  • Loading branch information
CrookedNumber committed Aug 11, 2015
1 parent d720ecd commit 0b6b6ca
Show file tree
Hide file tree
Showing 8 changed files with 1,009 additions and 1,066 deletions.
802 changes: 392 additions & 410 deletions classes/NPRAPIWordpress.php

Large diffs are not rendered by default.

384 changes: 192 additions & 192 deletions classes/nprml.php

Large diffs are not rendered by default.

103 changes: 47 additions & 56 deletions ds-npr-api.php
Original file line number Diff line number Diff line change
Expand Up @@ -45,119 +45,110 @@

define( 'NPR_PUSH_STORY_ERROR', 'npr_push_story_error');

define('NPR_MAX_QUERIES', 10);
define( 'NPR_MAX_QUERIES', 10 );

define('DS_NPR_PLUGIN_DIR', plugin_dir_path(__FILE__) );
define( 'DS_NPR_PLUGIN_DIR', plugin_dir_path(__FILE__) );

define('NPR_POST_TYPE', 'npr_story_post');
require_once( DS_NPR_PLUGIN_DIR .'/settings.php' );
require_once( DS_NPR_PLUGIN_DIR .'/classes/NPRAPIWordpress.php');
define( 'NPR_POST_TYPE', 'npr_story_post' );
require_once( DS_NPR_PLUGIN_DIR . '/settings.php' );
require_once( DS_NPR_PLUGIN_DIR . '/classes/NPRAPIWordpress.php');

require_once( DS_NPR_PLUGIN_DIR .'/get_stories.php');
require_once( DS_NPR_PLUGIN_DIR . '/get_stories.php');
//add the cron to get stories
register_activation_hook(DS_NPR_PLUGIN_DIR .'/ds-npr-api.php', 'ds_npr_story_activation');
add_action('npr_ds_hourly_cron', array ('DS_NPR_API','ds_npr_story_cron_pull'));
register_deactivation_hook(DS_NPR_PLUGIN_DIR .'/ds-npr-api.php', 'ds_npr_story_deactivation');
register_activation_hook( DS_NPR_PLUGIN_DIR . '/ds-npr-api.php', 'ds_npr_story_activation' );
add_action( 'npr_ds_hourly_cron', array ( 'DS_NPR_API','ds_npr_story_cron_pull' ) );
register_deactivation_hook( DS_NPR_PLUGIN_DIR . '/ds-npr-api.php', 'ds_npr_story_deactivation' );


function ds_npr_story_activation() {

global $wpdb;

if (function_exists('is_multisite') && is_multisite()) {
if ( function_exists( 'is_multisite' ) && is_multisite() ) {
// check if it is a network activation - if so, run the activation function for each blog id
$old_blog = $wpdb->blogid;
$old_blog = $wpdb->blogid;
// Get all blog ids
$blogids = $wpdb->get_col($wpdb->prepare("SELECT blog_id FROM $wpdb->blogs"));
foreach ($blogids as $blog_id) {
switch_to_blog($blog_id);
_ds_npr_activate();
$blogids = $wpdb->get_col( $wpdb->prepare( "SELECT blog_id FROM $wpdb->blogs" ) );
foreach ( $blogids as $blog_id ) {
switch_to_blog( $blog_id );
_ds_npr_activate();
}
switch_to_blog($old_blog);
}
else {
_ds_npr_activate();
switch_to_blog( $old_blog );
} else {
_ds_npr_activate();
}
}

function _ds_npr_activate() {

update_option('dp_npr_query_multi_cron_interval', 60);
if ( !wp_next_scheduled( 'npr_ds_hourly_cron' ) ) {
error_log('turning on cron event');
wp_schedule_event( time(), 'hourly', 'npr_ds_hourly_cron');
update_option( 'dp_npr_query_multi_cron_interval', 60 );
if ( ! wp_next_scheduled( 'npr_ds_hourly_cron' ) ) {
error_log( 'turning on cron event' );
wp_schedule_event( time(), 'hourly', 'npr_ds_hourly_cron' );
}

$num = get_option('ds_npr_num');
if (empty($num)){
update_option('ds_npr_num', 5);
$num = get_option( 'ds_npr_num' );
if ( empty($num) ) {
update_option( 'ds_npr_num', 5 );
}

$def_url = 'http://api.npr.org';
$pull_url = get_option( 'ds_npr_api_pull_url' );
if (empty($pull_url)){
update_option('ds_npr_api_pull_url', $def_url);
if ( empty( $pull_url ) ) {
update_option( 'ds_npr_api_pull_url', $def_url );
}

}

function ds_npr_story_deactivation() {
global $wpdb;

if (function_exists('is_multisite') && is_multisite()) {
if ( function_exists( 'is_multisite' ) && is_multisite() ) {
// check if it is a network activation - if so, run the activation function for each blog id
$old_blog = $wpdb->blogid;
// Get all blog ids
$blogids = $wpdb->get_col($wpdb->prepare("SELECT blog_id FROM $wpdb->blogs"));
foreach ($blogids as $blog_id) {
switch_to_blog($blog_id);
$blogids = $wpdb->get_col( $wpdb->prepare( "SELECT blog_id FROM $wpdb->blogs" ) );
foreach ( $blogids as $blog_id ) {
switch_to_blog( $blog_id );
_ds_npr_deactivate();
}
switch_to_blog($old_blog);
}
else {
switch_to_blog( $old_blog );
} else {
_ds_npr_deactivate();
}
}

function _ds_npr_deactivate() {

wp_clear_scheduled_hook('npr_ds_hourly_cron');

$num = get_option('ds_npr_num');
if (!empty($num)){
delete_option('ds_npr_num');
wp_clear_scheduled_hook( 'npr_ds_hourly_cron' );
$num = get_option( 'ds_npr_num' );
if ( ! empty($num) ) {
delete_option( 'ds_npr_num' );
}

$push_url = get_option( 'ds_npr_api_push_url' );
if (!empty($push_url)){
delete_option('ds_npr_api_push_url');
if ( ! empty( $push_url ) ) {
delete_option( 'ds_npr_api_push_url' );
}
}


function ds_npr_show_message($message, $errormsg = false)
{
if ($errormsg) {
function ds_npr_show_message( $message, $errormsg = false ) {
if ( $errormsg ) {
echo '<div id="message" class="error">';
}
else {
} else {
echo '<div id="message" class="updated fade">';
}

echo "<p><strong>$message</strong></p></div>";
}
require_once('push_story.php');
}

require_once( 'push_story.php' );


add_action( 'init', 'ds_npr_create_post_type' );

function ds_npr_create_post_type() {
register_post_type( NPR_POST_TYPE,
array(
'labels' => array(
'name' => __( 'NPR Stories' ),
'singular_name' => __( 'NPR Story' ),
),
),
'public' => true,
'has_archive' => true,
'menu_position' => 5,
Expand Down
160 changes: 76 additions & 84 deletions get_stories.php
Original file line number Diff line number Diff line change
@@ -1,138 +1,130 @@
<?php
require_once( DS_NPR_PLUGIN_DIR .'get_stories_ui.php' );

require_once ( DS_NPR_PLUGIN_DIR .'classes/NPRAPIWordpress.php');

class DS_NPR_API {

class DS_NPR_API {
var $created_message = '';

public static function ds_npr_get_pull_post_type (){
$pull_post_type = get_option('ds_npr_pull_post_type');
if (empty($pull_post_type)){
public static function ds_npr_get_pull_post_type () {
$pull_post_type = get_option( 'ds_npr_pull_post_type' );
if ( empty( $pull_post_type ) ) {
$pull_post_type = 'post';
}
return $pull_post_type;
}

public static function ds_npr_story_cron_pull() {
// here we should get the list of IDs/full urls that need to be checked hourly

//because this is run on cron, and may be fired off by an non-admin, we need to load a bunch of stuff
require_once (WP_PLUGIN_DIR.'/../../wp-admin/includes/file.php');
require_once (WP_PLUGIN_DIR.'/../../wp-admin/includes/media.php');
require_once (WP_PLUGIN_DIR.'/../../wp-admin/includes/admin.php');
require_once (WP_PLUGIN_DIR.'/../../wp-load.php');
require_once (WP_PLUGIN_DIR.'/../../wp-includes/class-wp-error.php');
require_once (WP_PLUGIN_DIR . '/../../wp-admin/includes/file.php');
require_once (WP_PLUGIN_DIR . '/../../wp-admin/includes/media.php');
require_once (WP_PLUGIN_DIR . '/../../wp-admin/includes/admin.php');
require_once (WP_PLUGIN_DIR . '/../../wp-load.php');
require_once (WP_PLUGIN_DIR . '/../../wp-includes/class-wp-error.php');

//this was debug code it may be good keep it around for a bit
//$now = gmDate("D, d M Y G:i:s O ");
//error_log("right now the time is -- ".$now);
//here we go.
$num = get_option('ds_npr_num');
for ($i=0; $i<$num; $i++){
$num = get_option( 'ds_npr_num' );
for ($i=0; $i<$num; $i++ ) {
$api = new NPRAPIWordpress();
$q = 'ds_npr_query_'.$i;
$query_string = get_option($q);
if (!empty($query_string)){
error_log('Cron '. $i .' querying NPR API for '. $query_string);
$q = 'ds_npr_query_' . $i;
$query_string = get_option( $q );
if ( ! empty( $query_string ) ) {
error_log('Cron '. $i . ' querying NPR API for ' . $query_string);
//if the query string contains the pull url and 'query', just make request from the API
if (stristr($query_string, get_option('ds_npr_api_pull_url')) && stristr($query_string,'query')){
$api->query_by_url($query_string);
}
//if the string doesn't contain the base url, try to query using an ID
else{
if (stristr($query_string, 'http:')) {
if ( stristr( $query_string, get_option( 'ds_npr_api_pull_url' ) ) && stristr( $query_string,'query' ) ) {
$api->query_by_url( $query_string );
} else {
//if the string doesn't contain the base url, try to query using an ID
if ( stristr( $query_string, 'http:' ) ) {
error_log('Not going to run query because the query string contains http and is not pointing to the pullURL');
}
else {
} else {
$params = array ('id' => $query_string, 'apiKey' => get_option( 'ds_npr_api_key' ));
$api->request($params, 'query', get_option( 'ds_npr_api_pull_url' ));
$api->request( $params, 'query', get_option( 'ds_npr_api_pull_url' ) );
}
}
$api->parse();
//var_dump($api);
try {
if (empty($api->message) || ($api->message->level != 'warning')){
//check the publish flag and send that along.
$pub_flag = FALSE;
$pub_option = get_option('ds_npr_query_publish_'.$i);
if ($pub_option == 'Publish'){
$pub_flag = TRUE;
}
$story = $api->update_posts_from_stories($pub_flag);
}
else {
if ( empty($story) ) {
error_log('Not going to save story. Return from query='. $query_string .', we got an error='.$api->message->id. ' error');
}
}
} catch (Exception $e){
error_log('we have an error going in '. __FUNCTION__. ' like this :'. $e);
}
//var_dump($api);
try {
if ( empty( $api->message ) || $api->message->level != 'warning' ) {
//check the publish flag and send that along.
$pub_flag = FALSE;
$pub_option = get_option('ds_npr_query_publish_'.$i);
if ( $pub_option == 'Publish' ) {
$pub_flag = TRUE;
}
$story = $api->update_posts_from_stories($pub_flag);
} else {
if ( empty($story) ) {
error_log('Not going to save story. Return from query='. $query_string .', we got an error='.$api->message->id. ' error');
}
}
}
catch (Exception $e) {
error_log('we have an error going in '. __FUNCTION__. ' like this :'. $e);
}
}
}
}

function load_page_hook() {
if ( isset( $_POST ) && isset( $_POST[ 'story_id' ] ) ) {
$story_id = $_POST[ 'story_id' ] ;
if (isset($_POST['publishNow'])){
if ( isset( $_POST['publishNow'] ) ){
$publish = true;
}
if (isset($_POST['createDaft'])){
if ( isset($_POST['createDaft'] ) ){
$publish = false;
}
}
else if ( isset( $_GET[ 'story_id' ]) && isset( $_GET[ 'create_draft' ]) ) {
$story_id = $_GET[ 'story_id' ] ;
} else if ( isset( $_GET['story_id']) && isset( $_GET['create_draft'] ) ) {
$story_id = $_GET['story_id'];
}

if ( isset( $story_id ) ) {

// XXX: check that the API key is actually set
$api = new NPRAPIWordpress();
//check to see if we got an ID or a URL
if (is_numeric($story_id)){
if (strlen($story_id) >= 8){
$story_id = $story_id;
}
} else {
// url format: /yyyy/mm/dd/id
// url format: /blogs/name/yyyy/mm/dd/id
$story_id = preg_replace('/http\:\/\/[^\s\/]*npr\.org\/((([^\/]*\/){3,5})([0-9]{8,12}))\/.*/', '$4', $story_id);
if (!is_numeric($story_id)) {
// url format: /templates/story/story.php?storyId=id
$story_id = preg_replace('/http\:\/\/[^\s\/]*npr\.org\/([^&\s\<]*storyId\=([0-9]+)).*/', '$2', $story_id);
}
}
$params = array ('id' => $story_id, 'apiKey' => get_option( 'ds_npr_api_key' ));
$api->request($params, 'query', get_option( 'ds_npr_api_pull_url' ));

//check to see if we got an ID or a URL
if ( is_numeric( $story_id ) ) {
if (strlen($story_id) >= 8) {
$story_id = $story_id;
}
} else {
// url format: /yyyy/mm/dd/id
// url format: /blogs/name/yyyy/mm/dd/id
$story_id = preg_replace( '/http\:\/\/[^\s\/]*npr\.org\/((([^\/]*\/){3,5})([0-9]{8,12}))\/.*/', '$4', $story_id );
if ( ! is_numeric( $story_id ) ) {
// url format: /templates/story/story.php?storyId=id
$story_id = preg_replace( '/http\:\/\/[^\s\/]*npr\.org\/([^&\s\<]*storyId\=([0-9]+)).*/', '$2', $story_id );
}
}
$params = array( 'id' => $story_id, 'apiKey' => get_option( 'ds_npr_api_key' ) );
$api->request( $params, 'query', get_option( 'ds_npr_api_pull_url' ) );
$api->parse();

if (empty($api->message) || ($api->message->level != 'warning')){
$post_id = $api->update_posts_from_stories($publish);
if (!empty($post_id)){
//redirect to the edit page if we just updated one story
$post_link = admin_url('post.php?action=edit&post='.$post_id );
wp_redirect($post_link);
if ( empty( $api->message ) || $api->message->level != 'warning') {
$post_id = $api->update_posts_from_stories($publish);
if ( ! empty( $post_id ) ) {
//redirect to the edit page if we just updated one story
$post_link = admin_url( 'post.php?action=edit&post=' . $post_id );
wp_redirect( $post_link );
}
}
else {
if ( empty($story) ) {
$xml = simplexml_load_string($api->xml);
ds_npr_show_message('Error retrieving story for id = '.$story_id. '<br> API error ='.$api->message->id . '<br> API Message ='. $xml->message->text , TRUE);
error_log('Not going to save the return from query for story_id='. $story_id .', we got an error='.$api->message->id. ' from the API');
return;
} else {
if ( empty($story) ) {
$xml = simplexml_load_string( $api->xml );
ds_npr_show_message('Error retrieving story for id = ' . $story_id . '<br> API error ='.$api->message->id . '<br> API Message ='. $xml->message->text , TRUE);
error_log('Not going to save the return from query for story_id='. $story_id .', we got an error='.$api->message->id. ' from the API');
return;
}
}
}
}

function DS_NPR_API() {
if ( ! is_admin() ) {
return;
}

add_action( 'admin_menu', array( &$this, 'admin_menu' ) );
add_action( 'load-posts_page_get-npr-stories', array( 'DS_NPR_API', 'load_page_hook' ) );
}
Expand Down
Loading

0 comments on commit 0b6b6ca

Please sign in to comment.