@@ -54,7 +54,7 @@ discard block |
||
| 54 | 54 | * } |
| 55 | 55 | * @param string $base any additional paths that need to be prepended to the URLs that are generated, for example: "tags" |
| 56 | 56 | */ |
| 57 | - function __construct( $args = null, $base = '' ) { |
|
| 57 | + function __construct($args = null, $base = '') { |
|
| 58 | 58 | $this->init($args, $base); |
| 59 | 59 | } |
| 60 | 60 | |
@@ -63,7 +63,7 @@ discard block |
||
| 63 | 63 | * @param array|string $args |
| 64 | 64 | * @param string $base |
| 65 | 65 | */ |
| 66 | - function init( $args = null, $base = '' ) { |
|
| 66 | + function init($args = null, $base = '') { |
|
| 67 | 67 | $this->base = $base; |
| 68 | 68 | $this->items = $this->get_items($args); |
| 69 | 69 | } |
@@ -74,7 +74,7 @@ discard block |
||
| 74 | 74 | * @param string $text |
| 75 | 75 | * @return mixed |
| 76 | 76 | */ |
| 77 | - protected function get_archives_link( $url, $text ) { |
|
| 77 | + protected function get_archives_link($url, $text) { |
|
| 78 | 78 | $ret = array(); |
| 79 | 79 | $ret['text'] = $ret['title'] = $ret['name'] = wptexturize($text); |
| 80 | 80 | $ret['url'] = $ret['link'] = esc_url(TimberURLHelper::prepend_to_url($url, $this->base)); |
@@ -91,18 +91,18 @@ discard block |
||
| 91 | 91 | * @param string $limit |
| 92 | 92 | * @return array |
| 93 | 93 | */ |
| 94 | - protected function get_items_yearly( $args, $last_changed, $join, $where, $order, $limit ) { |
|
| 94 | + protected function get_items_yearly($args, $last_changed, $join, $where, $order, $limit) { |
|
| 95 | 95 | global $wpdb; |
| 96 | 96 | $output = array(); |
| 97 | 97 | $query = "SELECT YEAR(post_date) AS `year`, count(ID) as posts FROM {$wpdb->posts} $join $where GROUP BY YEAR(post_date) ORDER BY post_date $order $limit"; |
| 98 | 98 | $key = md5($query); |
| 99 | 99 | $key = "wp_get_archives:$key:$last_changed"; |
| 100 | - if (!$results = wp_cache_get($key, 'posts')) { |
|
| 100 | + if ( !$results = wp_cache_get($key, 'posts') ) { |
|
| 101 | 101 | $results = $wpdb->get_results($query); |
| 102 | 102 | wp_cache_set($key, $results, 'posts'); |
| 103 | 103 | } |
| 104 | - if ($results) { |
|
| 105 | - foreach ((array)$results as $result) { |
|
| 104 | + if ( $results ) { |
|
| 105 | + foreach ((array) $results as $result) { |
|
| 106 | 106 | $url = get_year_link($result->year); |
| 107 | 107 | $text = sprintf('%d', $result->year); |
| 108 | 108 | $output[] = $this->get_archives_link($url, $text); |
@@ -122,7 +122,7 @@ discard block |
||
| 122 | 122 | * @param bool $nested |
| 123 | 123 | * @return array |
| 124 | 124 | */ |
| 125 | - protected function get_items_monthly( $args, $last_changed, $join, $where, $order, $limit = 1000, $nested = true ) { |
|
| 125 | + protected function get_items_monthly($args, $last_changed, $join, $where, $order, $limit = 1000, $nested = true) { |
|
| 126 | 126 | global $wpdb, $wp_locale; |
| 127 | 127 | $output = array(); |
| 128 | 128 | $defaults = array( |
@@ -137,26 +137,26 @@ discard block |
||
| 137 | 137 | . "ORDER BY post_date $order $limit"; |
| 138 | 138 | $key = md5($query); |
| 139 | 139 | $key = "wp_get_archives:$key:$last_changed"; |
| 140 | - if (!$results = wp_cache_get($key, 'posts')) { |
|
| 140 | + if ( !$results = wp_cache_get($key, 'posts') ) { |
|
| 141 | 141 | $results = $wpdb->get_results($query); |
| 142 | 142 | wp_cache_set($key, $results, 'posts'); |
| 143 | 143 | } |
| 144 | - if ($results) { |
|
| 145 | - foreach ((array)$results as $result) { |
|
| 144 | + if ( $results ) { |
|
| 145 | + foreach ((array) $results as $result) { |
|
| 146 | 146 | $url = get_month_link($result->year, $result->month); |
| 147 | - if ($show_year && !$nested) { |
|
| 147 | + if ( $show_year && !$nested ) { |
|
| 148 | 148 | $text = sprintf(__('%1$s %2$d'), $wp_locale->get_month($result->month), $result->year); |
| 149 | 149 | } else { |
| 150 | 150 | $text = sprintf(__('%1$s'), $wp_locale->get_month($result->month)); |
| 151 | 151 | } |
| 152 | - if ($nested) { |
|
| 152 | + if ( $nested ) { |
|
| 153 | 153 | $output[$result->year][] = $this->get_archives_link($url, $text); |
| 154 | 154 | } else { |
| 155 | 155 | $output[] = $this->get_archives_link($url, $text); |
| 156 | 156 | } |
| 157 | 157 | } |
| 158 | 158 | } |
| 159 | - if ($nested) { |
|
| 159 | + if ( $nested ) { |
|
| 160 | 160 | $out2 = array(); |
| 161 | 161 | foreach ($output as $year => $months) { |
| 162 | 162 | $out2[] = array('name' => $year, 'children' => $months); |
@@ -171,7 +171,7 @@ discard block |
||
| 171 | 171 | * @param array|string $args |
| 172 | 172 | * @return array|string |
| 173 | 173 | */ |
| 174 | - function get_items( $args = null ) { |
|
| 174 | + function get_items($args = null) { |
|
| 175 | 175 | global $wpdb; |
| 176 | 176 | |
| 177 | 177 | $defaults = array( |
@@ -220,7 +220,7 @@ discard block |
||
| 220 | 220 | $archive_week_start_date_format = 'Y/m/d'; |
| 221 | 221 | $archive_week_end_date_format = 'Y/m/d'; |
| 222 | 222 | |
| 223 | - if (!$archive_date_format_over_ride) { |
|
| 223 | + if ( !$archive_date_format_over_ride ) { |
|
| 224 | 224 | $archive_day_date_format = get_option('date_format'); |
| 225 | 225 | $archive_week_start_date_format = get_option('date_format'); |
| 226 | 226 | $archive_week_end_date_format = get_option('date_format'); |
@@ -232,7 +232,7 @@ discard block |
||
| 232 | 232 | |
| 233 | 233 | $output = array(); |
| 234 | 234 | $last_changed = wp_cache_get('last_changed', 'posts'); |
| 235 | - if (!$last_changed) { |
|
| 235 | + if ( !$last_changed ) { |
|
| 236 | 236 | $last_changed = microtime(); |
| 237 | 237 | wp_cache_set('last_changed', $last_changed, 'posts'); |
| 238 | 238 | } |
@@ -242,7 +242,7 @@ discard block |
||
| 242 | 242 | $output = $this->get_items_yearly($args, $last_changed, $join, $where, $order, $limit); |
| 243 | 243 | } elseif ( 'monthly-nested' == $type ) { |
| 244 | 244 | $years = $this->get_items_yearly($args, $last_changed, $join, $where, $order, $limit); |
| 245 | - foreach ( $years as &$year ) { |
|
| 245 | + foreach ($years as &$year) { |
|
| 246 | 246 | $args = array('show_year' => false); |
| 247 | 247 | $year['children'] = $this->get_items_monthly($args, $last_changed, $join, $where, $order, $limit); |
| 248 | 248 | } |
@@ -251,14 +251,14 @@ discard block |
||
| 251 | 251 | $query = "SELECT YEAR(post_date) AS `year`, MONTH(post_date) AS `month`, DAYOFMONTH(post_date) AS `dayofmonth`, count(ID) as posts FROM $wpdb->posts $join $where GROUP BY YEAR(post_date), MONTH(post_date), DAYOFMONTH(post_date) ORDER BY post_date $order $limit"; |
| 252 | 252 | $key = md5($query); |
| 253 | 253 | $key = "wp_get_archives:$key:$last_changed"; |
| 254 | - if (!$results = wp_cache_get($key, 'posts')) { |
|
| 254 | + if ( !$results = wp_cache_get($key, 'posts') ) { |
|
| 255 | 255 | $results = $wpdb->get_results($query); |
| 256 | 256 | $cache = array(); |
| 257 | 257 | $cache[$key] = $results; |
| 258 | 258 | wp_cache_set($key, $results, 'posts'); |
| 259 | 259 | } |
| 260 | 260 | if ( $results ) { |
| 261 | - foreach ( (array)$results as $result ) { |
|
| 261 | + foreach ((array) $results as $result) { |
|
| 262 | 262 | $url = get_day_link($result->year, $result->month, $result->dayofmonth); |
| 263 | 263 | $date = sprintf('%1$d-%2$02d-%3$02d 00:00:00', $result->year, $result->month, $result->dayofmonth); |
| 264 | 264 | $text = mysql2date($archive_day_date_format, $date); |
@@ -271,13 +271,13 @@ discard block |
||
| 271 | 271 | . "count( `ID` ) AS `posts` FROM `$wpdb->posts` $join $where GROUP BY $week, YEAR( `post_date` ) ORDER BY `post_date` $order $limit"; |
| 272 | 272 | $key = md5($query); |
| 273 | 273 | $key = "wp_get_archives:$key:$last_changed"; |
| 274 | - if (!$results = wp_cache_get($key, 'posts')) { |
|
| 274 | + if ( !$results = wp_cache_get($key, 'posts') ) { |
|
| 275 | 275 | $results = $wpdb->get_results($query); |
| 276 | 276 | wp_cache_set($key, $results, 'posts'); |
| 277 | 277 | } |
| 278 | 278 | $arc_w_last = ''; |
| 279 | 279 | if ( $results ) { |
| 280 | - foreach ( (array)$results as $result ) { |
|
| 280 | + foreach ((array) $results as $result) { |
|
| 281 | 281 | if ( $result->week != $arc_w_last ) { |
| 282 | 282 | $arc_year = $result->yr; |
| 283 | 283 | $arc_w_last = $result->week; |
@@ -300,10 +300,10 @@ discard block |
||
| 300 | 300 | wp_cache_set($key, $results, 'posts'); |
| 301 | 301 | } |
| 302 | 302 | if ( $results ) { |
| 303 | - foreach ( (array)$results as $result ) { |
|
| 304 | - if ($result->post_date != '0000-00-00 00:00:00') { |
|
| 303 | + foreach ((array) $results as $result) { |
|
| 304 | + if ( $result->post_date != '0000-00-00 00:00:00' ) { |
|
| 305 | 305 | $url = get_permalink($result); |
| 306 | - if ($result->post_title) { |
|
| 306 | + if ( $result->post_title ) { |
|
| 307 | 307 | /** This filter is documented in wp-includes/post-template.php */ |
| 308 | 308 | $text = strip_tags(apply_filters('the_title', $result->post_title, $result->ID)); |
| 309 | 309 | } else { |
@@ -133,7 +133,7 @@ |
||
| 133 | 133 | $show_year = $r['show_year']; |
| 134 | 134 | //will need to specify which year we're looking for |
| 135 | 135 | $query = "SELECT YEAR(post_date) AS `year`, MONTH(post_date) AS `month`, count(ID) as posts " |
| 136 | - . "FROM $wpdb->posts $join $where GROUP BY YEAR(post_date), MONTH(post_date) " |
|
| 136 | + . "from $wpdb->posts $join $where GROUP BY YEAR(post_date), MONTH(post_date) " |
|
| 137 | 137 | . "ORDER BY post_date $order $limit"; |
| 138 | 138 | $key = md5($query); |
| 139 | 139 | $key = "wp_get_archives:$key:$last_changed"; |
@@ -2,15 +2,15 @@ |
||
| 2 | 2 | |
| 3 | 3 | interface TimberCoreInterface { |
| 4 | 4 | |
| 5 | - public function __call( $field, $args ); |
|
| 5 | + public function __call($field, $args); |
|
| 6 | 6 | |
| 7 | - public function __get( $field ); |
|
| 7 | + public function __get($field); |
|
| 8 | 8 | |
| 9 | 9 | /** |
| 10 | 10 | * @return boolean |
| 11 | 11 | */ |
| 12 | - public function __isset( $field ); |
|
| 12 | + public function __isset($field); |
|
| 13 | 13 | |
| 14 | - public function meta( $key ); |
|
| 14 | + public function meta($key); |
|
| 15 | 15 | |
| 16 | 16 | } |
@@ -2,116 +2,116 @@ |
||
| 2 | 2 | |
| 3 | 3 | abstract class TimberCore { |
| 4 | 4 | |
| 5 | - public $id; |
|
| 6 | - public $ID; |
|
| 7 | - public $object_type; |
|
| 5 | + public $id; |
|
| 6 | + public $ID; |
|
| 7 | + public $object_type; |
|
| 8 | 8 | |
| 9 | - /** |
|
| 10 | - * |
|
| 11 | - * |
|
| 12 | - * @return boolean |
|
| 13 | - */ |
|
| 14 | - function __isset( $field ) { |
|
| 15 | - if ( isset( $this->$field ) ) { |
|
| 16 | - return $this->$field; |
|
| 17 | - } |
|
| 18 | - return false; |
|
| 19 | - } |
|
| 9 | + /** |
|
| 10 | + * |
|
| 11 | + * |
|
| 12 | + * @return boolean |
|
| 13 | + */ |
|
| 14 | + function __isset( $field ) { |
|
| 15 | + if ( isset( $this->$field ) ) { |
|
| 16 | + return $this->$field; |
|
| 17 | + } |
|
| 18 | + return false; |
|
| 19 | + } |
|
| 20 | 20 | |
| 21 | - /** |
|
| 22 | - * This is helpful for twig to return properties and methods see: https://github.com/fabpot/Twig/issues/2 |
|
| 23 | - * @return mixed |
|
| 24 | - */ |
|
| 25 | - function __call( $field, $args ) { |
|
| 26 | - return $this->__get( $field ); |
|
| 27 | - } |
|
| 21 | + /** |
|
| 22 | + * This is helpful for twig to return properties and methods see: https://github.com/fabpot/Twig/issues/2 |
|
| 23 | + * @return mixed |
|
| 24 | + */ |
|
| 25 | + function __call( $field, $args ) { |
|
| 26 | + return $this->__get( $field ); |
|
| 27 | + } |
|
| 28 | 28 | |
| 29 | - /** |
|
| 30 | - * This is helpful for twig to return properties and methods see: https://github.com/fabpot/Twig/issues/2 |
|
| 31 | - * |
|
| 32 | - * @return mixed |
|
| 33 | - */ |
|
| 34 | - function __get( $field ) { |
|
| 35 | - if ( property_exists($this, $field) ) { |
|
| 36 | - return $this->$field; |
|
| 37 | - } |
|
| 38 | - if ( method_exists($this, 'meta') && $meta_value = $this->meta( $field ) ) { |
|
| 39 | - return $this->$field = $meta_value; |
|
| 40 | - } |
|
| 41 | - if ( method_exists($this, $field) ) { |
|
| 42 | - return $this->$field = $this->$field(); |
|
| 43 | - } |
|
| 44 | - return $this->$field = false; |
|
| 45 | - } |
|
| 29 | + /** |
|
| 30 | + * This is helpful for twig to return properties and methods see: https://github.com/fabpot/Twig/issues/2 |
|
| 31 | + * |
|
| 32 | + * @return mixed |
|
| 33 | + */ |
|
| 34 | + function __get( $field ) { |
|
| 35 | + if ( property_exists($this, $field) ) { |
|
| 36 | + return $this->$field; |
|
| 37 | + } |
|
| 38 | + if ( method_exists($this, 'meta') && $meta_value = $this->meta( $field ) ) { |
|
| 39 | + return $this->$field = $meta_value; |
|
| 40 | + } |
|
| 41 | + if ( method_exists($this, $field) ) { |
|
| 42 | + return $this->$field = $this->$field(); |
|
| 43 | + } |
|
| 44 | + return $this->$field = false; |
|
| 45 | + } |
|
| 46 | 46 | |
| 47 | - /** |
|
| 48 | - * Takes an array or object and adds the properties to the parent object |
|
| 49 | - * @example |
|
| 50 | - * ```php |
|
| 51 | - * $data = array('airplane' => '757-200', 'flight' => '5316'); |
|
| 52 | - * $post = new TimberPost() |
|
| 53 | - * $post->import(data); |
|
| 54 | - * echo $post->airplane; //757-200 |
|
| 55 | - * ``` |
|
| 56 | - * @param array|object $info an object or array you want to grab data from to attach to the Timber object |
|
| 57 | - */ |
|
| 58 | - function import( $info, $force = false ) { |
|
| 59 | - if ( is_object( $info ) ) { |
|
| 60 | - $info = get_object_vars( $info ); |
|
| 61 | - } |
|
| 62 | - if ( is_array( $info ) ) { |
|
| 63 | - foreach ( $info as $key => $value ) { |
|
| 64 | - if ( !empty( $key ) && $force ) { |
|
| 65 | - $this->$key = $value; |
|
| 66 | - } else if ( !empty( $key ) && !method_exists($this, $key) ){ |
|
| 67 | - $this->$key = $value; |
|
| 68 | - } |
|
| 69 | - } |
|
| 70 | - } |
|
| 71 | - } |
|
| 47 | + /** |
|
| 48 | + * Takes an array or object and adds the properties to the parent object |
|
| 49 | + * @example |
|
| 50 | + * ```php |
|
| 51 | + * $data = array('airplane' => '757-200', 'flight' => '5316'); |
|
| 52 | + * $post = new TimberPost() |
|
| 53 | + * $post->import(data); |
|
| 54 | + * echo $post->airplane; //757-200 |
|
| 55 | + * ``` |
|
| 56 | + * @param array|object $info an object or array you want to grab data from to attach to the Timber object |
|
| 57 | + */ |
|
| 58 | + function import( $info, $force = false ) { |
|
| 59 | + if ( is_object( $info ) ) { |
|
| 60 | + $info = get_object_vars( $info ); |
|
| 61 | + } |
|
| 62 | + if ( is_array( $info ) ) { |
|
| 63 | + foreach ( $info as $key => $value ) { |
|
| 64 | + if ( !empty( $key ) && $force ) { |
|
| 65 | + $this->$key = $value; |
|
| 66 | + } else if ( !empty( $key ) && !method_exists($this, $key) ){ |
|
| 67 | + $this->$key = $value; |
|
| 68 | + } |
|
| 69 | + } |
|
| 70 | + } |
|
| 71 | + } |
|
| 72 | 72 | |
| 73 | 73 | |
| 74 | - /** |
|
| 75 | - * @ignore |
|
| 76 | - * @param string $key |
|
| 77 | - * @param mixed $value |
|
| 78 | - */ |
|
| 79 | - function update( $key, $value ) { |
|
| 80 | - update_metadata( $this->object_type, $this->ID, $key, $value ); |
|
| 81 | - } |
|
| 74 | + /** |
|
| 75 | + * @ignore |
|
| 76 | + * @param string $key |
|
| 77 | + * @param mixed $value |
|
| 78 | + */ |
|
| 79 | + function update( $key, $value ) { |
|
| 80 | + update_metadata( $this->object_type, $this->ID, $key, $value ); |
|
| 81 | + } |
|
| 82 | 82 | |
| 83 | - /** |
|
| 84 | - * Can you edit this post/term/user? Well good for you. You're no better than me. |
|
| 85 | - * @example |
|
| 86 | - * ```twig |
|
| 87 | - * {% if post.can_edit %} |
|
| 88 | - * <a href="{{ post.edit_link }}">Edit</a> |
|
| 89 | - * {% endif %} |
|
| 90 | - * ``` |
|
| 91 | - * ```html |
|
| 92 | - * <a href="http://example.org/wp-admin/edit.php?p=242">Edit</a> |
|
| 93 | - * ``` |
|
| 94 | - * @return bool |
|
| 95 | - */ |
|
| 96 | - function can_edit() { |
|
| 97 | - if ( !function_exists( 'current_user_can' ) ) { |
|
| 98 | - return false; |
|
| 99 | - } |
|
| 100 | - if ( current_user_can( 'edit_post', $this->ID ) ) { |
|
| 101 | - return true; |
|
| 102 | - } |
|
| 103 | - return false; |
|
| 104 | - } |
|
| 83 | + /** |
|
| 84 | + * Can you edit this post/term/user? Well good for you. You're no better than me. |
|
| 85 | + * @example |
|
| 86 | + * ```twig |
|
| 87 | + * {% if post.can_edit %} |
|
| 88 | + * <a href="{{ post.edit_link }}">Edit</a> |
|
| 89 | + * {% endif %} |
|
| 90 | + * ``` |
|
| 91 | + * ```html |
|
| 92 | + * <a href="http://example.org/wp-admin/edit.php?p=242">Edit</a> |
|
| 93 | + * ``` |
|
| 94 | + * @return bool |
|
| 95 | + */ |
|
| 96 | + function can_edit() { |
|
| 97 | + if ( !function_exists( 'current_user_can' ) ) { |
|
| 98 | + return false; |
|
| 99 | + } |
|
| 100 | + if ( current_user_can( 'edit_post', $this->ID ) ) { |
|
| 101 | + return true; |
|
| 102 | + } |
|
| 103 | + return false; |
|
| 104 | + } |
|
| 105 | 105 | |
| 106 | - /** |
|
| 107 | - * |
|
| 108 | - * |
|
| 109 | - * @return array |
|
| 110 | - */ |
|
| 111 | - function get_method_values() { |
|
| 112 | - $ret = array(); |
|
| 113 | - $ret['can_edit'] = $this->can_edit(); |
|
| 114 | - return $ret; |
|
| 115 | - } |
|
| 106 | + /** |
|
| 107 | + * |
|
| 108 | + * |
|
| 109 | + * @return array |
|
| 110 | + */ |
|
| 111 | + function get_method_values() { |
|
| 112 | + $ret = array(); |
|
| 113 | + $ret['can_edit'] = $this->can_edit(); |
|
| 114 | + return $ret; |
|
| 115 | + } |
|
| 116 | 116 | |
| 117 | 117 | } |
@@ -11,8 +11,8 @@ discard block |
||
| 11 | 11 | * |
| 12 | 12 | * @return boolean |
| 13 | 13 | */ |
| 14 | - function __isset( $field ) { |
|
| 15 | - if ( isset( $this->$field ) ) { |
|
| 14 | + function __isset($field) { |
|
| 15 | + if ( isset($this->$field) ) { |
|
| 16 | 16 | return $this->$field; |
| 17 | 17 | } |
| 18 | 18 | return false; |
@@ -22,8 +22,8 @@ discard block |
||
| 22 | 22 | * This is helpful for twig to return properties and methods see: https://github.com/fabpot/Twig/issues/2 |
| 23 | 23 | * @return mixed |
| 24 | 24 | */ |
| 25 | - function __call( $field, $args ) { |
|
| 26 | - return $this->__get( $field ); |
|
| 25 | + function __call($field, $args) { |
|
| 26 | + return $this->__get($field); |
|
| 27 | 27 | } |
| 28 | 28 | |
| 29 | 29 | /** |
@@ -31,11 +31,11 @@ discard block |
||
| 31 | 31 | * |
| 32 | 32 | * @return mixed |
| 33 | 33 | */ |
| 34 | - function __get( $field ) { |
|
| 34 | + function __get($field) { |
|
| 35 | 35 | if ( property_exists($this, $field) ) { |
| 36 | 36 | return $this->$field; |
| 37 | 37 | } |
| 38 | - if ( method_exists($this, 'meta') && $meta_value = $this->meta( $field ) ) { |
|
| 38 | + if ( method_exists($this, 'meta') && $meta_value = $this->meta($field) ) { |
|
| 39 | 39 | return $this->$field = $meta_value; |
| 40 | 40 | } |
| 41 | 41 | if ( method_exists($this, $field) ) { |
@@ -55,15 +55,15 @@ discard block |
||
| 55 | 55 | * ``` |
| 56 | 56 | * @param array|object $info an object or array you want to grab data from to attach to the Timber object |
| 57 | 57 | */ |
| 58 | - function import( $info, $force = false ) { |
|
| 59 | - if ( is_object( $info ) ) { |
|
| 60 | - $info = get_object_vars( $info ); |
|
| 58 | + function import($info, $force = false) { |
|
| 59 | + if ( is_object($info) ) { |
|
| 60 | + $info = get_object_vars($info); |
|
| 61 | 61 | } |
| 62 | - if ( is_array( $info ) ) { |
|
| 63 | - foreach ( $info as $key => $value ) { |
|
| 64 | - if ( !empty( $key ) && $force ) { |
|
| 62 | + if ( is_array($info) ) { |
|
| 63 | + foreach ($info as $key => $value) { |
|
| 64 | + if ( !empty($key) && $force ) { |
|
| 65 | 65 | $this->$key = $value; |
| 66 | - } else if ( !empty( $key ) && !method_exists($this, $key) ){ |
|
| 66 | + } else if ( !empty($key) && !method_exists($this, $key) ) { |
|
| 67 | 67 | $this->$key = $value; |
| 68 | 68 | } |
| 69 | 69 | } |
@@ -76,8 +76,8 @@ discard block |
||
| 76 | 76 | * @param string $key |
| 77 | 77 | * @param mixed $value |
| 78 | 78 | */ |
| 79 | - function update( $key, $value ) { |
|
| 80 | - update_metadata( $this->object_type, $this->ID, $key, $value ); |
|
| 79 | + function update($key, $value) { |
|
| 80 | + update_metadata($this->object_type, $this->ID, $key, $value); |
|
| 81 | 81 | } |
| 82 | 82 | |
| 83 | 83 | /** |
@@ -94,10 +94,10 @@ discard block |
||
| 94 | 94 | * @return bool |
| 95 | 95 | */ |
| 96 | 96 | function can_edit() { |
| 97 | - if ( !function_exists( 'current_user_can' ) ) { |
|
| 97 | + if ( !function_exists('current_user_can') ) { |
|
| 98 | 98 | return false; |
| 99 | 99 | } |
| 100 | - if ( current_user_can( 'edit_post', $this->ID ) ) { |
|
| 100 | + if ( current_user_can('edit_post', $this->ID) ) { |
|
| 101 | 101 | return true; |
| 102 | 102 | } |
| 103 | 103 | return false; |
@@ -63,7 +63,7 @@ |
||
| 63 | 63 | foreach ( $info as $key => $value ) { |
| 64 | 64 | if ( !empty( $key ) && $force ) { |
| 65 | 65 | $this->$key = $value; |
| 66 | - } else if ( !empty( $key ) && !method_exists($this, $key) ){ |
|
| 66 | + } else if ( !empty( $key ) && !method_exists($this, $key) ) { |
|
| 67 | 67 | $this->$key = $value; |
| 68 | 68 | } |
| 69 | 69 | } |
@@ -7,7 +7,7 @@ discard block |
||
| 7 | 7 | private $_use_ob; |
| 8 | 8 | |
| 9 | 9 | public function __toString() { |
| 10 | - return (string)$this->call(); |
|
| 10 | + return (string) $this->call(); |
|
| 11 | 11 | } |
| 12 | 12 | |
| 13 | 13 | /** |
@@ -17,12 +17,12 @@ discard block |
||
| 17 | 17 | * @param array $args |
| 18 | 18 | * @param bool $return_output_buffer |
| 19 | 19 | */ |
| 20 | - public function __construct( $function, $args = array(), $return_output_buffer = false ) { |
|
| 20 | + public function __construct($function, $args = array(), $return_output_buffer = false) { |
|
| 21 | 21 | $this->_function = $function; |
| 22 | 22 | $this->_args = $args; |
| 23 | 23 | $this->_use_ob = $return_output_buffer; |
| 24 | 24 | |
| 25 | - add_filter( 'get_twig', array( &$this, 'add_to_twig' ) ); |
|
| 25 | + add_filter('get_twig', array(&$this, 'add_to_twig')); |
|
| 26 | 26 | } |
| 27 | 27 | |
| 28 | 28 | /** |
@@ -31,12 +31,12 @@ discard block |
||
| 31 | 31 | * @param Twig_Environment $twig |
| 32 | 32 | * @return Twig_Environment |
| 33 | 33 | */ |
| 34 | - public function add_to_twig( $twig ) { |
|
| 34 | + public function add_to_twig($twig) { |
|
| 35 | 35 | $wrapper = $this; |
| 36 | 36 | |
| 37 | - $twig->addFunction( new Twig_SimpleFunction( $this->_function, function () use ( $wrapper ) { |
|
| 38 | - return call_user_func_array( array( $wrapper, 'call' ), func_get_args() ); |
|
| 39 | - } ) ); |
|
| 37 | + $twig->addFunction(new Twig_SimpleFunction($this->_function, function() use ($wrapper) { |
|
| 38 | + return call_user_func_array(array($wrapper, 'call'), func_get_args()); |
|
| 39 | + } )); |
|
| 40 | 40 | |
| 41 | 41 | return $twig; |
| 42 | 42 | } |
@@ -47,12 +47,12 @@ discard block |
||
| 47 | 47 | * @return string |
| 48 | 48 | */ |
| 49 | 49 | public function call() { |
| 50 | - $args = $this->_parse_args( func_get_args(), $this->_args ); |
|
| 50 | + $args = $this->_parse_args(func_get_args(), $this->_args); |
|
| 51 | 51 | |
| 52 | 52 | if ( $this->_use_ob ) { |
| 53 | - return TimberHelper::ob_function( $this->_function, $args ); |
|
| 53 | + return TimberHelper::ob_function($this->_function, $args); |
|
| 54 | 54 | } else { |
| 55 | - return call_user_func_array( $this->_function, $args ); |
|
| 55 | + return call_user_func_array($this->_function, $args); |
|
| 56 | 56 | } |
| 57 | 57 | } |
| 58 | 58 | |
@@ -63,12 +63,12 @@ discard block |
||
| 63 | 63 | * @param array $defaults |
| 64 | 64 | * @return array |
| 65 | 65 | */ |
| 66 | - private function _parse_args( $args, $defaults ) { |
|
| 67 | - $_arg = reset( $defaults ); |
|
| 66 | + private function _parse_args($args, $defaults) { |
|
| 67 | + $_arg = reset($defaults); |
|
| 68 | 68 | |
| 69 | - foreach ( $args as $index => $arg ) { |
|
| 70 | - $defaults[$index] = is_null( $arg ) ? $_arg : $arg; |
|
| 71 | - $_arg = next( $defaults ); |
|
| 69 | + foreach ($args as $index => $arg) { |
|
| 70 | + $defaults[$index] = is_null($arg) ? $_arg : $arg; |
|
| 71 | + $_arg = next($defaults); |
|
| 72 | 72 | } |
| 73 | 73 | |
| 74 | 74 | return $defaults; |
@@ -5,20 +5,20 @@ |
||
| 5 | 5 | * @package timber |
| 6 | 6 | */ |
| 7 | 7 | class TimberIntegrations { |
| 8 | - public static function init() { |
|
| 8 | + public static function init() { |
|
| 9 | 9 | |
| 10 | - add_action( 'init', array( __CLASS__, 'maybe_init_acftimber' ) ); |
|
| 10 | + add_action( 'init', array( __CLASS__, 'maybe_init_acftimber' ) ); |
|
| 11 | 11 | |
| 12 | - if ( class_exists( 'WP_CLI_Command' ) ) { |
|
| 13 | - WP_CLI::add_command( 'timber', 'Timber_WP_CLI_Command' ); |
|
| 14 | - } |
|
| 15 | - } |
|
| 12 | + if ( class_exists( 'WP_CLI_Command' ) ) { |
|
| 13 | + WP_CLI::add_command( 'timber', 'Timber_WP_CLI_Command' ); |
|
| 14 | + } |
|
| 15 | + } |
|
| 16 | 16 | |
| 17 | - public static function maybe_init_acftimber() { |
|
| 17 | + public static function maybe_init_acftimber() { |
|
| 18 | 18 | |
| 19 | - if ( class_exists( 'ACF' ) ) { |
|
| 20 | - new ACFTimber(); |
|
| 21 | - } |
|
| 19 | + if ( class_exists( 'ACF' ) ) { |
|
| 20 | + new ACFTimber(); |
|
| 21 | + } |
|
| 22 | 22 | |
| 23 | - } |
|
| 23 | + } |
|
| 24 | 24 | } |
@@ -7,16 +7,16 @@ |
||
| 7 | 7 | class TimberIntegrations { |
| 8 | 8 | public static function init() { |
| 9 | 9 | |
| 10 | - add_action( 'init', array( __CLASS__, 'maybe_init_acftimber' ) ); |
|
| 10 | + add_action('init', array(__CLASS__, 'maybe_init_acftimber')); |
|
| 11 | 11 | |
| 12 | - if ( class_exists( 'WP_CLI_Command' ) ) { |
|
| 13 | - WP_CLI::add_command( 'timber', 'Timber_WP_CLI_Command' ); |
|
| 12 | + if ( class_exists('WP_CLI_Command') ) { |
|
| 13 | + WP_CLI::add_command('timber', 'Timber_WP_CLI_Command'); |
|
| 14 | 14 | } |
| 15 | 15 | } |
| 16 | 16 | |
| 17 | 17 | public static function maybe_init_acftimber() { |
| 18 | 18 | |
| 19 | - if ( class_exists( 'ACF' ) ) { |
|
| 19 | + if ( class_exists('ACF') ) { |
|
| 20 | 20 | new ACFTimber(); |
| 21 | 21 | } |
| 22 | 22 | |
@@ -41,8 +41,8 @@ discard block |
||
| 41 | 41 | */ |
| 42 | 42 | function render($file, $data = null, $expires = false, $cache_mode = self::CACHE_USE_DEFAULT) { |
| 43 | 43 | // Different $expires if user is anonymous or logged in |
| 44 | - if (is_array($expires)) { |
|
| 45 | - if (is_user_logged_in() && isset($expires[1])) { |
|
| 44 | + if ( is_array($expires) ) { |
|
| 45 | + if ( is_user_logged_in() && isset($expires[1]) ) { |
|
| 46 | 46 | $expires = $expires[1]; |
| 47 | 47 | } else { |
| 48 | 48 | $expires = $expires[0]; |
@@ -51,15 +51,15 @@ discard block |
||
| 51 | 51 | |
| 52 | 52 | $key = null; |
| 53 | 53 | $output = false; |
| 54 | - if (false !== $expires) { |
|
| 54 | + if ( false !== $expires ) { |
|
| 55 | 55 | ksort($data); |
| 56 | 56 | $key = md5($file . json_encode($data)); |
| 57 | 57 | $output = $this->get_cache($key, self::CACHEGROUP, $cache_mode); |
| 58 | 58 | } |
| 59 | 59 | |
| 60 | - if (false === $output || null === $output) { |
|
| 60 | + if ( false === $output || null === $output ) { |
|
| 61 | 61 | $twig = $this->get_twig(); |
| 62 | - if (strlen($file)) { |
|
| 62 | + if ( strlen($file) ) { |
|
| 63 | 63 | $loader = $this->get_loader(); |
| 64 | 64 | $result = $loader->getCacheKey($file); |
| 65 | 65 | do_action('timber_loader_render_file', $result); |
@@ -69,7 +69,7 @@ discard block |
||
| 69 | 69 | $output = $twig->render($file, $data); |
| 70 | 70 | } |
| 71 | 71 | |
| 72 | - if (false !== $output && false !== $expires && null !== $key) { |
|
| 72 | + if ( false !== $output && false !== $expires && null !== $key ) { |
|
| 73 | 73 | $this->set_cache($key, $output, self::CACHEGROUP, $expires, $cache_mode); |
| 74 | 74 | } |
| 75 | 75 | $output = apply_filters('timber_output', $output); |
@@ -81,10 +81,10 @@ discard block |
||
| 81 | 81 | * @return bool |
| 82 | 82 | */ |
| 83 | 83 | function choose_template($filenames) { |
| 84 | - if (is_array($filenames)) { |
|
| 84 | + if ( is_array($filenames) ) { |
|
| 85 | 85 | /* its an array so we have to figure out which one the dev wants */ |
| 86 | 86 | foreach ($filenames as $filename) { |
| 87 | - if ($this->template_exists($filename)) { |
|
| 87 | + if ( $this->template_exists($filename) ) { |
|
| 88 | 88 | return $filename; |
| 89 | 89 | } |
| 90 | 90 | } |
@@ -100,7 +100,7 @@ discard block |
||
| 100 | 100 | function template_exists($file) { |
| 101 | 101 | foreach ($this->locations as $dir) { |
| 102 | 102 | $look_for = trailingslashit($dir) . $file; |
| 103 | - if (file_exists($look_for)) { |
|
| 103 | + if ( file_exists($look_for) ) { |
|
| 104 | 104 | return true; |
| 105 | 105 | } |
| 106 | 106 | } |
@@ -114,7 +114,7 @@ discard block |
||
| 114 | 114 | $theme_locs = array(); |
| 115 | 115 | $child_loc = get_stylesheet_directory(); |
| 116 | 116 | $parent_loc = get_template_directory(); |
| 117 | - if (DIRECTORY_SEPARATOR == '\\') { |
|
| 117 | + if ( DIRECTORY_SEPARATOR == '\\' ) { |
|
| 118 | 118 | $child_loc = str_replace('/', '\\', $child_loc); |
| 119 | 119 | $parent_loc = str_replace('/', '\\', $parent_loc); |
| 120 | 120 | } |
@@ -122,7 +122,7 @@ discard block |
||
| 122 | 122 | foreach ($this->get_locations_theme_dir() as $dirname) { |
| 123 | 123 | $theme_locs[] = trailingslashit($child_loc) . trailingslashit($dirname); |
| 124 | 124 | } |
| 125 | - if ($child_loc != $parent_loc) { |
|
| 125 | + if ( $child_loc != $parent_loc ) { |
|
| 126 | 126 | $theme_locs[] = $parent_loc; |
| 127 | 127 | foreach ($this->get_locations_theme_dir() as $dirname) { |
| 128 | 128 | $theme_locs[] = trailingslashit($parent_loc) . trailingslashit($dirname); |
@@ -138,7 +138,7 @@ discard block |
||
| 138 | 138 | * @return string[] the names of directores, ie: array('templats', 'views'); |
| 139 | 139 | */ |
| 140 | 140 | private function get_locations_theme_dir() { |
| 141 | - if (is_string(Timber::$dirname)) { |
|
| 141 | + if ( is_string(Timber::$dirname) ) { |
|
| 142 | 142 | return array(Timber::$dirname); |
| 143 | 143 | } |
| 144 | 144 | return Timber::$dirname; |
@@ -149,13 +149,13 @@ discard block |
||
| 149 | 149 | */ |
| 150 | 150 | function get_locations_user() { |
| 151 | 151 | $locs = array(); |
| 152 | - if (isset(Timber::$locations)) { |
|
| 153 | - if (is_string(Timber::$locations)) { |
|
| 152 | + if ( isset(Timber::$locations) ) { |
|
| 153 | + if ( is_string(Timber::$locations) ) { |
|
| 154 | 154 | Timber::$locations = array(Timber::$locations); |
| 155 | 155 | } |
| 156 | 156 | foreach (Timber::$locations as $tloc) { |
| 157 | 157 | $tloc = realpath($tloc); |
| 158 | - if (is_dir($tloc)) { |
|
| 158 | + if ( is_dir($tloc) ) { |
|
| 159 | 159 | $locs[] = $tloc; |
| 160 | 160 | } |
| 161 | 161 | } |
@@ -169,14 +169,14 @@ discard block |
||
| 169 | 169 | */ |
| 170 | 170 | function get_locations_caller($caller = false) { |
| 171 | 171 | $locs = array(); |
| 172 | - if ($caller && is_string($caller)) { |
|
| 172 | + if ( $caller && is_string($caller) ) { |
|
| 173 | 173 | $caller = trailingslashit($caller); |
| 174 | - if (is_dir($caller)) { |
|
| 174 | + if ( is_dir($caller) ) { |
|
| 175 | 175 | $locs[] = $caller; |
| 176 | 176 | } |
| 177 | 177 | foreach ($this->get_locations_theme_dir() as $dirname) { |
| 178 | 178 | $caller_sub = $caller . trailingslashit($dirname); |
| 179 | - if (is_dir($caller_sub)) { |
|
| 179 | + if ( is_dir($caller_sub) ) { |
|
| 180 | 180 | $locs[] = $caller_sub; |
| 181 | 181 | } |
| 182 | 182 | } |
@@ -210,14 +210,14 @@ discard block |
||
| 210 | 210 | $paths = array(); |
| 211 | 211 | foreach ($this->locations as $loc) { |
| 212 | 212 | $loc = realpath($loc); |
| 213 | - if (is_dir($loc)) { |
|
| 213 | + if ( is_dir($loc) ) { |
|
| 214 | 214 | $loc = realpath($loc); |
| 215 | 215 | $paths[] = $loc; |
| 216 | 216 | } else { |
| 217 | 217 | //error_log($loc.' is not a directory'); |
| 218 | 218 | } |
| 219 | 219 | } |
| 220 | - if (!ini_get('open_basedir')) { |
|
| 220 | + if ( !ini_get('open_basedir') ) { |
|
| 221 | 221 | $paths[] = '/'; |
| 222 | 222 | } else { |
| 223 | 223 | $paths[] = ABSPATH; |
@@ -233,15 +233,15 @@ discard block |
||
| 233 | 233 | function get_twig() { |
| 234 | 234 | $loader = $this->get_loader(); |
| 235 | 235 | $params = array('debug' => WP_DEBUG, 'autoescape' => false); |
| 236 | - if (isset(Timber::$autoescape)) { |
|
| 236 | + if ( isset(Timber::$autoescape) ) { |
|
| 237 | 237 | $params['autoescape'] = Timber::$autoescape; |
| 238 | 238 | } |
| 239 | - if (Timber::$cache === true) { |
|
| 239 | + if ( Timber::$cache === true ) { |
|
| 240 | 240 | Timber::$twig_cache = true; |
| 241 | 241 | } |
| 242 | - if (Timber::$twig_cache) { |
|
| 243 | - $twig_cache_loc = apply_filters( 'timber/cache/location', TIMBER_LOC . '/cache/twig' ); |
|
| 244 | - if (!file_exists($twig_cache_loc)) { |
|
| 242 | + if ( Timber::$twig_cache ) { |
|
| 243 | + $twig_cache_loc = apply_filters('timber/cache/location', TIMBER_LOC . '/cache/twig'); |
|
| 244 | + if ( !file_exists($twig_cache_loc) ) { |
|
| 245 | 245 | mkdir($twig_cache_loc, 0777, true); |
| 246 | 246 | } |
| 247 | 247 | $params['cache'] = $twig_cache_loc; |
@@ -258,26 +258,26 @@ discard block |
||
| 258 | 258 | return $twig; |
| 259 | 259 | } |
| 260 | 260 | |
| 261 | - public function clear_cache_timber($cache_mode = self::CACHE_USE_DEFAULT){ |
|
| 261 | + public function clear_cache_timber($cache_mode = self::CACHE_USE_DEFAULT) { |
|
| 262 | 262 | //_transient_timberloader |
| 263 | 263 | $object_cache = false; |
| 264 | - if (isset($GLOBALS['wp_object_cache']) && is_object($GLOBALS['wp_object_cache'])) { |
|
| 264 | + if ( isset($GLOBALS['wp_object_cache']) && is_object($GLOBALS['wp_object_cache']) ) { |
|
| 265 | 265 | $object_cache = true; |
| 266 | 266 | } |
| 267 | 267 | $cache_mode = $this->_get_cache_mode($cache_mode); |
| 268 | - if (self::CACHE_TRANSIENT === $cache_mode) { |
|
| 268 | + if ( self::CACHE_TRANSIENT === $cache_mode ) { |
|
| 269 | 269 | global $wpdb; |
| 270 | 270 | $query = $wpdb->prepare("DELETE FROM $wpdb->options WHERE option_name LIKE '%s'", '_transient_timberloader_%'); |
| 271 | - $wpdb->query( $query ); |
|
| 271 | + $wpdb->query($query); |
|
| 272 | 272 | return true; |
| 273 | - } else if (self::CACHE_SITE_TRANSIENT === $cache_mode) { |
|
| 273 | + } else if ( self::CACHE_SITE_TRANSIENT === $cache_mode ) { |
|
| 274 | 274 | global $wpdb; |
| 275 | 275 | $query = $wpdb->prepare("DELETE FROM $wpdb->options WHERE option_name LIKE '%s'", '_transient_timberloader_%'); |
| 276 | - $wpdb->query( $query ); |
|
| 276 | + $wpdb->query($query); |
|
| 277 | 277 | return true; |
| 278 | - } else if (self::CACHE_OBJECT === $cache_mode && $object_cache) { |
|
| 278 | + } else if ( self::CACHE_OBJECT === $cache_mode && $object_cache ) { |
|
| 279 | 279 | global $wp_object_cache; |
| 280 | - if (isset($wp_object_cache->cache[self::CACHEGROUP])){ |
|
| 280 | + if ( isset($wp_object_cache->cache[self::CACHEGROUP]) ) { |
|
| 281 | 281 | unset($wp_object_cache->cache[self::CACHEGROUP]); |
| 282 | 282 | return true; |
| 283 | 283 | } |
@@ -289,7 +289,7 @@ discard block |
||
| 289 | 289 | $twig = $this->get_twig(); |
| 290 | 290 | $twig->clearCacheFiles(); |
| 291 | 291 | $cache = $twig->getCache(); |
| 292 | - if ($cache){ |
|
| 292 | + if ( $cache ) { |
|
| 293 | 293 | self::rrmdir($twig->getCache()); |
| 294 | 294 | return true; |
| 295 | 295 | } |
@@ -300,15 +300,15 @@ discard block |
||
| 300 | 300 | * @param string|false $dirPath |
| 301 | 301 | */ |
| 302 | 302 | public static function rrmdir($dirPath) { |
| 303 | - if (! is_dir($dirPath)) { |
|
| 303 | + if ( !is_dir($dirPath) ) { |
|
| 304 | 304 | throw new InvalidArgumentException("$dirPath must be a directory"); |
| 305 | 305 | } |
| 306 | - if (substr($dirPath, strlen($dirPath) - 1, 1) != '/') { |
|
| 306 | + if ( substr($dirPath, strlen($dirPath) - 1, 1) != '/' ) { |
|
| 307 | 307 | $dirPath .= '/'; |
| 308 | 308 | } |
| 309 | 309 | $files = glob($dirPath . '*', GLOB_MARK); |
| 310 | 310 | foreach ($files as $file) { |
| 311 | - if (is_dir($file)) { |
|
| 311 | + if ( is_dir($file) ) { |
|
| 312 | 312 | self::rrmdir($file); |
| 313 | 313 | } else { |
| 314 | 314 | unlink($file); |
@@ -323,9 +323,9 @@ discard block |
||
| 323 | 323 | private function _get_cache_extension() { |
| 324 | 324 | |
| 325 | 325 | $key_generator = new \Timber\Cache\KeyGenerator(); |
| 326 | - $cache_provider = new \Timber\Cache\WPObjectCacheAdapter( $this ); |
|
| 327 | - $cache_strategy = new \Asm89\Twig\CacheExtension\CacheStrategy\GenerationalCacheStrategy( $cache_provider, $key_generator ); |
|
| 328 | - $cache_extension = new \Asm89\Twig\CacheExtension\Extension( $cache_strategy ); |
|
| 326 | + $cache_provider = new \Timber\Cache\WPObjectCacheAdapter($this); |
|
| 327 | + $cache_strategy = new \Asm89\Twig\CacheExtension\CacheStrategy\GenerationalCacheStrategy($cache_provider, $key_generator); |
|
| 328 | + $cache_extension = new \Asm89\Twig\CacheExtension\Extension($cache_strategy); |
|
| 329 | 329 | |
| 330 | 330 | return $cache_extension; |
| 331 | 331 | } |
@@ -339,7 +339,7 @@ discard block |
||
| 339 | 339 | public function get_cache($key, $group = self::CACHEGROUP, $cache_mode = self::CACHE_USE_DEFAULT) { |
| 340 | 340 | $object_cache = false; |
| 341 | 341 | |
| 342 | - if (isset($GLOBALS['wp_object_cache']) && is_object($GLOBALS['wp_object_cache'])) { |
|
| 342 | + if ( isset($GLOBALS['wp_object_cache']) && is_object($GLOBALS['wp_object_cache']) ) { |
|
| 343 | 343 | $object_cache = true; |
| 344 | 344 | } |
| 345 | 345 | |
@@ -348,13 +348,13 @@ discard block |
||
| 348 | 348 | $value = false; |
| 349 | 349 | |
| 350 | 350 | $trans_key = substr($group . '_' . $key, 0, self::TRANS_KEY_LEN); |
| 351 | - if (self::CACHE_TRANSIENT === $cache_mode) |
|
| 351 | + if ( self::CACHE_TRANSIENT === $cache_mode ) |
|
| 352 | 352 | $value = get_transient($trans_key); |
| 353 | 353 | |
| 354 | - elseif (self::CACHE_SITE_TRANSIENT === $cache_mode) |
|
| 354 | + elseif ( self::CACHE_SITE_TRANSIENT === $cache_mode ) |
|
| 355 | 355 | $value = get_site_transient($trans_key); |
| 356 | 356 | |
| 357 | - elseif (self::CACHE_OBJECT === $cache_mode && $object_cache) |
|
| 357 | + elseif ( self::CACHE_OBJECT === $cache_mode && $object_cache ) |
|
| 358 | 358 | $value = wp_cache_get($key, $group); |
| 359 | 359 | |
| 360 | 360 | return $value; |
@@ -371,23 +371,23 @@ discard block |
||
| 371 | 371 | public function set_cache($key, $value, $group = self::CACHEGROUP, $expires = 0, $cache_mode = self::CACHE_USE_DEFAULT) { |
| 372 | 372 | $object_cache = false; |
| 373 | 373 | |
| 374 | - if (isset($GLOBALS['wp_object_cache']) && is_object($GLOBALS['wp_object_cache'])) { |
|
| 374 | + if ( isset($GLOBALS['wp_object_cache']) && is_object($GLOBALS['wp_object_cache']) ) { |
|
| 375 | 375 | $object_cache = true; |
| 376 | 376 | } |
| 377 | 377 | |
| 378 | - if ((int)$expires < 1) |
|
| 378 | + if ( (int) $expires < 1 ) |
|
| 379 | 379 | $expires = 0; |
| 380 | 380 | |
| 381 | 381 | $cache_mode = self::_get_cache_mode($cache_mode); |
| 382 | 382 | $trans_key = substr($group . '_' . $key, 0, self::TRANS_KEY_LEN); |
| 383 | 383 | |
| 384 | - if (self::CACHE_TRANSIENT === $cache_mode) |
|
| 384 | + if ( self::CACHE_TRANSIENT === $cache_mode ) |
|
| 385 | 385 | set_transient($trans_key, $value, $expires); |
| 386 | 386 | |
| 387 | - elseif (self::CACHE_SITE_TRANSIENT === $cache_mode) |
|
| 387 | + elseif ( self::CACHE_SITE_TRANSIENT === $cache_mode ) |
|
| 388 | 388 | set_site_transient($trans_key, $value, $expires); |
| 389 | 389 | |
| 390 | - elseif (self::CACHE_OBJECT === $cache_mode && $object_cache) |
|
| 390 | + elseif ( self::CACHE_OBJECT === $cache_mode && $object_cache ) |
|
| 391 | 391 | wp_cache_set($key, $value, $group, $expires); |
| 392 | 392 | |
| 393 | 393 | return $value; |
@@ -398,12 +398,12 @@ discard block |
||
| 398 | 398 | * @return string |
| 399 | 399 | */ |
| 400 | 400 | private function _get_cache_mode($cache_mode) { |
| 401 | - if (empty($cache_mode) || self::CACHE_USE_DEFAULT === $cache_mode) { |
|
| 401 | + if ( empty($cache_mode) || self::CACHE_USE_DEFAULT === $cache_mode ) { |
|
| 402 | 402 | $cache_mode = $this->cache_mode; |
| 403 | 403 | } |
| 404 | 404 | |
| 405 | 405 | // Fallback if self::$cache_mode did not get a valid value |
| 406 | - if (!in_array($cache_mode, self::$cache_modes)) { |
|
| 406 | + if ( !in_array($cache_mode, self::$cache_modes) ) { |
|
| 407 | 407 | $cache_mode = self::CACHE_OBJECT; |
| 408 | 408 | } |
| 409 | 409 | |
@@ -258,7 +258,7 @@ discard block |
||
| 258 | 258 | return $twig; |
| 259 | 259 | } |
| 260 | 260 | |
| 261 | - public function clear_cache_timber($cache_mode = self::CACHE_USE_DEFAULT){ |
|
| 261 | + public function clear_cache_timber($cache_mode = self::CACHE_USE_DEFAULT) { |
|
| 262 | 262 | //_transient_timberloader |
| 263 | 263 | $object_cache = false; |
| 264 | 264 | if (isset($GLOBALS['wp_object_cache']) && is_object($GLOBALS['wp_object_cache'])) { |
@@ -277,7 +277,7 @@ discard block |
||
| 277 | 277 | return true; |
| 278 | 278 | } else if (self::CACHE_OBJECT === $cache_mode && $object_cache) { |
| 279 | 279 | global $wp_object_cache; |
| 280 | - if (isset($wp_object_cache->cache[self::CACHEGROUP])){ |
|
| 280 | + if (isset($wp_object_cache->cache[self::CACHEGROUP])) { |
|
| 281 | 281 | unset($wp_object_cache->cache[self::CACHEGROUP]); |
| 282 | 282 | return true; |
| 283 | 283 | } |
@@ -289,7 +289,7 @@ discard block |
||
| 289 | 289 | $twig = $this->get_twig(); |
| 290 | 290 | $twig->clearCacheFiles(); |
| 291 | 291 | $cache = $twig->getCache(); |
| 292 | - if ($cache){ |
|
| 292 | + if ($cache) { |
|
| 293 | 293 | self::rrmdir($twig->getCache()); |
| 294 | 294 | return true; |
| 295 | 295 | } |
@@ -348,14 +348,13 @@ discard block |
||
| 348 | 348 | $value = false; |
| 349 | 349 | |
| 350 | 350 | $trans_key = substr($group . '_' . $key, 0, self::TRANS_KEY_LEN); |
| 351 | - if (self::CACHE_TRANSIENT === $cache_mode) |
|
| 352 | - $value = get_transient($trans_key); |
|
| 353 | - |
|
| 354 | - elseif (self::CACHE_SITE_TRANSIENT === $cache_mode) |
|
| 355 | - $value = get_site_transient($trans_key); |
|
| 356 | - |
|
| 357 | - elseif (self::CACHE_OBJECT === $cache_mode && $object_cache) |
|
| 358 | - $value = wp_cache_get($key, $group); |
|
| 351 | + if (self::CACHE_TRANSIENT === $cache_mode) { |
|
| 352 | + $value = get_transient($trans_key); |
|
| 353 | + } elseif (self::CACHE_SITE_TRANSIENT === $cache_mode) { |
|
| 354 | + $value = get_site_transient($trans_key); |
|
| 355 | + } elseif (self::CACHE_OBJECT === $cache_mode && $object_cache) { |
|
| 356 | + $value = wp_cache_get($key, $group); |
|
| 357 | + } |
|
| 359 | 358 | |
| 360 | 359 | return $value; |
| 361 | 360 | } |
@@ -375,20 +374,20 @@ discard block |
||
| 375 | 374 | $object_cache = true; |
| 376 | 375 | } |
| 377 | 376 | |
| 378 | - if ((int)$expires < 1) |
|
| 379 | - $expires = 0; |
|
| 377 | + if ((int)$expires < 1) { |
|
| 378 | + $expires = 0; |
|
| 379 | + } |
|
| 380 | 380 | |
| 381 | 381 | $cache_mode = self::_get_cache_mode($cache_mode); |
| 382 | 382 | $trans_key = substr($group . '_' . $key, 0, self::TRANS_KEY_LEN); |
| 383 | 383 | |
| 384 | - if (self::CACHE_TRANSIENT === $cache_mode) |
|
| 385 | - set_transient($trans_key, $value, $expires); |
|
| 386 | - |
|
| 387 | - elseif (self::CACHE_SITE_TRANSIENT === $cache_mode) |
|
| 388 | - set_site_transient($trans_key, $value, $expires); |
|
| 389 | - |
|
| 390 | - elseif (self::CACHE_OBJECT === $cache_mode && $object_cache) |
|
| 391 | - wp_cache_set($key, $value, $group, $expires); |
|
| 384 | + if (self::CACHE_TRANSIENT === $cache_mode) { |
|
| 385 | + set_transient($trans_key, $value, $expires); |
|
| 386 | + } elseif (self::CACHE_SITE_TRANSIENT === $cache_mode) { |
|
| 387 | + set_site_transient($trans_key, $value, $expires); |
|
| 388 | + } elseif (self::CACHE_OBJECT === $cache_mode && $object_cache) { |
|
| 389 | + wp_cache_set($key, $value, $group, $expires); |
|
| 390 | + } |
|
| 392 | 391 | |
| 393 | 392 | return $value; |
| 394 | 393 | } |
@@ -8,19 +8,19 @@ discard block |
||
| 8 | 8 | * @return array|bool|null |
| 9 | 9 | */ |
| 10 | 10 | static function get_post($query = false, $PostClass = 'TimberPost') { |
| 11 | - $posts = self::get_posts( $query, $PostClass ); |
|
| 12 | - if ( $post = reset($posts ) ) { |
|
| 11 | + $posts = self::get_posts($query, $PostClass); |
|
| 12 | + if ( $post = reset($posts) ) { |
|
| 13 | 13 | return $post; |
| 14 | 14 | } |
| 15 | 15 | } |
| 16 | 16 | |
| 17 | - static function get_posts( $query = false, $PostClass = 'TimberPost', $return_collection = false ) { |
|
| 18 | - $posts = self::query_posts( $query, $PostClass ); |
|
| 19 | - return apply_filters('timber_post_getter_get_posts', $posts->get_posts( $return_collection )); |
|
| 17 | + static function get_posts($query = false, $PostClass = 'TimberPost', $return_collection = false) { |
|
| 18 | + $posts = self::query_posts($query, $PostClass); |
|
| 19 | + return apply_filters('timber_post_getter_get_posts', $posts->get_posts($return_collection)); |
|
| 20 | 20 | } |
| 21 | 21 | |
| 22 | - static function query_post( $query = false, $PostClass = 'TimberPost' ) { |
|
| 23 | - $posts = self::query_posts( $query, $PostClass ); |
|
| 22 | + static function query_post($query = false, $PostClass = 'TimberPost') { |
|
| 23 | + $posts = self::query_posts($query, $PostClass); |
|
| 24 | 24 | if ( method_exists($posts, 'current') && $post = $posts->current() ) { |
| 25 | 25 | return $post; |
| 26 | 26 | } |
@@ -31,32 +31,32 @@ discard block |
||
| 31 | 31 | * @param string $PostClass |
| 32 | 32 | * @return array|bool|null |
| 33 | 33 | */ |
| 34 | - static function query_posts($query = false, $PostClass = 'TimberPost' ) { |
|
| 35 | - if (self::is_post_class_or_class_map($query)) { |
|
| 34 | + static function query_posts($query = false, $PostClass = 'TimberPost') { |
|
| 35 | + if ( self::is_post_class_or_class_map($query) ) { |
|
| 36 | 36 | $PostClass = $query; |
| 37 | 37 | $query = false; |
| 38 | 38 | } |
| 39 | 39 | |
| 40 | - if (is_object($query) && !is_a($query, 'WP_Query') ){ |
|
| 40 | + if ( is_object($query) && !is_a($query, 'WP_Query') ) { |
|
| 41 | 41 | // The only object other than a query is a type of post object |
| 42 | - $query = array( $query ); |
|
| 42 | + $query = array($query); |
|
| 43 | 43 | } |
| 44 | 44 | |
| 45 | - if ( is_array( $query ) && count( $query ) && isset( $query[0] ) && is_object( $query[0] ) ) { |
|
| 45 | + if ( is_array($query) && count($query) && isset($query[0]) && is_object($query[0]) ) { |
|
| 46 | 46 | // We have an array of post objects that already have data |
| 47 | - return new TimberPostsCollection( $query, $PostClass ); |
|
| 47 | + return new TimberPostsCollection($query, $PostClass); |
|
| 48 | 48 | } else { |
| 49 | 49 | // We have a query (of sorts) to work with |
| 50 | - $tqi = new TimberQueryIterator( $query, $PostClass ); |
|
| 50 | + $tqi = new TimberQueryIterator($query, $PostClass); |
|
| 51 | 51 | return $tqi; |
| 52 | 52 | } |
| 53 | 53 | } |
| 54 | 54 | |
| 55 | - static function get_pids($query){ |
|
| 55 | + static function get_pids($query) { |
|
| 56 | 56 | $posts = self::get_posts($query); |
| 57 | 57 | $pids = array(); |
| 58 | - foreach($posts as $post){ |
|
| 59 | - if (isset($post->ID)){ |
|
| 58 | + foreach ($posts as $post) { |
|
| 59 | + if ( isset($post->ID) ) { |
|
| 60 | 60 | $pids[] = $post->ID; |
| 61 | 61 | } |
| 62 | 62 | } |
@@ -64,7 +64,7 @@ discard block |
||
| 64 | 64 | } |
| 65 | 65 | |
| 66 | 66 | static function loop_to_id() { |
| 67 | - if (!self::wp_query_has_posts()) { return false; } |
|
| 67 | + if ( !self::wp_query_has_posts() ) { return false; } |
|
| 68 | 68 | |
| 69 | 69 | global $wp_query; |
| 70 | 70 | $post_num = property_exists($wp_query, 'current_post') |
@@ -72,7 +72,7 @@ discard block |
||
| 72 | 72 | : 0 |
| 73 | 73 | ; |
| 74 | 74 | |
| 75 | - if (!isset($wp_query->posts[$post_num])) { return false; } |
|
| 75 | + if ( !isset($wp_query->posts[$post_num]) ) { return false; } |
|
| 76 | 76 | |
| 77 | 77 | return $wp_query->posts[$post_num]->ID; |
| 78 | 78 | } |
@@ -89,13 +89,13 @@ discard block |
||
| 89 | 89 | * @param string|array $arg |
| 90 | 90 | * @return bool |
| 91 | 91 | */ |
| 92 | - static function is_post_class_or_class_map($arg){ |
|
| 93 | - if (is_string($arg) && class_exists($arg)) { |
|
| 92 | + static function is_post_class_or_class_map($arg) { |
|
| 93 | + if ( is_string($arg) && class_exists($arg) ) { |
|
| 94 | 94 | return true; |
| 95 | 95 | } |
| 96 | - if (is_array($arg)) { |
|
| 96 | + if ( is_array($arg) ) { |
|
| 97 | 97 | foreach ($arg as $item) { |
| 98 | - if (is_string($item) && class_exists($item)) { |
|
| 98 | + if ( is_string($item) && class_exists($item) ) { |
|
| 99 | 99 | return true; |
| 100 | 100 | } |
| 101 | 101 | } |
@@ -37,7 +37,7 @@ discard block |
||
| 37 | 37 | $query = false; |
| 38 | 38 | } |
| 39 | 39 | |
| 40 | - if (is_object($query) && !is_a($query, 'WP_Query') ){ |
|
| 40 | + if (is_object($query) && !is_a($query, 'WP_Query') ) { |
|
| 41 | 41 | // The only object other than a query is a type of post object |
| 42 | 42 | $query = array( $query ); |
| 43 | 43 | } |
@@ -52,11 +52,11 @@ discard block |
||
| 52 | 52 | } |
| 53 | 53 | } |
| 54 | 54 | |
| 55 | - static function get_pids($query){ |
|
| 55 | + static function get_pids($query) { |
|
| 56 | 56 | $posts = self::get_posts($query); |
| 57 | 57 | $pids = array(); |
| 58 | - foreach($posts as $post){ |
|
| 59 | - if (isset($post->ID)){ |
|
| 58 | + foreach($posts as $post) { |
|
| 59 | + if (isset($post->ID)) { |
|
| 60 | 60 | $pids[] = $post->ID; |
| 61 | 61 | } |
| 62 | 62 | } |
@@ -89,7 +89,7 @@ discard block |
||
| 89 | 89 | * @param string|array $arg |
| 90 | 90 | * @return bool |
| 91 | 91 | */ |
| 92 | - static function is_post_class_or_class_map($arg){ |
|
| 92 | + static function is_post_class_or_class_map($arg) { |
|
| 93 | 93 | if (is_string($arg) && class_exists($arg)) { |
| 94 | 94 | return true; |
| 95 | 95 | } |
@@ -606,7 +606,7 @@ |
||
| 606 | 606 | * Is post class or class map. |
| 607 | 607 | * |
| 608 | 608 | * @param string|array $args |
| 609 | - * @return bool |
|
| 609 | + * @return boolean|null |
|
| 610 | 610 | * @deprecated since 0.20.0 |
| 611 | 611 | */ |
| 612 | 612 | public static function is_post_class_or_class_map( $args ) { |
@@ -2,96 +2,96 @@ |
||
| 2 | 2 | |
| 3 | 3 | // Exit if accessed directly |
| 4 | 4 | if ( !defined( 'ABSPATH' ) ) |
| 5 | - exit; |
|
| 5 | + exit; |
|
| 6 | 6 | |
| 7 | 7 | class TimberPostsCollection extends ArrayObject { |
| 8 | 8 | |
| 9 | - public function __construct( $posts = array(), $post_class = 'TimberPost' ) { |
|
| 10 | - $returned_posts = array(); |
|
| 11 | - if ( is_null( $posts ) ){ |
|
| 12 | - $posts = array(); |
|
| 13 | - } |
|
| 14 | - foreach ( $posts as $post_object ) { |
|
| 15 | - $post_class_use = $post_class; |
|
| 16 | - |
|
| 17 | - if ( is_array( $post_class ) ) { |
|
| 18 | - $post_type = get_post_type( $post_object ); |
|
| 19 | - $post_class_use = 'TimberPost'; |
|
| 20 | - |
|
| 21 | - if ( isset( $post_class[$post_type] ) ) { |
|
| 22 | - $post_class_use = $post_class[$post_type]; |
|
| 23 | - |
|
| 24 | - } else { |
|
| 25 | - if ( is_array( $post_class ) ) { |
|
| 26 | - TimberHelper::error_log( $post_type . ' of ' . $post_object->ID . ' not found in ' . print_r( $post_class, true ) ); |
|
| 27 | - } else { |
|
| 28 | - TimberHelper::error_log( $post_type . ' not found in ' . $post_class ); |
|
| 29 | - } |
|
| 30 | - } |
|
| 31 | - } |
|
| 32 | - |
|
| 33 | - // Don't create yet another object if $post_object is already of the right type |
|
| 34 | - if ( is_a( $post_object, $post_class_use ) ) { |
|
| 35 | - $post = $post_object; |
|
| 36 | - } else { |
|
| 37 | - $post = new $post_class_use( $post_object ); |
|
| 38 | - } |
|
| 39 | - |
|
| 40 | - if ( isset( $post->ID ) ) { |
|
| 41 | - $returned_posts[] = $post; |
|
| 42 | - } |
|
| 43 | - } |
|
| 44 | - |
|
| 45 | - $returned_posts = self::maybe_set_preview($returned_posts); |
|
| 46 | - |
|
| 47 | - parent::__construct( $returned_posts, $flags = 0, 'TimberPostsIterator' ); |
|
| 48 | - } |
|
| 49 | - |
|
| 50 | - public function get_posts() { |
|
| 51 | - return $this->getArrayCopy(); |
|
| 52 | - } |
|
| 53 | - |
|
| 54 | - /** |
|
| 55 | - * @param array $posts |
|
| 56 | - * @return array |
|
| 57 | - */ |
|
| 58 | - static function maybe_set_preview( $posts ) { |
|
| 59 | - if ( is_array( $posts ) && isset( $_GET['preview'] ) && $_GET['preview'] |
|
| 60 | - && isset( $_GET['preview_id'] ) && $_GET['preview_id'] |
|
| 61 | - && current_user_can( 'edit_post', $_GET['preview_id'] ) ) { |
|
| 62 | - // No need to check the nonce, that already happened in _show_post_preview on init |
|
| 63 | - |
|
| 64 | - $preview_id = $_GET['preview_id']; |
|
| 65 | - foreach( $posts as &$post ) { |
|
| 66 | - if ( is_object( $post ) && $post->ID == $preview_id ) { |
|
| 67 | - // Based on _set_preview( $post ), but adds import_custom |
|
| 68 | - $preview = wp_get_post_autosave( $preview_id ); |
|
| 69 | - if ( is_object($preview) ) { |
|
| 70 | - |
|
| 71 | - $preview = sanitize_post($preview); |
|
| 72 | - |
|
| 73 | - $post->post_content = $preview->post_content; |
|
| 74 | - $post->post_title = $preview->post_title; |
|
| 75 | - $post->post_excerpt = $preview->post_excerpt; |
|
| 76 | - $post->import_custom( $preview_id ); |
|
| 77 | - |
|
| 78 | - add_filter( 'get_the_terms', '_wp_preview_terms_filter', 10, 3 ); |
|
| 79 | - } |
|
| 80 | - } |
|
| 81 | - } |
|
| 82 | - |
|
| 83 | - } |
|
| 84 | - |
|
| 85 | - return $posts; |
|
| 86 | - } |
|
| 9 | + public function __construct( $posts = array(), $post_class = 'TimberPost' ) { |
|
| 10 | + $returned_posts = array(); |
|
| 11 | + if ( is_null( $posts ) ){ |
|
| 12 | + $posts = array(); |
|
| 13 | + } |
|
| 14 | + foreach ( $posts as $post_object ) { |
|
| 15 | + $post_class_use = $post_class; |
|
| 16 | + |
|
| 17 | + if ( is_array( $post_class ) ) { |
|
| 18 | + $post_type = get_post_type( $post_object ); |
|
| 19 | + $post_class_use = 'TimberPost'; |
|
| 20 | + |
|
| 21 | + if ( isset( $post_class[$post_type] ) ) { |
|
| 22 | + $post_class_use = $post_class[$post_type]; |
|
| 23 | + |
|
| 24 | + } else { |
|
| 25 | + if ( is_array( $post_class ) ) { |
|
| 26 | + TimberHelper::error_log( $post_type . ' of ' . $post_object->ID . ' not found in ' . print_r( $post_class, true ) ); |
|
| 27 | + } else { |
|
| 28 | + TimberHelper::error_log( $post_type . ' not found in ' . $post_class ); |
|
| 29 | + } |
|
| 30 | + } |
|
| 31 | + } |
|
| 32 | + |
|
| 33 | + // Don't create yet another object if $post_object is already of the right type |
|
| 34 | + if ( is_a( $post_object, $post_class_use ) ) { |
|
| 35 | + $post = $post_object; |
|
| 36 | + } else { |
|
| 37 | + $post = new $post_class_use( $post_object ); |
|
| 38 | + } |
|
| 39 | + |
|
| 40 | + if ( isset( $post->ID ) ) { |
|
| 41 | + $returned_posts[] = $post; |
|
| 42 | + } |
|
| 43 | + } |
|
| 44 | + |
|
| 45 | + $returned_posts = self::maybe_set_preview($returned_posts); |
|
| 46 | + |
|
| 47 | + parent::__construct( $returned_posts, $flags = 0, 'TimberPostsIterator' ); |
|
| 48 | + } |
|
| 49 | + |
|
| 50 | + public function get_posts() { |
|
| 51 | + return $this->getArrayCopy(); |
|
| 52 | + } |
|
| 53 | + |
|
| 54 | + /** |
|
| 55 | + * @param array $posts |
|
| 56 | + * @return array |
|
| 57 | + */ |
|
| 58 | + static function maybe_set_preview( $posts ) { |
|
| 59 | + if ( is_array( $posts ) && isset( $_GET['preview'] ) && $_GET['preview'] |
|
| 60 | + && isset( $_GET['preview_id'] ) && $_GET['preview_id'] |
|
| 61 | + && current_user_can( 'edit_post', $_GET['preview_id'] ) ) { |
|
| 62 | + // No need to check the nonce, that already happened in _show_post_preview on init |
|
| 63 | + |
|
| 64 | + $preview_id = $_GET['preview_id']; |
|
| 65 | + foreach( $posts as &$post ) { |
|
| 66 | + if ( is_object( $post ) && $post->ID == $preview_id ) { |
|
| 67 | + // Based on _set_preview( $post ), but adds import_custom |
|
| 68 | + $preview = wp_get_post_autosave( $preview_id ); |
|
| 69 | + if ( is_object($preview) ) { |
|
| 70 | + |
|
| 71 | + $preview = sanitize_post($preview); |
|
| 72 | + |
|
| 73 | + $post->post_content = $preview->post_content; |
|
| 74 | + $post->post_title = $preview->post_title; |
|
| 75 | + $post->post_excerpt = $preview->post_excerpt; |
|
| 76 | + $post->import_custom( $preview_id ); |
|
| 77 | + |
|
| 78 | + add_filter( 'get_the_terms', '_wp_preview_terms_filter', 10, 3 ); |
|
| 79 | + } |
|
| 80 | + } |
|
| 81 | + } |
|
| 82 | + |
|
| 83 | + } |
|
| 84 | + |
|
| 85 | + return $posts; |
|
| 86 | + } |
|
| 87 | 87 | |
| 88 | 88 | } |
| 89 | 89 | |
| 90 | 90 | class TimberPostsIterator extends ArrayIterator { |
| 91 | 91 | |
| 92 | - public function current() { |
|
| 93 | - global $post; |
|
| 94 | - $post = parent::current(); |
|
| 95 | - return $post; |
|
| 96 | - } |
|
| 92 | + public function current() { |
|
| 93 | + global $post; |
|
| 94 | + $post = parent::current(); |
|
| 95 | + return $post; |
|
| 96 | + } |
|
| 97 | 97 | } |
@@ -1,50 +1,50 @@ discard block |
||
| 1 | 1 | <?php |
| 2 | 2 | |
| 3 | 3 | // Exit if accessed directly |
| 4 | -if ( !defined( 'ABSPATH' ) ) |
|
| 4 | +if ( !defined('ABSPATH') ) |
|
| 5 | 5 | exit; |
| 6 | 6 | |
| 7 | 7 | class TimberPostsCollection extends ArrayObject { |
| 8 | 8 | |
| 9 | - public function __construct( $posts = array(), $post_class = 'TimberPost' ) { |
|
| 9 | + public function __construct($posts = array(), $post_class = 'TimberPost') { |
|
| 10 | 10 | $returned_posts = array(); |
| 11 | - if ( is_null( $posts ) ){ |
|
| 11 | + if ( is_null($posts) ) { |
|
| 12 | 12 | $posts = array(); |
| 13 | 13 | } |
| 14 | - foreach ( $posts as $post_object ) { |
|
| 14 | + foreach ($posts as $post_object) { |
|
| 15 | 15 | $post_class_use = $post_class; |
| 16 | 16 | |
| 17 | - if ( is_array( $post_class ) ) { |
|
| 18 | - $post_type = get_post_type( $post_object ); |
|
| 17 | + if ( is_array($post_class) ) { |
|
| 18 | + $post_type = get_post_type($post_object); |
|
| 19 | 19 | $post_class_use = 'TimberPost'; |
| 20 | 20 | |
| 21 | - if ( isset( $post_class[$post_type] ) ) { |
|
| 21 | + if ( isset($post_class[$post_type]) ) { |
|
| 22 | 22 | $post_class_use = $post_class[$post_type]; |
| 23 | 23 | |
| 24 | 24 | } else { |
| 25 | - if ( is_array( $post_class ) ) { |
|
| 26 | - TimberHelper::error_log( $post_type . ' of ' . $post_object->ID . ' not found in ' . print_r( $post_class, true ) ); |
|
| 25 | + if ( is_array($post_class) ) { |
|
| 26 | + TimberHelper::error_log($post_type . ' of ' . $post_object->ID . ' not found in ' . print_r($post_class, true)); |
|
| 27 | 27 | } else { |
| 28 | - TimberHelper::error_log( $post_type . ' not found in ' . $post_class ); |
|
| 28 | + TimberHelper::error_log($post_type . ' not found in ' . $post_class); |
|
| 29 | 29 | } |
| 30 | 30 | } |
| 31 | 31 | } |
| 32 | 32 | |
| 33 | 33 | // Don't create yet another object if $post_object is already of the right type |
| 34 | - if ( is_a( $post_object, $post_class_use ) ) { |
|
| 34 | + if ( is_a($post_object, $post_class_use) ) { |
|
| 35 | 35 | $post = $post_object; |
| 36 | 36 | } else { |
| 37 | - $post = new $post_class_use( $post_object ); |
|
| 37 | + $post = new $post_class_use($post_object); |
|
| 38 | 38 | } |
| 39 | 39 | |
| 40 | - if ( isset( $post->ID ) ) { |
|
| 40 | + if ( isset($post->ID) ) { |
|
| 41 | 41 | $returned_posts[] = $post; |
| 42 | 42 | } |
| 43 | 43 | } |
| 44 | 44 | |
| 45 | 45 | $returned_posts = self::maybe_set_preview($returned_posts); |
| 46 | 46 | |
| 47 | - parent::__construct( $returned_posts, $flags = 0, 'TimberPostsIterator' ); |
|
| 47 | + parent::__construct($returned_posts, $flags = 0, 'TimberPostsIterator'); |
|
| 48 | 48 | } |
| 49 | 49 | |
| 50 | 50 | public function get_posts() { |
@@ -55,17 +55,17 @@ discard block |
||
| 55 | 55 | * @param array $posts |
| 56 | 56 | * @return array |
| 57 | 57 | */ |
| 58 | - static function maybe_set_preview( $posts ) { |
|
| 59 | - if ( is_array( $posts ) && isset( $_GET['preview'] ) && $_GET['preview'] |
|
| 60 | - && isset( $_GET['preview_id'] ) && $_GET['preview_id'] |
|
| 61 | - && current_user_can( 'edit_post', $_GET['preview_id'] ) ) { |
|
| 58 | + static function maybe_set_preview($posts) { |
|
| 59 | + if ( is_array($posts) && isset($_GET['preview']) && $_GET['preview'] |
|
| 60 | + && isset($_GET['preview_id']) && $_GET['preview_id'] |
|
| 61 | + && current_user_can('edit_post', $_GET['preview_id']) ) { |
|
| 62 | 62 | // No need to check the nonce, that already happened in _show_post_preview on init |
| 63 | 63 | |
| 64 | 64 | $preview_id = $_GET['preview_id']; |
| 65 | - foreach( $posts as &$post ) { |
|
| 66 | - if ( is_object( $post ) && $post->ID == $preview_id ) { |
|
| 65 | + foreach ($posts as &$post) { |
|
| 66 | + if ( is_object($post) && $post->ID == $preview_id ) { |
|
| 67 | 67 | // Based on _set_preview( $post ), but adds import_custom |
| 68 | - $preview = wp_get_post_autosave( $preview_id ); |
|
| 68 | + $preview = wp_get_post_autosave($preview_id); |
|
| 69 | 69 | if ( is_object($preview) ) { |
| 70 | 70 | |
| 71 | 71 | $preview = sanitize_post($preview); |
@@ -73,9 +73,9 @@ discard block |
||
| 73 | 73 | $post->post_content = $preview->post_content; |
| 74 | 74 | $post->post_title = $preview->post_title; |
| 75 | 75 | $post->post_excerpt = $preview->post_excerpt; |
| 76 | - $post->import_custom( $preview_id ); |
|
| 76 | + $post->import_custom($preview_id); |
|
| 77 | 77 | |
| 78 | - add_filter( 'get_the_terms', '_wp_preview_terms_filter', 10, 3 ); |
|
| 78 | + add_filter('get_the_terms', '_wp_preview_terms_filter', 10, 3); |
|
| 79 | 79 | } |
| 80 | 80 | } |
| 81 | 81 | } |
@@ -1,14 +1,15 @@ |
||
| 1 | 1 | <?php |
| 2 | 2 | |
| 3 | 3 | // Exit if accessed directly |
| 4 | -if ( !defined( 'ABSPATH' ) ) |
|
| 4 | +if ( !defined( 'ABSPATH' ) ) { |
|
| 5 | 5 | exit; |
| 6 | +} |
|
| 6 | 7 | |
| 7 | 8 | class TimberPostsCollection extends ArrayObject { |
| 8 | 9 | |
| 9 | 10 | public function __construct( $posts = array(), $post_class = 'TimberPost' ) { |
| 10 | 11 | $returned_posts = array(); |
| 11 | - if ( is_null( $posts ) ){ |
|
| 12 | + if ( is_null( $posts ) ) { |
|
| 12 | 13 | $posts = array(); |
| 13 | 14 | } |
| 14 | 15 | foreach ( $posts as $post_object ) { |
@@ -1,156 +1,156 @@ |
||
| 1 | 1 | <?php |
| 2 | 2 | // Exit if accessed directly |
| 3 | 3 | if ( !defined( 'ABSPATH' ) ) |
| 4 | - exit; |
|
| 4 | + exit; |
|
| 5 | 5 | |
| 6 | 6 | class TimberQueryIterator implements Iterator { |
| 7 | 7 | |
| 8 | - /** |
|
| 9 | - * |
|
| 10 | - * |
|
| 11 | - * @var WP_Query |
|
| 12 | - */ |
|
| 13 | - private $_query = null; |
|
| 14 | - private $_posts_class = 'TimberPost'; |
|
| 15 | - |
|
| 16 | - public function __construct( $query = false, $posts_class = 'TimberPost' ) { |
|
| 17 | - add_action( 'pre_get_posts', array($this, 'fix_number_posts_wp_quirk' )); |
|
| 18 | - if ( $posts_class ) |
|
| 19 | - $this->_posts_class = $posts_class; |
|
| 20 | - |
|
| 21 | - if ( is_a( $query, 'WP_Query' ) ) { |
|
| 22 | - // We got a full-fledged WP Query, look no further! |
|
| 23 | - $the_query = $query; |
|
| 24 | - |
|
| 25 | - } elseif ( false === $query ) { |
|
| 26 | - // If query is explicitly set to false, use the main loop |
|
| 27 | - global $wp_query; |
|
| 28 | - $the_query =& $wp_query; |
|
| 29 | - //if we're on a custom posts page? |
|
| 30 | - $the_query = self::handle_maybe_custom_posts_page($the_query); |
|
| 31 | - } elseif ( TimberHelper::is_array_assoc( $query ) || ( is_string( $query ) && strstr( $query, '=' ) ) ) { |
|
| 32 | - // We have a regularly formed WP query string or array to use |
|
| 33 | - $the_query = new WP_Query( $query ); |
|
| 34 | - |
|
| 35 | - } elseif ( is_numeric( $query ) || is_string( $query ) ) { |
|
| 36 | - // We have what could be a post name or post ID to pull out |
|
| 37 | - $the_query = self::get_query_from_string( $query ); |
|
| 38 | - |
|
| 39 | - } elseif ( is_array( $query ) && count( $query ) && ( is_integer( $query[0] ) || is_string( $query[0] ) ) ) { |
|
| 40 | - // We have a list of pids (post IDs) to extract from |
|
| 41 | - $the_query = self::get_query_from_array_of_ids( $query ); |
|
| 42 | - } elseif ( is_array($query) && empty($query)) { |
|
| 43 | - // it's an empty array |
|
| 44 | - $the_query = array(); |
|
| 45 | - } else { |
|
| 46 | - TimberHelper::error_log( 'I have failed you! in ' . basename( __FILE__ ) . '::' . __LINE__ ); |
|
| 47 | - TimberHelper::error_log( $query ); |
|
| 48 | - |
|
| 49 | - // We have failed hard, at least let get something. |
|
| 50 | - $the_query = new WP_Query(); |
|
| 51 | - } |
|
| 52 | - |
|
| 53 | - $this->_query = $the_query; |
|
| 54 | - |
|
| 55 | - } |
|
| 56 | - |
|
| 57 | - public function get_posts( $return_collection = false ) { |
|
| 58 | - if (isset($this->_query->posts)){ |
|
| 59 | - $posts = new TimberPostsCollection( $this->_query->posts, $this->_posts_class ); |
|
| 60 | - return ( $return_collection ) ? $posts : $posts->get_posts(); |
|
| 61 | - } |
|
| 62 | - } |
|
| 63 | - |
|
| 64 | - // |
|
| 65 | - // GET POSTS |
|
| 66 | - // |
|
| 67 | - public static function get_query_from_array_of_ids( $query = array() ) { |
|
| 68 | - if ( !is_array( $query ) || !count( $query ) ) |
|
| 69 | - return null; |
|
| 70 | - |
|
| 71 | - return new WP_Query( array( |
|
| 72 | - 'post_type'=> 'any', |
|
| 73 | - 'ignore_sticky_posts' => true, |
|
| 74 | - 'post__in' => $query, |
|
| 75 | - 'orderby' => 'post__in', |
|
| 76 | - 'nopaging' => true |
|
| 77 | - ) ); |
|
| 78 | - } |
|
| 79 | - |
|
| 80 | - public static function get_query_from_string( $string = '' ) { |
|
| 81 | - $post_type = false; |
|
| 82 | - |
|
| 83 | - if ( is_string( $string ) && strstr( $string, '#' ) ) { |
|
| 84 | - //we have a post_type directive here |
|
| 85 | - list( $post_type, $string ) = explode( '#', $string ); |
|
| 86 | - } |
|
| 87 | - |
|
| 88 | - $query = array( |
|
| 89 | - 'post_type' => ( $post_type ) ? $post_type : 'any' |
|
| 90 | - ); |
|
| 91 | - |
|
| 92 | - if ( is_numeric( $string ) ) { |
|
| 93 | - $query['p'] = $string; |
|
| 94 | - |
|
| 95 | - } else { |
|
| 96 | - $query['name'] = $string; |
|
| 97 | - } |
|
| 98 | - |
|
| 99 | - return new WP_Query( $query ); |
|
| 100 | - } |
|
| 101 | - |
|
| 102 | - // |
|
| 103 | - // Iterator Interface |
|
| 104 | - // |
|
| 105 | - |
|
| 106 | - public function valid() { |
|
| 107 | - return $this->_query->have_posts(); |
|
| 108 | - } |
|
| 109 | - |
|
| 110 | - public function current() { |
|
| 111 | - global $post; |
|
| 112 | - |
|
| 113 | - $this->_query->the_post(); |
|
| 114 | - |
|
| 115 | - // Sets up the global post, but also return the post, for use in Twig template |
|
| 116 | - $posts_class = $this->_posts_class; |
|
| 117 | - return new $posts_class( $post ); |
|
| 118 | - } |
|
| 119 | - |
|
| 120 | - /** |
|
| 121 | - * Don't implement next, because current already advances the loop |
|
| 122 | - */ |
|
| 123 | - final public function next() {} |
|
| 124 | - |
|
| 125 | - public function rewind() { |
|
| 126 | - $this->_query->rewind_posts(); |
|
| 127 | - } |
|
| 128 | - |
|
| 129 | - public function key() { |
|
| 130 | - $this->_query->current_post; |
|
| 131 | - } |
|
| 132 | - |
|
| 133 | - //get_posts users numberposts |
|
| 134 | - static function fix_number_posts_wp_quirk( $query ) { |
|
| 135 | - if (isset($query->query) && isset($query->query['numberposts']) |
|
| 136 | - && !isset($query->query['posts_per_page'])) { |
|
| 137 | - $query->set( 'posts_per_page', $query->query['numberposts'] ); |
|
| 138 | - } |
|
| 139 | - return $query; |
|
| 140 | - } |
|
| 141 | - |
|
| 142 | - /** |
|
| 143 | - * this will test for whether a custom page to display posts is active, and if so, set the query to the default |
|
| 144 | - * @param WP_Query $query the original query recived from WordPress |
|
| 145 | - * @return WP_Query |
|
| 146 | - */ |
|
| 147 | - static function handle_maybe_custom_posts_page( $query ) { |
|
| 148 | - if ($custom_posts_page = get_option('page_for_posts')) { |
|
| 149 | - if ( isset($query->query['p']) && $query->query['p'] == $custom_posts_page ) { |
|
| 150 | - return new WP_Query(array('post_type' => 'post')); |
|
| 151 | - } |
|
| 152 | - } |
|
| 153 | - return $query; |
|
| 154 | - } |
|
| 8 | + /** |
|
| 9 | + * |
|
| 10 | + * |
|
| 11 | + * @var WP_Query |
|
| 12 | + */ |
|
| 13 | + private $_query = null; |
|
| 14 | + private $_posts_class = 'TimberPost'; |
|
| 15 | + |
|
| 16 | + public function __construct( $query = false, $posts_class = 'TimberPost' ) { |
|
| 17 | + add_action( 'pre_get_posts', array($this, 'fix_number_posts_wp_quirk' )); |
|
| 18 | + if ( $posts_class ) |
|
| 19 | + $this->_posts_class = $posts_class; |
|
| 20 | + |
|
| 21 | + if ( is_a( $query, 'WP_Query' ) ) { |
|
| 22 | + // We got a full-fledged WP Query, look no further! |
|
| 23 | + $the_query = $query; |
|
| 24 | + |
|
| 25 | + } elseif ( false === $query ) { |
|
| 26 | + // If query is explicitly set to false, use the main loop |
|
| 27 | + global $wp_query; |
|
| 28 | + $the_query =& $wp_query; |
|
| 29 | + //if we're on a custom posts page? |
|
| 30 | + $the_query = self::handle_maybe_custom_posts_page($the_query); |
|
| 31 | + } elseif ( TimberHelper::is_array_assoc( $query ) || ( is_string( $query ) && strstr( $query, '=' ) ) ) { |
|
| 32 | + // We have a regularly formed WP query string or array to use |
|
| 33 | + $the_query = new WP_Query( $query ); |
|
| 34 | + |
|
| 35 | + } elseif ( is_numeric( $query ) || is_string( $query ) ) { |
|
| 36 | + // We have what could be a post name or post ID to pull out |
|
| 37 | + $the_query = self::get_query_from_string( $query ); |
|
| 38 | + |
|
| 39 | + } elseif ( is_array( $query ) && count( $query ) && ( is_integer( $query[0] ) || is_string( $query[0] ) ) ) { |
|
| 40 | + // We have a list of pids (post IDs) to extract from |
|
| 41 | + $the_query = self::get_query_from_array_of_ids( $query ); |
|
| 42 | + } elseif ( is_array($query) && empty($query)) { |
|
| 43 | + // it's an empty array |
|
| 44 | + $the_query = array(); |
|
| 45 | + } else { |
|
| 46 | + TimberHelper::error_log( 'I have failed you! in ' . basename( __FILE__ ) . '::' . __LINE__ ); |
|
| 47 | + TimberHelper::error_log( $query ); |
|
| 48 | + |
|
| 49 | + // We have failed hard, at least let get something. |
|
| 50 | + $the_query = new WP_Query(); |
|
| 51 | + } |
|
| 52 | + |
|
| 53 | + $this->_query = $the_query; |
|
| 54 | + |
|
| 55 | + } |
|
| 56 | + |
|
| 57 | + public function get_posts( $return_collection = false ) { |
|
| 58 | + if (isset($this->_query->posts)){ |
|
| 59 | + $posts = new TimberPostsCollection( $this->_query->posts, $this->_posts_class ); |
|
| 60 | + return ( $return_collection ) ? $posts : $posts->get_posts(); |
|
| 61 | + } |
|
| 62 | + } |
|
| 63 | + |
|
| 64 | + // |
|
| 65 | + // GET POSTS |
|
| 66 | + // |
|
| 67 | + public static function get_query_from_array_of_ids( $query = array() ) { |
|
| 68 | + if ( !is_array( $query ) || !count( $query ) ) |
|
| 69 | + return null; |
|
| 70 | + |
|
| 71 | + return new WP_Query( array( |
|
| 72 | + 'post_type'=> 'any', |
|
| 73 | + 'ignore_sticky_posts' => true, |
|
| 74 | + 'post__in' => $query, |
|
| 75 | + 'orderby' => 'post__in', |
|
| 76 | + 'nopaging' => true |
|
| 77 | + ) ); |
|
| 78 | + } |
|
| 79 | + |
|
| 80 | + public static function get_query_from_string( $string = '' ) { |
|
| 81 | + $post_type = false; |
|
| 82 | + |
|
| 83 | + if ( is_string( $string ) && strstr( $string, '#' ) ) { |
|
| 84 | + //we have a post_type directive here |
|
| 85 | + list( $post_type, $string ) = explode( '#', $string ); |
|
| 86 | + } |
|
| 87 | + |
|
| 88 | + $query = array( |
|
| 89 | + 'post_type' => ( $post_type ) ? $post_type : 'any' |
|
| 90 | + ); |
|
| 91 | + |
|
| 92 | + if ( is_numeric( $string ) ) { |
|
| 93 | + $query['p'] = $string; |
|
| 94 | + |
|
| 95 | + } else { |
|
| 96 | + $query['name'] = $string; |
|
| 97 | + } |
|
| 98 | + |
|
| 99 | + return new WP_Query( $query ); |
|
| 100 | + } |
|
| 101 | + |
|
| 102 | + // |
|
| 103 | + // Iterator Interface |
|
| 104 | + // |
|
| 105 | + |
|
| 106 | + public function valid() { |
|
| 107 | + return $this->_query->have_posts(); |
|
| 108 | + } |
|
| 109 | + |
|
| 110 | + public function current() { |
|
| 111 | + global $post; |
|
| 112 | + |
|
| 113 | + $this->_query->the_post(); |
|
| 114 | + |
|
| 115 | + // Sets up the global post, but also return the post, for use in Twig template |
|
| 116 | + $posts_class = $this->_posts_class; |
|
| 117 | + return new $posts_class( $post ); |
|
| 118 | + } |
|
| 119 | + |
|
| 120 | + /** |
|
| 121 | + * Don't implement next, because current already advances the loop |
|
| 122 | + */ |
|
| 123 | + final public function next() {} |
|
| 124 | + |
|
| 125 | + public function rewind() { |
|
| 126 | + $this->_query->rewind_posts(); |
|
| 127 | + } |
|
| 128 | + |
|
| 129 | + public function key() { |
|
| 130 | + $this->_query->current_post; |
|
| 131 | + } |
|
| 132 | + |
|
| 133 | + //get_posts users numberposts |
|
| 134 | + static function fix_number_posts_wp_quirk( $query ) { |
|
| 135 | + if (isset($query->query) && isset($query->query['numberposts']) |
|
| 136 | + && !isset($query->query['posts_per_page'])) { |
|
| 137 | + $query->set( 'posts_per_page', $query->query['numberposts'] ); |
|
| 138 | + } |
|
| 139 | + return $query; |
|
| 140 | + } |
|
| 141 | + |
|
| 142 | + /** |
|
| 143 | + * this will test for whether a custom page to display posts is active, and if so, set the query to the default |
|
| 144 | + * @param WP_Query $query the original query recived from WordPress |
|
| 145 | + * @return WP_Query |
|
| 146 | + */ |
|
| 147 | + static function handle_maybe_custom_posts_page( $query ) { |
|
| 148 | + if ($custom_posts_page = get_option('page_for_posts')) { |
|
| 149 | + if ( isset($query->query['p']) && $query->query['p'] == $custom_posts_page ) { |
|
| 150 | + return new WP_Query(array('post_type' => 'post')); |
|
| 151 | + } |
|
| 152 | + } |
|
| 153 | + return $query; |
|
| 154 | + } |
|
| 155 | 155 | |
| 156 | 156 | } |
@@ -1,6 +1,6 @@ discard block |
||
| 1 | 1 | <?php |
| 2 | 2 | // Exit if accessed directly |
| 3 | -if ( !defined( 'ABSPATH' ) ) |
|
| 3 | +if ( !defined('ABSPATH') ) |
|
| 4 | 4 | exit; |
| 5 | 5 | |
| 6 | 6 | class TimberQueryIterator implements Iterator { |
@@ -13,38 +13,38 @@ discard block |
||
| 13 | 13 | private $_query = null; |
| 14 | 14 | private $_posts_class = 'TimberPost'; |
| 15 | 15 | |
| 16 | - public function __construct( $query = false, $posts_class = 'TimberPost' ) { |
|
| 17 | - add_action( 'pre_get_posts', array($this, 'fix_number_posts_wp_quirk' )); |
|
| 16 | + public function __construct($query = false, $posts_class = 'TimberPost') { |
|
| 17 | + add_action('pre_get_posts', array($this, 'fix_number_posts_wp_quirk')); |
|
| 18 | 18 | if ( $posts_class ) |
| 19 | 19 | $this->_posts_class = $posts_class; |
| 20 | 20 | |
| 21 | - if ( is_a( $query, 'WP_Query' ) ) { |
|
| 21 | + if ( is_a($query, 'WP_Query') ) { |
|
| 22 | 22 | // We got a full-fledged WP Query, look no further! |
| 23 | 23 | $the_query = $query; |
| 24 | 24 | |
| 25 | 25 | } elseif ( false === $query ) { |
| 26 | 26 | // If query is explicitly set to false, use the main loop |
| 27 | 27 | global $wp_query; |
| 28 | - $the_query =& $wp_query; |
|
| 28 | + $the_query = & $wp_query; |
|
| 29 | 29 | //if we're on a custom posts page? |
| 30 | 30 | $the_query = self::handle_maybe_custom_posts_page($the_query); |
| 31 | - } elseif ( TimberHelper::is_array_assoc( $query ) || ( is_string( $query ) && strstr( $query, '=' ) ) ) { |
|
| 31 | + } elseif ( TimberHelper::is_array_assoc($query) || (is_string($query) && strstr($query, '=')) ) { |
|
| 32 | 32 | // We have a regularly formed WP query string or array to use |
| 33 | - $the_query = new WP_Query( $query ); |
|
| 33 | + $the_query = new WP_Query($query); |
|
| 34 | 34 | |
| 35 | - } elseif ( is_numeric( $query ) || is_string( $query ) ) { |
|
| 35 | + } elseif ( is_numeric($query) || is_string($query) ) { |
|
| 36 | 36 | // We have what could be a post name or post ID to pull out |
| 37 | - $the_query = self::get_query_from_string( $query ); |
|
| 37 | + $the_query = self::get_query_from_string($query); |
|
| 38 | 38 | |
| 39 | - } elseif ( is_array( $query ) && count( $query ) && ( is_integer( $query[0] ) || is_string( $query[0] ) ) ) { |
|
| 39 | + } elseif ( is_array($query) && count($query) && (is_integer($query[0]) || is_string($query[0])) ) { |
|
| 40 | 40 | // We have a list of pids (post IDs) to extract from |
| 41 | - $the_query = self::get_query_from_array_of_ids( $query ); |
|
| 42 | - } elseif ( is_array($query) && empty($query)) { |
|
| 41 | + $the_query = self::get_query_from_array_of_ids($query); |
|
| 42 | + } elseif ( is_array($query) && empty($query) ) { |
|
| 43 | 43 | // it's an empty array |
| 44 | 44 | $the_query = array(); |
| 45 | 45 | } else { |
| 46 | - TimberHelper::error_log( 'I have failed you! in ' . basename( __FILE__ ) . '::' . __LINE__ ); |
|
| 47 | - TimberHelper::error_log( $query ); |
|
| 46 | + TimberHelper::error_log('I have failed you! in ' . basename(__FILE__) . '::' . __LINE__); |
|
| 47 | + TimberHelper::error_log($query); |
|
| 48 | 48 | |
| 49 | 49 | // We have failed hard, at least let get something. |
| 50 | 50 | $the_query = new WP_Query(); |
@@ -54,49 +54,49 @@ discard block |
||
| 54 | 54 | |
| 55 | 55 | } |
| 56 | 56 | |
| 57 | - public function get_posts( $return_collection = false ) { |
|
| 58 | - if (isset($this->_query->posts)){ |
|
| 59 | - $posts = new TimberPostsCollection( $this->_query->posts, $this->_posts_class ); |
|
| 60 | - return ( $return_collection ) ? $posts : $posts->get_posts(); |
|
| 57 | + public function get_posts($return_collection = false) { |
|
| 58 | + if ( isset($this->_query->posts) ) { |
|
| 59 | + $posts = new TimberPostsCollection($this->_query->posts, $this->_posts_class); |
|
| 60 | + return ($return_collection) ? $posts : $posts->get_posts(); |
|
| 61 | 61 | } |
| 62 | 62 | } |
| 63 | 63 | |
| 64 | 64 | // |
| 65 | 65 | // GET POSTS |
| 66 | 66 | // |
| 67 | - public static function get_query_from_array_of_ids( $query = array() ) { |
|
| 68 | - if ( !is_array( $query ) || !count( $query ) ) |
|
| 67 | + public static function get_query_from_array_of_ids($query = array()) { |
|
| 68 | + if ( !is_array($query) || !count($query) ) |
|
| 69 | 69 | return null; |
| 70 | 70 | |
| 71 | - return new WP_Query( array( |
|
| 71 | + return new WP_Query(array( |
|
| 72 | 72 | 'post_type'=> 'any', |
| 73 | 73 | 'ignore_sticky_posts' => true, |
| 74 | 74 | 'post__in' => $query, |
| 75 | 75 | 'orderby' => 'post__in', |
| 76 | 76 | 'nopaging' => true |
| 77 | - ) ); |
|
| 77 | + )); |
|
| 78 | 78 | } |
| 79 | 79 | |
| 80 | - public static function get_query_from_string( $string = '' ) { |
|
| 80 | + public static function get_query_from_string($string = '') { |
|
| 81 | 81 | $post_type = false; |
| 82 | 82 | |
| 83 | - if ( is_string( $string ) && strstr( $string, '#' ) ) { |
|
| 83 | + if ( is_string($string) && strstr($string, '#') ) { |
|
| 84 | 84 | //we have a post_type directive here |
| 85 | - list( $post_type, $string ) = explode( '#', $string ); |
|
| 85 | + list($post_type, $string) = explode('#', $string); |
|
| 86 | 86 | } |
| 87 | 87 | |
| 88 | 88 | $query = array( |
| 89 | - 'post_type' => ( $post_type ) ? $post_type : 'any' |
|
| 89 | + 'post_type' => ($post_type) ? $post_type : 'any' |
|
| 90 | 90 | ); |
| 91 | 91 | |
| 92 | - if ( is_numeric( $string ) ) { |
|
| 92 | + if ( is_numeric($string) ) { |
|
| 93 | 93 | $query['p'] = $string; |
| 94 | 94 | |
| 95 | 95 | } else { |
| 96 | 96 | $query['name'] = $string; |
| 97 | 97 | } |
| 98 | 98 | |
| 99 | - return new WP_Query( $query ); |
|
| 99 | + return new WP_Query($query); |
|
| 100 | 100 | } |
| 101 | 101 | |
| 102 | 102 | // |
@@ -114,7 +114,7 @@ discard block |
||
| 114 | 114 | |
| 115 | 115 | // Sets up the global post, but also return the post, for use in Twig template |
| 116 | 116 | $posts_class = $this->_posts_class; |
| 117 | - return new $posts_class( $post ); |
|
| 117 | + return new $posts_class($post); |
|
| 118 | 118 | } |
| 119 | 119 | |
| 120 | 120 | /** |
@@ -131,10 +131,10 @@ discard block |
||
| 131 | 131 | } |
| 132 | 132 | |
| 133 | 133 | //get_posts users numberposts |
| 134 | - static function fix_number_posts_wp_quirk( $query ) { |
|
| 135 | - if (isset($query->query) && isset($query->query['numberposts']) |
|
| 136 | - && !isset($query->query['posts_per_page'])) { |
|
| 137 | - $query->set( 'posts_per_page', $query->query['numberposts'] ); |
|
| 134 | + static function fix_number_posts_wp_quirk($query) { |
|
| 135 | + if ( isset($query->query) && isset($query->query['numberposts']) |
|
| 136 | + && !isset($query->query['posts_per_page']) ) { |
|
| 137 | + $query->set('posts_per_page', $query->query['numberposts']); |
|
| 138 | 138 | } |
| 139 | 139 | return $query; |
| 140 | 140 | } |
@@ -144,8 +144,8 @@ discard block |
||
| 144 | 144 | * @param WP_Query $query the original query recived from WordPress |
| 145 | 145 | * @return WP_Query |
| 146 | 146 | */ |
| 147 | - static function handle_maybe_custom_posts_page( $query ) { |
|
| 148 | - if ($custom_posts_page = get_option('page_for_posts')) { |
|
| 147 | + static function handle_maybe_custom_posts_page($query) { |
|
| 148 | + if ( $custom_posts_page = get_option('page_for_posts') ) { |
|
| 149 | 149 | if ( isset($query->query['p']) && $query->query['p'] == $custom_posts_page ) { |
| 150 | 150 | return new WP_Query(array('post_type' => 'post')); |
| 151 | 151 | } |
@@ -1,7 +1,8 @@ discard block |
||
| 1 | 1 | <?php |
| 2 | 2 | // Exit if accessed directly |
| 3 | -if ( !defined( 'ABSPATH' ) ) |
|
| 3 | +if ( !defined( 'ABSPATH' ) ) { |
|
| 4 | 4 | exit; |
| 5 | +} |
|
| 5 | 6 | |
| 6 | 7 | class TimberQueryIterator implements Iterator { |
| 7 | 8 | |
@@ -15,8 +16,9 @@ discard block |
||
| 15 | 16 | |
| 16 | 17 | public function __construct( $query = false, $posts_class = 'TimberPost' ) { |
| 17 | 18 | add_action( 'pre_get_posts', array($this, 'fix_number_posts_wp_quirk' )); |
| 18 | - if ( $posts_class ) |
|
| 19 | - $this->_posts_class = $posts_class; |
|
| 19 | + if ( $posts_class ) { |
|
| 20 | + $this->_posts_class = $posts_class; |
|
| 21 | + } |
|
| 20 | 22 | |
| 21 | 23 | if ( is_a( $query, 'WP_Query' ) ) { |
| 22 | 24 | // We got a full-fledged WP Query, look no further! |
@@ -55,7 +57,7 @@ discard block |
||
| 55 | 57 | } |
| 56 | 58 | |
| 57 | 59 | public function get_posts( $return_collection = false ) { |
| 58 | - if (isset($this->_query->posts)){ |
|
| 60 | + if (isset($this->_query->posts)) { |
|
| 59 | 61 | $posts = new TimberPostsCollection( $this->_query->posts, $this->_posts_class ); |
| 60 | 62 | return ( $return_collection ) ? $posts : $posts->get_posts(); |
| 61 | 63 | } |
@@ -65,8 +67,9 @@ discard block |
||
| 65 | 67 | // GET POSTS |
| 66 | 68 | // |
| 67 | 69 | public static function get_query_from_array_of_ids( $query = array() ) { |
| 68 | - if ( !is_array( $query ) || !count( $query ) ) |
|
| 69 | - return null; |
|
| 70 | + if ( !is_array( $query ) || !count( $query ) ) { |
|
| 71 | + return null; |
|
| 72 | + } |
|
| 70 | 73 | |
| 71 | 74 | return new WP_Query( array( |
| 72 | 75 | 'post_type'=> 'any', |