WordPress.org

Plugin Directory

Changeset 680650 for feedwordpress


Ignore:
Timestamp:
03/12/13 17:37:52 (4 years ago)
Author:
radgeek
Message:

Features and fixes roll-up from Github / FIXES: replace default wp_ table name prefix by a variable, per bug reports from users, causing problems when users had an alternate table name prefix; FEATURES: AJAXy Test Expression button to allow live testing, try to better indicate options for Trashing/Erasing a syndicated post.

Location:
feedwordpress/trunk
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • feedwordpress/trunk/admin-ui.php

    r641309 r680650  
    164164        foreach ($submit_buttons as $field) : 
    165165            if (isset($fwp_post[$field])) : 
    166                 $link_id = $_REQUEST['save_link_id']; 
     166                $link_id = MyPHP::request('save_link_id'); 
    167167            endif; 
    168168        endforeach; 
    169169         
    170170        if (is_null($link_id) and isset($_REQUEST['link_id'])) : 
    171             $link_id = $_REQUEST['link_id']; 
     171            $link_id = MyPHP::request('link_id'); 
    172172        endif; 
    173173 
     
    188188        if (is_null($field)) : $field = 'save_link_id'; endif; 
    189189        ?> 
    190     <input type="hidden" name="<?php print esc_html($field); ?>" value="<?php print ($this->for_feed_settings() ? $this->link->id : '*'); ?>" /> 
     190    <input type="hidden" name="<?php print esc_attr($field); ?>" value="<?php print ($this->for_feed_settings() ? $this->link->id : '*'); ?>" /> 
    191191        <?php 
    192192    } /* FeedWordPressAdminPage::stamp_link_id () */ 
  • feedwordpress/trunk/feeds-page.php

    r638053 r680650  
    776776        $lookup = (isset($_REQUEST['lookup']) ? $_REQUEST['lookup'] : NULL); 
    777777         
    778         $auth = FeedWordPress::param('link_rss_auth_method'); 
    779         $username = FeedWordPress::param('link_rss_username'); 
    780         $password = FeedWordPress::param('link_rss_password'); 
     778        $auth = MyPHP::request('link_rss_auth_method'); 
     779        $username = MyPHP::request('link_rss_username'); 
     780        $password = MyPHP::request('link_rss_password'); 
    781781        $credentials = array( 
    782782                "authentication" => $auth, 
  • feedwordpress/trunk/feedwordpress-elements.css

    r641309 r680650  
    430430#feedwordpress-admin-feeds #link-rss-params td { width: auto !important; } 
    431431 
     432/* Feed Contents picker & XPath test results widgets */ 
     433 
     434.fwp-xpath-test-results { 
     435    position: absolute; 
     436    top: auto; left: auto; 
     437    z-index: 9999999; 
     438    overflow: auto; 
     439    max-height: 100px; max-width: 400px; 
     440    background-color: #ccffcc; 
     441    padding: 10px; 
     442} 
     443.fwp-xpath-test-results-close { 
     444    position: absolute; 
     445    top: 10px; right: 10px; 
     446     
     447} 
     448.fwp-xpath-test-setting { 
     449    font-size: smaller; 
     450} 
     451 
     452.fwp-feed-contents-picker h4, .fwp-xpath-test-results h4 { 
     453    margin-top: 0; 
     454    margin-bottom: 5px; 
     455    border-bottom: 1px dotted black; 
     456} 
     457.fwp-feed-contents-picker-close { 
     458    position: absolute; 
     459    top: 10px; right: 10px; 
     460} 
     461.fwp-feed-contents-picker, .fwp-feeds-picker { 
     462    position: absolute; 
     463    top: auto; left: auto; 
     464    z-index: 9999999; 
     465    overflow: auto; 
     466    max-height: 100px; max-width: 400px; 
     467    background-color: #ccffcc; 
     468    padding: 10px; 
     469} 
     470 
     471 
  • feedwordpress/trunk/feedwordpress-elements.js

    r641309 r680650  
    487487} ); /* jQuery(document).ready() */ 
    488488 
     489 
     490function fwp_feedspiper () { 
     491    var data = { 
     492        action: 'fwp_feeds' 
     493    }; 
     494     
     495    return jQuery.ajax({ 
     496        type: "POST", 
     497        url: ajaxurl, 
     498        data: data 
     499    }); 
     500} 
     501 
     502function fwp_feedcontentspiper (feed_id, callbackOK, callbackFail) { 
     503    var data = { 
     504        action: 'fwp_feedcontents', 
     505        feed_id: feed_id 
     506    }; 
     507     
     508    jQuery.ajax({ 
     509        type: "POST", 
     510        url: ajaxurl, 
     511        data: data 
     512    }) 
     513    .done(function (response) { callbackOK(response); }) 
     514    .fail(function (response) { callbackFail(response); }); 
     515} 
     516 
     517function fwp_feedcontentspicker (feed_id, destination, pickCallback, closeCallback) { 
     518    var picker_id = 'fwp-feed-contents-picker-' + feed_id; 
     519     
     520    jQuery('<div class="fwp-feed-contents-picker" style="display: none;" id="'+picker_id+'"><p>Loading...</p></div>').insertAfter(destination); 
     521    jQuery('#'+picker_id).show(500); 
     522     
     523    fwp_feedcontentspiper(feed_id, function (response) { 
     524        var ul = '<h4>Using post...</h4><ul>'; 
     525        for (var i=0; i < response.length; i++) { 
     526            ul += '<li><a class="fwp-feed-contents-picker-pick-'+feed_id+'" href="' 
     527                +response[i].guid 
     528                +'">' + response[i].post_title + '</a></li>'; 
     529        } 
     530        ul += '</ul>'; 
     531        ul += '<a class="fwp-feed-contents-picker-close" href="#" id="fwp-feed-contents-picker-' + feed_id + '-close">x</a>'; 
     532 
     533        jQuery('#fwp-feed-contents-picker-' + feed_id).html(ul); 
     534 
     535        // Set up event handlers. 
     536        jQuery('#fwp-feed-contents-picker-' + feed_id + '-close').click(function (e) { 
     537            jQuery('#fwp-feed-contents-picker-' + feed_id).hide(500, function () { jQuery('#fwp-feed-contents-picker-' + feed_id).remove(); }); 
     538            if (typeof(closeCallback)=='function') { 
     539                closeCallback(feed_id); 
     540            } 
     541            e.preventDefault(); 
     542            return false; 
     543        }); 
     544        jQuery('.fwp-feed-contents-picker-pick-' + feed_id).click(function (e) { 
     545            jQuery('#fwp-feed-contents-picker-' + feed_id).hide(500, function () { jQuery('#fwp-feed-contents-picker-' + feed_id).remove(); }); 
     546            if (typeof(pickCallback)=='function') { 
     547                pickCallback(feed_id, jQuery(this).attr('href')); 
     548            } 
     549            e.preventDefault(); 
     550            return false; 
     551        }); 
     552    }, 
     553    function (response) { 
     554        jQuery('#' + picker_id).addClass('error').html('There was a problem getting a listing of the feed. Sorry!').delay(5000).hide(500, function () { jQuery(this).remove(); }); 
     555    }); 
     556} 
     557 
     558function fwp_feedspicker (destination, pickCallback, closeCallback) { 
     559    var dabber = jQuery(destination).attr('id'); 
     560    var picker_id = 'fwp-feeds-picker-' + dabber; 
     561     
     562    jQuery('<div class="fwp-feeds-picker" style="display: none;" id="'+picker_id+'"><p>Loading...</p></div>').insertAfter(destination); 
     563    jQuery('#'+picker_id).show(500); 
     564     
     565    fwp_feedspiper() 
     566    .done(function (response) { 
     567        var ul = '<h4>Using subscription...</h4><ul>'; 
     568        for (var i=0; i < response.length; i++) { 
     569            ul += '<li><a class="fwp-feeds-picker-pick-'+dabber+'" href="#feed-' 
     570                +response[i].id 
     571                +'">' + response[i].name + '</a></li>'; 
     572        } 
     573        ul += '</ul>'; 
     574        ul += '<a class="fwp-feeds-picker-close" href="#" id="fwp-feeds-picker-' + dabber + '-close">x</a>'; 
     575 
     576        jQuery('#fwp-feeds-picker-' + dabber).html(ul);; 
     577         
     578        // Set up event handlers. 
     579        jQuery('#fwp-feeds-picker-' + dabber + '-close').click(function (e) { 
     580            jQuery('#fwp-feeds-picker-' + dabber).hide(500, function () { jQuery('#fwp-feeds-picker-' + dabber).remove(); }); 
     581            if (typeof(closeCallback)=='function') { 
     582                closeCallback(destination); 
     583            } 
     584            e.preventDefault(); 
     585            return false; 
     586        }); 
     587        jQuery('.fwp-feeds-picker-pick-' + dabber).click(function (e) { 
     588            jQuery('#fwp-feeds-picker-' + dabber).hide(500, function () { 
     589                jQuery('#fwp-feeds-picker-' + dabber).remove(); 
     590            }); 
     591             
     592            var feed_id = jQuery(this).attr('href').replace(/^#feed-/, ''); 
     593             
     594            if (typeof(pickCallback)=='function') { 
     595                pickCallback(feed_id, jQuery(this)); 
     596            } 
     597            e.preventDefault(); 
     598            return false; 
     599        }); 
     600    }) 
     601    .fail(function (response) { 
     602        jQuery('#' + picker_id).addClass('error').html('There was a problem getting a listing of your subscriptions. Sorry!').delay(5000).hide(500, function () { jQuery(this).remove(); }); 
     603    }); 
     604} 
     605 
     606function fwp_xpathtest_ajax (expression, feed_id, post_id) { 
     607    var data = { 
     608    action: 'fwp_xpathtest', 
     609    xpath: expression, 
     610    feed_id: feed_id, 
     611    post_id: post_id 
     612    }; 
     613             
     614    return jQuery.ajax({ 
     615        type: "GET", 
     616        url: ajaxurl, 
     617        data: data 
     618    }); 
     619} 
     620 
     621function fwp_xpathtest_fail (response, result_id, destination) { 
     622    jQuery('<div class="fwp-xpath-test-results error" style="display: none;" id="'+result_id+'">There was a problem communicating with the server.<p>result = <code>'+response+'</code></p></div>').insertAfter(destination); 
     623    jQuery('#'+result_id).show(500).delay(3000).hide(500, function () { jQuery(this).remove(); }); 
     624} 
     625 
     626function fwp_xpathtest_ok (response, result_id, destination) { 
     627    var dabber = jQuery(destination).attr('id'); 
     628    var resultsHtml = '<ul>'; 
     629     
     630    if (response.results instanceof Array) { 
     631        for (var i = 0; i < response.results.length; i++) { 
     632            resultsHtml += '<li>result['+i.toString()+'] = <code>'+response.results[i]+'</code></li>'; 
     633        } 
     634    } else { 
     635        resultsHtml += '<li>result = <code>' + response.results + '</code></li>'; 
     636    } /* if */ 
     637    resultsHtml += '</ul>'; 
     638     
     639    jQuery('<div class="fwp-xpath-test-results" style="display: none;" id="'+result_id+'"><h4>'+response.expression+'</h4>'+resultsHtml+'</code> <a class="fwp-xpath-test-results-close">x</a></div>').insertAfter(destination); 
     640     
     641    var link_id = 'fwp-xpath-test-results-post-'+dabber;  
     642    if (jQuery('#'+link_id).length > 0) { 
     643        jQuery('#'+link_id).attr('href', response.guid).html(response.post_title); 
     644    } else { 
     645        jQuery('<div id="contain-'+link_id+'" class="fwp-xpath-test-results-post fwp-xpath-test-setting">Using post: <a id="'+link_id+'" href="'+response.guid+'"> '+response.post_title+'</a> (<a href="#" class="fwp-xpath-test-results-post-change">reset</a>)</div>').insertAfter('#'+result_id); 
     646    } /* if */ 
     647     
     648    jQuery('#'+result_id).find('.fwp-xpath-test-results-close').click(function (e) { 
     649        e.preventDefault(); 
     650         
     651        jQuery('#'+result_id).hide(500, function () { jQuery(this).remove(); }); 
     652        return false; 
     653    }); 
     654    jQuery('#contain-'+link_id).find('.fwp-xpath-test-results-post-change').click(function (e) { 
     655        e.preventDefault(); 
     656        jQuery('#contain-'+link_id).remove(); 
     657 
     658        return false; 
     659    }); 
     660    jQuery('#'+result_id).show(500); 
     661} 
     662 
     663function fwp_xpathtest (expression, destination, feed_id) { 
     664    var dabber = jQuery(destination).attr('id'); 
     665    var result_id = 'fwp-xpath-test-results-'+dabber; 
     666    var preset_post_id = 'fwp-xpath-test-results-post-'+dabber;  
     667    var post_id = jQuery('#'+preset_post_id).attr('href'); 
     668     
     669    // Clear out any previous results. 
     670    jQuery('#'+result_id).remove(); 
     671     
     672    if (jQuery('#xpath-test-feed-id-'+dabber).length > 0) { 
     673        feed_id = jQuery('#xpath-test-feed-id-'+dabber).val();       
     674    } 
     675     
     676    if ('*' == feed_id) { 
     677     
     678        fwp_feedspicker(destination, function (feed_id, a) { 
     679            var href = a.attr('href'); 
     680            var text = a.text(); 
     681             
     682            jQuery('<div class="fwp-xpath-test-feed-id fwp-xpath-test-setting" id="contain-xpath-test-feed-id-'+dabber+'">Using sub: <a href="'+href+'">'+text+'</a><input type="hidden" id="xpath-test-feed-id-'+dabber+'" name="xpath_test_feed_id" value="'+feed_id+'" /> (<a href="#" class="fwp-xpath-test-feed-id-change">reset</a>)</div>').insertAfter(destination); 
     683             
     684            jQuery('#contain-xpath-test-feed-id-'+dabber).find('.fwp-xpath-test-feed-id-change').click(function (e) { 
     685                e.preventDefault(); 
     686                 
     687                // If there is a post set, we need to reset that 
     688                console.log(('#contain-fwp-xpath-test-results-post-'+dabber), jQuery('#contain-fwp-xpath-test-results-post-'+dabber)); 
     689                jQuery('#contain-fwp-xpath-test-results-post-'+dabber).remove(); 
     690                 
     691                // Show yourself out. 
     692                jQuery('#contain-xpath-test-feed-id-'+dabber).remove(); 
     693                return false; 
     694            }); 
     695             
     696            // Now recursively call the function in order to force 
     697            // a post-picker. 
     698            fwp_xpathtest(expression, destination, feed_id); 
     699        }); 
     700    } 
     701     
     702    // Check for a pre-selected post GUID. 
     703    else if (post_id) { 
     704        fwp_xpathtest_ajax(expression, feed_id, post_id) 
     705            .done( function (response) { fwp_xpathtest_ok(response, result_id, destination); } ) 
     706            .fail( function (response) { fwp_xpathtest_fail(response, result_id, destination); } ); 
     707    } 
     708    else { 
     709        // Pop up the feed content picker 
     710        fwp_feedcontentspicker(feed_id, destination, function (feed_id, post_id) { 
     711            fwp_xpathtest_ajax(expression, feed_id, post_id) 
     712            .done( function (response) { fwp_xpathtest_ok(response, result_id, destination); } ) 
     713            .fail( function (response) { fwp_xpathtest_fail(response, result_id, destination); } );          
     714        }); 
     715    } 
     716     
     717} 
     718 
    489719jQuery(document).ready(function($){ 
     720    if ( $('.xpath-test').length ) { 
     721        $('.xpath-test').click ( function (e) { 
     722            e.preventDefault(); 
     723 
     724            // Pull the local expression from the text box 
     725            var expr = jQuery(this).closest('tr').find('textarea').val(); 
     726             
     727            // Check to see if we are on a Feed settings page or 
     728            // on the global settings page; 
     729            var feed_id = jQuery('input[name="save_link_id"]').val(); 
     730             
     731            fwp_xpathtest(expr, jQuery(this), feed_id); 
     732            return false; 
     733        }); 
     734    } 
    490735    if ( $('.jaxtag').length ) { 
    491736        tagBox.init(); 
  • feedwordpress/trunk/feedwordpress.php

    r641309 r680650  
    105105 
    106106$dir = dirname(__FILE__);  
     107require_once("${dir}/externals/myphp/myphp.class.php"); 
    107108require_once("${dir}/admin-ui.php"); 
    108109require_once("${dir}/feedwordpresssyndicationpage.class.php"); 
     
    225226    add_filter('syndicated_item_content', array('SyndicatedPost', 'sanitize_content'), 0, 2); 
    226227 
     228    add_action('plugins_loaded', array('FeedWordPress', 'admin_api')); 
    227229else : 
    228230    # Hook in the menus, which will just point to the upgrade interface 
     
    654656 
    655657function fwp_add_pages () { 
     658    global $feedwordpress; 
     659     
    656660    $menu_cap = FeedWordPress::menu_cap(); 
    657661    $settings_cap = FeedWordPress::menu_cap(/*sub=*/ true); 
     
    707711        $settings_cap, FeedWordPress::path('diagnostics-page.php') 
    708712    ); 
     713     
     714    add_filter('page_row_actions', array($feedwordpress, 'row_actions'), 10, 2); 
     715    add_filter('post_row_actions', array($feedwordpress, 'row_actions'), 10, 2); 
    709716} /* function fwp_add_pages () */ 
    710717 
     
    947954         
    948955        return $sub; 
    949     } /* FeedWordPress::subscriptions () */ 
     956    } /* FeedWordPress::subscription () */ 
    950957     
    951958    # function update (): polls for updates on one or more Contributor feeds 
     
    12081215    } /* FeedWordPress::admin_init() */ 
    12091216 
     1217    function admin_api () { 
     1218        // This sucks, but WordPress doesn't give us any other way to 
     1219        // easily invoke a permanent-delete from a plugged in post 
     1220        // actions link. So we create a magic parameter, and when this 
     1221        // magic parameter is activated, the WordPress trashcan is 
     1222        // temporarily de-activated. 
     1223         
     1224        if (MyPHP::request('fwp_post_delete')=='nuke') : 
     1225            // Get post ID # 
     1226            $post_id = MyPHP::request('post'); 
     1227            if (!$post_id) : 
     1228                $post_id = MyPHP::request('post_ID'); 
     1229            endif; 
     1230             
     1231            // Make sure we've got the right nonce and all that. 
     1232            check_admin_referer('delete-post_' . $post_id); 
     1233             
     1234            // If so, disable the trashcan. 
     1235            define('EMPTY_TRASH_DAYS', 0); 
     1236        endif; 
     1237 
     1238    } 
     1239 
    12101240    function init () { 
    12111241        global $fwp_path; 
     
    12461276        ); 
    12471277 
     1278        add_action('wp_ajax_fwp_feeds', array($this, 'fwp_feeds')); 
     1279        add_action('wp_ajax_fwp_feedcontents', array($this, 'fwp_feedcontents')); 
     1280        add_action('wp_ajax_fwp_xpathtest', array($this, 'fwp_xpathtest')); 
     1281         
    12481282        $this->clear_cache_magic_url(); 
    12491283        $this->update_magic_url(); 
    12501284    } /* FeedWordPress::init() */ 
     1285     
     1286    function fwp_feeds () { 
     1287        $feeds = array(); 
     1288        $feed_ids = $this->feeds; 
     1289         
     1290        foreach ($feed_ids as $id) : 
     1291            $sub = $this->subscription($id); 
     1292            $feeds[] = array( 
     1293            "id" => $id, 
     1294            "url" => $sub->uri(), 
     1295            "name" => $sub->name(/*fromFeed=*/ false), 
     1296            ); 
     1297        endforeach; 
     1298 
     1299        header("Content-Type: application/json");    
     1300        echo json_encode($feeds); 
     1301        exit; 
     1302    } 
     1303 
     1304    function fwp_feedcontents () { 
     1305        $feed_id = MyPHP::request('feed_id'); 
     1306         
     1307        // Let's load up some data from the feed . . . 
     1308        $feed = $this->subscription($feed_id); 
     1309        $posts = $feed->live_posts(); 
     1310         
     1311        if (is_wp_error($posts)) : 
     1312            header("HTTP/1.1 502 Bad Gateway"); 
     1313            $result = $posts; 
     1314        else : 
     1315            $result = array(); 
     1316 
     1317            foreach ($posts as $post) : 
     1318                $p = new SyndicatedPost($post, $feed); 
     1319                 
     1320                $result[] = array( 
     1321                    "post_title" => $p->entry->get_title(), 
     1322                    "post_link" => $p->permalink(), 
     1323                    "guid" => $p->guid(), 
     1324                    "post_date" => $p->published(), 
     1325                ); 
     1326            endforeach; 
     1327        endif; 
     1328         
     1329        header("Content-Type: application/json"); 
     1330         
     1331        echo json_encode($result); 
     1332         
     1333        // This is an AJAX request, so close it out thus. 
     1334        die; 
     1335    } /* FeedWordPress::fwp_feedcontents () */ 
     1336     
     1337    function fwp_xpathtest () { 
     1338        $xpath = MyPHP::request('xpath'); 
     1339        $feed_id = MyPHP::request('feed_id'); 
     1340        $post_id = MyPHP::request('post_id'); 
     1341         
     1342        $expr = new FeedWordPressParsedPostMeta($xpath); 
     1343         
     1344        // Let's load up some data from the feed . . . 
     1345        $feed = $this->subscription($feed_id); 
     1346        $posts = $feed->live_posts(); 
     1347         
     1348        if (!is_wp_error($posts)) : 
     1349            if (strlen($post_id) == 0) : 
     1350                $post = $posts[0]; 
     1351            else : 
     1352                $post = null; 
     1353     
     1354                foreach ($posts as $p) : 
     1355                    if ($p->get_id() == $post_id) : 
     1356                        $post = $p; 
     1357                    endif; 
     1358                endforeach; 
     1359            endif; 
     1360         
     1361            $post = new SyndicatedPost($post, $feed); 
     1362            $meta = $expr->do_substitutions($post); 
     1363             
     1364            $result = array( 
     1365            "post_title" => $post->entry->get_title(), 
     1366            "post_link" => $post->permalink(), 
     1367            "guid" => $post->guid(), 
     1368            "expression" => $xpath, 
     1369            "results" => $meta 
     1370            ); 
     1371        else : 
     1372            $result = array( 
     1373            "expression" => $xpath, 
     1374            "feed_id" => $feed_id, 
     1375            "post_id" => $post_id, 
     1376            "results" => $posts 
     1377            ); 
     1378             
     1379            header("HTTP/1.1 503 Bad Gateway"); 
     1380        endif; 
     1381         
     1382        header("Content-Type: application/json"); 
     1383         
     1384        echo json_encode($result); 
     1385         
     1386        // This is an AJAX request, so close it out thus. 
     1387        die; 
     1388    } /* FeedWordPress::fwp_xpathtest () */ 
    12511389     
    12521390    function redirect_retired () { 
     
    12661404            endif; 
    12671405        endif; 
     1406    } 
     1407     
     1408    function row_actions ($actions, $post) { 
     1409        if (is_syndicated($post->ID)) : 
     1410            $link = get_delete_post_link($post->ID, '', true); 
     1411            $link = MyPHP::url($link, array("fwp_post_delete" => "nuke")); 
     1412             
     1413            $caption = 'Erase the record of this post (will be re-syndicated if it still appears on the feed).'; 
     1414            $linktext = 'Erase/Resyndicate'; 
     1415             
     1416            $keys = array_keys($actions); 
     1417            $links = array(); 
     1418            foreach ($keys as $key) : 
     1419                $links[$key] = $actions[$key]; 
     1420                 
     1421                if ('trash'==$key) : 
     1422                    $links[$key] = "<a class='submitdelete' title='" . esc_attr( __( 'Move this item to the Trash (will NOT be re-syndicated)' ) ) . "' href='" . get_delete_post_link( $post->ID ) . "'>" . __( 'Trash/Don&#8217;t Resyndicate' ) . "</a>"; 
     1423                     
     1424                    // Placeholder. 
     1425                    $links['delete'] = ''; 
     1426                endif; 
     1427            endforeach; 
     1428             
     1429            $links['delete'] = '<a class="submitdelete" title="'.esc_attr(__($caption)).'" href="' . $link . '">' . __($linktext) . '</a>'; 
     1430 
     1431            $actions = $links; 
     1432        endif; 
     1433        return $actions; 
    12681434    } 
    12691435     
     
    13861552     
    13871553    function clear_cache_requested () { 
    1388         return ( 
    1389             isset($_GET['clear_cache']) 
    1390             and $_GET['clear_cache'] 
    1391         ); 
     1554        return MyPHP::request('clear_cache'); 
    13921555    } /* FeedWordPress::clear_cache_requested() */ 
    13931556 
     
    20782241    } 
    20792242     
     2243    // These are superceded by MyPHP::param/post/get/request, but kept 
     2244    // here for backward compatibility. 
    20802245    function param ($key, $type = 'REQUEST', $default = NULL) { 
    2081         $where = '_'.strtoupper($type); 
    2082         $ret = $default; 
    2083         if (isset($GLOBALS[$where]) and is_array($GLOBALS[$where])) : 
    2084             if (isset($GLOBALS[$where][$key])) : 
    2085                 $ret = $GLOBALS[$where][$key]; 
    2086                 if (get_magic_quotes_gpc()) : 
    2087                     $ret = stripslashes_deep($ret); 
    2088                 endif; 
    2089             endif; 
    2090         endif; 
    2091         return $ret; 
     2246        return MyPHP::param($key, $default, $type); 
    20922247    } 
    20932248    function post ($key, $default = NULL) { 
    2094         return FeedWordPress::param($key, 'POST'); 
     2249        return MyPHP::post($key, $default); 
    20952250    } 
    20962251} // class FeedWordPress 
  • feedwordpress/trunk/feedwordpresssyndicationpage.class.php

    r641309 r680650  
    8383        $update_set = array(); 
    8484        if ($fwp_update_invoke != 'get') : 
    85             if (is_array(FeedWordPress::post('link_ids')) 
    86             and (FeedWordPress::post('action')==FWP_UPDATE_CHECKED)) : 
     85            if (is_array(MyPHP::post('link_ids')) 
     86            and (MyPHP::post('action')==FWP_UPDATE_CHECKED)) : 
    8787                $targets = $wpdb->get_results(" 
    8888                SELECT * FROM $wpdb->links 
     
    9696                    FeedWordPress::critical_bug('fwp_syndication_manage_page::targets', $targets, __LINE__, __FILE__); 
    9797                endif; 
    98             elseif (!is_null(FeedWordPress::post('update_uri'))) : 
    99                 $targets = FeedWordPress::post('update_uri'); 
     98            elseif (!is_null(MyPHP::post('update_uri'))) : 
     99                $targets = MyPHP::post('update_uri'); 
    100100                if (!is_array($targets)) : 
    101101                    $targets = array($targets); 
     
    352352        ); 
    353353         
    354         $act = FeedWordPress::param('action'); 
     354        $act = MyPHP::request('action'); 
    355355        if (isset($dispatcher[$act])) : 
    356356            $method = $dispatcher[$act]; 
     
    11421142 
    11431143    if (isset($existingLink)) : 
    1144         $auth = FeedWordPress::post('link_rss_auth_method'); 
     1144        $auth = MyPHP::post('link_rss_auth_method'); 
    11451145        if (!is_null($auth) and (strlen($auth) > 0) and ($auth != '-')) : 
    11461146            $existingLink->update_setting('http auth method', $auth); 
    11471147            $existingLink->update_setting('http username', 
    1148                 FeedWordPress::post('link_rss_username') 
     1148                MyPHP::post('link_rss_username') 
    11491149            ); 
    11501150            $existingLink->update_setting('http password', 
    1151                 FeedWordPress::post('link_rss_password') 
     1151                MyPHP::post('link_rss_password') 
    11521152            ); 
    11531153        else : 
  • feedwordpress/trunk/posts-page.php

    r641309 r680650  
    419419        <?php 
    420420        $i = 0; 
    421         foreach ($custom_settings as $key => $value) : 
     421        $testerButton = '<br/><button id="xpath-test-%d"' 
     422            .'class="xpath-test"' 
     423            .'>test expression</button>'; 
     424        foreach ($custom_settings as $key => $value) :  
    422425        ?> 
    423426          <tr style="vertical-align:top"> 
    424427            <th width="30%" scope="row"><input type="hidden" name="notes[<?php echo $i; ?>][key0]" value="<?php echo esc_html($key); ?>" /> 
    425428            <input id="notes-<?php echo $i; ?>-key" name="notes[<?php echo $i; ?>][key1]" value="<?php echo esc_html($key); ?>" /></th> 
    426             <td width="60%"><textarea rows="2" cols="40" id="notes-<?php echo $i; ?>-value" name="notes[<?php echo $i; ?>][value]"><?php echo esc_html($value); ?></textarea></td> 
     429            <td width="60%"><textarea rows="2" cols="40" id="notes-<?php echo $i; ?>-value" name="notes[<?php echo $i; ?>][value]"><?php echo esc_html($value); ?></textarea> 
     430            <?php print sprintf($testerButton, $i); ?></td> 
    427431            <td width="10%"><select name="notes[<?php echo $i; ?>][action]"> 
    428432            <option value="update">save changes</option> 
     
    438442          <tr style="vertical-align: top"> 
    439443            <th scope="row"><input type="text" size="10" name="notes[<?php echo $i; ?>][key1]" value="" /></th> 
    440             <td><textarea name="notes[<?php echo $i; ?>][value]" rows="2" cols="40"></textarea> 
     444            <td><textarea name="notes[<?php echo $i; ?>][value]" rows="2" cols="40"></textarea><?php print sprintf($testerButton, $i); ?> 
    441445              <p>Enter a text value, or a path to a data element from the syndicated item.<br/> 
    442446              For data elements, you can use an XPath-like syntax wrapped in <code>$( ... )</code>.<br/> 
  • feedwordpress/trunk/syndicatedlink.class.php

    r638053 r680650  
    9393    } /* SyndicatedLink::stale () */ 
    9494 
    95     function poll ($crash_ts = NULL) { 
    96         global $wpdb; 
    97  
    98         $url = $this->uri(array('add_params' => true)); 
    99         FeedWordPress::diagnostic('updated_feeds', 'Polling feed ['.$url.']'); 
    100  
     95    function fetch () { 
    10196        $timeout = $this->setting('fetch timeout', 'feedwordpress_fetch_timeout', FEEDWORDPRESS_FETCH_TIMEOUT_DEFAULT); 
    10297 
     
    113108            $this->magpie = new MagpieFromSimplePie($this->simplepie, NULL); 
    114109        endif; 
     110    } 
     111    function live_posts () { 
     112        if (!is_object($this->simplepie)) : 
     113            $this->fetch(); 
     114        endif; 
     115         
     116        if (is_object($this->simplepie) and method_exists($this->simplepie, 'get_items')) : 
     117            $ret = apply_filters( 
     118            'syndicated_feed_items', 
     119            $this->simplepie->get_items(), 
     120            $this 
     121            ); 
     122        else : 
     123            $ret = $this->simplepie; 
     124        endif; 
     125        return $ret; 
     126    } 
     127     
     128    function poll ($crash_ts = NULL) { 
     129        global $wpdb; 
     130 
     131        $url = $this->uri(array('add_params' => true)); 
     132        FeedWordPress::diagnostic('updated_feeds', 'Polling feed ['.$url.']'); 
     133 
     134        $this->fetch(); 
    115135 
    116136        $new_count = NULL; 
     
    231251            $crashed = false; 
    232252 
    233             $posts = apply_filters( 
    234                 'syndicated_feed_items', 
    235                 $this->simplepie->get_items(), 
    236                 $this 
    237             ); 
     253            $posts = $this->live_posts(); 
    238254 
    239255            $this->magpie->originals = $posts; 
  • feedwordpress/trunk/syndicationdataqueries.class.php

    r638053 r680650  
    9595            $search .= " -- '"; 
    9696        elseif ($query->get('fields')=='_synfrom') : 
    97             $search .= " AND ({$wpdb->postmeta}.meta_key = '".$query->get('meta_key')."' AND wp_postmeta.meta_value = '".$query->get('meta_value')."') -- '";  
     97            $search .= " AND ({$wpdb->postmeta}.meta_key = '".$query->get('meta_key')."' AND {$wpdb->postmeta}.meta_value = '".$query->get('meta_value')."') -- '";  
    9898        endif; 
    9999        return $search; 
Note: See TracChangeset for help on using the changeset viewer.