* 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.
abstract class MWP_Progress_Abstract implements MWP_Progress_CurlCallbackInterface
protected function getThreshold()
protected function setThreshold($threshold)
$this->threshold = $threshold;
protected function yieldCallback()
if (time() - $this->lastYield >= $this->threshold) {
$this->lastYield = time();
protected function formatBytes($bytes)
if ($bytes > 1024 * 1024 * 1024) {
return round($bytes / 1024 / 1024 / 1024, 2).' GB';
} elseif ($bytes > 1024 * 1024) {
return round($bytes / 1024 / 1024, 2).' MB';
} elseif ($bytes > 1024) {
return round($bytes / 1024, 2).' KB';
protected function calculateOffset($curl)
$info = curl_getinfo($curl);
$url = parse_url($info['url']);
if (!isset($url['query'])) {
parse_str($url['query'], $query);
if (!isset($query['offset'])) {
return (int) $query['offset'];
public function getCallback()
return array($this, 'callback');