PluginProbe ʕ •ᴥ•ʔ
Photo Gallery by FooGallery : Responsive Image Gallery, Masonry Gallery & Carousel / trunk
Photo Gallery by FooGallery : Responsive Image Gallery, Masonry Gallery & Carousel vtrunk
trunk 1.10.3 2.0.24 2.1.34 2.2.44 2.3.3 2.4.32 3.0.6 3.1.11 3.1.12 3.1.13 3.1.20 3.1.25 3.1.26 3.1.26.1 3.1.26.2
foogallery / freemius / includes / class-fs-user-lock.php
foogallery / freemius / includes Last commit date
customizer 7 months ago debug 2 years ago entities 7 months ago managers 7 months ago sdk 2 years ago supplements 3 years ago .DS_Store 7 months ago class-freemius-abstract.php 3 years ago class-freemius.php 7 months ago class-fs-admin-notices.php 3 years ago class-fs-api.php 7 months ago class-fs-garbage-collector.php 7 months ago class-fs-hook-snapshot.php 7 months ago class-fs-lock.php 3 years ago class-fs-logger.php 7 months ago class-fs-options.php 8 years ago class-fs-plugin-updater.php 7 months ago class-fs-security.php 7 months ago class-fs-storage.php 7 months ago class-fs-user-lock.php 3 years ago fs-core-functions.php 7 months ago fs-essential-functions.php 2 years ago fs-html-escaping-functions.php 7 months ago fs-plugin-info-dialog.php 7 months 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 }