HEX
Server: Apache/2.4.41 (Ubuntu)
System: Linux sci 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64
User: tpdc (1002)
PHP: 7.4.3-4ubuntu2.29
Disabled: 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_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/html/nsci/wp-content/plugins/tablepress/libraries/freemius/includes/class-fs-user-lock.php
<?php
	/**
	 * @package     Freemius
	 * @copyright   Copyright (c) 2015, Freemius, Inc.
	 * @license     https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License Version 3
	 * @since       2.1.0
	 */

	if ( ! defined( 'ABSPATH' ) ) {
		exit;
	}

	require_once WP_FS__DIR_INCLUDES . '/class-fs-lock.php';

	/**
	 * Class FS_User_Lock
	 */
	class FS_User_Lock {
		/**
		 * @var FS_Lock
		 */
		private $_lock;

		#--------------------------------------------------------------------------------
		#region Singleton
		#--------------------------------------------------------------------------------

		/**
		 * @var FS_User_Lock
		 */
		private static $_instance;

		/**
		 * @author Vova Feldman (@svovaf)
		 * @since  2.1.0
		 *
		 * @return FS_User_Lock
		 */
		static function instance() {
			if ( ! isset( self::$_instance ) ) {
				self::$_instance = new self();
			}

			return self::$_instance;
		}

		#endregion

		private function __construct() {
			$current_user_id = Freemius::get_current_wp_user_id();

			$this->_lock = new FS_Lock( "locked_{$current_user_id}" );
		}

		/**
		 * Try to acquire lock. If the lock is already set or is being acquired by another locker, don't do anything.
		 *
		 * @author Vova Feldman (@svovaf)
		 * @since  2.1.0
		 *
		 * @param int $expiration
		 *
		 * @return bool TRUE if successfully acquired lock.
		 */
		function try_lock( $expiration = 0 ) {
			return $this->_lock->try_lock( $expiration );
		}

		/**
		 * Acquire lock regardless if it's already acquired by another locker or not.
		 *
		 * @author Vova Feldman (@svovaf)
		 * @since  2.1.0
		 *
		 * @param int $expiration
		 */
		function lock( $expiration = 0 ) {
			$this->_lock->lock( $expiration );
		}

		/**
		 * Unlock the lock.
		 *
		 * @author Vova Feldman (@svovaf)
		 * @since  2.1.0
		 */
		function unlock() {
			$this->_lock->unlock();
		}
	}