Uname:Linux Sandbox-A 4.4.0-210-generic #242-Ubuntu SMP Fri Apr 16 09:57:56 UTC 2021 x86_64

Base Dir : /var/www/html

User : gavin


403WebShell
403Webshell
Server IP : 68.183.124.220  /  Your IP : 216.73.217.137
Web Server : Apache/2.4.18 (Ubuntu)
System : Linux Sandbox-A 4.4.0-210-generic #242-Ubuntu SMP Fri Apr 16 09:57:56 UTC 2021 x86_64
User : gavin ( 1000)
PHP Version : 7.0.33-0ubuntu0.16.04.16
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /var/www/html/wp-content/plugins/ninja-forms/includes/Database/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/html/wp-content/plugins/ninja-forms/includes/Database/SubmissionExpirationCron.php
<?php
final class NF_Database_SubmissionExpirationCron
{

    /**
     * NF_Database_SubmissionExpirationCron constructor.
     * Sets up our our submission expiration CRON job.
     *
     */
    public function __construct()
    {
        // Retrieves the option that contains all of our expiration data.
        $options = get_option( 'nf_sub_expiration', false );

        // Schedules our CRON job.
        if( ! wp_next_scheduled( 'nf_submission_expiration_cron' ) &&  ! empty( $options ) ) {
            wp_schedule_event( time(), 'daily', 'nf_submission_expiration_cron' );
        }
        add_action( 'nf_submission_expiration_cron', array( $this, 'expired_submission_cron' ) );
    }

    /**
     * Expired Submission Cron
     * Checks our subs to see if any are expired and sends them to be
     * deleted if there are any that need to be removed.
     *
     * @param $options
     * @return void
     */
    public function expired_submission_cron()
    {
        $options = get_option( 'nf_sub_expiration', false );

        // If options are empty bail..
        if( ! $options || ! is_array( $options ) ) return;

        // Loop over our options and ...
        foreach( $options as $option ) {
            /*
             * Separate our $option values into two positions
             *  $option[ 0 ] = ( int ) form_id
             *  $option[ 1 ] = ( int ) expiration time in days.
             */
            $option = explode( ',', $option );

            // Use the helper method to build an array of expired subs.
            $expired_subs[] = $this->get_expired_subs( $option[ 0 ], $option[ 1 ] );
        }
        // If the expired subs array is empty bail.
        if( empty( $expired_subs ) ) return;
        // Call the helper method that deletes the expired subs.
        $this->delete_expired_subs( $expired_subs );
    }

    /**
     * Get Expired Subs
     * Gathers our expired subs puts them into an array and returns it.
     *
     * @param $form_id - ( int ) ID of the Form.
     * @param $expiration_time - ( int ) number of days the submissions
     *                                  are set to expire in
     *
     * @return array of all the expired subs that were found.
     */
    public function get_expired_subs( $form_id, $expiration_time )
    {
        // Create the that will house our expired subs.
        $expired_subs = array();

        // Create our deletion timestamp.
        $deletion_timestamp = time() - ( 24 * 60 * 60 * $expiration_time );

        // Get our subs and loop over them.
        $sub = Ninja_Forms()->form( $form_id )->get_subs();
        foreach( $sub as $sub_model ) {
            // Get the sub date and change it to a UNIX time stamp.
            $sub_timestamp = strtotime( $sub_model->get_sub_date( 'Y-m-d') );
            // Compare our timestamps and any expired subs to the array.
            if( $sub_timestamp <= $deletion_timestamp ) {
                $expired_subs[] = $sub_model->get_id();
            }
        }
        return $expired_subs;
    }

    /**
     * Delete Expired Subs
     * Helper method that removes our expired subs.
     *
     * @param $expired_subs - array of sub ids that need to be deleted.
     * @param $cap - The cap of the amount of subs you want deleted at 1 time.
     *
     * @return void
     */
    public function delete_expired_subs( $expired_subs )
    {
        $i = 0;
        // Loop over our subs
        foreach( $expired_subs as $subs ) {
            foreach( $subs as $sub ) {
                if( $i >= 100 ) break;
                wp_trash_post( $sub );
                $i++;
            }
        }
    }
}

Youez - 2016 - github.com/yon3zu
LinuXploit