...........................................................................................................................................................................................................................................................................................................................@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%PDF-1.5 MRK IS HERE %���� ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY
| Server IP : 65.108.66.160 / Your IP : 216.73.217.50 Web Server : Apache System : Linux srv16.asso.com.ar 4.18.0-553.123.1.el8_10.x86_64 #1 SMP Tue May 5 04:00:43 EDT 2026 x86_64 User : alasaweborg ( 1047) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /home/alasaweborg/public_html/wp-content/plugins/worker/src/MWP/Action/ |
Upload File : |
<?php
/*
* This file is part of the ManageWP Worker plugin.
*
* (c) ManageWP LLC <contact@managewp.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
class MWP_Action_ClearTransient extends MWP_Action_Abstract
{
public function execute(array $params = array())
{
$total = array(
'deletedTransients' => 0,
'deletedTransientTimeouts' => 0,
);
if (is_array($params['transient'])) {
foreach ($params['transient'] as $transient) {
$cleared = $this->clearTransients($params['prefix'], $transient['name'], $transient['suffix'], $transient['timeout'], $transient['mask'], $transient['limit']);
$total['deletedTransients'] += $cleared['deletedTransients'];
$total['deletedTransientTimeouts'] += $cleared['deletedTransientTimeouts'];
}
}
return $total;
}
private function clearTransients($prefix, $transientType, $suffix, $timeout, $mask, $limit)
{
$wpdb = $this->container->getWordPressContext()->getDb();
$timeoutName = $transientType.$suffix;
$subStrLength = strlen($timeoutName) + 1;
$escapedTimeoutName = str_replace('_', '\_', $timeoutName);
$selectTimeOutedTransients = <<<SQL
SELECT SUBSTR(option_name, {$subStrLength}) AS transient_name FROM {$prefix}options WHERE option_name LIKE '{$escapedTimeoutName}{$mask}' AND option_value < {$timeout} LIMIT {$limit}
SQL;
$transientsToDelete = $wpdb->get_col($selectTimeOutedTransients);
$timeoutsToDelete = array();
if (count($transientsToDelete) === 0) {
return array(
'deletedTransients' => 0,
'deletedTransientTimeouts' => 0,
);
}
foreach ($transientsToDelete as &$transient) {
$timeoutsToDelete[] = "'".$timeoutName.$transient."'";
$transient = "'".$transientType.$transient."'";
}
$deleteQuery = implode(',', $transientsToDelete);
$deleteTransients = <<<SQL
DELETE FROM {$prefix}options WHERE option_name IN ({$deleteQuery})
SQL;
$deletedTransients = $wpdb->query($deleteTransients);
$deleteQuery = implode(',', $timeoutsToDelete);
$deleteTransients = <<<SQL
DELETE FROM {$prefix}options WHERE option_name IN ({$deleteQuery})
SQL;
$deletedTransientTimeouts = $wpdb->query($deleteTransients);
return array(
'deletedTransients' => $deletedTransients,
'deletedTransientTimeouts' => $deletedTransientTimeouts,
);
}
}