HEX
Server: Apache/2.4.41 (Ubuntu)
System: Linux vm8 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64
User: afleverb (1000)
PHP: 7.4.33
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/drakkar_site_dev/wp-content/plugins/spicebox/inc/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();
        }
    }