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); }
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; }