Passed
Push — master ( af979f...1dfed5 )
by Paul
08:16 queued 04:12
created
plugin/Modules/Multilingual/Polylang.php 2 patches
Indentation   +62 added lines, -62 removed lines patch added patch discarded remove patch
@@ -8,71 +8,71 @@
 block discarded – undo
8 8
 
9 9
 class Polylang implements Contract
10 10
 {
11
-    public $pluginName = 'Polylang';
12
-    public $supportedVersion = '2.3';
11
+	public $pluginName = 'Polylang';
12
+	public $supportedVersion = '2.3';
13 13
 
14
-    /**
15
-     * {@inheritdoc}
16
-     */
17
-    public function getPostId($postId)
18
-    {
19
-        $postId = trim($postId);
20
-        if (!is_numeric($postId)) {
21
-            return 0;
22
-        }
23
-        if ($this->isEnabled()) {
24
-            $polylangPostId = pll_get_post($postId, pll_get_post_language(get_the_ID()));
25
-        }
26
-        if (!empty($polylangPostId)) {
27
-            $postId = $polylangPostId;
28
-        }
29
-        return intval($postId);
30
-    }
14
+	/**
15
+	 * {@inheritdoc}
16
+	 */
17
+	public function getPostId($postId)
18
+	{
19
+		$postId = trim($postId);
20
+		if (!is_numeric($postId)) {
21
+			return 0;
22
+		}
23
+		if ($this->isEnabled()) {
24
+			$polylangPostId = pll_get_post($postId, pll_get_post_language(get_the_ID()));
25
+		}
26
+		if (!empty($polylangPostId)) {
27
+			$postId = $polylangPostId;
28
+		}
29
+		return intval($postId);
30
+	}
31 31
 
32
-    /**
33
-     * {@inheritdoc}
34
-     */
35
-    public function getPostIds(array $postIds)
36
-    {
37
-        if (!$this->isEnabled()) {
38
-            return $postIds;
39
-        }
40
-        $newPostIds = [];
41
-        foreach (Arr::unique($postIds) as $postId) {
42
-            $newPostIds = array_merge(
43
-                $newPostIds,
44
-                array_values(pll_get_post_translations($postId))
45
-            );
46
-        }
47
-        return Arr::unique($newPostIds);
48
-    }
32
+	/**
33
+	 * {@inheritdoc}
34
+	 */
35
+	public function getPostIds(array $postIds)
36
+	{
37
+		if (!$this->isEnabled()) {
38
+			return $postIds;
39
+		}
40
+		$newPostIds = [];
41
+		foreach (Arr::unique($postIds) as $postId) {
42
+			$newPostIds = array_merge(
43
+				$newPostIds,
44
+				array_values(pll_get_post_translations($postId))
45
+			);
46
+		}
47
+		return Arr::unique($newPostIds);
48
+	}
49 49
 
50
-    /**
51
-     * {@inheritdoc}
52
-     */
53
-    public function isActive()
54
-    {
55
-        return function_exists('PLL')
56
-            && function_exists('pll_get_post')
57
-            && function_exists('pll_get_post_language')
58
-            && function_exists('pll_get_post_translations');
59
-    }
50
+	/**
51
+	 * {@inheritdoc}
52
+	 */
53
+	public function isActive()
54
+	{
55
+		return function_exists('PLL')
56
+			&& function_exists('pll_get_post')
57
+			&& function_exists('pll_get_post_language')
58
+			&& function_exists('pll_get_post_translations');
59
+	}
60 60
 
61
-    /**
62
-     * {@inheritdoc}
63
-     */
64
-    public function isEnabled()
65
-    {
66
-        return $this->isActive()
67
-            && 'polylang' == glsr(OptionManager::class)->get('settings.general.multilingual');
68
-    }
61
+	/**
62
+	 * {@inheritdoc}
63
+	 */
64
+	public function isEnabled()
65
+	{
66
+		return $this->isActive()
67
+			&& 'polylang' == glsr(OptionManager::class)->get('settings.general.multilingual');
68
+	}
69 69
 
70
-    /**
71
-     * {@inheritdoc}
72
-     */
73
-    public function isSupported()
74
-    {
75
-        return defined('POLYLANG_VERSION')
76
-            && version_compare(POLYLANG_VERSION, $this->supportedVersion, '>=');
77
-    }
70
+	/**
71
+	 * {@inheritdoc}
72
+	 */
73
+	public function isSupported()
74
+	{
75
+		return defined('POLYLANG_VERSION')
76
+			&& version_compare(POLYLANG_VERSION, $this->supportedVersion, '>=');
77
+	}
78 78
 }
Please login to merge, or discard this patch.
Spacing   +19 added lines, -19 removed lines patch added patch discarded remove patch
@@ -14,37 +14,37 @@  discard block
 block discarded – undo
14 14
     /**
15 15
      * {@inheritdoc}
16 16
      */
17
-    public function getPostId($postId)
17
+    public function getPostId( $postId )
18 18
     {
19
-        $postId = trim($postId);
20
-        if (!is_numeric($postId)) {
19
+        $postId = trim( $postId );
20
+        if( !is_numeric( $postId ) ) {
21 21
             return 0;
22 22
         }
23
-        if ($this->isEnabled()) {
24
-            $polylangPostId = pll_get_post($postId, pll_get_post_language(get_the_ID()));
23
+        if( $this->isEnabled() ) {
24
+            $polylangPostId = pll_get_post( $postId, pll_get_post_language( get_the_ID() ) );
25 25
         }
26
-        if (!empty($polylangPostId)) {
26
+        if( !empty($polylangPostId) ) {
27 27
             $postId = $polylangPostId;
28 28
         }
29
-        return intval($postId);
29
+        return intval( $postId );
30 30
     }
31 31
 
32 32
     /**
33 33
      * {@inheritdoc}
34 34
      */
35
-    public function getPostIds(array $postIds)
35
+    public function getPostIds( array $postIds )
36 36
     {
37
-        if (!$this->isEnabled()) {
37
+        if( !$this->isEnabled() ) {
38 38
             return $postIds;
39 39
         }
40 40
         $newPostIds = [];
41
-        foreach (Arr::unique($postIds) as $postId) {
41
+        foreach( Arr::unique( $postIds ) as $postId ) {
42 42
             $newPostIds = array_merge(
43 43
                 $newPostIds,
44
-                array_values(pll_get_post_translations($postId))
44
+                array_values( pll_get_post_translations( $postId ) )
45 45
             );
46 46
         }
47
-        return Arr::unique($newPostIds);
47
+        return Arr::unique( $newPostIds );
48 48
     }
49 49
 
50 50
     /**
@@ -52,10 +52,10 @@  discard block
 block discarded – undo
52 52
      */
53 53
     public function isActive()
54 54
     {
55
-        return function_exists('PLL')
56
-            && function_exists('pll_get_post')
57
-            && function_exists('pll_get_post_language')
58
-            && function_exists('pll_get_post_translations');
55
+        return function_exists( 'PLL' )
56
+            && function_exists( 'pll_get_post' )
57
+            && function_exists( 'pll_get_post_language' )
58
+            && function_exists( 'pll_get_post_translations' );
59 59
     }
60 60
 
61 61
     /**
@@ -64,7 +64,7 @@  discard block
 block discarded – undo
64 64
     public function isEnabled()
65 65
     {
66 66
         return $this->isActive()
67
-            && 'polylang' == glsr(OptionManager::class)->get('settings.general.multilingual');
67
+            && 'polylang' == glsr( OptionManager::class )->get( 'settings.general.multilingual' );
68 68
     }
69 69
 
70 70
     /**
@@ -72,7 +72,7 @@  discard block
 block discarded – undo
72 72
      */
73 73
     public function isSupported()
74 74
     {
75
-        return defined('POLYLANG_VERSION')
76
-            && version_compare(POLYLANG_VERSION, $this->supportedVersion, '>=');
75
+        return defined( 'POLYLANG_VERSION' )
76
+            && version_compare( POLYLANG_VERSION, $this->supportedVersion, '>=' );
77 77
     }
78 78
 }
Please login to merge, or discard this patch.
plugin/Modules/Validator/ValidationRules.php 2 patches
Indentation   +113 added lines, -113 removed lines patch added patch discarded remove patch
@@ -10,126 +10,126 @@
 block discarded – undo
10 10
  */
11 11
 trait ValidationRules
12 12
 {
13
-    /**
14
-     * Get the size of an attribute.
15
-     * @param string $attribute
16
-     * @param mixed $value
17
-     * @return mixed
18
-     */
19
-    abstract protected function getSize($attribute, $value);
13
+	/**
14
+	 * Get the size of an attribute.
15
+	 * @param string $attribute
16
+	 * @param mixed $value
17
+	 * @return mixed
18
+	 */
19
+	abstract protected function getSize($attribute, $value);
20 20
 
21
-    /**
22
-     * Replace all placeholders.
23
-     * @param string $message
24
-     * @return string
25
-     */
26
-    protected function replace($message, array $parameters)
27
-    {
28
-        if (!Str::contains($message, '%s')) {
29
-            return $message;
30
-        }
31
-        return preg_replace_callback('/(%s)/', function () use (&$parameters) {
32
-            foreach ($parameters as $key => $value) {
33
-                return array_shift($parameters);
34
-            }
35
-        }, $message);
36
-    }
21
+	/**
22
+	 * Replace all placeholders.
23
+	 * @param string $message
24
+	 * @return string
25
+	 */
26
+	protected function replace($message, array $parameters)
27
+	{
28
+		if (!Str::contains($message, '%s')) {
29
+			return $message;
30
+		}
31
+		return preg_replace_callback('/(%s)/', function () use (&$parameters) {
32
+			foreach ($parameters as $key => $value) {
33
+				return array_shift($parameters);
34
+			}
35
+		}, $message);
36
+	}
37 37
 
38
-    /**
39
-     * Validate that an attribute was "accepted".
40
-     * This validation rule implies the attribute is "required".
41
-     * @param string $attribute
42
-     * @param mixed $value
43
-     * @return bool
44
-     */
45
-    public function validateAccepted($value)
46
-    {
47
-        $acceptable = ['yes', 'on', '1', 1, true, 'true'];
48
-        return $this->validateRequired($value) && in_array($value, $acceptable, true);
49
-    }
38
+	/**
39
+	 * Validate that an attribute was "accepted".
40
+	 * This validation rule implies the attribute is "required".
41
+	 * @param string $attribute
42
+	 * @param mixed $value
43
+	 * @return bool
44
+	 */
45
+	public function validateAccepted($value)
46
+	{
47
+		$acceptable = ['yes', 'on', '1', 1, true, 'true'];
48
+		return $this->validateRequired($value) && in_array($value, $acceptable, true);
49
+	}
50 50
 
51
-    /**
52
-     * Validate the size of an attribute is between a set of values.
53
-     * @param string $attribute
54
-     * @param mixed $value
55
-     * @return bool
56
-     */
57
-    public function validateBetween($value, $attribute, array $parameters)
58
-    {
59
-        $this->requireParameterCount(2, $parameters, 'between');
60
-        $size = $this->getSize($attribute, $value);
61
-        return $size >= $parameters[0] && $size <= $parameters[1];
62
-    }
51
+	/**
52
+	 * Validate the size of an attribute is between a set of values.
53
+	 * @param string $attribute
54
+	 * @param mixed $value
55
+	 * @return bool
56
+	 */
57
+	public function validateBetween($value, $attribute, array $parameters)
58
+	{
59
+		$this->requireParameterCount(2, $parameters, 'between');
60
+		$size = $this->getSize($attribute, $value);
61
+		return $size >= $parameters[0] && $size <= $parameters[1];
62
+	}
63 63
 
64
-    /**
65
-     * Validate that an attribute is a valid e-mail address.
66
-     * @param mixed $value
67
-     * @return bool
68
-     */
69
-    public function validateEmail($value)
70
-    {
71
-        return false !== filter_var($value, FILTER_VALIDATE_EMAIL);
72
-    }
64
+	/**
65
+	 * Validate that an attribute is a valid e-mail address.
66
+	 * @param mixed $value
67
+	 * @return bool
68
+	 */
69
+	public function validateEmail($value)
70
+	{
71
+		return false !== filter_var($value, FILTER_VALIDATE_EMAIL);
72
+	}
73 73
 
74
-    /**
75
-     * Validate the size of an attribute is less than a maximum value.
76
-     * @param string $attribute
77
-     * @param mixed $value
78
-     * @return bool
79
-     */
80
-    public function validateMax($value, $attribute, array $parameters)
81
-    {
82
-        $this->requireParameterCount(1, $parameters, 'max');
83
-        return $this->getSize($attribute, $value) <= $parameters[0];
84
-    }
74
+	/**
75
+	 * Validate the size of an attribute is less than a maximum value.
76
+	 * @param string $attribute
77
+	 * @param mixed $value
78
+	 * @return bool
79
+	 */
80
+	public function validateMax($value, $attribute, array $parameters)
81
+	{
82
+		$this->requireParameterCount(1, $parameters, 'max');
83
+		return $this->getSize($attribute, $value) <= $parameters[0];
84
+	}
85 85
 
86
-    /**
87
-     * Validate the size of an attribute is greater than a minimum value.
88
-     * @param string $attribute
89
-     * @param mixed $value
90
-     * @return bool
91
-     */
92
-    public function validateMin($value, $attribute, array $parameters)
93
-    {
94
-        $this->requireParameterCount(1, $parameters, 'min');
95
-        return $this->getSize($attribute, $value) >= $parameters[0];
96
-    }
86
+	/**
87
+	 * Validate the size of an attribute is greater than a minimum value.
88
+	 * @param string $attribute
89
+	 * @param mixed $value
90
+	 * @return bool
91
+	 */
92
+	public function validateMin($value, $attribute, array $parameters)
93
+	{
94
+		$this->requireParameterCount(1, $parameters, 'min');
95
+		return $this->getSize($attribute, $value) >= $parameters[0];
96
+	}
97 97
 
98
-    /**
99
-     * Validate that an attribute is numeric.
100
-     * @param mixed $value
101
-     * @return bool
102
-     */
103
-    public function validateNumber($value)
104
-    {
105
-        return is_numeric($value);
106
-    }
98
+	/**
99
+	 * Validate that an attribute is numeric.
100
+	 * @param mixed $value
101
+	 * @return bool
102
+	 */
103
+	public function validateNumber($value)
104
+	{
105
+		return is_numeric($value);
106
+	}
107 107
 
108
-    /**
109
-     * Validate that a required attribute exists.
110
-     * @param mixed $value
111
-     * @return bool
112
-     */
113
-    public function validateRequired($value)
114
-    {
115
-        return is_null($value)
116
-            || (is_string($value) && in_array(trim($value), ['', '[]']))
117
-            || (is_array($value) && empty($value))
118
-            ? false
119
-            : true;
120
-    }
108
+	/**
109
+	 * Validate that a required attribute exists.
110
+	 * @param mixed $value
111
+	 * @return bool
112
+	 */
113
+	public function validateRequired($value)
114
+	{
115
+		return is_null($value)
116
+			|| (is_string($value) && in_array(trim($value), ['', '[]']))
117
+			|| (is_array($value) && empty($value))
118
+			? false
119
+			: true;
120
+	}
121 121
 
122
-    /**
123
-     * Require a certain number of parameters to be present.
124
-     * @param int $count
125
-     * @param string $rule
126
-     * @return void
127
-     * @throws InvalidArgumentException
128
-     */
129
-    protected function requireParameterCount($count, array $parameters, $rule)
130
-    {
131
-        if (count($parameters) < $count) {
132
-            throw new InvalidArgumentException("Validation rule $rule requires at least $count parameters.");
133
-        }
134
-    }
122
+	/**
123
+	 * Require a certain number of parameters to be present.
124
+	 * @param int $count
125
+	 * @param string $rule
126
+	 * @return void
127
+	 * @throws InvalidArgumentException
128
+	 */
129
+	protected function requireParameterCount($count, array $parameters, $rule)
130
+	{
131
+		if (count($parameters) < $count) {
132
+			throw new InvalidArgumentException("Validation rule $rule requires at least $count parameters.");
133
+		}
134
+	}
135 135
 }
Please login to merge, or discard this patch.
Spacing   +29 added lines, -29 removed lines patch added patch discarded remove patch
@@ -16,23 +16,23 @@  discard block
 block discarded – undo
16 16
      * @param mixed $value
17 17
      * @return mixed
18 18
      */
19
-    abstract protected function getSize($attribute, $value);
19
+    abstract protected function getSize( $attribute, $value );
20 20
 
21 21
     /**
22 22
      * Replace all placeholders.
23 23
      * @param string $message
24 24
      * @return string
25 25
      */
26
-    protected function replace($message, array $parameters)
26
+    protected function replace( $message, array $parameters )
27 27
     {
28
-        if (!Str::contains($message, '%s')) {
28
+        if( !Str::contains( $message, '%s' ) ) {
29 29
             return $message;
30 30
         }
31
-        return preg_replace_callback('/(%s)/', function () use (&$parameters) {
32
-            foreach ($parameters as $key => $value) {
33
-                return array_shift($parameters);
31
+        return preg_replace_callback( '/(%s)/', function() use (&$parameters) {
32
+            foreach( $parameters as $key => $value ) {
33
+                return array_shift( $parameters );
34 34
             }
35
-        }, $message);
35
+        }, $message );
36 36
     }
37 37
 
38 38
     /**
@@ -42,10 +42,10 @@  discard block
 block discarded – undo
42 42
      * @param mixed $value
43 43
      * @return bool
44 44
      */
45
-    public function validateAccepted($value)
45
+    public function validateAccepted( $value )
46 46
     {
47 47
         $acceptable = ['yes', 'on', '1', 1, true, 'true'];
48
-        return $this->validateRequired($value) && in_array($value, $acceptable, true);
48
+        return $this->validateRequired( $value ) && in_array( $value, $acceptable, true );
49 49
     }
50 50
 
51 51
     /**
@@ -54,10 +54,10 @@  discard block
 block discarded – undo
54 54
      * @param mixed $value
55 55
      * @return bool
56 56
      */
57
-    public function validateBetween($value, $attribute, array $parameters)
57
+    public function validateBetween( $value, $attribute, array $parameters )
58 58
     {
59
-        $this->requireParameterCount(2, $parameters, 'between');
60
-        $size = $this->getSize($attribute, $value);
59
+        $this->requireParameterCount( 2, $parameters, 'between' );
60
+        $size = $this->getSize( $attribute, $value );
61 61
         return $size >= $parameters[0] && $size <= $parameters[1];
62 62
     }
63 63
 
@@ -66,9 +66,9 @@  discard block
 block discarded – undo
66 66
      * @param mixed $value
67 67
      * @return bool
68 68
      */
69
-    public function validateEmail($value)
69
+    public function validateEmail( $value )
70 70
     {
71
-        return false !== filter_var($value, FILTER_VALIDATE_EMAIL);
71
+        return false !== filter_var( $value, FILTER_VALIDATE_EMAIL );
72 72
     }
73 73
 
74 74
     /**
@@ -77,10 +77,10 @@  discard block
 block discarded – undo
77 77
      * @param mixed $value
78 78
      * @return bool
79 79
      */
80
-    public function validateMax($value, $attribute, array $parameters)
80
+    public function validateMax( $value, $attribute, array $parameters )
81 81
     {
82
-        $this->requireParameterCount(1, $parameters, 'max');
83
-        return $this->getSize($attribute, $value) <= $parameters[0];
82
+        $this->requireParameterCount( 1, $parameters, 'max' );
83
+        return $this->getSize( $attribute, $value ) <= $parameters[0];
84 84
     }
85 85
 
86 86
     /**
@@ -89,10 +89,10 @@  discard block
 block discarded – undo
89 89
      * @param mixed $value
90 90
      * @return bool
91 91
      */
92
-    public function validateMin($value, $attribute, array $parameters)
92
+    public function validateMin( $value, $attribute, array $parameters )
93 93
     {
94
-        $this->requireParameterCount(1, $parameters, 'min');
95
-        return $this->getSize($attribute, $value) >= $parameters[0];
94
+        $this->requireParameterCount( 1, $parameters, 'min' );
95
+        return $this->getSize( $attribute, $value ) >= $parameters[0];
96 96
     }
97 97
 
98 98
     /**
@@ -100,9 +100,9 @@  discard block
 block discarded – undo
100 100
      * @param mixed $value
101 101
      * @return bool
102 102
      */
103
-    public function validateNumber($value)
103
+    public function validateNumber( $value )
104 104
     {
105
-        return is_numeric($value);
105
+        return is_numeric( $value );
106 106
     }
107 107
 
108 108
     /**
@@ -110,11 +110,11 @@  discard block
 block discarded – undo
110 110
      * @param mixed $value
111 111
      * @return bool
112 112
      */
113
-    public function validateRequired($value)
113
+    public function validateRequired( $value )
114 114
     {
115
-        return is_null($value)
116
-            || (is_string($value) && in_array(trim($value), ['', '[]']))
117
-            || (is_array($value) && empty($value))
115
+        return is_null( $value )
116
+            || (is_string( $value ) && in_array( trim( $value ), ['', '[]'] ))
117
+            || (is_array( $value ) && empty($value))
118 118
             ? false
119 119
             : true;
120 120
     }
@@ -126,10 +126,10 @@  discard block
 block discarded – undo
126 126
      * @return void
127 127
      * @throws InvalidArgumentException
128 128
      */
129
-    protected function requireParameterCount($count, array $parameters, $rule)
129
+    protected function requireParameterCount( $count, array $parameters, $rule )
130 130
     {
131
-        if (count($parameters) < $count) {
132
-            throw new InvalidArgumentException("Validation rule $rule requires at least $count parameters.");
131
+        if( count( $parameters ) < $count ) {
132
+            throw new InvalidArgumentException( "Validation rule $rule requires at least $count parameters." );
133 133
         }
134 134
     }
135 135
 }
Please login to merge, or discard this patch.
plugin/Contracts/MultilingualContract.php 2 patches
Indentation   +21 added lines, -21 removed lines patch added patch discarded remove patch
@@ -4,29 +4,29 @@
 block discarded – undo
4 4
 
5 5
 interface MultilingualContract
6 6
 {
7
-    /**
8
-     * @param int|string $postId
9
-     * @return int
10
-     */
11
-    public function getPostId($postId);
7
+	/**
8
+	 * @param int|string $postId
9
+	 * @return int
10
+	 */
11
+	public function getPostId($postId);
12 12
 
13
-    /**
14
-     * @return array
15
-     */
16
-    public function getPostIds(array $postIds);
13
+	/**
14
+	 * @return array
15
+	 */
16
+	public function getPostIds(array $postIds);
17 17
 
18
-    /**
19
-     * @return bool
20
-     */
21
-    public function isActive();
18
+	/**
19
+	 * @return bool
20
+	 */
21
+	public function isActive();
22 22
 
23
-    /**
24
-     * @return bool
25
-     */
26
-    public function isEnabled();
23
+	/**
24
+	 * @return bool
25
+	 */
26
+	public function isEnabled();
27 27
 
28
-    /**
29
-     * @return bool
30
-     */
31
-    public function isSupported();
28
+	/**
29
+	 * @return bool
30
+	 */
31
+	public function isSupported();
32 32
 }
Please login to merge, or discard this patch.
Spacing   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -8,12 +8,12 @@
 block discarded – undo
8 8
      * @param int|string $postId
9 9
      * @return int
10 10
      */
11
-    public function getPostId($postId);
11
+    public function getPostId( $postId );
12 12
 
13 13
     /**
14 14
      * @return array
15 15
      */
16
-    public function getPostIds(array $postIds);
16
+    public function getPostIds( array $postIds );
17 17
 
18 18
     /**
19 19
      * @return bool
Please login to merge, or discard this patch.
site-reviews.php 2 patches
Indentation   +11 added lines, -11 removed lines patch added patch discarded remove patch
@@ -20,17 +20,17 @@
 block discarded – undo
20 20
 defined('WPINC') || die;
21 21
 
22 22
 if (!class_exists('GL_Plugin_Check_v4')) {
23
-    require_once __DIR__.'/activate.php';
23
+	require_once __DIR__.'/activate.php';
24 24
 }
25 25
 if ((new GL_Plugin_Check_v4(__FILE__))->canProceed()) {
26
-    require_once __DIR__.'/autoload.php';
27
-    require_once __DIR__.'/compatibility.php';
28
-    require_once __DIR__.'/deprecated.php';
29
-    require_once __DIR__.'/helpers.php';
30
-    $app = new GeminiLabs\SiteReviews\Application();
31
-    $app->make('Provider')->register($app);
32
-    register_activation_hook(__FILE__, array($app, 'activate'));
33
-    register_deactivation_hook(__FILE__, array($app, 'deactivate'));
34
-    register_shutdown_function(array($app, 'catchFatalError'));
35
-    $app->init();
26
+	require_once __DIR__.'/autoload.php';
27
+	require_once __DIR__.'/compatibility.php';
28
+	require_once __DIR__.'/deprecated.php';
29
+	require_once __DIR__.'/helpers.php';
30
+	$app = new GeminiLabs\SiteReviews\Application();
31
+	$app->make('Provider')->register($app);
32
+	register_activation_hook(__FILE__, array($app, 'activate'));
33
+	register_deactivation_hook(__FILE__, array($app, 'deactivate'));
34
+	register_shutdown_function(array($app, 'catchFatalError'));
35
+	$app->init();
36 36
 }
Please login to merge, or discard this patch.
Spacing   +7 added lines, -7 removed lines patch added patch discarded remove patch
@@ -17,20 +17,20 @@
 block discarded – undo
17 17
  * Text Domain: site-reviews
18 18
  * Domain Path: languages
19 19
  */
20
-defined('WPINC') || die;
20
+defined( 'WPINC' ) || die;
21 21
 
22
-if (!class_exists('GL_Plugin_Check_v4')) {
22
+if( !class_exists( 'GL_Plugin_Check_v4' ) ) {
23 23
     require_once __DIR__.'/activate.php';
24 24
 }
25
-if ((new GL_Plugin_Check_v4(__FILE__))->canProceed()) {
25
+if( (new GL_Plugin_Check_v4( __FILE__ ))->canProceed() ) {
26 26
     require_once __DIR__.'/autoload.php';
27 27
     require_once __DIR__.'/compatibility.php';
28 28
     require_once __DIR__.'/deprecated.php';
29 29
     require_once __DIR__.'/helpers.php';
30 30
     $app = new GeminiLabs\SiteReviews\Application();
31
-    $app->make('Provider')->register($app);
32
-    register_activation_hook(__FILE__, array($app, 'activate'));
33
-    register_deactivation_hook(__FILE__, array($app, 'deactivate'));
34
-    register_shutdown_function(array($app, 'catchFatalError'));
31
+    $app->make( 'Provider' )->register( $app );
32
+    register_activation_hook( __FILE__, array( $app, 'activate' ) );
33
+    register_deactivation_hook( __FILE__, array( $app, 'deactivate' ) );
34
+    register_shutdown_function( array( $app, 'catchFatalError' ) );
35 35
     $app->init();
36 36
 }
Please login to merge, or discard this patch.
activate.php 3 patches
Braces   +2 added lines, -1 removed lines patch added patch discarded remove patch
@@ -125,7 +125,8 @@
 block discarded – undo
125 125
                 sprintf($messages['wrong_version'], $messages['php_version'].' '.$this->versions['php']),
126 126
                 sprintf($messages['update_php'], PHP_VERSION).'</p><p>'.$rollbackMessage
127 127
             );
128
-        } elseif (!$this->isWpValid()) {
128
+        }
129
+        elseif (!$this->isWpValid()) {
129 130
             printf($noticeTemplate,
130 131
                 sprintf($messages['notice'], $pluginName),
131 132
                 sprintf($messages['wrong_version'], $messages['wp_version'].' '.$this->versions['wordpress']),
Please login to merge, or discard this patch.
Indentation   +126 added lines, -126 removed lines patch added patch discarded remove patch
@@ -8,141 +8,141 @@
 block discarded – undo
8 8
  */
9 9
 class GL_Plugin_Check_v4
10 10
 {
11
-    const MIN_PHP_VERSION = '5.6.0';
12
-    const MIN_WORDPRESS_VERSION = '4.7.0';
11
+	const MIN_PHP_VERSION = '5.6.0';
12
+	const MIN_WORDPRESS_VERSION = '4.7.0';
13 13
 
14
-    /**
15
-     * @var array
16
-     */
17
-    public $versions;
14
+	/**
15
+	 * @var array
16
+	 */
17
+	public $versions;
18 18
 
19
-    /**
20
-     * @var string
21
-     */
22
-    protected $file;
19
+	/**
20
+	 * @var string
21
+	 */
22
+	protected $file;
23 23
 
24
-    /**
25
-     * @param string $file
26
-     */
27
-    public function __construct($file)
28
-    {
29
-        $this->file = realpath($file);
30
-        $versionRequirements = get_file_data($this->file, [
31
-            'php' => 'Requires PHP',
32
-            'wordpress' => 'Requires at least',
33
-        ]);
34
-        $this->versions = wp_parse_args(array_filter($versionRequirements), [
35
-            'php' => static::MIN_PHP_VERSION,
36
-            'wordpress' => static::MIN_WORDPRESS_VERSION,
37
-        ]);
38
-    }
24
+	/**
25
+	 * @param string $file
26
+	 */
27
+	public function __construct($file)
28
+	{
29
+		$this->file = realpath($file);
30
+		$versionRequirements = get_file_data($this->file, [
31
+			'php' => 'Requires PHP',
32
+			'wordpress' => 'Requires at least',
33
+		]);
34
+		$this->versions = wp_parse_args(array_filter($versionRequirements), [
35
+			'php' => static::MIN_PHP_VERSION,
36
+			'wordpress' => static::MIN_WORDPRESS_VERSION,
37
+		]);
38
+	}
39 39
 
40
-    /**
41
-     * @return bool
42
-     */
43
-    public function canProceed()
44
-    {
45
-        if ($this->isValid()) {
46
-            return true;
47
-        }
48
-        add_action('activated_plugin', [$this, 'deactivate']);
49
-        add_action('admin_notices', [$this, 'deactivate']);
50
-        return false;
51
-    }
40
+	/**
41
+	 * @return bool
42
+	 */
43
+	public function canProceed()
44
+	{
45
+		if ($this->isValid()) {
46
+			return true;
47
+		}
48
+		add_action('activated_plugin', [$this, 'deactivate']);
49
+		add_action('admin_notices', [$this, 'deactivate']);
50
+		return false;
51
+	}
52 52
 
53
-    /**
54
-     * @return bool
55
-     */
56
-    public function isPhpValid()
57
-    {
58
-        return !version_compare(PHP_VERSION, $this->versions['php'], '<');
59
-    }
53
+	/**
54
+	 * @return bool
55
+	 */
56
+	public function isPhpValid()
57
+	{
58
+		return !version_compare(PHP_VERSION, $this->versions['php'], '<');
59
+	}
60 60
 
61
-    /**
62
-     * @return bool
63
-     */
64
-    public function isValid()
65
-    {
66
-        return $this->isPhpValid() && $this->isWpValid();
67
-    }
61
+	/**
62
+	 * @return bool
63
+	 */
64
+	public function isValid()
65
+	{
66
+		return $this->isPhpValid() && $this->isWpValid();
67
+	}
68 68
 
69
-    /**
70
-     * @return bool
71
-     */
72
-    public function isWpValid()
73
-    {
74
-        global $wp_version;
75
-        return !version_compare($wp_version, $this->versions['wordpress'], '<');
76
-    }
69
+	/**
70
+	 * @return bool
71
+	 */
72
+	public function isWpValid()
73
+	{
74
+		global $wp_version;
75
+		return !version_compare($wp_version, $this->versions['wordpress'], '<');
76
+	}
77 77
 
78
-    /**
79
-     * @param string $plugin
80
-     * @return void
81
-     */
82
-    public function deactivate($plugin)
83
-    {
84
-        if ($this->isValid()) {
85
-            return;
86
-        }
87
-        $pluginSlug = plugin_basename($this->file);
88
-        if ($plugin == $pluginSlug) {
89
-            $this->redirect(); //exit
90
-        }
91
-        $pluginData = get_file_data($this->file, ['name' => 'Plugin Name'], 'plugin');
92
-        deactivate_plugins($pluginSlug);
93
-        $this->printNotice($pluginData['name']);
94
-    }
78
+	/**
79
+	 * @param string $plugin
80
+	 * @return void
81
+	 */
82
+	public function deactivate($plugin)
83
+	{
84
+		if ($this->isValid()) {
85
+			return;
86
+		}
87
+		$pluginSlug = plugin_basename($this->file);
88
+		if ($plugin == $pluginSlug) {
89
+			$this->redirect(); //exit
90
+		}
91
+		$pluginData = get_file_data($this->file, ['name' => 'Plugin Name'], 'plugin');
92
+		deactivate_plugins($pluginSlug);
93
+		$this->printNotice($pluginData['name']);
94
+	}
95 95
 
96
-    /**
97
-     * @return array
98
-     */
99
-    protected function getMessages()
100
-    {
101
-        return [
102
-            'notice' => __('The %s plugin was deactivated.', 'site-reviews'),
103
-            'php_version' => __('PHP version', 'site-reviews'),
104
-            'rollback' => __('You can use the %s plugin to restore %s to the previous version.', 'site-reviews'),
105
-            'update_php' => __('Please contact your hosting provider or server administrator to upgrade the version of PHP on your server (your server is running PHP version %s), or try to find an alternative plugin.', 'site-reviews'),
106
-            'update_wp' => __('Update WordPress', 'site-reviews'),
107
-            'wp_version' => __('WordPress version', 'site-reviews'),
108
-            'wrong_version' => __('This plugin requires %s or greater in order to work properly.', 'site-reviews'),
109
-        ];
110
-    }
96
+	/**
97
+	 * @return array
98
+	 */
99
+	protected function getMessages()
100
+	{
101
+		return [
102
+			'notice' => __('The %s plugin was deactivated.', 'site-reviews'),
103
+			'php_version' => __('PHP version', 'site-reviews'),
104
+			'rollback' => __('You can use the %s plugin to restore %s to the previous version.', 'site-reviews'),
105
+			'update_php' => __('Please contact your hosting provider or server administrator to upgrade the version of PHP on your server (your server is running PHP version %s), or try to find an alternative plugin.', 'site-reviews'),
106
+			'update_wp' => __('Update WordPress', 'site-reviews'),
107
+			'wp_version' => __('WordPress version', 'site-reviews'),
108
+			'wrong_version' => __('This plugin requires %s or greater in order to work properly.', 'site-reviews'),
109
+		];
110
+	}
111 111
 
112
-    /**
113
-     * @param string $pluginName
114
-     * @return void
115
-     */
116
-    protected function printNotice($pluginName)
117
-    {
118
-        $noticeTemplate = '<div id="message" class="notice notice-error error is-dismissible"><p><strong>%s</strong></p><p>%s</p><p>%s</p></div>';
119
-        $messages = $this->getMessages();
120
-        $rollbackMessage = sprintf('<strong>'.$messages['rollback'].'</strong>', '<a href="https://wordpress.org/plugins/wp-rollback/">WP Rollback</a>', $pluginName);
121
-        if (!$this->isPhpValid()) {
122
-            printf($noticeTemplate,
123
-                sprintf($messages['notice'], $pluginName),
124
-                sprintf($messages['wrong_version'], $messages['php_version'].' '.$this->versions['php']),
125
-                sprintf($messages['update_php'], PHP_VERSION).'</p><p>'.$rollbackMessage
126
-            );
127
-        } elseif (!$this->isWpValid()) {
128
-            printf($noticeTemplate,
129
-                sprintf($messages['notice'], $pluginName),
130
-                sprintf($messages['wrong_version'], $messages['wp_version'].' '.$this->versions['wordpress']),
131
-                $rollbackMessage.'</p><p>'.sprintf('<a href="%s">%s</a>', admin_url('update-core.php'), $messages['update_wp'])
132
-            );
133
-        }
134
-    }
112
+	/**
113
+	 * @param string $pluginName
114
+	 * @return void
115
+	 */
116
+	protected function printNotice($pluginName)
117
+	{
118
+		$noticeTemplate = '<div id="message" class="notice notice-error error is-dismissible"><p><strong>%s</strong></p><p>%s</p><p>%s</p></div>';
119
+		$messages = $this->getMessages();
120
+		$rollbackMessage = sprintf('<strong>'.$messages['rollback'].'</strong>', '<a href="https://wordpress.org/plugins/wp-rollback/">WP Rollback</a>', $pluginName);
121
+		if (!$this->isPhpValid()) {
122
+			printf($noticeTemplate,
123
+				sprintf($messages['notice'], $pluginName),
124
+				sprintf($messages['wrong_version'], $messages['php_version'].' '.$this->versions['php']),
125
+				sprintf($messages['update_php'], PHP_VERSION).'</p><p>'.$rollbackMessage
126
+			);
127
+		} elseif (!$this->isWpValid()) {
128
+			printf($noticeTemplate,
129
+				sprintf($messages['notice'], $pluginName),
130
+				sprintf($messages['wrong_version'], $messages['wp_version'].' '.$this->versions['wordpress']),
131
+				$rollbackMessage.'</p><p>'.sprintf('<a href="%s">%s</a>', admin_url('update-core.php'), $messages['update_wp'])
132
+			);
133
+		}
134
+	}
135 135
 
136
-    /**
137
-     * @return void
138
-     */
139
-    protected function redirect()
140
-    {
141
-        wp_safe_redirect(self_admin_url(sprintf('plugins.php?plugin_status=%s&paged=%s&s=%s',
142
-            filter_input(INPUT_GET, 'plugin_status'),
143
-            filter_input(INPUT_GET, 'paged'),
144
-            filter_input(INPUT_GET, 's')
145
-        )));
146
-        exit;
147
-    }
136
+	/**
137
+	 * @return void
138
+	 */
139
+	protected function redirect()
140
+	{
141
+		wp_safe_redirect(self_admin_url(sprintf('plugins.php?plugin_status=%s&paged=%s&s=%s',
142
+			filter_input(INPUT_GET, 'plugin_status'),
143
+			filter_input(INPUT_GET, 'paged'),
144
+			filter_input(INPUT_GET, 's')
145
+		)));
146
+		exit;
147
+	}
148 148
 }
Please login to merge, or discard this patch.
Spacing   +43 added lines, -43 removed lines patch added patch discarded remove patch
@@ -1,6 +1,6 @@  discard block
 block discarded – undo
1 1
 <?php
2 2
 
3
-defined('WPINC') || die;
3
+defined( 'WPINC' ) || die;
4 4
 
5 5
 /**
6 6
  * Check for minimum system requirments on plugin activation.
@@ -24,17 +24,17 @@  discard block
 block discarded – undo
24 24
     /**
25 25
      * @param string $file
26 26
      */
27
-    public function __construct($file)
27
+    public function __construct( $file )
28 28
     {
29
-        $this->file = realpath($file);
30
-        $versionRequirements = get_file_data($this->file, [
29
+        $this->file = realpath( $file );
30
+        $versionRequirements = get_file_data( $this->file, [
31 31
             'php' => 'Requires PHP',
32 32
             'wordpress' => 'Requires at least',
33
-        ]);
34
-        $this->versions = wp_parse_args(array_filter($versionRequirements), [
33
+        ] );
34
+        $this->versions = wp_parse_args( array_filter( $versionRequirements ), [
35 35
             'php' => static::MIN_PHP_VERSION,
36 36
             'wordpress' => static::MIN_WORDPRESS_VERSION,
37
-        ]);
37
+        ] );
38 38
     }
39 39
 
40 40
     /**
@@ -42,11 +42,11 @@  discard block
 block discarded – undo
42 42
      */
43 43
     public function canProceed()
44 44
     {
45
-        if ($this->isValid()) {
45
+        if( $this->isValid() ) {
46 46
             return true;
47 47
         }
48
-        add_action('activated_plugin', [$this, 'deactivate']);
49
-        add_action('admin_notices', [$this, 'deactivate']);
48
+        add_action( 'activated_plugin', [$this, 'deactivate'] );
49
+        add_action( 'admin_notices', [$this, 'deactivate'] );
50 50
         return false;
51 51
     }
52 52
 
@@ -55,7 +55,7 @@  discard block
 block discarded – undo
55 55
      */
56 56
     public function isPhpValid()
57 57
     {
58
-        return !version_compare(PHP_VERSION, $this->versions['php'], '<');
58
+        return !version_compare( PHP_VERSION, $this->versions['php'], '<' );
59 59
     }
60 60
 
61 61
     /**
@@ -72,25 +72,25 @@  discard block
 block discarded – undo
72 72
     public function isWpValid()
73 73
     {
74 74
         global $wp_version;
75
-        return !version_compare($wp_version, $this->versions['wordpress'], '<');
75
+        return !version_compare( $wp_version, $this->versions['wordpress'], '<' );
76 76
     }
77 77
 
78 78
     /**
79 79
      * @param string $plugin
80 80
      * @return void
81 81
      */
82
-    public function deactivate($plugin)
82
+    public function deactivate( $plugin )
83 83
     {
84
-        if ($this->isValid()) {
84
+        if( $this->isValid() ) {
85 85
             return;
86 86
         }
87
-        $pluginSlug = plugin_basename($this->file);
88
-        if ($plugin == $pluginSlug) {
87
+        $pluginSlug = plugin_basename( $this->file );
88
+        if( $plugin == $pluginSlug ) {
89 89
             $this->redirect(); //exit
90 90
         }
91
-        $pluginData = get_file_data($this->file, ['name' => 'Plugin Name'], 'plugin');
92
-        deactivate_plugins($pluginSlug);
93
-        $this->printNotice($pluginData['name']);
91
+        $pluginData = get_file_data( $this->file, ['name' => 'Plugin Name'], 'plugin' );
92
+        deactivate_plugins( $pluginSlug );
93
+        $this->printNotice( $pluginData['name'] );
94 94
     }
95 95
 
96 96
     /**
@@ -99,13 +99,13 @@  discard block
 block discarded – undo
99 99
     protected function getMessages()
100 100
     {
101 101
         return [
102
-            'notice' => __('The %s plugin was deactivated.', 'site-reviews'),
103
-            'php_version' => __('PHP version', 'site-reviews'),
104
-            'rollback' => __('You can use the %s plugin to restore %s to the previous version.', 'site-reviews'),
105
-            'update_php' => __('Please contact your hosting provider or server administrator to upgrade the version of PHP on your server (your server is running PHP version %s), or try to find an alternative plugin.', 'site-reviews'),
106
-            'update_wp' => __('Update WordPress', 'site-reviews'),
107
-            'wp_version' => __('WordPress version', 'site-reviews'),
108
-            'wrong_version' => __('This plugin requires %s or greater in order to work properly.', 'site-reviews'),
102
+            'notice' => __( 'The %s plugin was deactivated.', 'site-reviews' ),
103
+            'php_version' => __( 'PHP version', 'site-reviews' ),
104
+            'rollback' => __( 'You can use the %s plugin to restore %s to the previous version.', 'site-reviews' ),
105
+            'update_php' => __( 'Please contact your hosting provider or server administrator to upgrade the version of PHP on your server (your server is running PHP version %s), or try to find an alternative plugin.', 'site-reviews' ),
106
+            'update_wp' => __( 'Update WordPress', 'site-reviews' ),
107
+            'wp_version' => __( 'WordPress version', 'site-reviews' ),
108
+            'wrong_version' => __( 'This plugin requires %s or greater in order to work properly.', 'site-reviews' ),
109 109
         ];
110 110
     }
111 111
 
@@ -113,22 +113,22 @@  discard block
 block discarded – undo
113 113
      * @param string $pluginName
114 114
      * @return void
115 115
      */
116
-    protected function printNotice($pluginName)
116
+    protected function printNotice( $pluginName )
117 117
     {
118 118
         $noticeTemplate = '<div id="message" class="notice notice-error error is-dismissible"><p><strong>%s</strong></p><p>%s</p><p>%s</p></div>';
119 119
         $messages = $this->getMessages();
120
-        $rollbackMessage = sprintf('<strong>'.$messages['rollback'].'</strong>', '<a href="https://wordpress.org/plugins/wp-rollback/">WP Rollback</a>', $pluginName);
121
-        if (!$this->isPhpValid()) {
122
-            printf($noticeTemplate,
123
-                sprintf($messages['notice'], $pluginName),
124
-                sprintf($messages['wrong_version'], $messages['php_version'].' '.$this->versions['php']),
125
-                sprintf($messages['update_php'], PHP_VERSION).'</p><p>'.$rollbackMessage
120
+        $rollbackMessage = sprintf( '<strong>'.$messages['rollback'].'</strong>', '<a href="https://wordpress.org/plugins/wp-rollback/">WP Rollback</a>', $pluginName );
121
+        if( !$this->isPhpValid() ) {
122
+            printf( $noticeTemplate,
123
+                sprintf( $messages['notice'], $pluginName ),
124
+                sprintf( $messages['wrong_version'], $messages['php_version'].' '.$this->versions['php'] ),
125
+                sprintf( $messages['update_php'], PHP_VERSION ).'</p><p>'.$rollbackMessage
126 126
             );
127
-        } elseif (!$this->isWpValid()) {
128
-            printf($noticeTemplate,
129
-                sprintf($messages['notice'], $pluginName),
130
-                sprintf($messages['wrong_version'], $messages['wp_version'].' '.$this->versions['wordpress']),
131
-                $rollbackMessage.'</p><p>'.sprintf('<a href="%s">%s</a>', admin_url('update-core.php'), $messages['update_wp'])
127
+        } elseif( !$this->isWpValid() ) {
128
+            printf( $noticeTemplate,
129
+                sprintf( $messages['notice'], $pluginName ),
130
+                sprintf( $messages['wrong_version'], $messages['wp_version'].' '.$this->versions['wordpress'] ),
131
+                $rollbackMessage.'</p><p>'.sprintf( '<a href="%s">%s</a>', admin_url( 'update-core.php' ), $messages['update_wp'] )
132 132
             );
133 133
         }
134 134
     }
@@ -138,11 +138,11 @@  discard block
 block discarded – undo
138 138
      */
139 139
     protected function redirect()
140 140
     {
141
-        wp_safe_redirect(self_admin_url(sprintf('plugins.php?plugin_status=%s&paged=%s&s=%s',
142
-            filter_input(INPUT_GET, 'plugin_status'),
143
-            filter_input(INPUT_GET, 'paged'),
144
-            filter_input(INPUT_GET, 's')
145
-        )));
141
+        wp_safe_redirect( self_admin_url( sprintf( 'plugins.php?plugin_status=%s&paged=%s&s=%s',
142
+            filter_input( INPUT_GET, 'plugin_status' ),
143
+            filter_input( INPUT_GET, 'paged' ),
144
+            filter_input( INPUT_GET, 's' )
145
+        ) ) );
146 146
         exit;
147 147
     }
148 148
 }
Please login to merge, or discard this patch.
config/settings.php 2 patches
Indentation   +548 added lines, -548 removed lines patch added patch discarded remove patch
@@ -1,552 +1,552 @@
 block discarded – undo
1 1
 <?php
2 2
 
3 3
 return [
4
-    'settings.general.style' => [
5
-        'default' => 'default',
6
-        'description' => __('Site Reviews relies on the CSS of your theme to style the submission form. If your theme does not provide proper CSS rules for form elements and you are using a WordPress plugin/theme or CSS Framework listed here, please try selecting it, otherwise choose "Site Reviews (default)".', 'site-reviews'),
7
-        'label' => __('Plugin Style', 'site-reviews'),
8
-        'options' => [
9
-            'bootstrap_4' => 'CSS Framework: Bootstrap 4',
10
-            'bootstrap_4_custom' => 'CSS Framework: Bootstrap 4 (Custom Forms)',
11
-            'contact_form_7' => 'Plugin: Contact Form 7 (v5)',
12
-            'ninja_forms' => 'Plugin: Ninja Forms (v3)',
13
-            'wpforms' => 'Plugin: WPForms Lite (v1)',
14
-            'default' => __('Site Reviews (default)', 'site-reviews'),
15
-            'minimal' => __('Site Reviews (minimal)', 'site-reviews'),
16
-            'divi' => 'Theme: Divi (v3)',
17
-            'materialize' => 'Theme: Materialize',
18
-            'twentyfifteen' => 'Theme: Twenty Fifteen',
19
-            'twentyseventeen' => 'Theme: Twenty Seventeen',
20
-            'twentynineteen' => 'Theme: Twenty Nineteen',
21
-        ],
22
-        'type' => 'select',
23
-    ],
24
-    'settings.general.require.approval' => [
25
-        'default' => 'no',
26
-        'description' => __('Set the status of new review submissions to "unapproved".', 'site-reviews'),
27
-        'label' => __('Require Approval', 'site-reviews'),
28
-        'type' => 'yes_no',
29
-    ],
30
-    'settings.general.require.login' => [
31
-        'default' => 'no',
32
-        'description' => __('Only allow review submissions from registered users.', 'site-reviews'),
33
-        'label' => __('Require Login', 'site-reviews'),
34
-        'type' => 'yes_no',
35
-    ],
36
-    'settings.general.require.login_register' => [
37
-        'default' => 'no',
38
-        'depends_on' => [
39
-            'settings.general.require.login' => 'yes',
40
-        ],
41
-        'description' => sprintf(__('Show a link for a new user to register. The %s Membership option must be enabled in General Settings for this to work.', 'site-reviews'),
42
-            '<a href="'.admin_url('options-general.php#users_can_register').'">'.__('Anyone can register', 'site-reviews').'</a>'
43
-        ),
44
-        'label' => __('Show Registration Link', 'site-reviews'),
45
-        'type' => 'yes_no',
46
-    ],
47
-    'settings.general.multilingual' => [
48
-        'default' => '',
49
-        'description' => __('Integrate with a multilingual plugin to calculate ratings for all languages of a post.', 'site-reviews'),
50
-        'label' => __('Multilingual', 'site-reviews'),
51
-        'options' => [
52
-            '' => __('No Integration', 'site-reviews'),
53
-            'polylang' => __('Integrate with Polylang', 'site-reviews'),
54
-            'wpml' => __('Integrate with WPML', 'site-reviews'),
55
-        ],
56
-        'type' => 'select',
57
-    ],
58
-    'settings.general.rebusify' => [
59
-        'default' => 'no',
60
-        'description' => sprintf(__('Integrate with the %s and validate your reviews on the blockchain to increase online reputation, trust, and transparency.', 'site-reviews'),
61
-            '<a href="https://rebusify.com/plans?ref=105" target="_blank">Rebusify Confidence System</a>'
62
-        ),
63
-        'label' => __('Blockchain Validation', 'site-reviews'),
64
-        'type' => 'yes_no',
65
-    ],
66
-    'settings.general.rebusify_email' => [
67
-        'default' => '',
68
-        'depends_on' => [
69
-            'settings.general.rebusify' => ['yes'],
70
-        ],
71
-        'description' => __('Enter your Rebusify account email here.', 'site-reviews'),
72
-        'label' => __('Rebusify Email', 'site-reviews'),
73
-        'type' => 'text',
74
-    ],
75
-    'settings.general.rebusify_serial' => [
76
-        'default' => '',
77
-        'depends_on' => [
78
-            'settings.general.rebusify' => ['yes'],
79
-        ],
80
-        'description' => __('Enter your Rebusify account serial key here.', 'site-reviews'),
81
-        'label' => __('Rebusify Serial Key', 'site-reviews'),
82
-        'type' => 'password',
83
-    ],
84
-    'settings.general.notifications' => [
85
-        'default' => [],
86
-        'label' => __('Notifications', 'site-reviews'),
87
-        'options' => [
88
-            'admin' => __('Send to administrator', 'site-reviews').' <code>'.(string) get_option('admin_email').'</code>',
89
-            'author' => __('Send to author of the page that the review is assigned to', 'site-reviews'),
90
-            'custom' => __('Send to one or more email addresses', 'site-reviews'),
91
-            'slack' => __('Send to <a href="https://slack.com/">Slack</a>', 'site-reviews'),
92
-        ],
93
-        'type' => 'checkbox',
94
-    ],
95
-    'settings.general.notification_email' => [
96
-        'default' => '',
97
-        'depends_on' => [
98
-            'settings.general.notifications' => ['custom'],
99
-        ],
100
-        'label' => __('Send Notification Emails To', 'site-reviews'),
101
-        'placeholder' => __('Separate multiple emails with a comma', 'site-reviews'),
102
-        'type' => 'text',
103
-    ],
104
-    'settings.general.notification_slack' => [
105
-        'default' => '',
106
-        'depends_on' => [
107
-            'settings.general.notifications' => ['slack'],
108
-        ],
109
-        'description' => sprintf(__('To send notifications to Slack, create a new %s and then paste the provided Webhook URL in the field above.', 'site-reviews'),
110
-            '<a href="https://api.slack.com/incoming-webhooks">'.__('Incoming WebHook', 'site-reviews').'</a>'
111
-        ),
112
-        'label' => __('Slack Webhook URL', 'site-reviews'),
113
-        'type' => 'text',
114
-    ],
115
-    'settings.general.notification_message' => [
116
-        'default' => glsr('Modules\Html\Template')->build('templates/email-notification'),
117
-        'depends_on' => [
118
-            'settings.general.notifications' => ['admin', 'author', 'custom', 'slack'],
119
-        ],
120
-        'description' => __(
121
-            'To restore the default text, save an empty template. '.
122
-            'If you are sending notifications to Slack then this template will only be used as a fallback in the event that <a href="https://api.slack.com/docs/attachments">Message Attachments</a> have been disabled. Available template tags:'.
123
-            '<br><code>{review_rating}</code> The review rating number (1-5)'.
124
-            '<br><code>{review_title}</code> The review title'.
125
-            '<br><code>{review_content}</code> The review content'.
126
-            '<br><code>{review_author}</code> The review author'.
127
-            '<br><code>{review_email}</code> The email of the review author'.
128
-            '<br><code>{review_ip}</code> The IP address of the review author'.
129
-            '<br><code>{review_link}</code> The link to edit/view a review',
130
-            'site-reviews'
131
-        ),
132
-        'label' => __('Notification Template', 'site-reviews'),
133
-        'rows' => 10,
134
-        'type' => 'code',
135
-    ],
136
-    'settings.reviews.date.format' => [
137
-        'default' => '',
138
-        'description' => sprintf(__('The default date format is the one set in your %s.', 'site-reviews'),
139
-            '<a href="'.admin_url('options-general.php#date_format_custom').'">'.__('WordPress settings', 'site-reviews').'</a>'
140
-        ),
141
-        'label' => __('Date Format', 'site-reviews'),
142
-        'options' => [
143
-            '' => __('Use the default date format', 'site-reviews'),
144
-            'relative' => __('Use a relative date format', 'site-reviews'),
145
-            'custom' => __('Use a custom date format', 'site-reviews'),
146
-        ],
147
-        'type' => 'select',
148
-    ],
149
-    'settings.reviews.date.custom' => [
150
-        'default' => get_option('date_format'),
151
-        'depends_on' => [
152
-            'settings.reviews.date.format' => 'custom',
153
-        ],
154
-        'description' => __('Enter a custom date format (<a href="https://codex.wordpress.org/Formatting_Date_and_Time">documentation on date and time formatting</a>).', 'site-reviews'),
155
-        'label' => __('Custom Date Format', 'site-reviews'),
156
-        'type' => 'text',
157
-    ],
158
-    'settings.reviews.name.format' => [
159
-        'default' => '',
160
-        'description' => __('Choose how names are shown in your reviews.', 'site-reviews'),
161
-        'label' => __('Name Format', 'site-reviews'),
162
-        'options' => [
163
-            '' => __('Use the name as given', 'site-reviews'),
164
-            'first' => __('Use the first name only', 'site-reviews'),
165
-            'first_initial' => __('Convert first name to an initial', 'site-reviews'),
166
-            'last_initial' => __('Convert last name to an initial', 'site-reviews'),
167
-            'initials' => __('Convert to all initials', 'site-reviews'),
168
-        ],
169
-        'type' => 'select',
170
-    ],
171
-    'settings.reviews.name.initial' => [
172
-        'default' => '',
173
-        'depends_on' => [
174
-            'settings.reviews.name.format' => ['first_initial', 'last_initial', 'initials'],
175
-        ],
176
-        'description' => __('Choose how the initial is displayed.', 'site-reviews'),
177
-        'label' => __('Initial Format', 'site-reviews'),
178
-        'options' => [
179
-            '' => __('Initial with a space', 'site-reviews'),
180
-            'period' => __('Initial with a period', 'site-reviews'),
181
-            'period_space' => __('Initial with a period and a space', 'site-reviews'),
182
-        ],
183
-        'type' => 'select',
184
-    ],
185
-    'settings.reviews.assigned_links' => [
186
-        'default' => 'no',
187
-        'description' => __('Display a link to the assigned post of a review.', 'site-reviews'),
188
-        'label' => __('Enable Assigned Links', 'site-reviews'),
189
-        'type' => 'yes_no',
190
-    ],
191
-    'settings.reviews.avatars' => [
192
-        'default' => 'no',
193
-        'description' => __('Display reviewer avatars. These are generated from the email address of the reviewer using <a href="https://gravatar.com">Gravatar</a>.', 'site-reviews'),
194
-        'label' => __('Enable Avatars', 'site-reviews'),
195
-        'type' => 'yes_no',
196
-    ],
197
-    'settings.reviews.avatars_regenerate' => [
198
-        'default' => 'no',
199
-        'depends_on' => [
200
-            'settings.reviews.avatars' => 'yes',
201
-        ],
202
-        'description' => __('Regenerate the avatar whenever a local review is shown?', 'site-reviews'),
203
-        'label' => __('Regenerate Avatars', 'site-reviews'),
204
-        'type' => 'yes_no',
205
-    ],
206
-    'settings.reviews.avatars_size' => [
207
-        'default' => 40,
208
-        'depends_on' => [
209
-            'settings.reviews.avatars' => 'yes',
210
-        ],
211
-        'description' => __('Set the avatar size in pixels.', 'site-reviews'),
212
-        'label' => __('Avatar Size', 'site-reviews'),
213
-        'type' => 'number',
214
-    ],
215
-    'settings.reviews.excerpts' => [
216
-        'default' => 'yes',
217
-        'description' => __('Display an excerpt instead of the full review.', 'site-reviews'),
218
-        'label' => __('Enable Excerpts', 'site-reviews'),
219
-        'type' => 'yes_no',
220
-    ],
221
-    'settings.reviews.excerpts_length' => [
222
-        'default' => 55,
223
-        'depends_on' => [
224
-            'settings.reviews.excerpts' => 'yes',
225
-        ],
226
-        'description' => __('Set the excerpt word length.', 'site-reviews'),
227
-        'label' => __('Excerpt Length', 'site-reviews'),
228
-        'type' => 'number',
229
-    ],
230
-    'settings.reviews.fallback' => [
231
-        'default' => 'yes',
232
-        'description' => sprintf(__('Display the fallback text when there are no reviews to display. This can be changed on the %s page. You may also override this by using the "fallback" option on the shortcode. The default fallback text is: %s', 'site-reviews'),
233
-            '<a href="'.admin_url('edit.php?post_type='.glsr()->post_type.'&page=settings#!translations').'">'.__('Translations', 'site-reviews').'</a>',
234
-            '<code>'.__('There are no reviews yet. Be the first one to write one.', 'site-reviews').'</code>'
235
-        ),
236
-        'label' => __('Enable Fallback Text', 'site-reviews'),
237
-        'type' => 'yes_no',
238
-    ],
239
-    'settings.schema.type.default' => [
240
-        'default' => 'LocalBusiness',
241
-        'description' => __('Custom Field name', 'site-reviews').': <code>schema_type</code>',
242
-        'label' => __('Default Schema Type', 'site-reviews'),
243
-        'options' => [
244
-            'LocalBusiness' => __('Local Business', 'site-reviews'),
245
-            'Product' => __('Product', 'site-reviews'),
246
-            'custom' => __('Custom', 'site-reviews'),
247
-        ],
248
-        'type' => 'select',
249
-    ],
250
-    'settings.schema.type.custom' => [
251
-        'default' => '',
252
-        'depends_on' => [
253
-            'settings.schema.type.default' => 'custom',
254
-        ],
255
-        'description' => '<a href="https://schema.org/docs/schemas.html">'.__('View more information on schema types here', 'site-reviews').'</a>',
256
-        'label' => __('Custom Schema Type', 'site-reviews'),
257
-        'type' => 'text',
258
-    ],
259
-    'settings.schema.name.default' => [
260
-        'default' => 'post',
261
-        'description' => __('Custom Field name', 'site-reviews').': <code>schema_name</code>',
262
-        'label' => __('Default Name', 'site-reviews'),
263
-        'options' => [
264
-            'post' => __('Use the assigned or current page title', 'site-reviews'),
265
-            'custom' => __('Enter a custom title', 'site-reviews'),
266
-        ],
267
-        'type' => 'select',
268
-    ],
269
-    'settings.schema.name.custom' => [
270
-        'default' => '',
271
-        'depends_on' => [
272
-            'settings.schema.name.default' => 'custom',
273
-        ],
274
-        'label' => __('Custom Name', 'site-reviews'),
275
-        'type' => 'text',
276
-    ],
277
-    'settings.schema.description.default' => [
278
-        'default' => 'post',
279
-        'description' => __('Custom Field name', 'site-reviews').': <code>schema_description</code>',
280
-        'label' => __('Default Description', 'site-reviews'),
281
-        'options' => [
282
-            'post' => __('Use the assigned or current page excerpt', 'site-reviews'),
283
-            'custom' => __('Enter a custom description', 'site-reviews'),
284
-        ],
285
-        'type' => 'select',
286
-    ],
287
-    'settings.schema.description.custom' => [
288
-        'default' => '',
289
-        'depends_on' => [
290
-            'settings.schema.description.default' => 'custom',
291
-        ],
292
-        'label' => __('Custom Description', 'site-reviews'),
293
-        'type' => 'text',
294
-    ],
295
-    'settings.schema.url.default' => [
296
-        'default' => 'post',
297
-        'description' => __('Custom Field name', 'site-reviews').': <code>schema_url</code>',
298
-        'label' => __('Default URL', 'site-reviews'),
299
-        'options' => [
300
-            'post' => __('Use the assigned or current page URL', 'site-reviews'),
301
-            'custom' => __('Enter a custom URL', 'site-reviews'),
302
-        ],
303
-        'type' => 'select',
304
-    ],
305
-    'settings.schema.url.custom' => [
306
-        'default' => '',
307
-        'depends_on' => [
308
-            'settings.schema.url.default' => 'custom',
309
-        ],
310
-        'label' => __('Custom URL', 'site-reviews'),
311
-        'type' => 'text',
312
-    ],
313
-    'settings.schema.image.default' => [
314
-        'default' => 'post',
315
-        'description' => __('Custom Field name', 'site-reviews').': <code>schema_image</code>',
316
-        'label' => __('Default Image', 'site-reviews'),
317
-        'options' => [
318
-            'post' => __('Use the featured image of the assigned or current page', 'site-reviews'),
319
-            'custom' => __('Enter a custom image URL', 'site-reviews'),
320
-        ],
321
-        'type' => 'select',
322
-    ],
323
-    'settings.schema.image.custom' => [
324
-        'default' => '',
325
-        'depends_on' => [
326
-            'settings.schema.image.default' => 'custom',
327
-        ],
328
-        'label' => __('Custom Image URL', 'site-reviews'),
329
-        'type' => 'text',
330
-    ],
331
-    'settings.schema.address' => [
332
-        'default' => '',
333
-        'depends_on' => [
334
-            'settings.schema.type.default' => 'LocalBusiness',
335
-        ],
336
-        'description' => __('Custom Field name', 'site-reviews').': <code>schema_address</code>',
337
-        'label' => __('Address', 'site-reviews'),
338
-        'placeholder' => '60 29th Street #343, San Francisco, CA 94110, US',
339
-        'type' => 'text',
340
-    ],
341
-    'settings.schema.telephone' => [
342
-        'default' => '',
343
-        'depends_on' => [
344
-            'settings.schema.type.default' => 'LocalBusiness',
345
-        ],
346
-        'description' => __('Custom Field name', 'site-reviews').': <code>schema_telephone</code>',
347
-        'label' => __('Telephone Number', 'site-reviews'),
348
-        'placeholder' => '+1 (877) 273-3049',
349
-        'type' => 'text',
350
-    ],
351
-    'settings.schema.pricerange' => [
352
-        'default' => '',
353
-        'depends_on' => [
354
-            'settings.schema.type.default' => 'LocalBusiness',
355
-        ],
356
-        'description' => __('Custom Field name', 'site-reviews').': <code>schema_pricerange</code>',
357
-        'label' => __('Price Range', 'site-reviews'),
358
-        'placeholder' => '$$-$$$',
359
-        'type' => 'text',
360
-    ],
361
-    'settings.schema.offertype' => [
362
-        'default' => 'AggregateOffer',
363
-        'depends_on' => [
364
-            'settings.schema.type.default' => 'Product',
365
-        ],
366
-        'description' => __('Custom Field name', 'site-reviews').': <code>schema_offertype</code>',
367
-        'label' => __('Offer Type', 'site-reviews'),
368
-        'options' => [
369
-            'AggregateOffer' => __('AggregateOffer', 'site-reviews'),
370
-            'Offer' => __('Offer', 'site-reviews'),
371
-        ],
372
-        'type' => 'select',
373
-    ],
374
-    'settings.schema.price' => [
375
-        'default' => '',
376
-        'depends_on' => [
377
-            'settings.schema.type.default' => 'Product',
378
-            'settings.schema.offertype' => 'Offer',
379
-        ],
380
-        'description' => __('Custom Field name', 'site-reviews').': <code>schema_price</code>',
381
-        'label' => __('Price', 'site-reviews'),
382
-        'placeholder' => '50.00',
383
-        'type' => 'text',
384
-    ],
385
-    'settings.schema.lowprice' => [
386
-        'default' => '',
387
-        'depends_on' => [
388
-            'settings.schema.type.default' => 'Product',
389
-            'settings.schema.offertype' => 'AggregateOffer',
390
-        ],
391
-        'description' => __('Custom Field name', 'site-reviews').': <code>schema_lowprice</code>',
392
-        'label' => __('Low Price', 'site-reviews'),
393
-        'placeholder' => '10.00',
394
-        'type' => 'text',
395
-    ],
396
-    'settings.schema.highprice' => [
397
-        'default' => '',
398
-        'depends_on' => [
399
-            'settings.schema.type.default' => 'Product',
400
-            'settings.schema.offertype' => 'AggregateOffer',
401
-        ],
402
-        'description' => __('Custom Field name', 'site-reviews').': <code>schema_highprice</code>',
403
-        'label' => __('High Price', 'site-reviews'),
404
-        'placeholder' => '100.00',
405
-        'type' => 'text',
406
-    ],
407
-    'settings.schema.pricecurrency' => [
408
-        'default' => '',
409
-        'depends_on' => [
410
-            'settings.schema.type.default' => 'Product',
411
-        ],
412
-        'description' => __('Custom Field name', 'site-reviews').': <code>schema_pricecurrency</code>',
413
-        'label' => __('Price Currency', 'site-reviews'),
414
-        'placeholder' => 'USD',
415
-        'type' => 'text',
416
-    ],
417
-    'settings.submissions.required' => [
418
-        'default' => ['content', 'email', 'name', 'rating', 'terms', 'title'],
419
-        'description' => __('Choose which fields should be required in the submission form.', 'site-reviews'),
420
-        'label' => __('Required Fields', 'site-reviews'),
421
-        'options' => [
422
-            'rating' => __('Rating', 'site-reviews'),
423
-            'title' => __('Title', 'site-reviews'),
424
-            'content' => __('Review', 'site-reviews'),
425
-            'name' => __('Name', 'site-reviews'),
426
-            'email' => __('Email', 'site-reviews'),
427
-            'terms' => __('Terms', 'site-reviews'),
428
-        ],
429
-        'type' => 'checkbox',
430
-    ],
431
-    'settings.submissions.limit' => [
432
-        'default' => '',
433
-        'description' => __('Limits the number of reviews that can be submitted to one-per-person. If you are assigning reviews, then the limit will be applied to the assigned page or category.', 'site-reviews'),
434
-        'label' => __('Limit Reviews', 'site-reviews'),
435
-        'options' => [
436
-            '' => __('No Limit', 'site-reviews'),
437
-            'email' => __('By Email Address', 'site-reviews'),
438
-            'ip_address' => __('By IP Address', 'site-reviews'),
439
-            'username' => __('By Username (will only work for registered users)', 'site-reviews'),
440
-        ],
441
-        'type' => 'select',
442
-    ],
443
-    'settings.submissions.limit_whitelist.email' => [
444
-        'default' => '',
445
-        'depends_on' => [
446
-            'settings.submissions.limit' => ['email'],
447
-        ],
448
-        'description' => __('One Email per line. All emails in the whitelist will be excluded from the review submission limit.', 'site-reviews'),
449
-        'label' => __('Email Whitelist', 'site-reviews'),
450
-        'rows' => 5,
451
-        'type' => 'code',
452
-    ],
453
-    'settings.submissions.limit_whitelist.ip_address' => [
454
-        'default' => '',
455
-        'depends_on' => [
456
-            'settings.submissions.limit' => ['ip_address'],
457
-        ],
458
-        'description' => __('One IP Address per line. All IP Addresses in the whitelist will be excluded from the review submission limit..', 'site-reviews'),
459
-        'label' => __('IP Address Whitelist', 'site-reviews'),
460
-        'rows' => 5,
461
-        'type' => 'code',
462
-    ],
463
-    'settings.submissions.limit_whitelist.username' => [
464
-        'default' => '',
465
-        'depends_on' => [
466
-            'settings.submissions.limit' => ['username'],
467
-        ],
468
-        'description' => __('One Username per line. All registered users with a Username in the whitelist will be excluded from the review submission limit.', 'site-reviews'),
469
-        'label' => __('Username Whitelist', 'site-reviews'),
470
-        'rows' => 5,
471
-        'type' => 'code',
472
-    ],
473
-    'settings.submissions.recaptcha.integration' => [
474
-        'default' => '',
475
-        'description' => __('Invisible reCAPTCHA is a free anti-spam service from Google. To use it, you will need to <a href="https://www.google.com/recaptcha/admin" target="_blank">sign up</a> for an API key pair for your site.', 'site-reviews'),
476
-        'label' => __('Invisible reCAPTCHA', 'site-reviews'),
477
-        'options' => [
478
-            '' => 'Do not use reCAPTCHA',
479
-            'all' => 'Use reCAPTCHA',
480
-            'guest' => 'Use reCAPTCHA only for guest users',
481
-        ],
482
-        'type' => 'select',
483
-    ],
484
-    'settings.submissions.recaptcha.key' => [
485
-        'default' => '',
486
-        'depends_on' => [
487
-            'settings.submissions.recaptcha.integration' => ['all', 'guest'],
488
-        ],
489
-        'label' => __('Site Key', 'site-reviews'),
490
-        'type' => 'text',
491
-    ],
492
-    'settings.submissions.recaptcha.secret' => [
493
-        'default' => '',
494
-        'depends_on' => [
495
-            'settings.submissions.recaptcha.integration' => ['all', 'guest'],
496
-        ],
497
-        'label' => __('Site Secret', 'site-reviews'),
498
-        'type' => 'text',
499
-    ],
500
-    'settings.submissions.recaptcha.position' => [
501
-        'default' => 'bottomleft',
502
-        'depends_on' => [
503
-            'settings.submissions.recaptcha.integration' => ['all', 'guest'],
504
-        ],
505
-        'description' => __('This option may not work consistently if another plugin is loading reCAPTCHA on the same page as Site Reviews.', 'site-reviews'),
506
-        'label' => __('Badge Position', 'site-reviews'),
507
-        'options' => [
508
-            'bottomleft' => 'Bottom Left',
509
-            'bottomright' => 'Bottom Right',
510
-            'inline' => 'Inline',
511
-        ],
512
-        'type' => 'select',
513
-    ],
514
-    'settings.submissions.akismet' => [
515
-        'default' => 'no',
516
-        'description' => __('The <a href="https://akismet.com" target="_blank">Akismet plugin</a> integration provides spam-filtering for your reviews. In order for this setting to have any affect, you will need to first install and activate the Akismet plugin and set up a WordPress.com API key.', 'site-reviews'),
517
-        'label' => __('Enable Akismet Integration', 'site-reviews'),
518
-        'type' => 'yes_no',
519
-    ],
520
-    'settings.submissions.blacklist.integration' => [
521
-        'default' => '',
522
-        'description' => sprintf(__('Choose which Blacklist you would prefer to use for reviews. The %s can be found in the WordPress Discussion Settings page.', 'site-reviews'),
523
-            '<a href="'.admin_url('options-discussion.php#users_can_register').'">'.__('Comment Blacklist', 'site-reviews').'</a>'
524
-        ),
525
-        'label' => __('Blacklist', 'site-reviews'),
526
-        'options' => [
527
-            '' => 'Use the Site Reviews Blacklist',
528
-            'comments' => 'Use the WordPress Comment Blacklist',
529
-        ],
530
-        'type' => 'select',
531
-    ],
532
-    'settings.submissions.blacklist.entries' => [
533
-        'default' => '',
534
-        'depends_on' => [
535
-            'settings.submissions.blacklist.integration' => [''],
536
-        ],
537
-        'description' => __('One entry or IP address per line. When a review contains any of these entries in its title, content, name, email, or IP address, it will be rejected. It is case-insensitive and will match partial words, so "press" will match "WordPress".', 'site-reviews'),
538
-        'label' => __('Review Blacklist', 'site-reviews'),
539
-        'rows' => 10,
540
-        'type' => 'code',
541
-    ],
542
-    'settings.submissions.blacklist.action' => [
543
-        'default' => 'unapprove',
544
-        'description' => __('Choose the action that should be taken when a review is blacklisted.', 'site-reviews'),
545
-        'label' => __('Blacklist Action', 'site-reviews'),
546
-        'options' => [
547
-            'unapprove' => __('Require approval', 'site-reviews'),
548
-            'reject' => __('Reject submission', 'site-reviews'),
549
-        ],
550
-        'type' => 'select',
551
-    ],
4
+	'settings.general.style' => [
5
+		'default' => 'default',
6
+		'description' => __('Site Reviews relies on the CSS of your theme to style the submission form. If your theme does not provide proper CSS rules for form elements and you are using a WordPress plugin/theme or CSS Framework listed here, please try selecting it, otherwise choose "Site Reviews (default)".', 'site-reviews'),
7
+		'label' => __('Plugin Style', 'site-reviews'),
8
+		'options' => [
9
+			'bootstrap_4' => 'CSS Framework: Bootstrap 4',
10
+			'bootstrap_4_custom' => 'CSS Framework: Bootstrap 4 (Custom Forms)',
11
+			'contact_form_7' => 'Plugin: Contact Form 7 (v5)',
12
+			'ninja_forms' => 'Plugin: Ninja Forms (v3)',
13
+			'wpforms' => 'Plugin: WPForms Lite (v1)',
14
+			'default' => __('Site Reviews (default)', 'site-reviews'),
15
+			'minimal' => __('Site Reviews (minimal)', 'site-reviews'),
16
+			'divi' => 'Theme: Divi (v3)',
17
+			'materialize' => 'Theme: Materialize',
18
+			'twentyfifteen' => 'Theme: Twenty Fifteen',
19
+			'twentyseventeen' => 'Theme: Twenty Seventeen',
20
+			'twentynineteen' => 'Theme: Twenty Nineteen',
21
+		],
22
+		'type' => 'select',
23
+	],
24
+	'settings.general.require.approval' => [
25
+		'default' => 'no',
26
+		'description' => __('Set the status of new review submissions to "unapproved".', 'site-reviews'),
27
+		'label' => __('Require Approval', 'site-reviews'),
28
+		'type' => 'yes_no',
29
+	],
30
+	'settings.general.require.login' => [
31
+		'default' => 'no',
32
+		'description' => __('Only allow review submissions from registered users.', 'site-reviews'),
33
+		'label' => __('Require Login', 'site-reviews'),
34
+		'type' => 'yes_no',
35
+	],
36
+	'settings.general.require.login_register' => [
37
+		'default' => 'no',
38
+		'depends_on' => [
39
+			'settings.general.require.login' => 'yes',
40
+		],
41
+		'description' => sprintf(__('Show a link for a new user to register. The %s Membership option must be enabled in General Settings for this to work.', 'site-reviews'),
42
+			'<a href="'.admin_url('options-general.php#users_can_register').'">'.__('Anyone can register', 'site-reviews').'</a>'
43
+		),
44
+		'label' => __('Show Registration Link', 'site-reviews'),
45
+		'type' => 'yes_no',
46
+	],
47
+	'settings.general.multilingual' => [
48
+		'default' => '',
49
+		'description' => __('Integrate with a multilingual plugin to calculate ratings for all languages of a post.', 'site-reviews'),
50
+		'label' => __('Multilingual', 'site-reviews'),
51
+		'options' => [
52
+			'' => __('No Integration', 'site-reviews'),
53
+			'polylang' => __('Integrate with Polylang', 'site-reviews'),
54
+			'wpml' => __('Integrate with WPML', 'site-reviews'),
55
+		],
56
+		'type' => 'select',
57
+	],
58
+	'settings.general.rebusify' => [
59
+		'default' => 'no',
60
+		'description' => sprintf(__('Integrate with the %s and validate your reviews on the blockchain to increase online reputation, trust, and transparency.', 'site-reviews'),
61
+			'<a href="https://rebusify.com/plans?ref=105" target="_blank">Rebusify Confidence System</a>'
62
+		),
63
+		'label' => __('Blockchain Validation', 'site-reviews'),
64
+		'type' => 'yes_no',
65
+	],
66
+	'settings.general.rebusify_email' => [
67
+		'default' => '',
68
+		'depends_on' => [
69
+			'settings.general.rebusify' => ['yes'],
70
+		],
71
+		'description' => __('Enter your Rebusify account email here.', 'site-reviews'),
72
+		'label' => __('Rebusify Email', 'site-reviews'),
73
+		'type' => 'text',
74
+	],
75
+	'settings.general.rebusify_serial' => [
76
+		'default' => '',
77
+		'depends_on' => [
78
+			'settings.general.rebusify' => ['yes'],
79
+		],
80
+		'description' => __('Enter your Rebusify account serial key here.', 'site-reviews'),
81
+		'label' => __('Rebusify Serial Key', 'site-reviews'),
82
+		'type' => 'password',
83
+	],
84
+	'settings.general.notifications' => [
85
+		'default' => [],
86
+		'label' => __('Notifications', 'site-reviews'),
87
+		'options' => [
88
+			'admin' => __('Send to administrator', 'site-reviews').' <code>'.(string) get_option('admin_email').'</code>',
89
+			'author' => __('Send to author of the page that the review is assigned to', 'site-reviews'),
90
+			'custom' => __('Send to one or more email addresses', 'site-reviews'),
91
+			'slack' => __('Send to <a href="https://slack.com/">Slack</a>', 'site-reviews'),
92
+		],
93
+		'type' => 'checkbox',
94
+	],
95
+	'settings.general.notification_email' => [
96
+		'default' => '',
97
+		'depends_on' => [
98
+			'settings.general.notifications' => ['custom'],
99
+		],
100
+		'label' => __('Send Notification Emails To', 'site-reviews'),
101
+		'placeholder' => __('Separate multiple emails with a comma', 'site-reviews'),
102
+		'type' => 'text',
103
+	],
104
+	'settings.general.notification_slack' => [
105
+		'default' => '',
106
+		'depends_on' => [
107
+			'settings.general.notifications' => ['slack'],
108
+		],
109
+		'description' => sprintf(__('To send notifications to Slack, create a new %s and then paste the provided Webhook URL in the field above.', 'site-reviews'),
110
+			'<a href="https://api.slack.com/incoming-webhooks">'.__('Incoming WebHook', 'site-reviews').'</a>'
111
+		),
112
+		'label' => __('Slack Webhook URL', 'site-reviews'),
113
+		'type' => 'text',
114
+	],
115
+	'settings.general.notification_message' => [
116
+		'default' => glsr('Modules\Html\Template')->build('templates/email-notification'),
117
+		'depends_on' => [
118
+			'settings.general.notifications' => ['admin', 'author', 'custom', 'slack'],
119
+		],
120
+		'description' => __(
121
+			'To restore the default text, save an empty template. '.
122
+			'If you are sending notifications to Slack then this template will only be used as a fallback in the event that <a href="https://api.slack.com/docs/attachments">Message Attachments</a> have been disabled. Available template tags:'.
123
+			'<br><code>{review_rating}</code> The review rating number (1-5)'.
124
+			'<br><code>{review_title}</code> The review title'.
125
+			'<br><code>{review_content}</code> The review content'.
126
+			'<br><code>{review_author}</code> The review author'.
127
+			'<br><code>{review_email}</code> The email of the review author'.
128
+			'<br><code>{review_ip}</code> The IP address of the review author'.
129
+			'<br><code>{review_link}</code> The link to edit/view a review',
130
+			'site-reviews'
131
+		),
132
+		'label' => __('Notification Template', 'site-reviews'),
133
+		'rows' => 10,
134
+		'type' => 'code',
135
+	],
136
+	'settings.reviews.date.format' => [
137
+		'default' => '',
138
+		'description' => sprintf(__('The default date format is the one set in your %s.', 'site-reviews'),
139
+			'<a href="'.admin_url('options-general.php#date_format_custom').'">'.__('WordPress settings', 'site-reviews').'</a>'
140
+		),
141
+		'label' => __('Date Format', 'site-reviews'),
142
+		'options' => [
143
+			'' => __('Use the default date format', 'site-reviews'),
144
+			'relative' => __('Use a relative date format', 'site-reviews'),
145
+			'custom' => __('Use a custom date format', 'site-reviews'),
146
+		],
147
+		'type' => 'select',
148
+	],
149
+	'settings.reviews.date.custom' => [
150
+		'default' => get_option('date_format'),
151
+		'depends_on' => [
152
+			'settings.reviews.date.format' => 'custom',
153
+		],
154
+		'description' => __('Enter a custom date format (<a href="https://codex.wordpress.org/Formatting_Date_and_Time">documentation on date and time formatting</a>).', 'site-reviews'),
155
+		'label' => __('Custom Date Format', 'site-reviews'),
156
+		'type' => 'text',
157
+	],
158
+	'settings.reviews.name.format' => [
159
+		'default' => '',
160
+		'description' => __('Choose how names are shown in your reviews.', 'site-reviews'),
161
+		'label' => __('Name Format', 'site-reviews'),
162
+		'options' => [
163
+			'' => __('Use the name as given', 'site-reviews'),
164
+			'first' => __('Use the first name only', 'site-reviews'),
165
+			'first_initial' => __('Convert first name to an initial', 'site-reviews'),
166
+			'last_initial' => __('Convert last name to an initial', 'site-reviews'),
167
+			'initials' => __('Convert to all initials', 'site-reviews'),
168
+		],
169
+		'type' => 'select',
170
+	],
171
+	'settings.reviews.name.initial' => [
172
+		'default' => '',
173
+		'depends_on' => [
174
+			'settings.reviews.name.format' => ['first_initial', 'last_initial', 'initials'],
175
+		],
176
+		'description' => __('Choose how the initial is displayed.', 'site-reviews'),
177
+		'label' => __('Initial Format', 'site-reviews'),
178
+		'options' => [
179
+			'' => __('Initial with a space', 'site-reviews'),
180
+			'period' => __('Initial with a period', 'site-reviews'),
181
+			'period_space' => __('Initial with a period and a space', 'site-reviews'),
182
+		],
183
+		'type' => 'select',
184
+	],
185
+	'settings.reviews.assigned_links' => [
186
+		'default' => 'no',
187
+		'description' => __('Display a link to the assigned post of a review.', 'site-reviews'),
188
+		'label' => __('Enable Assigned Links', 'site-reviews'),
189
+		'type' => 'yes_no',
190
+	],
191
+	'settings.reviews.avatars' => [
192
+		'default' => 'no',
193
+		'description' => __('Display reviewer avatars. These are generated from the email address of the reviewer using <a href="https://gravatar.com">Gravatar</a>.', 'site-reviews'),
194
+		'label' => __('Enable Avatars', 'site-reviews'),
195
+		'type' => 'yes_no',
196
+	],
197
+	'settings.reviews.avatars_regenerate' => [
198
+		'default' => 'no',
199
+		'depends_on' => [
200
+			'settings.reviews.avatars' => 'yes',
201
+		],
202
+		'description' => __('Regenerate the avatar whenever a local review is shown?', 'site-reviews'),
203
+		'label' => __('Regenerate Avatars', 'site-reviews'),
204
+		'type' => 'yes_no',
205
+	],
206
+	'settings.reviews.avatars_size' => [
207
+		'default' => 40,
208
+		'depends_on' => [
209
+			'settings.reviews.avatars' => 'yes',
210
+		],
211
+		'description' => __('Set the avatar size in pixels.', 'site-reviews'),
212
+		'label' => __('Avatar Size', 'site-reviews'),
213
+		'type' => 'number',
214
+	],
215
+	'settings.reviews.excerpts' => [
216
+		'default' => 'yes',
217
+		'description' => __('Display an excerpt instead of the full review.', 'site-reviews'),
218
+		'label' => __('Enable Excerpts', 'site-reviews'),
219
+		'type' => 'yes_no',
220
+	],
221
+	'settings.reviews.excerpts_length' => [
222
+		'default' => 55,
223
+		'depends_on' => [
224
+			'settings.reviews.excerpts' => 'yes',
225
+		],
226
+		'description' => __('Set the excerpt word length.', 'site-reviews'),
227
+		'label' => __('Excerpt Length', 'site-reviews'),
228
+		'type' => 'number',
229
+	],
230
+	'settings.reviews.fallback' => [
231
+		'default' => 'yes',
232
+		'description' => sprintf(__('Display the fallback text when there are no reviews to display. This can be changed on the %s page. You may also override this by using the "fallback" option on the shortcode. The default fallback text is: %s', 'site-reviews'),
233
+			'<a href="'.admin_url('edit.php?post_type='.glsr()->post_type.'&page=settings#!translations').'">'.__('Translations', 'site-reviews').'</a>',
234
+			'<code>'.__('There are no reviews yet. Be the first one to write one.', 'site-reviews').'</code>'
235
+		),
236
+		'label' => __('Enable Fallback Text', 'site-reviews'),
237
+		'type' => 'yes_no',
238
+	],
239
+	'settings.schema.type.default' => [
240
+		'default' => 'LocalBusiness',
241
+		'description' => __('Custom Field name', 'site-reviews').': <code>schema_type</code>',
242
+		'label' => __('Default Schema Type', 'site-reviews'),
243
+		'options' => [
244
+			'LocalBusiness' => __('Local Business', 'site-reviews'),
245
+			'Product' => __('Product', 'site-reviews'),
246
+			'custom' => __('Custom', 'site-reviews'),
247
+		],
248
+		'type' => 'select',
249
+	],
250
+	'settings.schema.type.custom' => [
251
+		'default' => '',
252
+		'depends_on' => [
253
+			'settings.schema.type.default' => 'custom',
254
+		],
255
+		'description' => '<a href="https://schema.org/docs/schemas.html">'.__('View more information on schema types here', 'site-reviews').'</a>',
256
+		'label' => __('Custom Schema Type', 'site-reviews'),
257
+		'type' => 'text',
258
+	],
259
+	'settings.schema.name.default' => [
260
+		'default' => 'post',
261
+		'description' => __('Custom Field name', 'site-reviews').': <code>schema_name</code>',
262
+		'label' => __('Default Name', 'site-reviews'),
263
+		'options' => [
264
+			'post' => __('Use the assigned or current page title', 'site-reviews'),
265
+			'custom' => __('Enter a custom title', 'site-reviews'),
266
+		],
267
+		'type' => 'select',
268
+	],
269
+	'settings.schema.name.custom' => [
270
+		'default' => '',
271
+		'depends_on' => [
272
+			'settings.schema.name.default' => 'custom',
273
+		],
274
+		'label' => __('Custom Name', 'site-reviews'),
275
+		'type' => 'text',
276
+	],
277
+	'settings.schema.description.default' => [
278
+		'default' => 'post',
279
+		'description' => __('Custom Field name', 'site-reviews').': <code>schema_description</code>',
280
+		'label' => __('Default Description', 'site-reviews'),
281
+		'options' => [
282
+			'post' => __('Use the assigned or current page excerpt', 'site-reviews'),
283
+			'custom' => __('Enter a custom description', 'site-reviews'),
284
+		],
285
+		'type' => 'select',
286
+	],
287
+	'settings.schema.description.custom' => [
288
+		'default' => '',
289
+		'depends_on' => [
290
+			'settings.schema.description.default' => 'custom',
291
+		],
292
+		'label' => __('Custom Description', 'site-reviews'),
293
+		'type' => 'text',
294
+	],
295
+	'settings.schema.url.default' => [
296
+		'default' => 'post',
297
+		'description' => __('Custom Field name', 'site-reviews').': <code>schema_url</code>',
298
+		'label' => __('Default URL', 'site-reviews'),
299
+		'options' => [
300
+			'post' => __('Use the assigned or current page URL', 'site-reviews'),
301
+			'custom' => __('Enter a custom URL', 'site-reviews'),
302
+		],
303
+		'type' => 'select',
304
+	],
305
+	'settings.schema.url.custom' => [
306
+		'default' => '',
307
+		'depends_on' => [
308
+			'settings.schema.url.default' => 'custom',
309
+		],
310
+		'label' => __('Custom URL', 'site-reviews'),
311
+		'type' => 'text',
312
+	],
313
+	'settings.schema.image.default' => [
314
+		'default' => 'post',
315
+		'description' => __('Custom Field name', 'site-reviews').': <code>schema_image</code>',
316
+		'label' => __('Default Image', 'site-reviews'),
317
+		'options' => [
318
+			'post' => __('Use the featured image of the assigned or current page', 'site-reviews'),
319
+			'custom' => __('Enter a custom image URL', 'site-reviews'),
320
+		],
321
+		'type' => 'select',
322
+	],
323
+	'settings.schema.image.custom' => [
324
+		'default' => '',
325
+		'depends_on' => [
326
+			'settings.schema.image.default' => 'custom',
327
+		],
328
+		'label' => __('Custom Image URL', 'site-reviews'),
329
+		'type' => 'text',
330
+	],
331
+	'settings.schema.address' => [
332
+		'default' => '',
333
+		'depends_on' => [
334
+			'settings.schema.type.default' => 'LocalBusiness',
335
+		],
336
+		'description' => __('Custom Field name', 'site-reviews').': <code>schema_address</code>',
337
+		'label' => __('Address', 'site-reviews'),
338
+		'placeholder' => '60 29th Street #343, San Francisco, CA 94110, US',
339
+		'type' => 'text',
340
+	],
341
+	'settings.schema.telephone' => [
342
+		'default' => '',
343
+		'depends_on' => [
344
+			'settings.schema.type.default' => 'LocalBusiness',
345
+		],
346
+		'description' => __('Custom Field name', 'site-reviews').': <code>schema_telephone</code>',
347
+		'label' => __('Telephone Number', 'site-reviews'),
348
+		'placeholder' => '+1 (877) 273-3049',
349
+		'type' => 'text',
350
+	],
351
+	'settings.schema.pricerange' => [
352
+		'default' => '',
353
+		'depends_on' => [
354
+			'settings.schema.type.default' => 'LocalBusiness',
355
+		],
356
+		'description' => __('Custom Field name', 'site-reviews').': <code>schema_pricerange</code>',
357
+		'label' => __('Price Range', 'site-reviews'),
358
+		'placeholder' => '$$-$$$',
359
+		'type' => 'text',
360
+	],
361
+	'settings.schema.offertype' => [
362
+		'default' => 'AggregateOffer',
363
+		'depends_on' => [
364
+			'settings.schema.type.default' => 'Product',
365
+		],
366
+		'description' => __('Custom Field name', 'site-reviews').': <code>schema_offertype</code>',
367
+		'label' => __('Offer Type', 'site-reviews'),
368
+		'options' => [
369
+			'AggregateOffer' => __('AggregateOffer', 'site-reviews'),
370
+			'Offer' => __('Offer', 'site-reviews'),
371
+		],
372
+		'type' => 'select',
373
+	],
374
+	'settings.schema.price' => [
375
+		'default' => '',
376
+		'depends_on' => [
377
+			'settings.schema.type.default' => 'Product',
378
+			'settings.schema.offertype' => 'Offer',
379
+		],
380
+		'description' => __('Custom Field name', 'site-reviews').': <code>schema_price</code>',
381
+		'label' => __('Price', 'site-reviews'),
382
+		'placeholder' => '50.00',
383
+		'type' => 'text',
384
+	],
385
+	'settings.schema.lowprice' => [
386
+		'default' => '',
387
+		'depends_on' => [
388
+			'settings.schema.type.default' => 'Product',
389
+			'settings.schema.offertype' => 'AggregateOffer',
390
+		],
391
+		'description' => __('Custom Field name', 'site-reviews').': <code>schema_lowprice</code>',
392
+		'label' => __('Low Price', 'site-reviews'),
393
+		'placeholder' => '10.00',
394
+		'type' => 'text',
395
+	],
396
+	'settings.schema.highprice' => [
397
+		'default' => '',
398
+		'depends_on' => [
399
+			'settings.schema.type.default' => 'Product',
400
+			'settings.schema.offertype' => 'AggregateOffer',
401
+		],
402
+		'description' => __('Custom Field name', 'site-reviews').': <code>schema_highprice</code>',
403
+		'label' => __('High Price', 'site-reviews'),
404
+		'placeholder' => '100.00',
405
+		'type' => 'text',
406
+	],
407
+	'settings.schema.pricecurrency' => [
408
+		'default' => '',
409
+		'depends_on' => [
410
+			'settings.schema.type.default' => 'Product',
411
+		],
412
+		'description' => __('Custom Field name', 'site-reviews').': <code>schema_pricecurrency</code>',
413
+		'label' => __('Price Currency', 'site-reviews'),
414
+		'placeholder' => 'USD',
415
+		'type' => 'text',
416
+	],
417
+	'settings.submissions.required' => [
418
+		'default' => ['content', 'email', 'name', 'rating', 'terms', 'title'],
419
+		'description' => __('Choose which fields should be required in the submission form.', 'site-reviews'),
420
+		'label' => __('Required Fields', 'site-reviews'),
421
+		'options' => [
422
+			'rating' => __('Rating', 'site-reviews'),
423
+			'title' => __('Title', 'site-reviews'),
424
+			'content' => __('Review', 'site-reviews'),
425
+			'name' => __('Name', 'site-reviews'),
426
+			'email' => __('Email', 'site-reviews'),
427
+			'terms' => __('Terms', 'site-reviews'),
428
+		],
429
+		'type' => 'checkbox',
430
+	],
431
+	'settings.submissions.limit' => [
432
+		'default' => '',
433
+		'description' => __('Limits the number of reviews that can be submitted to one-per-person. If you are assigning reviews, then the limit will be applied to the assigned page or category.', 'site-reviews'),
434
+		'label' => __('Limit Reviews', 'site-reviews'),
435
+		'options' => [
436
+			'' => __('No Limit', 'site-reviews'),
437
+			'email' => __('By Email Address', 'site-reviews'),
438
+			'ip_address' => __('By IP Address', 'site-reviews'),
439
+			'username' => __('By Username (will only work for registered users)', 'site-reviews'),
440
+		],
441
+		'type' => 'select',
442
+	],
443
+	'settings.submissions.limit_whitelist.email' => [
444
+		'default' => '',
445
+		'depends_on' => [
446
+			'settings.submissions.limit' => ['email'],
447
+		],
448
+		'description' => __('One Email per line. All emails in the whitelist will be excluded from the review submission limit.', 'site-reviews'),
449
+		'label' => __('Email Whitelist', 'site-reviews'),
450
+		'rows' => 5,
451
+		'type' => 'code',
452
+	],
453
+	'settings.submissions.limit_whitelist.ip_address' => [
454
+		'default' => '',
455
+		'depends_on' => [
456
+			'settings.submissions.limit' => ['ip_address'],
457
+		],
458
+		'description' => __('One IP Address per line. All IP Addresses in the whitelist will be excluded from the review submission limit..', 'site-reviews'),
459
+		'label' => __('IP Address Whitelist', 'site-reviews'),
460
+		'rows' => 5,
461
+		'type' => 'code',
462
+	],
463
+	'settings.submissions.limit_whitelist.username' => [
464
+		'default' => '',
465
+		'depends_on' => [
466
+			'settings.submissions.limit' => ['username'],
467
+		],
468
+		'description' => __('One Username per line. All registered users with a Username in the whitelist will be excluded from the review submission limit.', 'site-reviews'),
469
+		'label' => __('Username Whitelist', 'site-reviews'),
470
+		'rows' => 5,
471
+		'type' => 'code',
472
+	],
473
+	'settings.submissions.recaptcha.integration' => [
474
+		'default' => '',
475
+		'description' => __('Invisible reCAPTCHA is a free anti-spam service from Google. To use it, you will need to <a href="https://www.google.com/recaptcha/admin" target="_blank">sign up</a> for an API key pair for your site.', 'site-reviews'),
476
+		'label' => __('Invisible reCAPTCHA', 'site-reviews'),
477
+		'options' => [
478
+			'' => 'Do not use reCAPTCHA',
479
+			'all' => 'Use reCAPTCHA',
480
+			'guest' => 'Use reCAPTCHA only for guest users',
481
+		],
482
+		'type' => 'select',
483
+	],
484
+	'settings.submissions.recaptcha.key' => [
485
+		'default' => '',
486
+		'depends_on' => [
487
+			'settings.submissions.recaptcha.integration' => ['all', 'guest'],
488
+		],
489
+		'label' => __('Site Key', 'site-reviews'),
490
+		'type' => 'text',
491
+	],
492
+	'settings.submissions.recaptcha.secret' => [
493
+		'default' => '',
494
+		'depends_on' => [
495
+			'settings.submissions.recaptcha.integration' => ['all', 'guest'],
496
+		],
497
+		'label' => __('Site Secret', 'site-reviews'),
498
+		'type' => 'text',
499
+	],
500
+	'settings.submissions.recaptcha.position' => [
501
+		'default' => 'bottomleft',
502
+		'depends_on' => [
503
+			'settings.submissions.recaptcha.integration' => ['all', 'guest'],
504
+		],
505
+		'description' => __('This option may not work consistently if another plugin is loading reCAPTCHA on the same page as Site Reviews.', 'site-reviews'),
506
+		'label' => __('Badge Position', 'site-reviews'),
507
+		'options' => [
508
+			'bottomleft' => 'Bottom Left',
509
+			'bottomright' => 'Bottom Right',
510
+			'inline' => 'Inline',
511
+		],
512
+		'type' => 'select',
513
+	],
514
+	'settings.submissions.akismet' => [
515
+		'default' => 'no',
516
+		'description' => __('The <a href="https://akismet.com" target="_blank">Akismet plugin</a> integration provides spam-filtering for your reviews. In order for this setting to have any affect, you will need to first install and activate the Akismet plugin and set up a WordPress.com API key.', 'site-reviews'),
517
+		'label' => __('Enable Akismet Integration', 'site-reviews'),
518
+		'type' => 'yes_no',
519
+	],
520
+	'settings.submissions.blacklist.integration' => [
521
+		'default' => '',
522
+		'description' => sprintf(__('Choose which Blacklist you would prefer to use for reviews. The %s can be found in the WordPress Discussion Settings page.', 'site-reviews'),
523
+			'<a href="'.admin_url('options-discussion.php#users_can_register').'">'.__('Comment Blacklist', 'site-reviews').'</a>'
524
+		),
525
+		'label' => __('Blacklist', 'site-reviews'),
526
+		'options' => [
527
+			'' => 'Use the Site Reviews Blacklist',
528
+			'comments' => 'Use the WordPress Comment Blacklist',
529
+		],
530
+		'type' => 'select',
531
+	],
532
+	'settings.submissions.blacklist.entries' => [
533
+		'default' => '',
534
+		'depends_on' => [
535
+			'settings.submissions.blacklist.integration' => [''],
536
+		],
537
+		'description' => __('One entry or IP address per line. When a review contains any of these entries in its title, content, name, email, or IP address, it will be rejected. It is case-insensitive and will match partial words, so "press" will match "WordPress".', 'site-reviews'),
538
+		'label' => __('Review Blacklist', 'site-reviews'),
539
+		'rows' => 10,
540
+		'type' => 'code',
541
+	],
542
+	'settings.submissions.blacklist.action' => [
543
+		'default' => 'unapprove',
544
+		'description' => __('Choose the action that should be taken when a review is blacklisted.', 'site-reviews'),
545
+		'label' => __('Blacklist Action', 'site-reviews'),
546
+		'options' => [
547
+			'unapprove' => __('Require approval', 'site-reviews'),
548
+			'reject' => __('Reject submission', 'site-reviews'),
549
+		],
550
+		'type' => 'select',
551
+	],
552 552
 ];
Please login to merge, or discard this patch.
Spacing   +153 added lines, -153 removed lines patch added patch discarded remove patch
@@ -3,16 +3,16 @@  discard block
 block discarded – undo
3 3
 return [
4 4
     'settings.general.style' => [
5 5
         'default' => 'default',
6
-        'description' => __('Site Reviews relies on the CSS of your theme to style the submission form. If your theme does not provide proper CSS rules for form elements and you are using a WordPress plugin/theme or CSS Framework listed here, please try selecting it, otherwise choose "Site Reviews (default)".', 'site-reviews'),
7
-        'label' => __('Plugin Style', 'site-reviews'),
6
+        'description' => __( 'Site Reviews relies on the CSS of your theme to style the submission form. If your theme does not provide proper CSS rules for form elements and you are using a WordPress plugin/theme or CSS Framework listed here, please try selecting it, otherwise choose "Site Reviews (default)".', 'site-reviews' ),
7
+        'label' => __( 'Plugin Style', 'site-reviews' ),
8 8
         'options' => [
9 9
             'bootstrap_4' => 'CSS Framework: Bootstrap 4',
10 10
             'bootstrap_4_custom' => 'CSS Framework: Bootstrap 4 (Custom Forms)',
11 11
             'contact_form_7' => 'Plugin: Contact Form 7 (v5)',
12 12
             'ninja_forms' => 'Plugin: Ninja Forms (v3)',
13 13
             'wpforms' => 'Plugin: WPForms Lite (v1)',
14
-            'default' => __('Site Reviews (default)', 'site-reviews'),
15
-            'minimal' => __('Site Reviews (minimal)', 'site-reviews'),
14
+            'default' => __( 'Site Reviews (default)', 'site-reviews' ),
15
+            'minimal' => __( 'Site Reviews (minimal)', 'site-reviews' ),
16 16
             'divi' => 'Theme: Divi (v3)',
17 17
             'materialize' => 'Theme: Materialize',
18 18
             'twentyfifteen' => 'Theme: Twenty Fifteen',
@@ -23,14 +23,14 @@  discard block
 block discarded – undo
23 23
     ],
24 24
     'settings.general.require.approval' => [
25 25
         'default' => 'no',
26
-        'description' => __('Set the status of new review submissions to "unapproved".', 'site-reviews'),
27
-        'label' => __('Require Approval', 'site-reviews'),
26
+        'description' => __( 'Set the status of new review submissions to "unapproved".', 'site-reviews' ),
27
+        'label' => __( 'Require Approval', 'site-reviews' ),
28 28
         'type' => 'yes_no',
29 29
     ],
30 30
     'settings.general.require.login' => [
31 31
         'default' => 'no',
32
-        'description' => __('Only allow review submissions from registered users.', 'site-reviews'),
33
-        'label' => __('Require Login', 'site-reviews'),
32
+        'description' => __( 'Only allow review submissions from registered users.', 'site-reviews' ),
33
+        'label' => __( 'Require Login', 'site-reviews' ),
34 34
         'type' => 'yes_no',
35 35
     ],
36 36
     'settings.general.require.login_register' => [
@@ -38,29 +38,29 @@  discard block
 block discarded – undo
38 38
         'depends_on' => [
39 39
             'settings.general.require.login' => 'yes',
40 40
         ],
41
-        'description' => sprintf(__('Show a link for a new user to register. The %s Membership option must be enabled in General Settings for this to work.', 'site-reviews'),
42
-            '<a href="'.admin_url('options-general.php#users_can_register').'">'.__('Anyone can register', 'site-reviews').'</a>'
41
+        'description' => sprintf( __( 'Show a link for a new user to register. The %s Membership option must be enabled in General Settings for this to work.', 'site-reviews' ),
42
+            '<a href="'.admin_url( 'options-general.php#users_can_register' ).'">'.__( 'Anyone can register', 'site-reviews' ).'</a>'
43 43
         ),
44
-        'label' => __('Show Registration Link', 'site-reviews'),
44
+        'label' => __( 'Show Registration Link', 'site-reviews' ),
45 45
         'type' => 'yes_no',
46 46
     ],
47 47
     'settings.general.multilingual' => [
48 48
         'default' => '',
49
-        'description' => __('Integrate with a multilingual plugin to calculate ratings for all languages of a post.', 'site-reviews'),
50
-        'label' => __('Multilingual', 'site-reviews'),
49
+        'description' => __( 'Integrate with a multilingual plugin to calculate ratings for all languages of a post.', 'site-reviews' ),
50
+        'label' => __( 'Multilingual', 'site-reviews' ),
51 51
         'options' => [
52
-            '' => __('No Integration', 'site-reviews'),
53
-            'polylang' => __('Integrate with Polylang', 'site-reviews'),
54
-            'wpml' => __('Integrate with WPML', 'site-reviews'),
52
+            '' => __( 'No Integration', 'site-reviews' ),
53
+            'polylang' => __( 'Integrate with Polylang', 'site-reviews' ),
54
+            'wpml' => __( 'Integrate with WPML', 'site-reviews' ),
55 55
         ],
56 56
         'type' => 'select',
57 57
     ],
58 58
     'settings.general.rebusify' => [
59 59
         'default' => 'no',
60
-        'description' => sprintf(__('Integrate with the %s and validate your reviews on the blockchain to increase online reputation, trust, and transparency.', 'site-reviews'),
60
+        'description' => sprintf( __( 'Integrate with the %s and validate your reviews on the blockchain to increase online reputation, trust, and transparency.', 'site-reviews' ),
61 61
             '<a href="https://rebusify.com/plans?ref=105" target="_blank">Rebusify Confidence System</a>'
62 62
         ),
63
-        'label' => __('Blockchain Validation', 'site-reviews'),
63
+        'label' => __( 'Blockchain Validation', 'site-reviews' ),
64 64
         'type' => 'yes_no',
65 65
     ],
66 66
     'settings.general.rebusify_email' => [
@@ -68,8 +68,8 @@  discard block
 block discarded – undo
68 68
         'depends_on' => [
69 69
             'settings.general.rebusify' => ['yes'],
70 70
         ],
71
-        'description' => __('Enter your Rebusify account email here.', 'site-reviews'),
72
-        'label' => __('Rebusify Email', 'site-reviews'),
71
+        'description' => __( 'Enter your Rebusify account email here.', 'site-reviews' ),
72
+        'label' => __( 'Rebusify Email', 'site-reviews' ),
73 73
         'type' => 'text',
74 74
     ],
75 75
     'settings.general.rebusify_serial' => [
@@ -77,18 +77,18 @@  discard block
 block discarded – undo
77 77
         'depends_on' => [
78 78
             'settings.general.rebusify' => ['yes'],
79 79
         ],
80
-        'description' => __('Enter your Rebusify account serial key here.', 'site-reviews'),
81
-        'label' => __('Rebusify Serial Key', 'site-reviews'),
80
+        'description' => __( 'Enter your Rebusify account serial key here.', 'site-reviews' ),
81
+        'label' => __( 'Rebusify Serial Key', 'site-reviews' ),
82 82
         'type' => 'password',
83 83
     ],
84 84
     'settings.general.notifications' => [
85 85
         'default' => [],
86
-        'label' => __('Notifications', 'site-reviews'),
86
+        'label' => __( 'Notifications', 'site-reviews' ),
87 87
         'options' => [
88
-            'admin' => __('Send to administrator', 'site-reviews').' <code>'.(string) get_option('admin_email').'</code>',
89
-            'author' => __('Send to author of the page that the review is assigned to', 'site-reviews'),
90
-            'custom' => __('Send to one or more email addresses', 'site-reviews'),
91
-            'slack' => __('Send to <a href="https://slack.com/">Slack</a>', 'site-reviews'),
88
+            'admin' => __( 'Send to administrator', 'site-reviews' ).' <code>'.(string)get_option( 'admin_email' ).'</code>',
89
+            'author' => __( 'Send to author of the page that the review is assigned to', 'site-reviews' ),
90
+            'custom' => __( 'Send to one or more email addresses', 'site-reviews' ),
91
+            'slack' => __( 'Send to <a href="https://slack.com/">Slack</a>', 'site-reviews' ),
92 92
         ],
93 93
         'type' => 'checkbox',
94 94
     ],
@@ -97,8 +97,8 @@  discard block
 block discarded – undo
97 97
         'depends_on' => [
98 98
             'settings.general.notifications' => ['custom'],
99 99
         ],
100
-        'label' => __('Send Notification Emails To', 'site-reviews'),
101
-        'placeholder' => __('Separate multiple emails with a comma', 'site-reviews'),
100
+        'label' => __( 'Send Notification Emails To', 'site-reviews' ),
101
+        'placeholder' => __( 'Separate multiple emails with a comma', 'site-reviews' ),
102 102
         'type' => 'text',
103 103
     ],
104 104
     'settings.general.notification_slack' => [
@@ -106,14 +106,14 @@  discard block
 block discarded – undo
106 106
         'depends_on' => [
107 107
             'settings.general.notifications' => ['slack'],
108 108
         ],
109
-        'description' => sprintf(__('To send notifications to Slack, create a new %s and then paste the provided Webhook URL in the field above.', 'site-reviews'),
110
-            '<a href="https://api.slack.com/incoming-webhooks">'.__('Incoming WebHook', 'site-reviews').'</a>'
109
+        'description' => sprintf( __( 'To send notifications to Slack, create a new %s and then paste the provided Webhook URL in the field above.', 'site-reviews' ),
110
+            '<a href="https://api.slack.com/incoming-webhooks">'.__( 'Incoming WebHook', 'site-reviews' ).'</a>'
111 111
         ),
112
-        'label' => __('Slack Webhook URL', 'site-reviews'),
112
+        'label' => __( 'Slack Webhook URL', 'site-reviews' ),
113 113
         'type' => 'text',
114 114
     ],
115 115
     'settings.general.notification_message' => [
116
-        'default' => glsr('Modules\Html\Template')->build('templates/email-notification'),
116
+        'default' => glsr( 'Modules\Html\Template' )->build( 'templates/email-notification' ),
117 117
         'depends_on' => [
118 118
             'settings.general.notifications' => ['admin', 'author', 'custom', 'slack'],
119 119
         ],
@@ -129,42 +129,42 @@  discard block
 block discarded – undo
129 129
             '<br><code>{review_link}</code> The link to edit/view a review',
130 130
             'site-reviews'
131 131
         ),
132
-        'label' => __('Notification Template', 'site-reviews'),
132
+        'label' => __( 'Notification Template', 'site-reviews' ),
133 133
         'rows' => 10,
134 134
         'type' => 'code',
135 135
     ],
136 136
     'settings.reviews.date.format' => [
137 137
         'default' => '',
138
-        'description' => sprintf(__('The default date format is the one set in your %s.', 'site-reviews'),
139
-            '<a href="'.admin_url('options-general.php#date_format_custom').'">'.__('WordPress settings', 'site-reviews').'</a>'
138
+        'description' => sprintf( __( 'The default date format is the one set in your %s.', 'site-reviews' ),
139
+            '<a href="'.admin_url( 'options-general.php#date_format_custom' ).'">'.__( 'WordPress settings', 'site-reviews' ).'</a>'
140 140
         ),
141
-        'label' => __('Date Format', 'site-reviews'),
141
+        'label' => __( 'Date Format', 'site-reviews' ),
142 142
         'options' => [
143
-            '' => __('Use the default date format', 'site-reviews'),
144
-            'relative' => __('Use a relative date format', 'site-reviews'),
145
-            'custom' => __('Use a custom date format', 'site-reviews'),
143
+            '' => __( 'Use the default date format', 'site-reviews' ),
144
+            'relative' => __( 'Use a relative date format', 'site-reviews' ),
145
+            'custom' => __( 'Use a custom date format', 'site-reviews' ),
146 146
         ],
147 147
         'type' => 'select',
148 148
     ],
149 149
     'settings.reviews.date.custom' => [
150
-        'default' => get_option('date_format'),
150
+        'default' => get_option( 'date_format' ),
151 151
         'depends_on' => [
152 152
             'settings.reviews.date.format' => 'custom',
153 153
         ],
154
-        'description' => __('Enter a custom date format (<a href="https://codex.wordpress.org/Formatting_Date_and_Time">documentation on date and time formatting</a>).', 'site-reviews'),
155
-        'label' => __('Custom Date Format', 'site-reviews'),
154
+        'description' => __( 'Enter a custom date format (<a href="https://codex.wordpress.org/Formatting_Date_and_Time">documentation on date and time formatting</a>).', 'site-reviews' ),
155
+        'label' => __( 'Custom Date Format', 'site-reviews' ),
156 156
         'type' => 'text',
157 157
     ],
158 158
     'settings.reviews.name.format' => [
159 159
         'default' => '',
160
-        'description' => __('Choose how names are shown in your reviews.', 'site-reviews'),
161
-        'label' => __('Name Format', 'site-reviews'),
160
+        'description' => __( 'Choose how names are shown in your reviews.', 'site-reviews' ),
161
+        'label' => __( 'Name Format', 'site-reviews' ),
162 162
         'options' => [
163
-            '' => __('Use the name as given', 'site-reviews'),
164
-            'first' => __('Use the first name only', 'site-reviews'),
165
-            'first_initial' => __('Convert first name to an initial', 'site-reviews'),
166
-            'last_initial' => __('Convert last name to an initial', 'site-reviews'),
167
-            'initials' => __('Convert to all initials', 'site-reviews'),
163
+            '' => __( 'Use the name as given', 'site-reviews' ),
164
+            'first' => __( 'Use the first name only', 'site-reviews' ),
165
+            'first_initial' => __( 'Convert first name to an initial', 'site-reviews' ),
166
+            'last_initial' => __( 'Convert last name to an initial', 'site-reviews' ),
167
+            'initials' => __( 'Convert to all initials', 'site-reviews' ),
168 168
         ],
169 169
         'type' => 'select',
170 170
     ],
@@ -173,25 +173,25 @@  discard block
 block discarded – undo
173 173
         'depends_on' => [
174 174
             'settings.reviews.name.format' => ['first_initial', 'last_initial', 'initials'],
175 175
         ],
176
-        'description' => __('Choose how the initial is displayed.', 'site-reviews'),
177
-        'label' => __('Initial Format', 'site-reviews'),
176
+        'description' => __( 'Choose how the initial is displayed.', 'site-reviews' ),
177
+        'label' => __( 'Initial Format', 'site-reviews' ),
178 178
         'options' => [
179
-            '' => __('Initial with a space', 'site-reviews'),
180
-            'period' => __('Initial with a period', 'site-reviews'),
181
-            'period_space' => __('Initial with a period and a space', 'site-reviews'),
179
+            '' => __( 'Initial with a space', 'site-reviews' ),
180
+            'period' => __( 'Initial with a period', 'site-reviews' ),
181
+            'period_space' => __( 'Initial with a period and a space', 'site-reviews' ),
182 182
         ],
183 183
         'type' => 'select',
184 184
     ],
185 185
     'settings.reviews.assigned_links' => [
186 186
         'default' => 'no',
187
-        'description' => __('Display a link to the assigned post of a review.', 'site-reviews'),
188
-        'label' => __('Enable Assigned Links', 'site-reviews'),
187
+        'description' => __( 'Display a link to the assigned post of a review.', 'site-reviews' ),
188
+        'label' => __( 'Enable Assigned Links', 'site-reviews' ),
189 189
         'type' => 'yes_no',
190 190
     ],
191 191
     'settings.reviews.avatars' => [
192 192
         'default' => 'no',
193
-        'description' => __('Display reviewer avatars. These are generated from the email address of the reviewer using <a href="https://gravatar.com">Gravatar</a>.', 'site-reviews'),
194
-        'label' => __('Enable Avatars', 'site-reviews'),
193
+        'description' => __( 'Display reviewer avatars. These are generated from the email address of the reviewer using <a href="https://gravatar.com">Gravatar</a>.', 'site-reviews' ),
194
+        'label' => __( 'Enable Avatars', 'site-reviews' ),
195 195
         'type' => 'yes_no',
196 196
     ],
197 197
     'settings.reviews.avatars_regenerate' => [
@@ -199,8 +199,8 @@  discard block
 block discarded – undo
199 199
         'depends_on' => [
200 200
             'settings.reviews.avatars' => 'yes',
201 201
         ],
202
-        'description' => __('Regenerate the avatar whenever a local review is shown?', 'site-reviews'),
203
-        'label' => __('Regenerate Avatars', 'site-reviews'),
202
+        'description' => __( 'Regenerate the avatar whenever a local review is shown?', 'site-reviews' ),
203
+        'label' => __( 'Regenerate Avatars', 'site-reviews' ),
204 204
         'type' => 'yes_no',
205 205
     ],
206 206
     'settings.reviews.avatars_size' => [
@@ -208,14 +208,14 @@  discard block
 block discarded – undo
208 208
         'depends_on' => [
209 209
             'settings.reviews.avatars' => 'yes',
210 210
         ],
211
-        'description' => __('Set the avatar size in pixels.', 'site-reviews'),
212
-        'label' => __('Avatar Size', 'site-reviews'),
211
+        'description' => __( 'Set the avatar size in pixels.', 'site-reviews' ),
212
+        'label' => __( 'Avatar Size', 'site-reviews' ),
213 213
         'type' => 'number',
214 214
     ],
215 215
     'settings.reviews.excerpts' => [
216 216
         'default' => 'yes',
217
-        'description' => __('Display an excerpt instead of the full review.', 'site-reviews'),
218
-        'label' => __('Enable Excerpts', 'site-reviews'),
217
+        'description' => __( 'Display an excerpt instead of the full review.', 'site-reviews' ),
218
+        'label' => __( 'Enable Excerpts', 'site-reviews' ),
219 219
         'type' => 'yes_no',
220 220
     ],
221 221
     'settings.reviews.excerpts_length' => [
@@ -223,27 +223,27 @@  discard block
 block discarded – undo
223 223
         'depends_on' => [
224 224
             'settings.reviews.excerpts' => 'yes',
225 225
         ],
226
-        'description' => __('Set the excerpt word length.', 'site-reviews'),
227
-        'label' => __('Excerpt Length', 'site-reviews'),
226
+        'description' => __( 'Set the excerpt word length.', 'site-reviews' ),
227
+        'label' => __( 'Excerpt Length', 'site-reviews' ),
228 228
         'type' => 'number',
229 229
     ],
230 230
     'settings.reviews.fallback' => [
231 231
         'default' => 'yes',
232
-        'description' => sprintf(__('Display the fallback text when there are no reviews to display. This can be changed on the %s page. You may also override this by using the "fallback" option on the shortcode. The default fallback text is: %s', 'site-reviews'),
233
-            '<a href="'.admin_url('edit.php?post_type='.glsr()->post_type.'&page=settings#!translations').'">'.__('Translations', 'site-reviews').'</a>',
234
-            '<code>'.__('There are no reviews yet. Be the first one to write one.', 'site-reviews').'</code>'
232
+        'description' => sprintf( __( 'Display the fallback text when there are no reviews to display. This can be changed on the %s page. You may also override this by using the "fallback" option on the shortcode. The default fallback text is: %s', 'site-reviews' ),
233
+            '<a href="'.admin_url( 'edit.php?post_type='.glsr()->post_type.'&page=settings#!translations' ).'">'.__( 'Translations', 'site-reviews' ).'</a>',
234
+            '<code>'.__( 'There are no reviews yet. Be the first one to write one.', 'site-reviews' ).'</code>'
235 235
         ),
236
-        'label' => __('Enable Fallback Text', 'site-reviews'),
236
+        'label' => __( 'Enable Fallback Text', 'site-reviews' ),
237 237
         'type' => 'yes_no',
238 238
     ],
239 239
     'settings.schema.type.default' => [
240 240
         'default' => 'LocalBusiness',
241
-        'description' => __('Custom Field name', 'site-reviews').': <code>schema_type</code>',
242
-        'label' => __('Default Schema Type', 'site-reviews'),
241
+        'description' => __( 'Custom Field name', 'site-reviews' ).': <code>schema_type</code>',
242
+        'label' => __( 'Default Schema Type', 'site-reviews' ),
243 243
         'options' => [
244
-            'LocalBusiness' => __('Local Business', 'site-reviews'),
245
-            'Product' => __('Product', 'site-reviews'),
246
-            'custom' => __('Custom', 'site-reviews'),
244
+            'LocalBusiness' => __( 'Local Business', 'site-reviews' ),
245
+            'Product' => __( 'Product', 'site-reviews' ),
246
+            'custom' => __( 'Custom', 'site-reviews' ),
247 247
         ],
248 248
         'type' => 'select',
249 249
     ],
@@ -252,17 +252,17 @@  discard block
 block discarded – undo
252 252
         'depends_on' => [
253 253
             'settings.schema.type.default' => 'custom',
254 254
         ],
255
-        'description' => '<a href="https://schema.org/docs/schemas.html">'.__('View more information on schema types here', 'site-reviews').'</a>',
256
-        'label' => __('Custom Schema Type', 'site-reviews'),
255
+        'description' => '<a href="https://schema.org/docs/schemas.html">'.__( 'View more information on schema types here', 'site-reviews' ).'</a>',
256
+        'label' => __( 'Custom Schema Type', 'site-reviews' ),
257 257
         'type' => 'text',
258 258
     ],
259 259
     'settings.schema.name.default' => [
260 260
         'default' => 'post',
261
-        'description' => __('Custom Field name', 'site-reviews').': <code>schema_name</code>',
262
-        'label' => __('Default Name', 'site-reviews'),
261
+        'description' => __( 'Custom Field name', 'site-reviews' ).': <code>schema_name</code>',
262
+        'label' => __( 'Default Name', 'site-reviews' ),
263 263
         'options' => [
264
-            'post' => __('Use the assigned or current page title', 'site-reviews'),
265
-            'custom' => __('Enter a custom title', 'site-reviews'),
264
+            'post' => __( 'Use the assigned or current page title', 'site-reviews' ),
265
+            'custom' => __( 'Enter a custom title', 'site-reviews' ),
266 266
         ],
267 267
         'type' => 'select',
268 268
     ],
@@ -271,16 +271,16 @@  discard block
 block discarded – undo
271 271
         'depends_on' => [
272 272
             'settings.schema.name.default' => 'custom',
273 273
         ],
274
-        'label' => __('Custom Name', 'site-reviews'),
274
+        'label' => __( 'Custom Name', 'site-reviews' ),
275 275
         'type' => 'text',
276 276
     ],
277 277
     'settings.schema.description.default' => [
278 278
         'default' => 'post',
279
-        'description' => __('Custom Field name', 'site-reviews').': <code>schema_description</code>',
280
-        'label' => __('Default Description', 'site-reviews'),
279
+        'description' => __( 'Custom Field name', 'site-reviews' ).': <code>schema_description</code>',
280
+        'label' => __( 'Default Description', 'site-reviews' ),
281 281
         'options' => [
282
-            'post' => __('Use the assigned or current page excerpt', 'site-reviews'),
283
-            'custom' => __('Enter a custom description', 'site-reviews'),
282
+            'post' => __( 'Use the assigned or current page excerpt', 'site-reviews' ),
283
+            'custom' => __( 'Enter a custom description', 'site-reviews' ),
284 284
         ],
285 285
         'type' => 'select',
286 286
     ],
@@ -289,16 +289,16 @@  discard block
 block discarded – undo
289 289
         'depends_on' => [
290 290
             'settings.schema.description.default' => 'custom',
291 291
         ],
292
-        'label' => __('Custom Description', 'site-reviews'),
292
+        'label' => __( 'Custom Description', 'site-reviews' ),
293 293
         'type' => 'text',
294 294
     ],
295 295
     'settings.schema.url.default' => [
296 296
         'default' => 'post',
297
-        'description' => __('Custom Field name', 'site-reviews').': <code>schema_url</code>',
298
-        'label' => __('Default URL', 'site-reviews'),
297
+        'description' => __( 'Custom Field name', 'site-reviews' ).': <code>schema_url</code>',
298
+        'label' => __( 'Default URL', 'site-reviews' ),
299 299
         'options' => [
300
-            'post' => __('Use the assigned or current page URL', 'site-reviews'),
301
-            'custom' => __('Enter a custom URL', 'site-reviews'),
300
+            'post' => __( 'Use the assigned or current page URL', 'site-reviews' ),
301
+            'custom' => __( 'Enter a custom URL', 'site-reviews' ),
302 302
         ],
303 303
         'type' => 'select',
304 304
     ],
@@ -307,16 +307,16 @@  discard block
 block discarded – undo
307 307
         'depends_on' => [
308 308
             'settings.schema.url.default' => 'custom',
309 309
         ],
310
-        'label' => __('Custom URL', 'site-reviews'),
310
+        'label' => __( 'Custom URL', 'site-reviews' ),
311 311
         'type' => 'text',
312 312
     ],
313 313
     'settings.schema.image.default' => [
314 314
         'default' => 'post',
315
-        'description' => __('Custom Field name', 'site-reviews').': <code>schema_image</code>',
316
-        'label' => __('Default Image', 'site-reviews'),
315
+        'description' => __( 'Custom Field name', 'site-reviews' ).': <code>schema_image</code>',
316
+        'label' => __( 'Default Image', 'site-reviews' ),
317 317
         'options' => [
318
-            'post' => __('Use the featured image of the assigned or current page', 'site-reviews'),
319
-            'custom' => __('Enter a custom image URL', 'site-reviews'),
318
+            'post' => __( 'Use the featured image of the assigned or current page', 'site-reviews' ),
319
+            'custom' => __( 'Enter a custom image URL', 'site-reviews' ),
320 320
         ],
321 321
         'type' => 'select',
322 322
     ],
@@ -325,7 +325,7 @@  discard block
 block discarded – undo
325 325
         'depends_on' => [
326 326
             'settings.schema.image.default' => 'custom',
327 327
         ],
328
-        'label' => __('Custom Image URL', 'site-reviews'),
328
+        'label' => __( 'Custom Image URL', 'site-reviews' ),
329 329
         'type' => 'text',
330 330
     ],
331 331
     'settings.schema.address' => [
@@ -333,8 +333,8 @@  discard block
 block discarded – undo
333 333
         'depends_on' => [
334 334
             'settings.schema.type.default' => 'LocalBusiness',
335 335
         ],
336
-        'description' => __('Custom Field name', 'site-reviews').': <code>schema_address</code>',
337
-        'label' => __('Address', 'site-reviews'),
336
+        'description' => __( 'Custom Field name', 'site-reviews' ).': <code>schema_address</code>',
337
+        'label' => __( 'Address', 'site-reviews' ),
338 338
         'placeholder' => '60 29th Street #343, San Francisco, CA 94110, US',
339 339
         'type' => 'text',
340 340
     ],
@@ -343,8 +343,8 @@  discard block
 block discarded – undo
343 343
         'depends_on' => [
344 344
             'settings.schema.type.default' => 'LocalBusiness',
345 345
         ],
346
-        'description' => __('Custom Field name', 'site-reviews').': <code>schema_telephone</code>',
347
-        'label' => __('Telephone Number', 'site-reviews'),
346
+        'description' => __( 'Custom Field name', 'site-reviews' ).': <code>schema_telephone</code>',
347
+        'label' => __( 'Telephone Number', 'site-reviews' ),
348 348
         'placeholder' => '+1 (877) 273-3049',
349 349
         'type' => 'text',
350 350
     ],
@@ -353,8 +353,8 @@  discard block
 block discarded – undo
353 353
         'depends_on' => [
354 354
             'settings.schema.type.default' => 'LocalBusiness',
355 355
         ],
356
-        'description' => __('Custom Field name', 'site-reviews').': <code>schema_pricerange</code>',
357
-        'label' => __('Price Range', 'site-reviews'),
356
+        'description' => __( 'Custom Field name', 'site-reviews' ).': <code>schema_pricerange</code>',
357
+        'label' => __( 'Price Range', 'site-reviews' ),
358 358
         'placeholder' => '$$-$$$',
359 359
         'type' => 'text',
360 360
     ],
@@ -363,11 +363,11 @@  discard block
 block discarded – undo
363 363
         'depends_on' => [
364 364
             'settings.schema.type.default' => 'Product',
365 365
         ],
366
-        'description' => __('Custom Field name', 'site-reviews').': <code>schema_offertype</code>',
367
-        'label' => __('Offer Type', 'site-reviews'),
366
+        'description' => __( 'Custom Field name', 'site-reviews' ).': <code>schema_offertype</code>',
367
+        'label' => __( 'Offer Type', 'site-reviews' ),
368 368
         'options' => [
369
-            'AggregateOffer' => __('AggregateOffer', 'site-reviews'),
370
-            'Offer' => __('Offer', 'site-reviews'),
369
+            'AggregateOffer' => __( 'AggregateOffer', 'site-reviews' ),
370
+            'Offer' => __( 'Offer', 'site-reviews' ),
371 371
         ],
372 372
         'type' => 'select',
373 373
     ],
@@ -377,8 +377,8 @@  discard block
 block discarded – undo
377 377
             'settings.schema.type.default' => 'Product',
378 378
             'settings.schema.offertype' => 'Offer',
379 379
         ],
380
-        'description' => __('Custom Field name', 'site-reviews').': <code>schema_price</code>',
381
-        'label' => __('Price', 'site-reviews'),
380
+        'description' => __( 'Custom Field name', 'site-reviews' ).': <code>schema_price</code>',
381
+        'label' => __( 'Price', 'site-reviews' ),
382 382
         'placeholder' => '50.00',
383 383
         'type' => 'text',
384 384
     ],
@@ -388,8 +388,8 @@  discard block
 block discarded – undo
388 388
             'settings.schema.type.default' => 'Product',
389 389
             'settings.schema.offertype' => 'AggregateOffer',
390 390
         ],
391
-        'description' => __('Custom Field name', 'site-reviews').': <code>schema_lowprice</code>',
392
-        'label' => __('Low Price', 'site-reviews'),
391
+        'description' => __( 'Custom Field name', 'site-reviews' ).': <code>schema_lowprice</code>',
392
+        'label' => __( 'Low Price', 'site-reviews' ),
393 393
         'placeholder' => '10.00',
394 394
         'type' => 'text',
395 395
     ],
@@ -399,8 +399,8 @@  discard block
 block discarded – undo
399 399
             'settings.schema.type.default' => 'Product',
400 400
             'settings.schema.offertype' => 'AggregateOffer',
401 401
         ],
402
-        'description' => __('Custom Field name', 'site-reviews').': <code>schema_highprice</code>',
403
-        'label' => __('High Price', 'site-reviews'),
402
+        'description' => __( 'Custom Field name', 'site-reviews' ).': <code>schema_highprice</code>',
403
+        'label' => __( 'High Price', 'site-reviews' ),
404 404
         'placeholder' => '100.00',
405 405
         'type' => 'text',
406 406
     ],
@@ -409,34 +409,34 @@  discard block
 block discarded – undo
409 409
         'depends_on' => [
410 410
             'settings.schema.type.default' => 'Product',
411 411
         ],
412
-        'description' => __('Custom Field name', 'site-reviews').': <code>schema_pricecurrency</code>',
413
-        'label' => __('Price Currency', 'site-reviews'),
412
+        'description' => __( 'Custom Field name', 'site-reviews' ).': <code>schema_pricecurrency</code>',
413
+        'label' => __( 'Price Currency', 'site-reviews' ),
414 414
         'placeholder' => 'USD',
415 415
         'type' => 'text',
416 416
     ],
417 417
     'settings.submissions.required' => [
418 418
         'default' => ['content', 'email', 'name', 'rating', 'terms', 'title'],
419
-        'description' => __('Choose which fields should be required in the submission form.', 'site-reviews'),
420
-        'label' => __('Required Fields', 'site-reviews'),
419
+        'description' => __( 'Choose which fields should be required in the submission form.', 'site-reviews' ),
420
+        'label' => __( 'Required Fields', 'site-reviews' ),
421 421
         'options' => [
422
-            'rating' => __('Rating', 'site-reviews'),
423
-            'title' => __('Title', 'site-reviews'),
424
-            'content' => __('Review', 'site-reviews'),
425
-            'name' => __('Name', 'site-reviews'),
426
-            'email' => __('Email', 'site-reviews'),
427
-            'terms' => __('Terms', 'site-reviews'),
422
+            'rating' => __( 'Rating', 'site-reviews' ),
423
+            'title' => __( 'Title', 'site-reviews' ),
424
+            'content' => __( 'Review', 'site-reviews' ),
425
+            'name' => __( 'Name', 'site-reviews' ),
426
+            'email' => __( 'Email', 'site-reviews' ),
427
+            'terms' => __( 'Terms', 'site-reviews' ),
428 428
         ],
429 429
         'type' => 'checkbox',
430 430
     ],
431 431
     'settings.submissions.limit' => [
432 432
         'default' => '',
433
-        'description' => __('Limits the number of reviews that can be submitted to one-per-person. If you are assigning reviews, then the limit will be applied to the assigned page or category.', 'site-reviews'),
434
-        'label' => __('Limit Reviews', 'site-reviews'),
433
+        'description' => __( 'Limits the number of reviews that can be submitted to one-per-person. If you are assigning reviews, then the limit will be applied to the assigned page or category.', 'site-reviews' ),
434
+        'label' => __( 'Limit Reviews', 'site-reviews' ),
435 435
         'options' => [
436
-            '' => __('No Limit', 'site-reviews'),
437
-            'email' => __('By Email Address', 'site-reviews'),
438
-            'ip_address' => __('By IP Address', 'site-reviews'),
439
-            'username' => __('By Username (will only work for registered users)', 'site-reviews'),
436
+            '' => __( 'No Limit', 'site-reviews' ),
437
+            'email' => __( 'By Email Address', 'site-reviews' ),
438
+            'ip_address' => __( 'By IP Address', 'site-reviews' ),
439
+            'username' => __( 'By Username (will only work for registered users)', 'site-reviews' ),
440 440
         ],
441 441
         'type' => 'select',
442 442
     ],
@@ -445,8 +445,8 @@  discard block
 block discarded – undo
445 445
         'depends_on' => [
446 446
             'settings.submissions.limit' => ['email'],
447 447
         ],
448
-        'description' => __('One Email per line. All emails in the whitelist will be excluded from the review submission limit.', 'site-reviews'),
449
-        'label' => __('Email Whitelist', 'site-reviews'),
448
+        'description' => __( 'One Email per line. All emails in the whitelist will be excluded from the review submission limit.', 'site-reviews' ),
449
+        'label' => __( 'Email Whitelist', 'site-reviews' ),
450 450
         'rows' => 5,
451 451
         'type' => 'code',
452 452
     ],
@@ -455,8 +455,8 @@  discard block
 block discarded – undo
455 455
         'depends_on' => [
456 456
             'settings.submissions.limit' => ['ip_address'],
457 457
         ],
458
-        'description' => __('One IP Address per line. All IP Addresses in the whitelist will be excluded from the review submission limit..', 'site-reviews'),
459
-        'label' => __('IP Address Whitelist', 'site-reviews'),
458
+        'description' => __( 'One IP Address per line. All IP Addresses in the whitelist will be excluded from the review submission limit..', 'site-reviews' ),
459
+        'label' => __( 'IP Address Whitelist', 'site-reviews' ),
460 460
         'rows' => 5,
461 461
         'type' => 'code',
462 462
     ],
@@ -465,15 +465,15 @@  discard block
 block discarded – undo
465 465
         'depends_on' => [
466 466
             'settings.submissions.limit' => ['username'],
467 467
         ],
468
-        'description' => __('One Username per line. All registered users with a Username in the whitelist will be excluded from the review submission limit.', 'site-reviews'),
469
-        'label' => __('Username Whitelist', 'site-reviews'),
468
+        'description' => __( 'One Username per line. All registered users with a Username in the whitelist will be excluded from the review submission limit.', 'site-reviews' ),
469
+        'label' => __( 'Username Whitelist', 'site-reviews' ),
470 470
         'rows' => 5,
471 471
         'type' => 'code',
472 472
     ],
473 473
     'settings.submissions.recaptcha.integration' => [
474 474
         'default' => '',
475
-        'description' => __('Invisible reCAPTCHA is a free anti-spam service from Google. To use it, you will need to <a href="https://www.google.com/recaptcha/admin" target="_blank">sign up</a> for an API key pair for your site.', 'site-reviews'),
476
-        'label' => __('Invisible reCAPTCHA', 'site-reviews'),
475
+        'description' => __( 'Invisible reCAPTCHA is a free anti-spam service from Google. To use it, you will need to <a href="https://www.google.com/recaptcha/admin" target="_blank">sign up</a> for an API key pair for your site.', 'site-reviews' ),
476
+        'label' => __( 'Invisible reCAPTCHA', 'site-reviews' ),
477 477
         'options' => [
478 478
             '' => 'Do not use reCAPTCHA',
479 479
             'all' => 'Use reCAPTCHA',
@@ -486,7 +486,7 @@  discard block
 block discarded – undo
486 486
         'depends_on' => [
487 487
             'settings.submissions.recaptcha.integration' => ['all', 'guest'],
488 488
         ],
489
-        'label' => __('Site Key', 'site-reviews'),
489
+        'label' => __( 'Site Key', 'site-reviews' ),
490 490
         'type' => 'text',
491 491
     ],
492 492
     'settings.submissions.recaptcha.secret' => [
@@ -494,7 +494,7 @@  discard block
 block discarded – undo
494 494
         'depends_on' => [
495 495
             'settings.submissions.recaptcha.integration' => ['all', 'guest'],
496 496
         ],
497
-        'label' => __('Site Secret', 'site-reviews'),
497
+        'label' => __( 'Site Secret', 'site-reviews' ),
498 498
         'type' => 'text',
499 499
     ],
500 500
     'settings.submissions.recaptcha.position' => [
@@ -502,8 +502,8 @@  discard block
 block discarded – undo
502 502
         'depends_on' => [
503 503
             'settings.submissions.recaptcha.integration' => ['all', 'guest'],
504 504
         ],
505
-        'description' => __('This option may not work consistently if another plugin is loading reCAPTCHA on the same page as Site Reviews.', 'site-reviews'),
506
-        'label' => __('Badge Position', 'site-reviews'),
505
+        'description' => __( 'This option may not work consistently if another plugin is loading reCAPTCHA on the same page as Site Reviews.', 'site-reviews' ),
506
+        'label' => __( 'Badge Position', 'site-reviews' ),
507 507
         'options' => [
508 508
             'bottomleft' => 'Bottom Left',
509 509
             'bottomright' => 'Bottom Right',
@@ -513,16 +513,16 @@  discard block
 block discarded – undo
513 513
     ],
514 514
     'settings.submissions.akismet' => [
515 515
         'default' => 'no',
516
-        'description' => __('The <a href="https://akismet.com" target="_blank">Akismet plugin</a> integration provides spam-filtering for your reviews. In order for this setting to have any affect, you will need to first install and activate the Akismet plugin and set up a WordPress.com API key.', 'site-reviews'),
517
-        'label' => __('Enable Akismet Integration', 'site-reviews'),
516
+        'description' => __( 'The <a href="https://akismet.com" target="_blank">Akismet plugin</a> integration provides spam-filtering for your reviews. In order for this setting to have any affect, you will need to first install and activate the Akismet plugin and set up a WordPress.com API key.', 'site-reviews' ),
517
+        'label' => __( 'Enable Akismet Integration', 'site-reviews' ),
518 518
         'type' => 'yes_no',
519 519
     ],
520 520
     'settings.submissions.blacklist.integration' => [
521 521
         'default' => '',
522
-        'description' => sprintf(__('Choose which Blacklist you would prefer to use for reviews. The %s can be found in the WordPress Discussion Settings page.', 'site-reviews'),
523
-            '<a href="'.admin_url('options-discussion.php#users_can_register').'">'.__('Comment Blacklist', 'site-reviews').'</a>'
522
+        'description' => sprintf( __( 'Choose which Blacklist you would prefer to use for reviews. The %s can be found in the WordPress Discussion Settings page.', 'site-reviews' ),
523
+            '<a href="'.admin_url( 'options-discussion.php#users_can_register' ).'">'.__( 'Comment Blacklist', 'site-reviews' ).'</a>'
524 524
         ),
525
-        'label' => __('Blacklist', 'site-reviews'),
525
+        'label' => __( 'Blacklist', 'site-reviews' ),
526 526
         'options' => [
527 527
             '' => 'Use the Site Reviews Blacklist',
528 528
             'comments' => 'Use the WordPress Comment Blacklist',
@@ -534,18 +534,18 @@  discard block
 block discarded – undo
534 534
         'depends_on' => [
535 535
             'settings.submissions.blacklist.integration' => [''],
536 536
         ],
537
-        'description' => __('One entry or IP address per line. When a review contains any of these entries in its title, content, name, email, or IP address, it will be rejected. It is case-insensitive and will match partial words, so "press" will match "WordPress".', 'site-reviews'),
538
-        'label' => __('Review Blacklist', 'site-reviews'),
537
+        'description' => __( 'One entry or IP address per line. When a review contains any of these entries in its title, content, name, email, or IP address, it will be rejected. It is case-insensitive and will match partial words, so "press" will match "WordPress".', 'site-reviews' ),
538
+        'label' => __( 'Review Blacklist', 'site-reviews' ),
539 539
         'rows' => 10,
540 540
         'type' => 'code',
541 541
     ],
542 542
     'settings.submissions.blacklist.action' => [
543 543
         'default' => 'unapprove',
544
-        'description' => __('Choose the action that should be taken when a review is blacklisted.', 'site-reviews'),
545
-        'label' => __('Blacklist Action', 'site-reviews'),
544
+        'description' => __( 'Choose the action that should be taken when a review is blacklisted.', 'site-reviews' ),
545
+        'label' => __( 'Blacklist Action', 'site-reviews' ),
546 546
         'options' => [
547
-            'unapprove' => __('Require approval', 'site-reviews'),
548
-            'reject' => __('Reject submission', 'site-reviews'),
547
+            'unapprove' => __( 'Require approval', 'site-reviews' ),
548
+            'reject' => __( 'Reject submission', 'site-reviews' ),
549 549
         ],
550 550
         'type' => 'select',
551 551
     ],
Please login to merge, or discard this patch.
views/pages/documentation/functions.php 1 patch
Spacing   +19 added lines, -19 removed lines patch added patch discarded remove patch
@@ -1,10 +1,10 @@  discard block
 block discarded – undo
1
-<?php defined('WPINC') || die; ?>
1
+<?php defined( 'WPINC' ) || die; ?>
2 2
 
3 3
 <div id="functions-01" class="glsr-card postbox">
4 4
     <div class="glsr-card-header">
5 5
         <h3>Read me first!</h3>
6 6
         <button type="button" class="handlediv" aria-expanded="true">
7
-            <span class="screen-reader-text"><?= __('Toggle documentation panel', 'site-reviews'); ?></span>
7
+            <span class="screen-reader-text"><?= __( 'Toggle documentation panel', 'site-reviews' ); ?></span>
8 8
             <span class="toggle-indicator" aria-hidden="true"></span>
9 9
         </button>
10 10
     </div>
@@ -38,7 +38,7 @@  discard block
 block discarded – undo
38 38
     <div class="glsr-card-header">
39 39
         <h3>Helper function to create a review</h3>
40 40
         <button type="button" class="handlediv" aria-expanded="true">
41
-            <span class="screen-reader-text"><?= __('Toggle documentation panel', 'site-reviews'); ?></span>
41
+            <span class="screen-reader-text"><?= __( 'Toggle documentation panel', 'site-reviews' ); ?></span>
42 42
             <span class="toggle-indicator" aria-hidden="true"></span>
43 43
         </button>
44 44
     </div>
@@ -87,7 +87,7 @@  discard block
 block discarded – undo
87 87
 ]);
88 88
 </code></pre>
89 89
         <p><strong>Helpful Tip:</strong></p>
90
-        <p>You can use the <code><a href="<?= admin_url('edit.php?post_type='.glsr()->post_type.'&page=documentation#!functions'); ?>" data-expand="#functions-03">glsr_debug</a></code> helper function to view the review object that is returned.</p>
90
+        <p>You can use the <code><a href="<?= admin_url( 'edit.php?post_type='.glsr()->post_type.'&page=documentation#!functions' ); ?>" data-expand="#functions-03">glsr_debug</a></code> helper function to view the review object that is returned.</p>
91 91
         <pre><code class="php">glsr_debug($review);</code></pre>
92 92
     </div>
93 93
 </div>
@@ -96,7 +96,7 @@  discard block
 block discarded – undo
96 96
     <div class="glsr-card-header">
97 97
         <h3>Helper function to debug variables</h3>
98 98
         <button type="button" class="handlediv" aria-expanded="true">
99
-            <span class="screen-reader-text"><?= __('Toggle documentation panel', 'site-reviews'); ?></span>
99
+            <span class="screen-reader-text"><?= __( 'Toggle documentation panel', 'site-reviews' ); ?></span>
100 100
             <span class="toggle-indicator" aria-hidden="true"></span>
101 101
         </button>
102 102
     </div>
@@ -121,7 +121,7 @@  discard block
 block discarded – undo
121 121
     <div class="glsr-card-header">
122 122
         <h3>Helper function to get a plugin setting</h3>
123 123
         <button type="button" class="handlediv" aria-expanded="true">
124
-            <span class="screen-reader-text"><?= __('Toggle documentation panel', 'site-reviews'); ?></span>
124
+            <span class="screen-reader-text"><?= __( 'Toggle documentation panel', 'site-reviews' ); ?></span>
125 125
             <span class="toggle-indicator" aria-hidden="true"></span>
126 126
         </button>
127 127
     </div>
@@ -141,7 +141,7 @@  discard block
 block discarded – undo
141 141
 
142 142
 $requireApproval = apply_filters('glsr_get_option', 'no', 'general.require.approval', 'no');</code></pre>
143 143
         <p><strong>Helpful Tip:</strong></p>
144
-        <p>You can use the <code><a href="<?= admin_url('edit.php?post_type='.glsr()->post_type.'&page=documentation#!functions'); ?>" data-expand="#functions-03">glsr_debug</a></code> helper function to view the whole plugin settings array, this will help you figure out which dot-notation path to use.</p>
144
+        <p>You can use the <code><a href="<?= admin_url( 'edit.php?post_type='.glsr()->post_type.'&page=documentation#!functions' ); ?>" data-expand="#functions-03">glsr_debug</a></code> helper function to view the whole plugin settings array, this will help you figure out which dot-notation path to use.</p>
145 145
         <pre><code class="php">glsr_debug(glsr_get_options());</code></pre>
146 146
     </div>
147 147
 </div>
@@ -150,7 +150,7 @@  discard block
 block discarded – undo
150 150
     <div class="glsr-card-header">
151 151
         <h3>Helper function to get all plugin settings</h3>
152 152
         <button type="button" class="handlediv" aria-expanded="true">
153
-            <span class="screen-reader-text"><?= __('Toggle documentation panel', 'site-reviews'); ?></span>
153
+            <span class="screen-reader-text"><?= __( 'Toggle documentation panel', 'site-reviews' ); ?></span>
154 154
             <span class="toggle-indicator" aria-hidden="true"></span>
155 155
         </button>
156 156
     </div>
@@ -167,7 +167,7 @@  discard block
 block discarded – undo
167 167
 
168 168
 $pluginSettings = apply_filters('glsr_get_options', []);</code></pre>
169 169
         <p><strong>Helpful Tip:</strong></p>
170
-        <p>You can use the <code><a href="<?= admin_url('edit.php?post_type='.glsr()->post_type.'&page=documentation#!functions'); ?>" data-expand="#functions-03">glsr_debug</a></code> helper function to print the settings array to the screen:</p>
170
+        <p>You can use the <code><a href="<?= admin_url( 'edit.php?post_type='.glsr()->post_type.'&page=documentation#!functions' ); ?>" data-expand="#functions-03">glsr_debug</a></code> helper function to print the settings array to the screen:</p>
171 171
         <pre><code class="php">glsr_debug($pluginSettings);</code></pre>
172 172
     </div>
173 173
 </div>
@@ -176,7 +176,7 @@  discard block
 block discarded – undo
176 176
     <div class="glsr-card-header">
177 177
         <h3>Helper function to get a single review</h3>
178 178
         <button type="button" class="handlediv" aria-expanded="true">
179
-            <span class="screen-reader-text"><?= __('Toggle documentation panel', 'site-reviews'); ?></span>
179
+            <span class="screen-reader-text"><?= __( 'Toggle documentation panel', 'site-reviews' ); ?></span>
180 180
             <span class="toggle-indicator" aria-hidden="true"></span>
181 181
         </button>
182 182
     </div>
@@ -217,7 +217,7 @@  discard block
 block discarded – undo
217 217
                 <pre><code class="php">echo $reviewHtml; // This is identical to: $review->render();</code></pre>
218 218
             </li>
219 219
             <li>
220
-                <p>You can also use the <code><a href="<?= admin_url('edit.php?post_type='.glsr()->post_type.'&page=documentation#!functions'); ?>" data-expand="#functions-03">glsr_debug</a></code> helper function to print both arrayable objects to the screen:</p>
220
+                <p>You can also use the <code><a href="<?= admin_url( 'edit.php?post_type='.glsr()->post_type.'&page=documentation#!functions' ); ?>" data-expand="#functions-03">glsr_debug</a></code> helper function to print both arrayable objects to the screen:</p>
221 221
                 <pre><code class="php">glsr_debug($review, $reviewHtml);</code></pre>
222 222
             </li>
223 223
         </ol>
@@ -228,7 +228,7 @@  discard block
 block discarded – undo
228 228
     <div class="glsr-card-header">
229 229
         <h3>Helper function to get multiple reviews</h3>
230 230
         <button type="button" class="handlediv" aria-expanded="true">
231
-            <span class="screen-reader-text"><?= __('Toggle documentation panel', 'site-reviews'); ?></span>
231
+            <span class="screen-reader-text"><?= __( 'Toggle documentation panel', 'site-reviews' ); ?></span>
232 232
             <span class="toggle-indicator" aria-hidden="true"></span>
233 233
         </button>
234 234
     </div>
@@ -272,7 +272,7 @@  discard block
 block discarded – undo
272 272
                 <pre><code class="php">echo $reviews; // This is identical to: $reviews->render();</code></pre>
273 273
             </li>
274 274
             <li>
275
-                <p>Loop through all reviews and handle each review as needed. Each <code>$review</code> is identical to what the <code><a href="<?= admin_url('edit.php?post_type='.glsr()->post_type.'&page=documentation#!functions'); ?>" data-expand="#functions-06">glsr_get_review</a></code> helper function returns, so make sure to read the "Helpful Tips" from that section above for more information.</p>
275
+                <p>Loop through all reviews and handle each review as needed. Each <code>$review</code> is identical to what the <code><a href="<?= admin_url( 'edit.php?post_type='.glsr()->post_type.'&page=documentation#!functions' ); ?>" data-expand="#functions-06">glsr_get_review</a></code> helper function returns, so make sure to read the "Helpful Tips" from that section above for more information.</p>
276 276
                 <pre><code class="php">foreach ($reviews as $review) {
277 277
     echo $review;
278 278
 };</code></pre>
@@ -290,7 +290,7 @@  discard block
 block discarded – undo
290 290
 echo $reviewsHtml->navigation;</code></pre>
291 291
             </li>
292 292
             <li>
293
-                <p>You can also use the <code><a href="<?= admin_url('edit.php?post_type='.glsr()->post_type.'&page=documentation#!functions'); ?>" data-expand="#functions-03">glsr_debug</a></code> helper function to print both arrayable objects to the screen:</p>
293
+                <p>You can also use the <code><a href="<?= admin_url( 'edit.php?post_type='.glsr()->post_type.'&page=documentation#!functions' ); ?>" data-expand="#functions-03">glsr_debug</a></code> helper function to print both arrayable objects to the screen:</p>
294 294
                 <pre><code class="php">glsr_debug($reviews, $reviewsHtml);</code></pre>
295 295
             </li>
296 296
 
@@ -302,7 +302,7 @@  discard block
 block discarded – undo
302 302
     <div class="glsr-card-header">
303 303
         <h3>Helper function to generate HTML stars for a rating</h3>
304 304
         <button type="button" class="handlediv" aria-expanded="true">
305
-            <span class="screen-reader-text"><?= __('Toggle documentation panel', 'site-reviews'); ?></span>
305
+            <span class="screen-reader-text"><?= __( 'Toggle documentation panel', 'site-reviews' ); ?></span>
306 306
             <span class="toggle-indicator" aria-hidden="true"></span>
307 307
         </button>
308 308
     </div>
@@ -326,7 +326,7 @@  discard block
 block discarded – undo
326 326
     <div class="glsr-card-header">
327 327
         <h3>Helper function to log variables to the plugin console</h3>
328 328
         <button type="button" class="handlediv" aria-expanded="true">
329
-            <span class="screen-reader-text"><?= __('Toggle documentation panel', 'site-reviews'); ?></span>
329
+            <span class="screen-reader-text"><?= __( 'Toggle documentation panel', 'site-reviews' ); ?></span>
330 330
             <span class="toggle-indicator" aria-hidden="true"></span>
331 331
         </button>
332 332
     </div>
@@ -346,7 +346,7 @@  discard block
 block discarded – undo
346 346
 // OR:
347 347
 
348 348
 apply_filters('glsr_log', null, $var1);</code></pre>
349
-    <p>Logged entries will be found in the <code><a href="<?= admin_url('edit.php?post_type='.glsr()->post_type.'&page=tools#!console'); ?>">Tools &rarr; Console</a></code>.</p>
349
+    <p>Logged entries will be found in the <code><a href="<?= admin_url( 'edit.php?post_type='.glsr()->post_type.'&page=tools#!console' ); ?>">Tools &rarr; Console</a></code>.</p>
350 350
     </div>
351 351
 </div>
352 352
 
@@ -354,7 +354,7 @@  discard block
 block discarded – undo
354 354
     <div class="glsr-card-header">
355 355
         <h3>Helper function to recalculate the rating counts</h3>
356 356
         <button type="button" class="handlediv" aria-expanded="true">
357
-            <span class="screen-reader-text"><?= __('Toggle documentation panel', 'site-reviews'); ?></span>
357
+            <span class="screen-reader-text"><?= __( 'Toggle documentation panel', 'site-reviews' ); ?></span>
358 358
             <span class="toggle-indicator" aria-hidden="true"></span>
359 359
         </button>
360 360
     </div>
@@ -370,6 +370,6 @@  discard block
 block discarded – undo
370 370
 // OR:
371 371
 
372 372
 apply_filters('glsr_calculate_ratings', null);</code></pre>
373
-    <p>You can verify that it runs by checking the log entries in the <code><a href="<?= admin_url('edit.php?post_type='.glsr()->post_type.'&page=tools#!console'); ?>">Tools &rarr; Console</a></code>.</p>
373
+    <p>You can verify that it runs by checking the log entries in the <code><a href="<?= admin_url( 'edit.php?post_type='.glsr()->post_type.'&page=tools#!console' ); ?>">Tools &rarr; Console</a></code>.</p>
374 374
     </div>
375 375
 </div>
Please login to merge, or discard this patch.
views/pages/documentation/support.php 1 patch
Spacing   +10 added lines, -10 removed lines patch added patch discarded remove patch
@@ -1,10 +1,10 @@  discard block
 block discarded – undo
1
-<?php defined('WPINC') || die; ?>
1
+<?php defined( 'WPINC' ) || die; ?>
2 2
 
3 3
 <div id="support-01" class="glsr-card postbox">
4 4
     <div class="glsr-card-header">
5 5
         <h3>Basic Troubleshooting Steps</h3>
6 6
         <button type="button" class="handlediv" aria-expanded="true">
7
-            <span class="screen-reader-text"><?= __('Toggle documentation panel', 'site-reviews'); ?></span>
7
+            <span class="screen-reader-text"><?= __( 'Toggle documentation panel', 'site-reviews' ); ?></span>
8 8
             <span class="toggle-indicator" aria-hidden="true"></span>
9 9
         </button>
10 10
     </div>
@@ -32,7 +32,7 @@  discard block
 block discarded – undo
32 32
     <div class="glsr-card-header">
33 33
         <h3>Common Problems and Solutions</h3>
34 34
         <button type="button" class="handlediv" aria-expanded="true">
35
-            <span class="screen-reader-text"><?= __('Toggle documentation panel', 'site-reviews'); ?></span>
35
+            <span class="screen-reader-text"><?= __( 'Toggle documentation panel', 'site-reviews' ); ?></span>
36 36
             <span class="toggle-indicator" aria-hidden="true"></span>
37 37
         </button>
38 38
     </div>
@@ -46,7 +46,7 @@  discard block
 block discarded – undo
46 46
             </li>
47 47
             <li>
48 48
                 <p class="glsr-heading">I only want my reviews to show on the page they were published or assigned to but they are showing on every page.</p>
49
-                <p>All reviews are unassigned by default. If you want to assign reviews to specific pages, you will need to use the “assign_to” and “assigned_to” shortcode options. Please see the <code><a href="<?= admin_url('edit.php?post_type='.glsr()->post_type.'&page=documentation#!shortcodes'); ?>">Shortcodes</a></code> documentation page for more information.</p>
49
+                <p>All reviews are unassigned by default. If you want to assign reviews to specific pages, you will need to use the “assign_to” and “assigned_to” shortcode options. Please see the <code><a href="<?= admin_url( 'edit.php?post_type='.glsr()->post_type.'&page=documentation#!shortcodes' ); ?>">Shortcodes</a></code> documentation page for more information.</p>
50 50
             </li>
51 51
             <li>
52 52
                 <p class="glsr-heading">My submission form is not assigning reviews to the page even though I have set the option to do so.</p>
@@ -62,7 +62,7 @@  discard block
 block discarded – undo
62 62
     <div class="glsr-card-header">
63 63
         <h3>Contact Support</h3>
64 64
         <button type="button" class="handlediv" aria-expanded="true">
65
-            <span class="screen-reader-text"><?= __('Toggle documentation panel', 'site-reviews'); ?></span>
65
+            <span class="screen-reader-text"><?= __( 'Toggle documentation panel', 'site-reviews' ); ?></span>
66 66
             <span class="toggle-indicator" aria-hidden="true"></span>
67 67
         </button>
68 68
     </div>
@@ -70,15 +70,15 @@  discard block
 block discarded – undo
70 70
         <p>The recommended way to get help is to post a support request in the <a href="https://wordpress.org/support/plugin/site-reviews/">WordPress Support Forum</a>, not only does this allow existing and future users of the plugin to benefit from the solution, it is also <strong>the fastest way to get help</strong>. However, you may also contact us directly after confirming the following:</p>
71 71
         <p class="glsr-card-field">
72 72
             <input type="checkbox" id="step-1" class="glsr-support-step">
73
-            <label for="step-1">I have read the <code><a href="<?= admin_url('edit.php?post_type='.glsr()->post_type.'&page=documentation#!faq'); ?>">FAQ</a></code> documentation page.</label>
73
+            <label for="step-1">I have read the <code><a href="<?= admin_url( 'edit.php?post_type='.glsr()->post_type.'&page=documentation#!faq' ); ?>">FAQ</a></code> documentation page.</label>
74 74
         </p>
75 75
         <p class="glsr-card-field">
76 76
             <input type="checkbox" id="step-2" class="glsr-support-step">
77
-            <label for="step-2">I have read the <code><a href="<?= admin_url('edit.php?post_type='.glsr()->post_type.'&page=documentation#!shortcodes'); ?>">Shortcodes</a></code> documentation page.</label>
77
+            <label for="step-2">I have read the <code><a href="<?= admin_url( 'edit.php?post_type='.glsr()->post_type.'&page=documentation#!shortcodes' ); ?>">Shortcodes</a></code> documentation page.</label>
78 78
         </p>
79 79
         <p class="glsr-card-field">
80 80
             <input type="checkbox" id="step-3" class="glsr-support-step">
81
-            <label for="step-3">I have read the <code><a href="<?= admin_url('edit.php?post_type='.glsr()->post_type.'&page=documentation#!hooks'); ?>">Hooks</a></code> documentation page.</label>
81
+            <label for="step-3">I have read the <code><a href="<?= admin_url( 'edit.php?post_type='.glsr()->post_type.'&page=documentation#!hooks' ); ?>">Hooks</a></code> documentation page.</label>
82 82
         </p>
83 83
         <p class="glsr-card-field">
84 84
             <input type="checkbox" id="step-4" class="glsr-support-step">
@@ -88,8 +88,8 @@  discard block
 block discarded – undo
88 88
             <p><strong>Please send an email to <a href="mailto:[email protected]?subject=Support%20request">[email protected]</a> and include the following details:</strong></p>
89 89
             <ul>
90 90
                 <li>A detailed description of the problem you are having and steps to reproduce it.</li>
91
-                <li>Download and attach the <code><a href="<?= admin_url('edit.php?post_type='.glsr()->post_type.'&page=tools#!console'); ?>">Tools &rarr; Console</a></code> log file to the email.</li>
92
-                <li>Download and attach the <code><a href="<?= admin_url('edit.php?post_type='.glsr()->post_type.'&page=tools#!system-info'); ?>">Tools &rarr; System Info</a></code> report to the email.</li>
91
+                <li>Download and attach the <code><a href="<?= admin_url( 'edit.php?post_type='.glsr()->post_type.'&page=tools#!console' ); ?>">Tools &rarr; Console</a></code> log file to the email.</li>
92
+                <li>Download and attach the <code><a href="<?= admin_url( 'edit.php?post_type='.glsr()->post_type.'&page=tools#!system-info' ); ?>">Tools &rarr; System Info</a></code> report to the email.</li>
93 93
                 <li>Include screenshots if they will help explain the problem.</li>
94 94
             </ul>
95 95
         </div>
Please login to merge, or discard this patch.
views/pages/documentation/shortcodes.php 1 patch
Spacing   +6 added lines, -6 removed lines patch added patch discarded remove patch
@@ -1,4 +1,4 @@  discard block
 block discarded – undo
1
-<?php defined('WPINC') || die; ?>
1
+<?php defined( 'WPINC' ) || die; ?>
2 2
 
3 3
 <p>This page shows all of the available shortcode options with examples of how to use them. You can use multiple options in the same shortcode.</p>
4 4
 
@@ -6,7 +6,7 @@  discard block
 block discarded – undo
6 6
     <div class="glsr-card-header">
7 7
         <h3>[site_reviews]</h3>
8 8
         <button type="button" class="handlediv" aria-expanded="true">
9
-            <span class="screen-reader-text"><?= __('Toggle documentation panel', 'site-reviews'); ?></span>
9
+            <span class="screen-reader-text"><?= __( 'Toggle documentation panel', 'site-reviews' ); ?></span>
10 10
             <span class="toggle-indicator" aria-hidden="true"></span>
11 11
         </button>
12 12
     </div>
@@ -80,7 +80,7 @@  discard block
 block discarded – undo
80 80
     <div class="glsr-card-header">
81 81
         <h3>[site_reviews_form]</h3>
82 82
         <button type="button" class="handlediv" aria-expanded="true">
83
-            <span class="screen-reader-text"><?= __('Toggle documentation panel', 'site-reviews'); ?></span>
83
+            <span class="screen-reader-text"><?= __( 'Toggle documentation panel', 'site-reviews' ); ?></span>
84 84
             <span class="toggle-indicator" aria-hidden="true"></span>
85 85
         </button>
86 86
     </div>
@@ -128,7 +128,7 @@  discard block
 block discarded – undo
128 128
     <div class="glsr-card-header">
129 129
         <h3>[site_reviews_summary]</h3>
130 130
         <button type="button" class="handlediv" aria-expanded="true">
131
-            <span class="screen-reader-text"><?= __('Toggle documentation panel', 'site-reviews'); ?></span>
131
+            <span class="screen-reader-text"><?= __( 'Toggle documentation panel', 'site-reviews' ); ?></span>
132 132
             <span class="toggle-indicator" aria-hidden="true"></span>
133 133
         </button>
134 134
     </div>
@@ -158,7 +158,7 @@  discard block
 block discarded – undo
158 158
         <pre><code>[site_reviews_summary hide="bars,if_empty,rating,stars,summary"]</code></pre>
159 159
 
160 160
         <p class="glsr-heading">labels</p>
161
-        <p>The "labels" attribute allows you to enter custom labels for the percentage bar levels (from high to low), each level should be separated with a comma. However, rather than using this attribute to change the labels it's recommended to instead create a custom translation for them in the <code><a href="<?= admin_url('edit.php?post_type='.glsr()->post_type.'&page=settings#!translations'); ?>">Settings &rarr; Translations</a></code> page.</p>
161
+        <p>The "labels" attribute allows you to enter custom labels for the percentage bar levels (from high to low), each level should be separated with a comma. However, rather than using this attribute to change the labels it's recommended to instead create a custom translation for them in the <code><a href="<?= admin_url( 'edit.php?post_type='.glsr()->post_type.'&page=settings#!translations' ); ?>">Settings &rarr; Translations</a></code> page.</p>
162 162
         <p>The default labels value is: <code>"Excellent,Very good,Average,Poor,Terrible"</code></p>
163 163
         <pre><code>[site_reviews_summary labels="5 star,4 star,3 star,2 star,1 star"]</code></pre>
164 164
 
@@ -175,7 +175,7 @@  discard block
 block discarded – undo
175 175
         <pre><code>[site_reviews_summary schema="true"]</code></pre>
176 176
 
177 177
         <p class="glsr-heading">text</p>
178
-        <p>The "text" attribute allows you to change the summary text. Available template tags to use are, "{rating}" which represents the calculated average rating, "{max}" which represents the maximum star rating available, and "{num}" which represents the total number of reviews. However, rather than using this attribute to change the summary text it's recommended to instead create a custom translation for it in the <code><a href="<?= admin_url('edit.php?post_type='.glsr()->post_type.'&page=settings#!translations'); ?>">Settings &rarr; Translations</a></code> page. That way, you will be able to customize both the singular (1 review) and plural (2 reviews) summary texts.</p>
178
+        <p>The "text" attribute allows you to change the summary text. Available template tags to use are, "{rating}" which represents the calculated average rating, "{max}" which represents the maximum star rating available, and "{num}" which represents the total number of reviews. However, rather than using this attribute to change the summary text it's recommended to instead create a custom translation for it in the <code><a href="<?= admin_url( 'edit.php?post_type='.glsr()->post_type.'&page=settings#!translations' ); ?>">Settings &rarr; Translations</a></code> page. That way, you will be able to customize both the singular (1 review) and plural (2 reviews) summary texts.</p>
179 179
         <p>The default text value is: <code>"{rating} out of {max} stars (based on {num} reviews)"</code></p>
180 180
         <pre><code>[site_reviews_summary text="{num} customer reviews"]</code></pre>
181 181
 
Please login to merge, or discard this patch.