public function parseDefaults($args)
 {
     require_once WDI_DIR . '/admin/models/WDIModelFeeds_wdi.php';
     $defaults = WDIModelFeeds_wdi::wdi_get_feed_defaults();
     return wp_parse_args($args, $defaults);
 }
Ejemplo n.º 2
0
function wdi_feed($atts, $widget_params = '')
{
    ob_start();
    wdi_load_frontend_scripts();
    wdi_load_frontend_styles();
    require_once WDI_DIR . '/framework/WDILibrary.php';
    global $wdi_feed_counter;
    $attributes = shortcode_atts(array('id' => 'no_id'), $atts);
    if ($attributes['id'] == 'no_id') {
        return __('Invalid shortcode', "wdi");
    }
    //including feed model
    require_once WDI_DIR . '/admin/models/WDIModelFeeds_wdi.php';
    $feed_model = new WDIModelFeeds_wdi();
    //getting all feed information from db
    $feed_row = WDILibrary::objectToArray($feed_model->get_feed_row($attributes['id']));
    //checking if access token is not set or removed display proper error message
    global $wdi_options;
    if (!isset($wdi_options['wdi_access_token']) || $wdi_options['wdi_access_token'] == '') {
        return __('Access Token is invalid, please get it again ', "wdi");
        die;
    }
    if (!isset($feed_row) || $feed_row == NULL) {
        return __('Feed Doesn\'t exists ', "wdi");
        die;
    }
    $feed_row['widget'] = false;
    if ($widget_params != '' && $widget_params['widget'] == true) {
        $feed_row['widget'] = true;
        $feed_row['number_of_photos'] = (string) $widget_params['widget_image_num'];
        $feed_row['show_likes'] = (string) $widget_params['widget_show_likes_and_comments'];
        $feed_row['show_comments'] = (string) $widget_params['widget_show_likes_and_comments'];
        $feed_row['show_usernames'] = '0';
        $feed_row['display_header'] = '0';
        $feed_row['show_description'] = '0';
        $feed_row['feed_display_view'] = 'widget';
        $feed_row['number_of_columns'] = (string) $widget_params['number_of_columns'];
    }
    if (isset($feed_row['published']) && $feed_row['published'] === '0') {
        return __('Unable to display unpublished feed ', "wdi");
        die;
    }
    //checking feed type and using proper MVC
    $feed_type = isset($feed_row['feed_type']) ? $feed_row['feed_type'] : '';
    switch ($feed_type) {
        case 'thumbnails':
            //including thumbnails controller
            require_once WDI_DIR . '/frontend/controllers/WDIControllerThumbnails_view.php';
            $controller = new WDIControllerThumbnails_view();
            $controller->execute($feed_row, $wdi_feed_counter);
            $wdi_feed_counter++;
            break;
        case 'image_browser':
            //including thumbnails controller
            require_once WDI_DIR . '/frontend/controllers/WDIControllerImageBrowser_view.php';
            $controller = new WDIControllerImageBrowser_view();
            $controller->execute($feed_row, $wdi_feed_counter);
            $wdi_feed_counter++;
            break;
        default:
            return __('Invalid feed type', "wdi");
    }
    global $wdi_options;
    if (isset($wdi_options['wdi_custom_css'])) {
        ?>
        <style>
          <?php 
        echo $wdi_options['wdi_custom_css'];
        ?>
        </style>
      <?php 
    }
    if (isset($wdi_options['wdi_custom_js'])) {
        ?>
        <script>
          <?php 
        echo stripcslashes($wdi_options['wdi_custom_js']);
        ?>
        </script>
      <?php 
    }
    return ob_get_clean();
}
 private function sanitize_input($settings, $defaults)
 {
     require_once WDI_DIR . "/admin/models/WDIModelFeeds_wdi.php";
     $model = new WDIModelFeeds_wdi();
     $sanitize_types = $model->get_sanitize_types();
     $sanitized_output = array();
     foreach ($settings as $setting_name => $value) {
         switch ($sanitize_types[$setting_name]) {
             case 'string':
                 $sanitized_val = $this->sanitize_string($value, $defaults[$setting_name]);
                 $sanitized_output[$setting_name] = $sanitized_val;
                 break;
             case 'number':
                 $sanitized_val = $this->sanitize_number($value, $defaults[$setting_name]);
                 $sanitized_output[$setting_name] = $sanitized_val;
                 break;
             case 'bool':
                 $sanitized_val = $this->sanitize_bool($value, $defaults[$setting_name]);
                 $sanitized_output[$setting_name] = $sanitized_val;
                 break;
             case 'url':
                 $sanitized_val = $this->sanitize_url($value, $defaults[$setting_name]);
                 $sanitized_output[$setting_name] = $sanitized_val;
                 break;
         }
     }
     return $sanitized_output;
 }