WordPress.org

Plugin Directory

Changeset 549660 for feedwordpress


Ignore:
Timestamp:
05/28/12 05:48:05 (5 years ago)
Author:
radgeek
Message:

Diagnostics / Allow for diagnostics on why a given post was marked as updated.

Location:
feedwordpress/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • feedwordpress/trunk/diagnostics-page.php

    r547052 r549660  
    265265            ), 
    266266            'Advanced Diagnostics' => array( 
     267                'feed_items:freshness:reasons' => 'explaining the reason that a post was treated as an update to an existing post', 
    267268                'feed_items:freshness:sql' => 'when FeedWordPress issues the SQL query it uses to decide whether to treat items as new, updates, or duplicates',  
    268269                'syndicated_posts:static_meta_data' => 'providing meta-data about syndicated posts in the Edit Posts interface', 
  • feedwordpress/trunk/syndicatedpost.class.php

    r549633 r549660  
    758758    } 
    759759 
    760     function update_hash () { 
    761         return md5(serialize($this->item)); 
     760    function update_hash ($hashed = true) { 
     761        $hash = $this->item; 
     762         
     763        if ($hashed) : 
     764            $hash = md5(serialize($hash)); 
     765        endif; 
     766         
     767        return $hash; 
    762768    } /* SyndicatedPost::update_hash() */ 
    763769 
     
    12571263                ); 
    12581264 
    1259                 if (!$updated) : 
     1265                $updatedReason = NULL; 
     1266                if ($updated) : 
     1267                    $updatedReason = preg_replace( 
     1268                        "/\s+/", " ", 
     1269                        'has been marked with a new timestamp (' 
     1270                        .date('Y-m-d H:i:s', $updated_ts) 
     1271                        ." > " 
     1272                        .date('Y-m-d H:i:s', $last_rev_ts) 
     1273                        .')' 
     1274                    ); 
     1275                else : 
    12601276                    // Or the hash... 
    12611277                    $hash = $this->update_hash(); 
     
    12651281                    else : 
    12661282                        $updated = true; // Can't find syndication meta-data 
     1283                    endif; 
     1284                     
     1285                    if ($updated and FeedWordPress::diagnostic_on('feed_items:freshness:reasons')) : 
     1286                    $updatedReason = ' has a not-yet-seen update hash: ' 
     1287                        .FeedWordPress::val($hash) 
     1288                        .' not in {' 
     1289                        .implode(", ", array_map(array('FeedWordPress', 'val'), $seen)) 
     1290                        .'}. Basis: ' 
     1291                        .FeedWordPress::val(array_keys($this->update_hash(false))); 
    12671292                    endif; 
    12681293                endif; 
     
    12741299                        $frozen_values = get_post_custom_values('_syndication_freeze_updates', $old_post->ID); 
    12751300                        $frozen = (count($frozen_values) > 0 and 'yes' == $frozen_values[0]); 
     1301                         
     1302                        if ($frozen) : 
     1303                            $updatedReason = ' IS BLOCKED FROM BEING UPDATED BY A UPDATE LOCK ON THIS POST, EVEN THOUGH IT '.$updatedReason; 
     1304                        endif; 
     1305                    else : 
     1306                        $updatedReason = ' IS BLOCKED FROM BEING UPDATED BY A FEEDWORDPRESS UPDATE LOCK, EVEN THOUGH IT '.$updatedReason; 
    12761307                    endif; 
    12771308                endif; 
     
    12801311                if ($updated) : 
    12811312                    FeedWordPress::diagnostic('feed_items:freshness', 'Item ['.$guid.'] "'.$this->entry->get_title().'" is an update of an existing post.'); 
     1313                    if (!is_null($updatedReason)) : 
     1314                        $updatedReason = preg_replace('/\s+/', ' ', $updatedReason); 
     1315                        FeedWordPress::diagnostic('feed_items:freshness:reasons', 'Item ['.$guid.'] "'.$this->entry->get_title().'" '.$updatedReason); 
     1316                    endif; 
    12821317                    $this->_freshness = 1; // Updated content 
    12831318                    $this->_wp_id = $old_post->ID; 
Note: See TracChangeset for help on using the changeset viewer.