PluginProbe
Visualizer – Tables & Charts Manager with Built-in AI Generator / 1.1.4
Visualizer – Tables & Charts Manager with Built-in AI Generator v1.1.4
4.0.7 4.0.6 4.0.5 4.0.4 4.0.3 3.0.5 3.0.6 3.0.7 3.0.8 3.0.9 3.1.0 3.1.1 3.1.2 3.1.3 3.10.0 3.10.1 3.10.10 3.10.11 3.10.12 3.10.13 3.10.14 3.10.15 3.10.2 3.10.3 3.10.4 All 148 releases
← All changes | classes/Visualizer/Source/Csv/Remote.php +13 -57 3.1.11.1.4 View file →
@@ -18,8 +18,9 @@
18 18 // | MA 02110-1301 USA |
19 19 // +----------------------------------------------------------------------+
20 20 // | Author: Eugene Manuilov <eugene@manuilov.org> |
21 21 // +----------------------------------------------------------------------+
22 +
22 23 /**
23 24 * Source manager for remote CSV files.
24 25 *
25 26 * @category Visualizer
@@ -29,18 +30,8 @@
29 30 */
30 31 class Visualizer_Source_Csv_Remote extends Visualizer_Source_Csv {
31 32
32 33 /**
33 - * Temporary file name used when allow_url_fopen option is disabled.
34 - *
35 - * @since 1.4.2
36 - *
37 - * @access private
38 - * @var string
39 - */
40 - private $_tmpfile = false;
41 -
42 - /**
43 34 * Returns data parsed from source.
44 35 *
45 36 * @since 1.1.0
46 37 *
@@ -47,14 +38,12 @@
47 38 * @access public
48 39 * @return string The serialized array of data.
49 40 */
50 41 public function getData() {
51 - return serialize(
52 - array(
53 - 'source' => $this->_filename,
54 - 'data' => $this->_data,
55 - )
56 - );
42 + return serialize( array(
43 + 'source' => $this->_filename,
44 + 'data' => $this->_data,
45 + ) );
57 46 }
58 47
59 48 /**
60 49 * Re populates data and series.
@@ -66,9 +55,9 @@
66 55 * @return boolean TRUE on success, otherwise FALSE.
67 56 */
68 57 private function _repopulate( $chart_id ) {
69 58 // if it has been already populated, then just return true
70 - if ( ! empty( $this->_data ) && ! empty( $this->_series ) ) {
59 + if ( !empty( $this->_data ) && !empty( $this->_series ) ) {
71 60 return true;
72 61 }
73 62
74 63 // if filename is empty, extract it from chart content
@@ -73,10 +62,10 @@
73 62
74 63 // if filename is empty, extract it from chart content
75 64 if ( empty( $this->_filename ) ) {
76 65 $chart = get_post( $chart_id );
77 - $data = unserialize( html_entity_decode( $chart->post_content ) );
78 - if ( ! isset( $data['source'] ) ) {
66 + $data = unserialize( $chart->post_content );
67 + if ( !isset( $data['source'] ) ) {
79 68 return false;
80 69 }
81 70
82 71 $this->_filename = $data['source'];
@@ -92,13 +81,13 @@
92 81 * @since 1.1.0
93 82 *
94 83 * @access public
95 84 * @param array $data The actual array of data.
96 - * @param int $chart_id The chart id.
85 + * @param int $chart_id The chart id.
97 86 * @return array The re populated array of data or old one.
98 87 */
99 88 public function repopulateData( $data, $chart_id ) {
100 - return array_key_exists( 'data', $data ) ? $data['data'] : $data;
89 + return $this->_repopulate( $chart_id ) ? $this->_data : $data;
101 90 }
102 91
103 92 /**
104 93 * Re populates series.
@@ -106,13 +95,13 @@
106 95 * @since 1.1.0
107 96 *
108 97 * @access public
109 98 * @param array $series The actual array of series.
110 - * @param int $chart_id The chart id.
99 + * @param int $chart_id The chart id.
111 100 * @return array The re populated array of series or old one.
112 101 */
113 102 public function repopulateSeries( $series, $chart_id ) {
114 - return $series;
103 + return $this->_repopulate( $chart_id ) ? $this->_series : $series;
115 104 }
116 105
117 106 /**
118 107 * Returns source name.
@@ -125,38 +114,5 @@
125 114 public function getSourceName() {
126 115 return __CLASS__;
127 116 }
128 117
129 - /**
130 - * Returns file handle to fetch data from.
131 - *
132 - * @since 1.4.2
133 - *
134 - * @access protected
135 - * @staticvar boolean $allow_url_fopen Determines whether or not allow_url_fopen option is enabled.
136 - * @param string $filename Optional file name to get handle. If omitted, $_filename is used.
137 - * @return resource File handle resource on success, otherwise FALSE.
138 - */
139 - protected function _get_file_handle( $filename = false ) {
140 - static $allow_url_fopen = null;
141 -
142 - if ( ! is_wp_error( $this->_tmpfile ) && $this->_tmpfile && is_readable( $this->_tmpfile ) ) {
143 - return parent::_get_file_handle( $this->_tmpfile );
144 - }
145 -
146 - if ( is_null( $allow_url_fopen ) ) {
147 - $allow_url_fopen = filter_var( ini_get( 'allow_url_fopen' ), FILTER_VALIDATE_BOOLEAN );
148 - }
149 -
150 - $scheme = parse_url( $this->_filename, PHP_URL_SCHEME );
151 - if ( $allow_url_fopen && in_array( $scheme, stream_get_wrappers() ) ) {
152 - return parent::_get_file_handle( $filename );
153 - }
154 -
155 - require_once ABSPATH . 'wp-admin/includes/file.php';
156 -
157 - $this->_tmpfile = download_url( $this->_filename );
158 -
159 - return ! is_wp_error( $this->_tmpfile ) ? parent::_get_file_handle( $this->_tmpfile ) : false;
160 - }
161 -
162 -}
118 +}