mirror of
https://github.com/processwire/processwire.git
synced 2025-08-08 15:57:01 +02:00
Minor optimization to WireCache
This commit is contained in:
@@ -602,8 +602,10 @@ class WireCache extends Wire {
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public function getExpires($expire, $verbose = null) {
|
public function getExpires($expire, $verbose = null) {
|
||||||
|
|
||||||
if($expire instanceof Wire && $expire->id) {
|
$isString = is_string($expire);
|
||||||
|
|
||||||
|
if(!$isString && $expire instanceof Wire && $expire->id) {
|
||||||
|
|
||||||
if($expire instanceof Page) {
|
if($expire instanceof Page) {
|
||||||
// page object
|
// page object
|
||||||
@@ -618,7 +620,7 @@ class WireCache extends Wire {
|
|||||||
$expire = time() + self::expireDaily;
|
$expire = time() + self::expireDaily;
|
||||||
}
|
}
|
||||||
|
|
||||||
} else if(is_array($expire)) {
|
} else if(!$isString && is_array($expire)) {
|
||||||
// expire value already prepared by a previous call, just return it
|
// expire value already prepared by a previous call, just return it
|
||||||
if(isset($expire['selector']) && isset($expire['expire'])) {
|
if(isset($expire['selector']) && isset($expire['expire'])) {
|
||||||
if($verbose || $verbose === null) return $expire; // return array
|
if($verbose || $verbose === null) return $expire; // return array
|
||||||
@@ -628,11 +630,11 @@ class WireCache extends Wire {
|
|||||||
$expire = self::expireDaily;
|
$expire = self::expireDaily;
|
||||||
}
|
}
|
||||||
|
|
||||||
} else if(is_string($expire) && isset($this->expireNames[$expire])) {
|
} else if($isString && isset($this->expireNames[$expire])) {
|
||||||
// named expiration constant like "hourly", "daily", etc.
|
// named expiration constant like "hourly", "daily", etc.
|
||||||
$expire = time() + $this->expireNames[$expire];
|
$expire = time() + $this->expireNames[$expire];
|
||||||
|
|
||||||
} else if(is_string($expire) && Selectors::stringHasSelector($expire)) {
|
} else if($isString && Selectors::stringHasSelector($expire)) {
|
||||||
// expire when page matches selector
|
// expire when page matches selector
|
||||||
if($verbose || $verbose === null) {
|
if($verbose || $verbose === null) {
|
||||||
return array(
|
return array(
|
||||||
@@ -649,7 +651,7 @@ class WireCache extends Wire {
|
|||||||
} else {
|
} else {
|
||||||
|
|
||||||
// account for date format as string
|
// account for date format as string
|
||||||
if(is_string($expire) && !ctype_digit("$expire")) {
|
if($isString && !ctype_digit("$expire")) {
|
||||||
$expire = strtotime($expire);
|
$expire = strtotime($expire);
|
||||||
$isDate = true;
|
$isDate = true;
|
||||||
} else {
|
} else {
|
||||||
|
Reference in New Issue
Block a user