PluginProbe ʕ •ᴥ•ʔ
Independent Analytics – WordPress Analytics Plugin / 2.15.0
Independent Analytics – WordPress Analytics Plugin v2.15.0
2.15.0 2.14.10 trunk 1.1 1.10 1.10.1 1.11 1.12 1.13 1.14 1.15 1.16 1.17 1.17.1 1.17.2 1.17.3 1.17.4 1.18 1.18.1 1.19.0 1.19.1 1.2 1.20.0 1.21.0 1.22.0 1.22.1 1.23.0 1.23.1 1.24.0 1.24.1 1.25.0 1.25.1 1.26.0 1.27.0 1.28.0 1.28.1 1.28.2 1.28.3 1.29.0 1.3 1.30.0 1.30.1 1.4 1.5 1.6 1.7 1.8 1.9 2.0.0 2.0.1 2.1.4 2.1.5 2.1.6 2.10.0 2.10.1 2.10.2 2.10.3 2.10.4 2.11.0 2.11.1 2.11.10 2.11.2 2.11.3 2.11.4 2.11.5 2.11.6 2.11.7 2.11.8 2.11.9 2.12.0 2.12.1 2.12.2 2.13.1 2.13.2 2.13.5 2.13.6 2.14.0 2.14.1 2.14.2 2.14.4 2.14.6 2.14.7 2.14.8 2.14.9 2.2.0 2.2.1 2.3.1 2.3.2 2.4.2 2.4.3 2.5.0 2.5.1 2.6.0 2.6.1 2.6.2 2.6.3 2.6.4 2.7.0 2.7.1 2.7.2 2.7.3 2.8.2 2.8.3 2.8.4 2.8.5 2.8.6 2.8.7 2.8.8 2.8.9 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7
independent-analytics / freemius / includes / class-fs-user-lock.php
independent-analytics / freemius / includes Last commit date
customizer 11 months ago debug 2 years ago entities 2 days ago managers 2 days ago sdk 2 days ago supplements 3 years ago class-freemius-abstract.php 3 years ago class-freemius.php 2 days ago class-fs-admin-notices.php 3 years ago class-fs-api.php 1 year ago class-fs-garbage-collector.php 2 years ago class-fs-hook-snapshot.php 9 months ago class-fs-lock.php 3 years ago class-fs-logger.php 11 months ago class-fs-options.php 3 years ago class-fs-plugin-updater.php 3 months ago class-fs-security.php 1 year ago class-fs-storage.php 1 year ago class-fs-user-lock.php 3 years ago fs-core-functions.php 2 years ago fs-essential-functions.php 3 months ago fs-html-escaping-functions.php 2 years ago fs-plugin-info-dialog.php 2 years ago index.php 3 years ago l10n.php 3 years ago
class-fs-user-lock.php
90 lines
1 <?php
2 /**
3 * @package Freemius
4 * @copyright Copyright (c) 2015, Freemius, Inc.
5 * @license https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License Version 3
6 * @since 2.1.0
7 */
8
9 if ( ! defined( 'ABSPATH' ) ) {
10 exit;
11 }
12
13 require_once WP_FS__DIR_INCLUDES . '/class-fs-lock.php';
14
15 /**
16 * Class FS_User_Lock
17 */
18 class FS_User_Lock {
19 /**
20 * @var FS_Lock
21 */
22 private $_lock;
23
24 #--------------------------------------------------------------------------------
25 #region Singleton
26 #--------------------------------------------------------------------------------
27
28 /**
29 * @var FS_User_Lock
30 */
31 private static $_instance;
32
33 /**
34 * @author Vova Feldman (@svovaf)
35 * @since 2.1.0
36 *
37 * @return FS_User_Lock
38 */
39 static function instance() {
40 if ( ! isset( self::$_instance ) ) {
41 self::$_instance = new self();
42 }
43
44 return self::$_instance;
45 }
46
47 #endregion
48
49 private function __construct() {
50 $current_user_id = Freemius::get_current_wp_user_id();
51
52 $this->_lock = new FS_Lock( "locked_{$current_user_id}" );
53 }
54
55 /**
56 * Try to acquire lock. If the lock is already set or is being acquired by another locker, don't do anything.
57 *
58 * @author Vova Feldman (@svovaf)
59 * @since 2.1.0
60 *
61 * @param int $expiration
62 *
63 * @return bool TRUE if successfully acquired lock.
64 */
65 function try_lock( $expiration = 0 ) {
66 return $this->_lock->try_lock( $expiration );
67 }
68
69 /**
70 * Acquire lock regardless if it's already acquired by another locker or not.
71 *
72 * @author Vova Feldman (@svovaf)
73 * @since 2.1.0
74 *
75 * @param int $expiration
76 */
77 function lock( $expiration = 0 ) {
78 $this->_lock->lock( $expiration );
79 }
80
81 /**
82 * Unlock the lock.
83 *
84 * @author Vova Feldman (@svovaf)
85 * @since 2.1.0
86 */
87 function unlock() {
88 $this->_lock->unlock();
89 }
90 }