!C99Shell v. 2.5 [PHP 8 Update] [24.05.2025]!

Software: Apache. PHP/8.3.27 

uname -a: Linux pdx1-shared-a4-04 6.6.104-grsec-jammy+ #3 SMP Tue Sep 16 00:28:11 UTC 2025 x86_64 

uid=6659440(dh_z2jmpm) gid=2086089(pg10499364) groups=2086089(pg10499364)  

Safe-mode: OFF (not secure)

/usr/local/wp/vendor/wp-cli/entity-command/src/WP_CLI/   drwxr-xr-x
Free 710.56 GB of 879.6 GB (80.78%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


Viewing file:     CommandWithDBObject.php (4.91 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php

namespace WP_CLI;

use WP_CLI;
use WP_CLI_Command;
use WP_CLI\Utils;
use WP_Error;

/**
 * Base class for WP-CLI commands that deal with database objects.
 *
 * @package wp-cli
 */
abstract class CommandWithDBObject extends WP_CLI_Command {

    /**
     * @var string $object_type WordPress' expected name for the object.
     */
    protected $obj_type;

    /**
     * @var string $obj_id_key Key representing object's PK field in db.
     */
    protected $obj_id_key = 'ID';

    /**
     * @var array $obj_fields Default fields to display for each object.
     */
    protected $obj_fields;

    /**
     * Create a given database object.
     * Exits with status.
     *
     * @param array $args Arguments passed to command. Generally unused.
     * @param array $assoc_args Parameters passed to command to be passed to callback.
     * @param string $callback Function used to create object.
     */
    protected function _create( $args, $assoc_args, $callback ) {
        unset( $assoc_args[ $this->obj_id_key ] );

        $obj_id = $callback( $assoc_args );

        if ( is_wp_error( $obj_id ) ) {
            WP_CLI::error( $obj_id );
        }

        if ( Utils\get_flag_value( $assoc_args, 'porcelain' ) ) {
            WP_CLI::line( $obj_id );
        } else {
            WP_CLI::success( "Created {$this->obj_type} {$obj_id}." );
        }
    }

    /**
     * Update a given database object.
     * Exits with status.
     *
     * @param array $args Collection of one or more object ids to update.
     * @param array $assoc_args Fields => values to update on each object.
     * @param string $callback Function used to update object.
     */
    protected function _update( $args, $assoc_args, $callback ) {
        $status = 0;

        if ( empty( $assoc_args ) ) {
            WP_CLI::error( 'Need some fields to update.' );
        }

        if ( Utils\get_flag_value( $assoc_args, 'defer-term-counting' ) ) {
            wp_defer_term_counting( true );
        }

        foreach ( $args as $obj_id ) {
            $params = array_merge( $assoc_args, [ $this->obj_id_key => $obj_id ] );

            $status = $this->success_or_failure(
                $this->wp_error_to_resp(
                    $callback( $params ),
                    "Updated {$this->obj_type} {$obj_id}."
                )
            );
        }

        if ( Utils\get_flag_value( $assoc_args, 'defer-term-counting' ) ) {
            wp_defer_term_counting( false );
        }

        exit( $status );
    }

    /**
     * Transforms arguments with '__' from CSV into expected arrays
     *
     * @param array $assoc_args
     * @return array
     */
    protected static function process_csv_arguments_to_arrays( $assoc_args ) {
        foreach ( $assoc_args as $k => $v ) {
            if ( false !== strpos( $k, '__' ) ) {
                $assoc_args[ $k ] = explode( ',', $v );
            }
        }
        return $assoc_args;
    }

    /**
     * Delete a given database object.
     * Exits with status.
     *
     * @param array $args Collection of one or more object ids to delete.
     * @param array $assoc_args Any arguments needed for the callback function.
     * @param callable $callback Function used to delete object.
     */
    protected function _delete( $args, $assoc_args, $callback ) {
        $status = 0;

        if ( Utils\get_flag_value( $assoc_args, 'defer-term-counting' ) ) {
            wp_defer_term_counting( true );
        }

        foreach ( $args as $obj_id ) {
            $result = $callback( $obj_id, $assoc_args );
            $status = $this->success_or_failure( $result );
        }

        if ( Utils\get_flag_value( $assoc_args, 'defer-term-counting' ) ) {
            wp_defer_term_counting( false );
        }

        exit( $status );
    }

    /**
     * Format callback response to consistent format.
     *
     * @param WP_Error|true $response Response from CRUD callback.
     * @param string        $success_msg
     * @return array
     */
    protected function wp_error_to_resp( $response, $success_msg ) {
        return is_wp_error( $response )
            ? [ 'error', $response->get_error_message() ]
            : [ 'success', $success_msg ];
    }

    /**
     * Display success or warning based on response; return proper exit code.
     *
     * @param array $response Formatted from a CRUD callback.
     * @return int $status
     */
    protected function success_or_failure( $response ) {
        list( $type, $msg ) = $response;

        if ( 'success' === $type ) {
            WP_CLI::success( $msg );
            $status = 0;
        } else {
            WP_CLI::warning( $msg );
            $status = 1;
        }

        return $status;
    }

    /**
     * Get Formatter object based on supplied parameters.
     *
     * @param array $assoc_args Parameters passed to command. Determines formatting.
     * @return Formatter
     */
    protected function get_formatter( &$assoc_args ) {

        if ( ! empty( $assoc_args['fields'] ) ) {
            if ( is_string( $assoc_args['fields'] ) ) {
                $fields = explode( ',', $assoc_args['fields'] );
            } else {
                $fields = $assoc_args['fields'];
            }
        } else {
            $fields = $this->obj_fields;
        }
        return new Formatter( $assoc_args, $fields, $this->obj_type );
    }

    /**
     * Given a callback, display the URL for one or more objects.
     *
     * @param array $args One or more object references.
     * @param string $callback Function to get URL for the object.
     */
    protected function _url( $args, $callback ) {
        foreach ( $args as $obj_id ) {
            $object = $this->fetcher->get_check( $obj_id );
            WP_CLI::line( $callback( $object->{$this->obj_id_key} ) );
        }
    }
}

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 2.5 [PHP 8 Update] [24.05.2025] | Generation time: 0.1161 ]--