Example #1
0
 function update($new_instance, $old_instance)
 {
     $testurl = isset($new_instance['url']) && (!isset($old_instance['url']) || $new_instance['url'] != $old_instance['url']);
     return nxt_widget_rss_process($new_instance, $testurl);
 }
Example #2
0
/**
 * The RSS dashboard widget control.
 *
 * Sets up $args to be used as input to nxt_widget_rss_form(). Handles POST data
 * from RSS-type widgets.
 *
 * @since 2.5.0
 *
 * @param string $widget_id
 * @param array $form_inputs
 */
function nxt_dashboard_rss_control($widget_id, $form_inputs = array())
{
    if (!($widget_options = get_option('dashboard_widget_options'))) {
        $widget_options = array();
    }
    if (!isset($widget_options[$widget_id])) {
        $widget_options[$widget_id] = array();
    }
    $number = 1;
    // Hack to use nxt_widget_rss_form()
    $widget_options[$widget_id]['number'] = $number;
    if ('POST' == $_SERVER['REQUEST_METHOD'] && isset($_POST['widget-rss'][$number])) {
        $_POST['widget-rss'][$number] = stripslashes_deep($_POST['widget-rss'][$number]);
        $widget_options[$widget_id] = nxt_widget_rss_process($_POST['widget-rss'][$number]);
        // title is optional.  If black, fill it if possible
        if (!$widget_options[$widget_id]['title'] && isset($_POST['widget-rss'][$number]['title'])) {
            $rss = fetch_feed($widget_options[$widget_id]['url']);
            if (is_nxt_error($rss)) {
                $widget_options[$widget_id]['title'] = htmlentities(__('Unknown Feed'));
            } else {
                $widget_options[$widget_id]['title'] = htmlentities(strip_tags($rss->get_title()));
                $rss->__destruct();
                unset($rss);
            }
        }
        update_option('dashboard_widget_options', $widget_options);
        $cache_key = 'dash_' . md5($widget_id);
        delete_transient($cache_key);
    }
    nxt_widget_rss_form($widget_options[$widget_id], $form_inputs);
}