plugin updates
This commit is contained in:
@@ -1,3 +1,6 @@
|
|||||||
|
= 11.1.75 (2024-11-29) =
|
||||||
|
* Add Salt/key config global to avoid disconnection in case secret changes
|
||||||
|
|
||||||
= 11.1.73 (2024-11-19) =
|
= 11.1.73 (2024-11-19) =
|
||||||
* Remove unknow wp_json_decode function
|
* Remove unknow wp_json_decode function
|
||||||
|
|
||||||
@@ -298,6 +301,3 @@
|
|||||||
= 8.9.20 (2022-04-13) =
|
= 8.9.20 (2022-04-13) =
|
||||||
* Fix security issue related to sanitizing inputs
|
* Fix security issue related to sanitizing inputs
|
||||||
|
|
||||||
= 8.9.14 (2022-04-12) =
|
|
||||||
* Fix security issue related to form inputs
|
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
@@ -7,7 +7,7 @@ msgstr ""
|
|||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=utf-8\n"
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"POT-Creation-Date: 2024-11-19T10:31:24+00:00\n"
|
"POT-Creation-Date: 2024-11-29T15:54:53+00:00\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Language: \n"
|
"Language: \n"
|
||||||
"X-Generator: WP-CLI 2.11.0\n"
|
"X-Generator: WP-CLI 2.11.0\n"
|
||||||
|
|||||||
Binary file not shown.
@@ -7,7 +7,7 @@ msgstr ""
|
|||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=utf-8\n"
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"POT-Creation-Date: 2024-11-19T10:31:24+00:00\n"
|
"POT-Creation-Date: 2024-11-29T15:54:53+00:00\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Language: \n"
|
"Language: \n"
|
||||||
"X-Generator: WP-CLI 2.11.0\n"
|
"X-Generator: WP-CLI 2.11.0\n"
|
||||||
|
|||||||
Binary file not shown.
@@ -7,7 +7,7 @@ msgstr ""
|
|||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=utf-8\n"
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"POT-Creation-Date: 2024-11-19T10:31:24+00:00\n"
|
"POT-Creation-Date: 2024-11-29T15:54:53+00:00\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Language: \n"
|
"Language: \n"
|
||||||
"X-Generator: WP-CLI 2.11.0\n"
|
"X-Generator: WP-CLI 2.11.0\n"
|
||||||
|
|||||||
Binary file not shown.
@@ -7,7 +7,7 @@ msgstr ""
|
|||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=utf-8\n"
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"POT-Creation-Date: 2024-11-19T10:31:24+00:00\n"
|
"POT-Creation-Date: 2024-11-29T15:54:53+00:00\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Language: \n"
|
"Language: \n"
|
||||||
"X-Generator: WP-CLI 2.11.0\n"
|
"X-Generator: WP-CLI 2.11.0\n"
|
||||||
|
|||||||
Binary file not shown.
@@ -7,7 +7,7 @@ msgstr ""
|
|||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=utf-8\n"
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"POT-Creation-Date: 2024-11-19T10:31:24+00:00\n"
|
"POT-Creation-Date: 2024-11-29T15:54:53+00:00\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Language: \n"
|
"Language: \n"
|
||||||
"X-Generator: WP-CLI 2.11.0\n"
|
"X-Generator: WP-CLI 2.11.0\n"
|
||||||
|
|||||||
Binary file not shown.
@@ -7,7 +7,7 @@ msgstr ""
|
|||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=utf-8\n"
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"POT-Creation-Date: 2024-11-19T10:31:24+00:00\n"
|
"POT-Creation-Date: 2024-11-29T15:54:53+00:00\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Language: \n"
|
"Language: \n"
|
||||||
"X-Generator: WP-CLI 2.11.0\n"
|
"X-Generator: WP-CLI 2.11.0\n"
|
||||||
|
|||||||
Binary file not shown.
@@ -7,7 +7,7 @@ msgstr ""
|
|||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=utf-8\n"
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"POT-Creation-Date: 2024-11-19T10:31:24+00:00\n"
|
"POT-Creation-Date: 2024-11-29T15:54:53+00:00\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Language: \n"
|
"Language: \n"
|
||||||
"X-Generator: WP-CLI 2.11.0\n"
|
"X-Generator: WP-CLI 2.11.0\n"
|
||||||
|
|||||||
Binary file not shown.
@@ -7,7 +7,7 @@ msgstr ""
|
|||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=utf-8\n"
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"POT-Creation-Date: 2024-11-19T10:31:24+00:00\n"
|
"POT-Creation-Date: 2024-11-29T15:54:53+00:00\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Language: \n"
|
"Language: \n"
|
||||||
"X-Generator: WP-CLI 2.11.0\n"
|
"X-Generator: WP-CLI 2.11.0\n"
|
||||||
|
|||||||
Binary file not shown.
@@ -7,7 +7,7 @@ msgstr ""
|
|||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=utf-8\n"
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"POT-Creation-Date: 2024-11-19T10:31:24+00:00\n"
|
"POT-Creation-Date: 2024-11-29T15:54:53+00:00\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Language: \n"
|
"Language: \n"
|
||||||
"X-Generator: WP-CLI 2.11.0\n"
|
"X-Generator: WP-CLI 2.11.0\n"
|
||||||
|
|||||||
Binary file not shown.
@@ -7,7 +7,7 @@ msgstr ""
|
|||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=utf-8\n"
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"POT-Creation-Date: 2024-11-19T10:31:24+00:00\n"
|
"POT-Creation-Date: 2024-11-29T15:54:53+00:00\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Language: \n"
|
"Language: \n"
|
||||||
"X-Generator: WP-CLI 2.11.0\n"
|
"X-Generator: WP-CLI 2.11.0\n"
|
||||||
|
|||||||
Binary file not shown.
@@ -7,7 +7,7 @@ msgstr ""
|
|||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=utf-8\n"
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"POT-Creation-Date: 2024-11-19T10:31:24+00:00\n"
|
"POT-Creation-Date: 2024-11-29T15:54:53+00:00\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Language: \n"
|
"Language: \n"
|
||||||
"X-Generator: WP-CLI 2.11.0\n"
|
"X-Generator: WP-CLI 2.11.0\n"
|
||||||
|
|||||||
Binary file not shown.
@@ -7,7 +7,7 @@ msgstr ""
|
|||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=utf-8\n"
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"POT-Creation-Date: 2024-11-19T10:31:24+00:00\n"
|
"POT-Creation-Date: 2024-11-29T15:54:53+00:00\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Language: \n"
|
"Language: \n"
|
||||||
"X-Generator: WP-CLI 2.11.0\n"
|
"X-Generator: WP-CLI 2.11.0\n"
|
||||||
|
|||||||
Binary file not shown.
@@ -7,7 +7,7 @@ msgstr ""
|
|||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=utf-8\n"
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"POT-Creation-Date: 2024-11-19T10:31:24+00:00\n"
|
"POT-Creation-Date: 2024-11-29T15:54:53+00:00\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Language: \n"
|
"Language: \n"
|
||||||
"X-Generator: WP-CLI 2.11.0\n"
|
"X-Generator: WP-CLI 2.11.0\n"
|
||||||
|
|||||||
Binary file not shown.
@@ -7,7 +7,7 @@ msgstr ""
|
|||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=utf-8\n"
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"POT-Creation-Date: 2024-11-19T10:31:24+00:00\n"
|
"POT-Creation-Date: 2024-11-29T15:54:53+00:00\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Language: \n"
|
"Language: \n"
|
||||||
"X-Generator: WP-CLI 2.11.0\n"
|
"X-Generator: WP-CLI 2.11.0\n"
|
||||||
|
|||||||
Binary file not shown.
@@ -7,7 +7,7 @@ msgstr ""
|
|||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=utf-8\n"
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"POT-Creation-Date: 2024-11-19T10:31:24+00:00\n"
|
"POT-Creation-Date: 2024-11-29T15:54:53+00:00\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Language: \n"
|
"Language: \n"
|
||||||
"X-Generator: WP-CLI 2.11.0\n"
|
"X-Generator: WP-CLI 2.11.0\n"
|
||||||
|
|||||||
Binary file not shown.
@@ -7,7 +7,7 @@ msgstr ""
|
|||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=utf-8\n"
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"POT-Creation-Date: 2024-11-19T10:31:24+00:00\n"
|
"POT-Creation-Date: 2024-11-29T15:54:53+00:00\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Language: \n"
|
"Language: \n"
|
||||||
"X-Generator: WP-CLI 2.11.0\n"
|
"X-Generator: WP-CLI 2.11.0\n"
|
||||||
|
|||||||
Binary file not shown.
@@ -7,7 +7,7 @@ msgstr ""
|
|||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=utf-8\n"
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"POT-Creation-Date: 2024-11-19T10:31:24+00:00\n"
|
"POT-Creation-Date: 2024-11-29T15:54:53+00:00\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Language: \n"
|
"Language: \n"
|
||||||
"X-Generator: WP-CLI 2.11.0\n"
|
"X-Generator: WP-CLI 2.11.0\n"
|
||||||
|
|||||||
Binary file not shown.
@@ -7,7 +7,7 @@ msgstr ""
|
|||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=utf-8\n"
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"POT-Creation-Date: 2024-11-19T10:31:24+00:00\n"
|
"POT-Creation-Date: 2024-11-29T15:54:53+00:00\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Language: \n"
|
"Language: \n"
|
||||||
"X-Generator: WP-CLI 2.11.0\n"
|
"X-Generator: WP-CLI 2.11.0\n"
|
||||||
|
|||||||
Binary file not shown.
@@ -7,7 +7,7 @@ msgstr ""
|
|||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=utf-8\n"
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"POT-Creation-Date: 2024-11-19T10:31:24+00:00\n"
|
"POT-Creation-Date: 2024-11-29T15:54:53+00:00\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Language: \n"
|
"Language: \n"
|
||||||
"X-Generator: WP-CLI 2.11.0\n"
|
"X-Generator: WP-CLI 2.11.0\n"
|
||||||
|
|||||||
Binary file not shown.
@@ -7,7 +7,7 @@ msgstr ""
|
|||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=utf-8\n"
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"POT-Creation-Date: 2024-11-19T10:31:24+00:00\n"
|
"POT-Creation-Date: 2024-11-29T15:54:53+00:00\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Language: \n"
|
"Language: \n"
|
||||||
"X-Generator: WP-CLI 2.11.0\n"
|
"X-Generator: WP-CLI 2.11.0\n"
|
||||||
|
|||||||
Binary file not shown.
@@ -7,7 +7,7 @@ msgstr ""
|
|||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=utf-8\n"
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"POT-Creation-Date: 2024-11-19T10:31:24+00:00\n"
|
"POT-Creation-Date: 2024-11-29T15:54:53+00:00\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Language: \n"
|
"Language: \n"
|
||||||
"X-Generator: WP-CLI 2.11.0\n"
|
"X-Generator: WP-CLI 2.11.0\n"
|
||||||
|
|||||||
Binary file not shown.
@@ -7,7 +7,7 @@ msgstr ""
|
|||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=utf-8\n"
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"POT-Creation-Date: 2024-11-19T10:31:24+00:00\n"
|
"POT-Creation-Date: 2024-11-29T15:54:53+00:00\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Language: \n"
|
"Language: \n"
|
||||||
"X-Generator: WP-CLI 2.11.0\n"
|
"X-Generator: WP-CLI 2.11.0\n"
|
||||||
|
|||||||
Binary file not shown.
@@ -7,7 +7,7 @@ msgstr ""
|
|||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=utf-8\n"
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"POT-Creation-Date: 2024-11-19T10:31:24+00:00\n"
|
"POT-Creation-Date: 2024-11-29T15:54:53+00:00\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Language: \n"
|
"Language: \n"
|
||||||
"X-Generator: WP-CLI 2.11.0\n"
|
"X-Generator: WP-CLI 2.11.0\n"
|
||||||
|
|||||||
Binary file not shown.
@@ -7,7 +7,7 @@ msgstr ""
|
|||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=utf-8\n"
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"POT-Creation-Date: 2024-11-19T10:31:24+00:00\n"
|
"POT-Creation-Date: 2024-11-29T15:54:53+00:00\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Language: \n"
|
"Language: \n"
|
||||||
"X-Generator: WP-CLI 2.11.0\n"
|
"X-Generator: WP-CLI 2.11.0\n"
|
||||||
|
|||||||
Binary file not shown.
@@ -7,7 +7,7 @@ msgstr ""
|
|||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=utf-8\n"
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"POT-Creation-Date: 2024-11-19T10:31:24+00:00\n"
|
"POT-Creation-Date: 2024-11-29T15:54:53+00:00\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Language: \n"
|
"Language: \n"
|
||||||
"X-Generator: WP-CLI 2.11.0\n"
|
"X-Generator: WP-CLI 2.11.0\n"
|
||||||
|
|||||||
Binary file not shown.
@@ -7,7 +7,7 @@ msgstr ""
|
|||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=utf-8\n"
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"POT-Creation-Date: 2024-11-19T10:31:24+00:00\n"
|
"POT-Creation-Date: 2024-11-29T15:54:53+00:00\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Language: \n"
|
"Language: \n"
|
||||||
"X-Generator: WP-CLI 2.11.0\n"
|
"X-Generator: WP-CLI 2.11.0\n"
|
||||||
|
|||||||
Binary file not shown.
@@ -7,7 +7,7 @@ msgstr ""
|
|||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=utf-8\n"
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"POT-Creation-Date: 2024-11-19T10:31:24+00:00\n"
|
"POT-Creation-Date: 2024-11-29T15:54:53+00:00\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Language: \n"
|
"Language: \n"
|
||||||
"X-Generator: WP-CLI 2.11.0\n"
|
"X-Generator: WP-CLI 2.11.0\n"
|
||||||
|
|||||||
Binary file not shown.
@@ -7,7 +7,7 @@ msgstr ""
|
|||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=utf-8\n"
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"POT-Creation-Date: 2024-11-19T10:31:24+00:00\n"
|
"POT-Creation-Date: 2024-11-29T15:54:53+00:00\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Language: \n"
|
"Language: \n"
|
||||||
"X-Generator: WP-CLI 2.11.0\n"
|
"X-Generator: WP-CLI 2.11.0\n"
|
||||||
|
|||||||
Binary file not shown.
@@ -7,7 +7,7 @@ msgstr ""
|
|||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=utf-8\n"
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"POT-Creation-Date: 2024-11-19T10:31:24+00:00\n"
|
"POT-Creation-Date: 2024-11-29T15:54:53+00:00\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Language: \n"
|
"Language: \n"
|
||||||
"X-Generator: WP-CLI 2.11.0\n"
|
"X-Generator: WP-CLI 2.11.0\n"
|
||||||
|
|||||||
Binary file not shown.
@@ -7,7 +7,7 @@ msgstr ""
|
|||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=utf-8\n"
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"POT-Creation-Date: 2024-11-19T10:31:24+00:00\n"
|
"POT-Creation-Date: 2024-11-29T15:54:53+00:00\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Language: \n"
|
"Language: \n"
|
||||||
"X-Generator: WP-CLI 2.11.0\n"
|
"X-Generator: WP-CLI 2.11.0\n"
|
||||||
|
|||||||
Binary file not shown.
@@ -7,7 +7,7 @@ msgstr ""
|
|||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=utf-8\n"
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"POT-Creation-Date: 2024-11-19T10:31:24+00:00\n"
|
"POT-Creation-Date: 2024-11-29T15:54:53+00:00\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Language: \n"
|
"Language: \n"
|
||||||
"X-Generator: WP-CLI 2.11.0\n"
|
"X-Generator: WP-CLI 2.11.0\n"
|
||||||
|
|||||||
Binary file not shown.
@@ -7,7 +7,7 @@ msgstr ""
|
|||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=utf-8\n"
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"POT-Creation-Date: 2024-11-19T10:31:24+00:00\n"
|
"POT-Creation-Date: 2024-11-29T15:54:53+00:00\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Language: \n"
|
"Language: \n"
|
||||||
"X-Generator: WP-CLI 2.11.0\n"
|
"X-Generator: WP-CLI 2.11.0\n"
|
||||||
|
|||||||
Binary file not shown.
@@ -7,7 +7,7 @@ msgstr ""
|
|||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=utf-8\n"
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"POT-Creation-Date: 2024-11-19T10:31:24+00:00\n"
|
"POT-Creation-Date: 2024-11-29T15:54:53+00:00\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Language: \n"
|
"Language: \n"
|
||||||
"X-Generator: WP-CLI 2.11.0\n"
|
"X-Generator: WP-CLI 2.11.0\n"
|
||||||
|
|||||||
Binary file not shown.
@@ -7,7 +7,7 @@ msgstr ""
|
|||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=utf-8\n"
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"POT-Creation-Date: 2024-11-19T10:31:24+00:00\n"
|
"POT-Creation-Date: 2024-11-29T15:54:53+00:00\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Language: \n"
|
"Language: \n"
|
||||||
"X-Generator: WP-CLI 2.11.0\n"
|
"X-Generator: WP-CLI 2.11.0\n"
|
||||||
|
|||||||
Binary file not shown.
@@ -7,7 +7,7 @@ msgstr ""
|
|||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=utf-8\n"
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"POT-Creation-Date: 2024-11-19T10:31:24+00:00\n"
|
"POT-Creation-Date: 2024-11-29T15:54:53+00:00\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Language: \n"
|
"Language: \n"
|
||||||
"X-Generator: WP-CLI 2.11.0\n"
|
"X-Generator: WP-CLI 2.11.0\n"
|
||||||
|
|||||||
Binary file not shown.
@@ -7,7 +7,7 @@ msgstr ""
|
|||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=utf-8\n"
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"POT-Creation-Date: 2024-11-19T10:31:24+00:00\n"
|
"POT-Creation-Date: 2024-11-29T15:54:53+00:00\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Language: \n"
|
"Language: \n"
|
||||||
"X-Generator: WP-CLI 2.11.0\n"
|
"X-Generator: WP-CLI 2.11.0\n"
|
||||||
|
|||||||
Binary file not shown.
@@ -7,7 +7,7 @@ msgstr ""
|
|||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=utf-8\n"
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"POT-Creation-Date: 2024-11-19T10:31:24+00:00\n"
|
"POT-Creation-Date: 2024-11-29T15:54:53+00:00\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Language: \n"
|
"Language: \n"
|
||||||
"X-Generator: WP-CLI 2.11.0\n"
|
"X-Generator: WP-CLI 2.11.0\n"
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ msgstr ""
|
|||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"POT-Creation-Date: 2024-11-19T10:31:24+00:00\n"
|
"POT-Creation-Date: 2024-11-29T15:54:53+00:00\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"X-Generator: WP-CLI 2.11.0\n"
|
"X-Generator: WP-CLI 2.11.0\n"
|
||||||
"X-Domain: leadin\n"
|
"X-Domain: leadin\n"
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ namespace Leadin;
|
|||||||
* Plugin Name: HubSpot All-In-One Marketing - Forms, Popups, Live Chat
|
* Plugin Name: HubSpot All-In-One Marketing - Forms, Popups, Live Chat
|
||||||
* Plugin URI: http://www.hubspot.com/integrations/wordpress
|
* Plugin URI: http://www.hubspot.com/integrations/wordpress
|
||||||
* Description: HubSpot’s official WordPress plugin allows you to add forms, popups, and live chat to your website and integrate with the best WordPress CRM.
|
* Description: HubSpot’s official WordPress plugin allows you to add forms, popups, and live chat to your website and integrate with the best WordPress CRM.
|
||||||
* Version: 11.1.73
|
* Version: 11.1.75
|
||||||
* Author: HubSpot
|
* Author: HubSpot
|
||||||
* Author URI: http://hubspot.com/products/wordpress
|
* Author URI: http://hubspot.com/products/wordpress
|
||||||
* License: GPL v3
|
* License: GPL v3
|
||||||
@@ -59,14 +59,21 @@ if ( ! defined( 'LEADIN_REQUIRED_PHP_VERSION' ) ) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ( ! defined( 'LEADIN_PLUGIN_VERSION' ) ) {
|
if ( ! defined( 'LEADIN_PLUGIN_VERSION' ) ) {
|
||||||
define( 'LEADIN_PLUGIN_VERSION', '11.1.73' );
|
define( 'LEADIN_PLUGIN_VERSION', '11.1.75' );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if ( ! defined( 'LEADIN_PREFIX' ) ) {
|
if ( ! defined( 'LEADIN_PREFIX' ) ) {
|
||||||
define( 'LEADIN_PREFIX', 'leadin' );
|
define( 'LEADIN_PREFIX', 'leadin' );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ( ! defined( 'LEADIN_KEY' ) && defined( 'LOGGED_IN_KEY' ) ) {
|
||||||
|
define( 'LEADIN_KEY', LOGGED_IN_KEY );
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( ! defined( 'LEADIN_SALT' ) && defined( 'LOGGED_IN_SALT' ) ) {
|
||||||
|
define( 'LEADIN_SALT', LOGGED_IN_SALT );
|
||||||
|
}
|
||||||
|
|
||||||
// =============================================
|
// =============================================
|
||||||
// Set autoload
|
// Set autoload
|
||||||
// =============================================
|
// =============================================
|
||||||
|
|||||||
@@ -12,8 +12,8 @@ class OAuthCrypto {
|
|||||||
* Return the key to use in encrypting/decrypting OAuth credentials
|
* Return the key to use in encrypting/decrypting OAuth credentials
|
||||||
*/
|
*/
|
||||||
private static function get_key() {
|
private static function get_key() {
|
||||||
if ( defined( 'LOGGED_IN_KEY' ) ) {
|
if ( defined( 'LEADIN_KEY' ) ) {
|
||||||
return LOGGED_IN_KEY;
|
return LEADIN_KEY;
|
||||||
}
|
}
|
||||||
|
|
||||||
return '';
|
return '';
|
||||||
@@ -23,8 +23,8 @@ class OAuthCrypto {
|
|||||||
* Return the salt to use in encrypting/decrypting OAuth credentials
|
* Return the salt to use in encrypting/decrypting OAuth credentials
|
||||||
*/
|
*/
|
||||||
private static function get_salt() {
|
private static function get_salt() {
|
||||||
if ( defined( 'LOGGED_IN_SALT' ) ) {
|
if ( defined( 'LEADIN_SALT' ) ) {
|
||||||
return LOGGED_IN_SALT;
|
return LEADIN_SALT;
|
||||||
}
|
}
|
||||||
|
|
||||||
return '';
|
return '';
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ Tags: CRM, Marketing, Live Chat, Forms, Analytics, popups, newsletter, contact m
|
|||||||
Requires at least: 5.8
|
Requires at least: 5.8
|
||||||
Tested up to: 6.7
|
Tested up to: 6.7
|
||||||
Requires PHP: 7.2
|
Requires PHP: 7.2
|
||||||
Stable tag: 11.1.73
|
Stable tag: 11.1.75
|
||||||
|
|
||||||
The CRM, Sales, and Marketing WordPress plugin to grow your business better.
|
The CRM, Sales, and Marketing WordPress plugin to grow your business better.
|
||||||
|
|
||||||
@@ -418,12 +418,12 @@ Please visit the <a href="https://community.hubspot.com/?utm_source=wordpress-pl
|
|||||||
== Changelog ==
|
== Changelog ==
|
||||||
|
|
||||||
<a href="http://plugins.svn.wordpress.org/leadin/trunk/changelog.txt" target="_blank">Full changelog here</a>
|
<a href="http://plugins.svn.wordpress.org/leadin/trunk/changelog.txt" target="_blank">Full changelog here</a>
|
||||||
- Current version: 11.1.73
|
- Current version: 11.1.75
|
||||||
- Version release date: 2024-11-19
|
- Version release date: 2024-11-29
|
||||||
|
|
||||||
|
= 11.1.75 (2024-11-29) =
|
||||||
|
* Add Salt/key config global to avoid disconnection in case secret changes
|
||||||
|
|
||||||
= 11.1.73 (2024-11-19) =
|
= 11.1.73 (2024-11-19) =
|
||||||
* Remove unknow wp_json_decode function
|
* Remove unknow wp_json_decode function
|
||||||
|
|
||||||
= 11.1.66 (2024-10-23) =
|
|
||||||
* Register gutenberg blocks at PHP side
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
<?php return array(
|
<?php return array(
|
||||||
'root' => array(
|
'root' => array(
|
||||||
'name' => 'hubspot/leadin-wordpress-plugin',
|
'name' => 'hubspot/leadin-wordpress-plugin',
|
||||||
'pretty_version' => '11.1.73',
|
'pretty_version' => '11.1.75',
|
||||||
'version' => '11.1.73.0',
|
'version' => '11.1.75.0',
|
||||||
'reference' => '52fed1357aeea9e86434fa7c5c05f9ff7c3c1653',
|
'reference' => '6a4d158f57411bd11dafed02a284b7e7f893f010',
|
||||||
'type' => 'library',
|
'type' => 'library',
|
||||||
'install_path' => __DIR__ . '/../../',
|
'install_path' => __DIR__ . '/../../',
|
||||||
'aliases' => array(),
|
'aliases' => array(),
|
||||||
@@ -11,9 +11,9 @@
|
|||||||
),
|
),
|
||||||
'versions' => array(
|
'versions' => array(
|
||||||
'hubspot/leadin-wordpress-plugin' => array(
|
'hubspot/leadin-wordpress-plugin' => array(
|
||||||
'pretty_version' => '11.1.73',
|
'pretty_version' => '11.1.75',
|
||||||
'version' => '11.1.73.0',
|
'version' => '11.1.75.0',
|
||||||
'reference' => '52fed1357aeea9e86434fa7c5c05f9ff7c3c1653',
|
'reference' => '6a4d158f57411bd11dafed02a284b7e7f893f010',
|
||||||
'type' => 'library',
|
'type' => 'library',
|
||||||
'install_path' => __DIR__ . '/../../',
|
'install_path' => __DIR__ . '/../../',
|
||||||
'aliases' => array(),
|
'aliases' => array(),
|
||||||
|
|||||||
@@ -1,3 +1,10 @@
|
|||||||
|
= 4.22.2 =
|
||||||
|
* Security fix: Prevent CSV injection attack in log export.
|
||||||
|
* Security fix: Restrict access to doc count updates.
|
||||||
|
* Minor fix: Product variations check the parent product for access restrictions, to avoid situations where variations of a draft product appear in the results.
|
||||||
|
* Minor fix: Improved TablePress compatibility.
|
||||||
|
* Minor fix: Added error handling to the Ninja Table compatibility code.
|
||||||
|
|
||||||
= 4.22.1 =
|
= 4.22.1 =
|
||||||
* Security fix: Relevanssi had a vulnerability where anyone could access the search logs and click logs. The log export is now protected.
|
* Security fix: Relevanssi had a vulnerability where anyone could access the search logs and click logs. The log export is now protected.
|
||||||
* Minor fix: Relevanssi had problems with Polylang when a post or term didn't have language specified. Now Relevanssi handles those situations better.
|
* Minor fix: Relevanssi had problems with Polylang when a post or term didn't have language specified. Now Relevanssi handles those situations better.
|
||||||
|
|||||||
@@ -284,7 +284,7 @@ function relevanssi_populate_array( $matches, $blog_id = -1 ) {
|
|||||||
foreach ( $posts as $post ) {
|
foreach ( $posts as $post ) {
|
||||||
$cache_id = $blog_id . '|' . $post->ID;
|
$cache_id = $blog_id . '|' . $post->ID;
|
||||||
|
|
||||||
$relevanssi_post_array[ $cache_id ] = $post;
|
$relevanssi_post_array[ $cache_id ] = new WP_Post( $post );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} while ( $ids );
|
} while ( $ids );
|
||||||
|
|||||||
@@ -73,14 +73,14 @@ function relevanssi_seoframework_form() {
|
|||||||
?>
|
?>
|
||||||
<tr>
|
<tr>
|
||||||
<th scope="row">
|
<th scope="row">
|
||||||
<label for='relevanssi_seo_noindex'><?php esc_html_e( 'Use SEO Framework noindex', 'relevanssi' ); ?></label>
|
<label for='relevanssi_seo_noindex'><?php esc_html_e( 'Use SEO Framework local search exclude', 'relevanssi' ); ?></label>
|
||||||
</th>
|
</th>
|
||||||
<td>
|
<td>
|
||||||
<label for='relevanssi_seo_noindex'>
|
<label for='relevanssi_seo_noindex'>
|
||||||
<input type='checkbox' name='relevanssi_seo_noindex' id='relevanssi_seo_noindex' <?php echo esc_attr( $seo_noindex ); ?> />
|
<input type='checkbox' name='relevanssi_seo_noindex' id='relevanssi_seo_noindex' <?php echo esc_attr( $seo_noindex ); ?> />
|
||||||
<?php esc_html_e( 'Use SEO Framework noindex.', 'relevanssi' ); ?>
|
<?php esc_html_e( 'Use SEO Framework local search exclude.', 'relevanssi' ); ?>
|
||||||
</label>
|
</label>
|
||||||
<p class="description"><?php esc_html_e( 'If checked, Relevanssi will not index posts marked as "No index" in SEO Framework settings.', 'relevanssi' ); ?></p>
|
<p class="description"><?php esc_html_e( 'If checked, Relevanssi will not index posts marked as "Exclude this page from all search queries on this site" in SEO Framework settings.', 'relevanssi' ); ?></p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<?php
|
<?php
|
||||||
|
|||||||
@@ -616,6 +616,39 @@ function relevanssi_index_doc( $index_post, $remove_first = false, $custom_field
|
|||||||
$post = $previous_post; // phpcs:ignore WordPress.WP.GlobalVariablesOverride.Prohibited
|
$post = $previous_post; // phpcs:ignore WordPress.WP.GlobalVariablesOverride.Prohibited
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Filters the number of queries returned.
|
||||||
|
*
|
||||||
|
* Added for potential TranslatePress support.
|
||||||
|
*
|
||||||
|
* @param string|int $n Number of insert queries run, or
|
||||||
|
* -1 if the indexing fails, or 'hide' in case the post is hidden or
|
||||||
|
* 'donotindex' if a filter blocks this.
|
||||||
|
* @param object|int $index_post The post to index, either post
|
||||||
|
* object or post ID.
|
||||||
|
* @param boolean $remove_first If true, remove the post from the
|
||||||
|
* index before indexing. Default false.
|
||||||
|
* @param array $custom_fields The custom fields that are indexed
|
||||||
|
* for the post. Default an empty string.
|
||||||
|
* @param boolean $bypass_global_post If true, do not use the global
|
||||||
|
* $post object. Default false.
|
||||||
|
* @param boolean $debug If true, echo out debugging
|
||||||
|
* information. Default false.
|
||||||
|
*
|
||||||
|
* @return string|int Number of insert queries run, or -1 if the indexing
|
||||||
|
* fails, or 'hide' in case the post is hidden or 'donotindex' if a filter
|
||||||
|
* blocks this.
|
||||||
|
*/
|
||||||
|
$n = apply_filters(
|
||||||
|
'relevanssi_after_index_doc_n',
|
||||||
|
$n,
|
||||||
|
$index_post,
|
||||||
|
$remove_first,
|
||||||
|
$custom_fields,
|
||||||
|
$bypass_global_post,
|
||||||
|
$debug
|
||||||
|
);
|
||||||
|
|
||||||
return $n;
|
return $n;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1049,7 +1082,13 @@ function relevanssi_get_comments( $post_id ) {
|
|||||||
function relevanssi_truncate_index() {
|
function relevanssi_truncate_index() {
|
||||||
global $wpdb, $relevanssi_variables;
|
global $wpdb, $relevanssi_variables;
|
||||||
$relevanssi_table = $relevanssi_variables['relevanssi_table'];
|
$relevanssi_table = $relevanssi_variables['relevanssi_table'];
|
||||||
return $wpdb->query( "TRUNCATE TABLE $relevanssi_table" ); // phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared,WordPress.DB.PreparedSQL.InterpolatedNotPrepared
|
|
||||||
|
/**
|
||||||
|
* Filters the TRUNCATE TABLE query for truncating the index.
|
||||||
|
*
|
||||||
|
* @param string The MySQL query.
|
||||||
|
*/
|
||||||
|
return $wpdb->query( apply_filters( 'relevanssi_truncate_index', "TRUNCATE TABLE $relevanssi_table" ) ); // phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared,WordPress.DB.PreparedSQL.InterpolatedNotPrepared
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -1477,6 +1516,8 @@ function relevanssi_index_content( &$insert_data, $post_object, $min_word_length
|
|||||||
/**
|
/**
|
||||||
* If this filter returns false, post content is not indexed at all.
|
* If this filter returns false, post content is not indexed at all.
|
||||||
*
|
*
|
||||||
|
* Also used in /premium/pinning.php.
|
||||||
|
*
|
||||||
* @param boolean Return false to prevent post content from being indexed.
|
* @param boolean Return false to prevent post content from being indexed.
|
||||||
* Default true.
|
* Default true.
|
||||||
* @param object $post_object The post object.
|
* @param object $post_object The post object.
|
||||||
|
|||||||
@@ -321,8 +321,8 @@ function relevanssi_create_database_tables( $relevanssi_db_version ) {
|
|||||||
customfield mediumint(9) NOT NULL DEFAULT '0',
|
customfield mediumint(9) NOT NULL DEFAULT '0',
|
||||||
mysqlcolumn mediumint(9) NOT NULL DEFAULT '0',
|
mysqlcolumn mediumint(9) NOT NULL DEFAULT '0',
|
||||||
taxonomy_detail longtext NOT NULL,
|
taxonomy_detail longtext NOT NULL,
|
||||||
customfield_detail longtext NOT NULL DEFAULT '',
|
customfield_detail longtext NOT NULL,
|
||||||
mysqlcolumn_detail longtext NOT NULL DEFAULT '',
|
mysqlcolumn_detail longtext NOT NULL,
|
||||||
type varchar(210) NOT NULL DEFAULT 'post',
|
type varchar(210) NOT NULL DEFAULT 'post',
|
||||||
item bigint(20) NOT NULL DEFAULT '0',
|
item bigint(20) NOT NULL DEFAULT '0',
|
||||||
PRIMARY KEY doctermitem (doc, term, item)) $charset_collate";
|
PRIMARY KEY doctermitem (doc, term, item)) $charset_collate";
|
||||||
@@ -392,6 +392,7 @@ function relevanssi_create_database_tables( $relevanssi_db_version ) {
|
|||||||
user_id bigint(20) NOT NULL DEFAULT '0',
|
user_id bigint(20) NOT NULL DEFAULT '0',
|
||||||
ip varchar(40) NOT NULL DEFAULT '',
|
ip varchar(40) NOT NULL DEFAULT '',
|
||||||
session_id varchar(32) NOT NULL DEFAULT '',
|
session_id varchar(32) NOT NULL DEFAULT '',
|
||||||
|
source varchar(32) NOT NULL DEFAULT '',
|
||||||
PRIMARY KEY id (id)) $charset_collate;";
|
PRIMARY KEY id (id)) $charset_collate;";
|
||||||
|
|
||||||
dbDelta( $sql );
|
dbDelta( $sql );
|
||||||
@@ -524,10 +525,11 @@ function relevanssi_load_compatibility_code() {
|
|||||||
defined( 'GROUPS_CORE_VERSION' ) && require_once 'compatibility/groups.php';
|
defined( 'GROUPS_CORE_VERSION' ) && require_once 'compatibility/groups.php';
|
||||||
defined( 'NINJA_TABLES_VERSION' ) && require_once 'compatibility/ninjatables.php';
|
defined( 'NINJA_TABLES_VERSION' ) && require_once 'compatibility/ninjatables.php';
|
||||||
defined( 'PRLI_PLUGIN_NAME' ) && require_once 'compatibility/pretty-links.php';
|
defined( 'PRLI_PLUGIN_NAME' ) && require_once 'compatibility/pretty-links.php';
|
||||||
defined( 'WPM_PRODUCT_GTIN_WC_VERSION' ) && require_once 'compatibility/product-gtin-ean-upc-isbn-for-woocommerce.php';
|
defined( 'SEOPRESS_VERSION' ) && require_once 'compatibility/seopress.php';
|
||||||
defined( 'SIMPLE_WP_MEMBERSHIP_VER' ) && require_once 'compatibility/simplemembership.php';
|
defined( 'SIMPLE_WP_MEMBERSHIP_VER' ) && require_once 'compatibility/simplemembership.php';
|
||||||
defined( 'THE_SEO_FRAMEWORK_VERSION' ) && require_once 'compatibility/seoframework.php';
|
defined( 'THE_SEO_FRAMEWORK_VERSION' ) && require_once 'compatibility/seoframework.php';
|
||||||
defined( 'WPFD_VERSION' ) && require_once 'compatibility/wp-file-download.php';
|
defined( 'WPFD_VERSION' ) && require_once 'compatibility/wp-file-download.php';
|
||||||
|
defined( 'WPM_PRODUCT_GTIN_WC_VERSION' ) && require_once 'compatibility/product-gtin-ean-upc-isbn-for-woocommerce.php';
|
||||||
defined( 'WPMEM_VERSION' ) && require_once 'compatibility/wp-members.php';
|
defined( 'WPMEM_VERSION' ) && require_once 'compatibility/wp-members.php';
|
||||||
defined( 'WPSEO_FILE' ) && require_once 'compatibility/yoast-seo.php';
|
defined( 'WPSEO_FILE' ) && require_once 'compatibility/yoast-seo.php';
|
||||||
function_exists( 'do_blocks' ) && require_once 'compatibility/gutenberg.php';
|
function_exists( 'do_blocks' ) && require_once 'compatibility/gutenberg.php';
|
||||||
@@ -535,7 +537,6 @@ function relevanssi_load_compatibility_code() {
|
|||||||
function_exists( 'members_content_permissions_enabled' ) && require_once 'compatibility/members.php';
|
function_exists( 'members_content_permissions_enabled' ) && require_once 'compatibility/members.php';
|
||||||
function_exists( 'pmpro_has_membership_access' ) && require_once 'compatibility/paidmembershippro.php';
|
function_exists( 'pmpro_has_membership_access' ) && require_once 'compatibility/paidmembershippro.php';
|
||||||
function_exists( 'rcp_user_can_access' ) && require_once 'compatibility/restrictcontentpro.php';
|
function_exists( 'rcp_user_can_access' ) && require_once 'compatibility/restrictcontentpro.php';
|
||||||
function_exists( 'seopress_get_toggle_titles_option' ) && '1' === seopress_get_toggle_titles_option() && require_once 'compatibility/seopress.php';
|
|
||||||
function_exists( 'wp_jv_prg_user_can_see_a_post' ) && require_once 'compatibility/wpjvpostreadinggroups.php';
|
function_exists( 'wp_jv_prg_user_can_see_a_post' ) && require_once 'compatibility/wpjvpostreadinggroups.php';
|
||||||
|
|
||||||
// phpcs:disable WordPress.NamingConventions.ValidVariableName
|
// phpcs:disable WordPress.NamingConventions.ValidVariableName
|
||||||
|
|||||||
@@ -18,10 +18,11 @@
|
|||||||
*
|
*
|
||||||
* @param string $query The search query.
|
* @param string $query The search query.
|
||||||
* @param int $hits The number of hits found.
|
* @param int $hits The number of hits found.
|
||||||
|
* @param string $source The search source identifier, default ''.
|
||||||
*
|
*
|
||||||
* @return boolean True if logged, false if not logged.
|
* @return boolean True if logged, false if not logged.
|
||||||
*/
|
*/
|
||||||
function relevanssi_update_log( $query, $hits ) {
|
function relevanssi_update_log( $query, $hits, $source = '' ) {
|
||||||
if ( empty( $query ) ) {
|
if ( empty( $query ) ) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -58,6 +59,10 @@ function relevanssi_update_log( $query, $hits ) {
|
|||||||
$ip = apply_filters( 'relevanssi_remote_addr', $_SERVER['REMOTE_ADDR'] );
|
$ip = apply_filters( 'relevanssi_remote_addr', $_SERVER['REMOTE_ADDR'] );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ( $source && function_exists( 'relevanssi_validate_source' ) ) {
|
||||||
|
$source = relevanssi_validate_source( $source );
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Filters whether a query should be logged or not.
|
* Filters whether a query should be logged or not.
|
||||||
*
|
*
|
||||||
@@ -68,8 +73,9 @@ function relevanssi_update_log( $query, $hits ) {
|
|||||||
* @param int $hits The number of hits found.
|
* @param int $hits The number of hits found.
|
||||||
* @param string $user_agent The user agent that made the search.
|
* @param string $user_agent The user agent that made the search.
|
||||||
* @param string $ip The IP address the search came from (or empty).
|
* @param string $ip The IP address the search came from (or empty).
|
||||||
|
* @param string $source The search source identifier.
|
||||||
*/
|
*/
|
||||||
$ok_to_log = apply_filters( 'relevanssi_ok_to_log', true, $query, $hits, $user_agent, $ip );
|
$ok_to_log = apply_filters( 'relevanssi_ok_to_log', true, $query, $hits, $user_agent, $ip, $source );
|
||||||
if ( $ok_to_log ) {
|
if ( $ok_to_log ) {
|
||||||
global $wpdb, $relevanssi_variables;
|
global $wpdb, $relevanssi_variables;
|
||||||
|
|
||||||
@@ -83,12 +89,13 @@ function relevanssi_update_log( $query, $hits ) {
|
|||||||
|
|
||||||
$wpdb->query(
|
$wpdb->query(
|
||||||
$wpdb->prepare(
|
$wpdb->prepare(
|
||||||
'INSERT INTO ' . $relevanssi_variables['log_table'] . ' (query, hits, user_id, ip, time, session_id) VALUES (%s, %d, %d, %s, NOW(), %s)', // phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared,WordPress.DB.PreparedSQL.InterpolatedNotPrepared
|
'INSERT INTO ' . $relevanssi_variables['log_table'] . ' (query, hits, user_id, ip, time, session_id, source) VALUES (%s, %d, %d, %s, NOW(), %s, %s)', // phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared,WordPress.DB.PreparedSQL.InterpolatedNotPrepared
|
||||||
$query,
|
$query,
|
||||||
intval( $hits ),
|
intval( $hits ),
|
||||||
$user->ID,
|
$user->ID,
|
||||||
$ip,
|
$ip,
|
||||||
$session_id
|
$session_id,
|
||||||
|
$source
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
@@ -399,7 +406,7 @@ function relevanssi_delete_query_from_log( string $query ) {
|
|||||||
$deleted = $wpdb->query(
|
$deleted = $wpdb->query(
|
||||||
$wpdb->prepare(
|
$wpdb->prepare(
|
||||||
"DELETE FROM {$relevanssi_variables['log_table']} WHERE query = %s", // phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared,WordPress.DB.PreparedSQL.NotPrepared
|
"DELETE FROM {$relevanssi_variables['log_table']} WHERE query = %s", // phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared,WordPress.DB.PreparedSQL.NotPrepared
|
||||||
stripslashes( $query )
|
stripslashes( wp_encode_emoji( $query ) )
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|||||||
@@ -661,7 +661,8 @@ function relevanssi_do_query( &$query ) {
|
|||||||
$q,
|
$q,
|
||||||
$query
|
$query
|
||||||
);
|
);
|
||||||
relevanssi_update_log( $query_string, $hits_count );
|
$source = $query->query_vars['rlv_source'] ?? '';
|
||||||
|
relevanssi_update_log( $query_string, $hits_count, $source );
|
||||||
}
|
}
|
||||||
|
|
||||||
$make_excerpts = 'on' === get_option( 'relevanssi_excerpts' ) ? true : false;
|
$make_excerpts = 'on' === get_option( 'relevanssi_excerpts' ) ? true : false;
|
||||||
@@ -1752,15 +1753,15 @@ function relevanssi_compile_common_args( $query ) {
|
|||||||
$date_query = relevanssi_wp_date_query_from_query_vars( $query );
|
$date_query = relevanssi_wp_date_query_from_query_vars( $query );
|
||||||
|
|
||||||
$post_type = false;
|
$post_type = false;
|
||||||
if ( isset( $query->query_vars['post_type'] ) && is_array( $query->query_vars['post_type'] ) ) {
|
|
||||||
$query->query_vars['post_type'] = implode( ',', $query->query_vars['post_type'] );
|
|
||||||
}
|
|
||||||
if ( isset( $query->query_vars['post_type'] ) && 'any' !== $query->query_vars['post_type'] ) {
|
if ( isset( $query->query_vars['post_type'] ) && 'any' !== $query->query_vars['post_type'] ) {
|
||||||
$post_type = $query->query_vars['post_type'];
|
$post_type = $query->query_vars['post_type'];
|
||||||
}
|
}
|
||||||
if ( isset( $query->query_vars['post_types'] ) && 'any' !== $query->query_vars['post_types'] ) {
|
if ( isset( $query->query_vars['post_types'] ) && 'any' !== $query->query_vars['post_types'] ) {
|
||||||
$post_type = $query->query_vars['post_types'];
|
$post_type = $query->query_vars['post_types'];
|
||||||
}
|
}
|
||||||
|
if ( is_array( $post_type ) ) {
|
||||||
|
$post_type = implode( ',', $post_type );
|
||||||
|
}
|
||||||
|
|
||||||
$post_status = false;
|
$post_status = false;
|
||||||
if ( isset( $query->query_vars['post_status'] ) && 'any' !== $query->query_vars['post_status'] ) {
|
if ( isset( $query->query_vars['post_status'] ) && 'any' !== $query->query_vars['post_status'] ) {
|
||||||
|
|||||||
@@ -242,7 +242,10 @@ function relevanssi_update_stopwords( $stopwords ) {
|
|||||||
function relevanssi_delete_term_from_all_posts( $term ) {
|
function relevanssi_delete_term_from_all_posts( $term ) {
|
||||||
global $wpdb, $relevanssi_variables;
|
global $wpdb, $relevanssi_variables;
|
||||||
|
|
||||||
if ( function_exists( 'pll_languages_list' ) ) {
|
if ( function_exists( 'pll_languages_list' )
|
||||||
|
&& function_exists( 'relevanssi_get_language_term_taxonomy_id' ) ) {
|
||||||
|
// The Relevanssi function does not exist when this function is run as
|
||||||
|
// part of the Relevanssi install process.
|
||||||
$term_id = relevanssi_get_language_term_taxonomy_id(
|
$term_id = relevanssi_get_language_term_taxonomy_id(
|
||||||
relevanssi_get_current_language()
|
relevanssi_get_current_language()
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -104,7 +104,7 @@ function relevanssi_indexing_tab() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
$this_page = '?page=' . plugin_basename( $relevanssi_variables['file'] );
|
$this_page = '?page=' . plugin_basename( $relevanssi_variables['file'] );
|
||||||
$update_url = wp_nonce_url( $this_page . '&tab=indexing&update_counts=1', 'update_counts' );
|
$update_url = wp_nonce_url( $this_page . '&rlv_tab=indexing&update_counts=1', 'update_counts' );
|
||||||
|
|
||||||
?>
|
?>
|
||||||
<div id="indexing_tab">
|
<div id="indexing_tab">
|
||||||
|
|||||||
@@ -53,11 +53,19 @@ function relevanssi_search_stats() {
|
|||||||
*/
|
*/
|
||||||
function relevanssi_query_log() {
|
function relevanssi_query_log() {
|
||||||
global $wpdb, $relevanssi_variables;
|
global $wpdb, $relevanssi_variables;
|
||||||
$data = $wpdb->get_results(
|
|
||||||
'SELECT LEFT( `time`, 10 ) as `day`, count(*) as `count` ' .
|
$source = '';
|
||||||
"FROM {$relevanssi_variables['log_table']} " . // phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared,WordPress.DB.PreparedSQL.NotPrepared
|
if ( function_exists( 'relevanssi_validate_source' ) ) {
|
||||||
'GROUP BY LEFT( `time`, 10 )'
|
$source = relevanssi_validate_source( $_REQUEST['source'] ?? '' );
|
||||||
);
|
}
|
||||||
|
|
||||||
|
$data_query = 'SELECT LEFT( `time`, 10 ) as `day`, count(*) as `count` ' .
|
||||||
|
"FROM {$relevanssi_variables['log_table']} ";
|
||||||
|
if ( $source ) {
|
||||||
|
$data_query .= "WHERE source = '$source' ";
|
||||||
|
}
|
||||||
|
$data_query .= 'GROUP BY LEFT( `time`, 10 )';
|
||||||
|
$data = $wpdb->get_results( $data_query ); // phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared,WordPress.DB.PreparedSQL.NotPrepared
|
||||||
|
|
||||||
$labels = array();
|
$labels = array();
|
||||||
$values = array();
|
$values = array();
|
||||||
@@ -81,6 +89,10 @@ function relevanssi_query_log() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$source_select = '';
|
||||||
|
if ( function_exists( 'relevanssi_generate_source_select' ) ) {
|
||||||
|
$source_select = relevanssi_generate_source_select( $source );
|
||||||
|
}
|
||||||
?>
|
?>
|
||||||
<form method="post" style="background: white; padding: 10px; margin-top: 20px;">
|
<form method="post" style="background: white; padding: 10px; margin-top: 20px;">
|
||||||
<?php
|
<?php
|
||||||
@@ -91,6 +103,8 @@ function relevanssi_query_log() {
|
|||||||
<?php echo esc_html__( 'From:', 'relevanssi' ); ?> <input type="date" name="from" value="<?php echo esc_attr( $from ); ?>" />
|
<?php echo esc_html__( 'From:', 'relevanssi' ); ?> <input type="date" name="from" value="<?php echo esc_attr( $from ); ?>" />
|
||||||
<?php echo esc_html__( 'To:', 'relevanssi' ); ?> <input type="date" name="to" value="<?php echo esc_attr( $to ); ?>" />
|
<?php echo esc_html__( 'To:', 'relevanssi' ); ?> <input type="date" name="to" value="<?php echo esc_attr( $to ); ?>" />
|
||||||
<input type="submit" value="<?php echo esc_attr( __( 'Filter', 'relevanssi' ) ); ?>" /></p>
|
<input type="submit" value="<?php echo esc_attr( __( 'Filter', 'relevanssi' ) ); ?>" /></p>
|
||||||
|
|
||||||
|
<?php echo $source_select; ?>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<input type="submit" value="<?php echo esc_attr( __( 'Year so far', 'relevanssi' ) ); ?>" name="this_year" style="margin-bottom: 10px" />
|
<input type="submit" value="<?php echo esc_attr( __( 'Year so far', 'relevanssi' ) ); ?>" name="this_year" style="margin-bottom: 10px" />
|
||||||
@@ -113,7 +127,7 @@ function relevanssi_query_log() {
|
|||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
$total_queries = relevanssi_total_queries( $from, $to );
|
$total_queries = relevanssi_total_queries( $from, $to, $source );
|
||||||
?>
|
?>
|
||||||
<div style="background: white; padding: 10px; display: grid; grid-template-columns: 1fr 2fr 2fr; grid-gap: 20px; margin-top: 20px">
|
<div style="background: white; padding: 10px; display: grid; grid-template-columns: 1fr 2fr 2fr; grid-gap: 20px; margin-top: 20px">
|
||||||
<div>
|
<div>
|
||||||
@@ -124,12 +138,12 @@ function relevanssi_query_log() {
|
|||||||
</div>
|
</div>
|
||||||
<div style="margin-bottom: 20px"><?php esc_html_e( 'Searches that found nothing', 'relevanssi' ); ?>
|
<div style="margin-bottom: 20px"><?php esc_html_e( 'Searches that found nothing', 'relevanssi' ); ?>
|
||||||
<span style="display: block; font-size: 42px; font-weight: bolder; line-height: 50px">
|
<span style="display: block; font-size: 42px; font-weight: bolder; line-height: 50px">
|
||||||
<?php echo intval( relevanssi_nothing_found_queries( $from, $to ) ); ?>
|
<?php echo intval( relevanssi_nothing_found_queries( $from, $to, $source ) ); ?>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<?php
|
<?php
|
||||||
if ( function_exists( 'relevanssi_user_searches_clicks' ) ) {
|
if ( function_exists( 'relevanssi_user_searches_clicks' ) ) {
|
||||||
relevanssi_user_searches_clicks( $from, $to, $total_queries );
|
relevanssi_user_searches_clicks( $from, $to, $total_queries, $source );
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
</div>
|
</div>
|
||||||
@@ -146,13 +160,13 @@ function relevanssi_query_log() {
|
|||||||
<p><?php esc_html_e( 'In order to see the clicks, you need to enable click tracking. Click tracking is not currently enabled, and you\'re not collecting new clicks.', 'relevanssi' ); ?></p>
|
<p><?php esc_html_e( 'In order to see the clicks, you need to enable click tracking. Click tracking is not currently enabled, and you\'re not collecting new clicks.', 'relevanssi' ); ?></p>
|
||||||
<?php
|
<?php
|
||||||
}
|
}
|
||||||
relevanssi_date_queries( $from, $to, 'good' );
|
relevanssi_date_queries( $from, $to, 'good', $source );
|
||||||
?>
|
?>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<h3><?php esc_html_e( 'Unsuccessful searches', 'relevanssi' ); ?></h3>
|
<h3><?php esc_html_e( 'Unsuccessful searches', 'relevanssi' ); ?></h3>
|
||||||
<p><?php esc_html_e( 'These queries have found no results.', 'relevanssi' ); ?></p>
|
<p><?php esc_html_e( 'These queries have found no results.', 'relevanssi' ); ?></p>
|
||||||
<?php relevanssi_date_queries( $from, $to, 'bad' ); ?>
|
<?php relevanssi_date_queries( $from, $to, 'bad', $source ); ?>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<?php
|
<?php
|
||||||
@@ -198,22 +212,35 @@ function relevanssi_query_log() {
|
|||||||
*
|
*
|
||||||
* @param string $from The start date.
|
* @param string $from The start date.
|
||||||
* @param string $to The end date.
|
* @param string $to The end date.
|
||||||
|
* @param string $source The search source.
|
||||||
*
|
*
|
||||||
* @return int The number of searches.
|
* @return int The number of searches.
|
||||||
*/
|
*/
|
||||||
function relevanssi_total_queries( string $from, string $to ) {
|
function relevanssi_total_queries( string $from, string $to, string $source ) {
|
||||||
global $wpdb, $relevanssi_variables;
|
global $wpdb, $relevanssi_variables;
|
||||||
$log_table = $relevanssi_variables['log_table'];
|
$log_table = $relevanssi_variables['log_table'];
|
||||||
|
|
||||||
$count = $wpdb->get_var(
|
if ( ! $source ) {
|
||||||
$wpdb->prepare(
|
$query = $wpdb->prepare(
|
||||||
"SELECT COUNT(id) FROM $log_table " // phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared,WordPress.DB.PreparedSQL.InterpolatedNotPrepared
|
"SELECT COUNT(id) FROM $log_table " // phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared,WordPress.DB.PreparedSQL.InterpolatedNotPrepared
|
||||||
. 'WHERE time >= %s
|
. 'WHERE time >= %s
|
||||||
AND time <= %s',
|
AND time <= %s',
|
||||||
$from . ' 00:00:00',
|
$from . ' 00:00:00',
|
||||||
$to . ' 23:59:59'
|
$to . ' 23:59:59'
|
||||||
)
|
|
||||||
);
|
);
|
||||||
|
} else {
|
||||||
|
$query = $wpdb->prepare(
|
||||||
|
"SELECT COUNT(id) FROM $log_table " // phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared,WordPress.DB.PreparedSQL.InterpolatedNotPrepared
|
||||||
|
. 'WHERE time >= %s
|
||||||
|
AND time <= %s
|
||||||
|
AND source = %s',
|
||||||
|
$from . ' 00:00:00',
|
||||||
|
$to . ' 23:59:59',
|
||||||
|
$source
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
$count = $wpdb->get_var( $query );
|
||||||
|
|
||||||
return $count;
|
return $count;
|
||||||
}
|
}
|
||||||
@@ -226,21 +253,35 @@ function relevanssi_total_queries( string $from, string $to ) {
|
|||||||
*
|
*
|
||||||
* @param string $from The start date.
|
* @param string $from The start date.
|
||||||
* @param string $to The end date.
|
* @param string $to The end date.
|
||||||
|
* @param string $source The search source.
|
||||||
*/
|
*/
|
||||||
function relevanssi_nothing_found_queries( string $from, string $to ) {
|
function relevanssi_nothing_found_queries( string $from, string $to, string $source ) {
|
||||||
global $wpdb, $relevanssi_variables;
|
global $wpdb, $relevanssi_variables;
|
||||||
$log_table = $relevanssi_variables['log_table'];
|
$log_table = $relevanssi_variables['log_table'];
|
||||||
|
|
||||||
$count = $wpdb->get_var(
|
if ( ! $source ) {
|
||||||
$wpdb->prepare(
|
$query = $wpdb->prepare(
|
||||||
"SELECT COUNT(id) FROM $log_table " // phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared,WordPress.DB.PreparedSQL.InterpolatedNotPrepared
|
"SELECT COUNT(id) FROM $log_table " // phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared,WordPress.DB.PreparedSQL.InterpolatedNotPrepared
|
||||||
. 'WHERE time >= %s
|
. 'WHERE time >= %s
|
||||||
AND time <= %s
|
AND time <= %s
|
||||||
AND hits = 0',
|
AND hits = 0',
|
||||||
$from . ' 00:00:00',
|
$from . ' 00:00:00',
|
||||||
$to . ' 23:59:59'
|
$to . ' 23:59:59'
|
||||||
)
|
|
||||||
);
|
);
|
||||||
|
} else {
|
||||||
|
$query = $wpdb->prepare(
|
||||||
|
"SELECT COUNT(id) FROM $log_table " // phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared,WordPress.DB.PreparedSQL.InterpolatedNotPrepared
|
||||||
|
. 'WHERE time >= %s
|
||||||
|
AND time <= %s
|
||||||
|
AND hits = 0
|
||||||
|
AND source = %s',
|
||||||
|
$from . ' 00:00:00',
|
||||||
|
$to . ' 23:59:59',
|
||||||
|
$source
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
$count = $wpdb->get_var( $query );
|
||||||
|
|
||||||
return $count;
|
return $count;
|
||||||
}
|
}
|
||||||
@@ -255,8 +296,9 @@ function relevanssi_nothing_found_queries( string $from, string $to ) {
|
|||||||
* @param string $to The ending date.
|
* @param string $to The ending date.
|
||||||
* @param string $version If 'good', show the searches that found something; if
|
* @param string $version If 'good', show the searches that found something; if
|
||||||
* 'bad', show the searches that didn't find anything. Default 'good'.
|
* 'bad', show the searches that didn't find anything. Default 'good'.
|
||||||
|
* @param string $source The source identifier, default ''.
|
||||||
*/
|
*/
|
||||||
function relevanssi_date_queries( string $from, string $to, string $version = 'good' ) {
|
function relevanssi_date_queries( string $from, string $to, string $version = 'good', string $source = '' ) {
|
||||||
global $wpdb, $relevanssi_variables;
|
global $wpdb, $relevanssi_variables;
|
||||||
$log_table = $relevanssi_variables['log_table'];
|
$log_table = $relevanssi_variables['log_table'];
|
||||||
|
|
||||||
@@ -268,8 +310,8 @@ function relevanssi_date_queries( string $from, string $to, string $version = 'g
|
|||||||
$limit = apply_filters( 'relevanssi_user_searches_limit', 100 );
|
$limit = apply_filters( 'relevanssi_user_searches_limit', 100 );
|
||||||
|
|
||||||
if ( 'good' === $version ) {
|
if ( 'good' === $version ) {
|
||||||
$queries = $wpdb->get_results(
|
if ( ! $source ) {
|
||||||
$wpdb->prepare(
|
$query = $wpdb->prepare(
|
||||||
'SELECT COUNT(DISTINCT(id)) as cnt, query, AVG(hits) AS hits ' .
|
'SELECT COUNT(DISTINCT(id)) as cnt, query, AVG(hits) AS hits ' .
|
||||||
"FROM $log_table " . // phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared,WordPress.DB.PreparedSQL.InterpolatedNotPrepared
|
"FROM $log_table " . // phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared,WordPress.DB.PreparedSQL.InterpolatedNotPrepared
|
||||||
'WHERE time >= %s
|
'WHERE time >= %s
|
||||||
@@ -281,13 +323,30 @@ function relevanssi_date_queries( string $from, string $to, string $version = 'g
|
|||||||
$from . ' 00:00:00',
|
$from . ' 00:00:00',
|
||||||
$to . ' 23:59:59',
|
$to . ' 23:59:59',
|
||||||
$limit
|
$limit
|
||||||
)
|
|
||||||
);
|
);
|
||||||
|
} else {
|
||||||
|
$query = $wpdb->prepare(
|
||||||
|
'SELECT COUNT(DISTINCT(id)) as cnt, query, AVG(hits) AS hits ' .
|
||||||
|
"FROM $log_table " . // phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared,WordPress.DB.PreparedSQL.InterpolatedNotPrepared
|
||||||
|
'WHERE time >= %s
|
||||||
|
AND time <= %s
|
||||||
|
AND hits > 0
|
||||||
|
AND source = %s
|
||||||
|
GROUP BY query
|
||||||
|
ORDER BY cnt DESC
|
||||||
|
LIMIT %d',
|
||||||
|
$from . ' 00:00:00',
|
||||||
|
$to . ' 23:59:59',
|
||||||
|
$source,
|
||||||
|
$limit
|
||||||
|
);
|
||||||
|
}
|
||||||
|
$queries = $wpdb->get_results( $query );
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( 'bad' === $version ) {
|
if ( 'bad' === $version ) {
|
||||||
$queries = $wpdb->get_results(
|
if ( ! $source ) {
|
||||||
$wpdb->prepare(
|
$query = $wpdb->prepare(
|
||||||
'SELECT COUNT(DISTINCT(id)) as cnt, query, hits ' .
|
'SELECT COUNT(DISTINCT(id)) as cnt, query, hits ' .
|
||||||
"FROM $log_table " . // phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared,WordPress.DB.PreparedSQL.InterpolatedNotPrepared
|
"FROM $log_table " . // phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared,WordPress.DB.PreparedSQL.InterpolatedNotPrepared
|
||||||
'WHERE time >= %s
|
'WHERE time >= %s
|
||||||
@@ -299,8 +358,25 @@ function relevanssi_date_queries( string $from, string $to, string $version = 'g
|
|||||||
$from . ' 00:00:00',
|
$from . ' 00:00:00',
|
||||||
$to . ' 23:59:59',
|
$to . ' 23:59:59',
|
||||||
$limit
|
$limit
|
||||||
)
|
|
||||||
);
|
);
|
||||||
|
} else {
|
||||||
|
$query = $wpdb->prepare(
|
||||||
|
'SELECT COUNT(DISTINCT(id)) as cnt, query, hits ' .
|
||||||
|
"FROM $log_table " . // phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared,WordPress.DB.PreparedSQL.InterpolatedNotPrepared
|
||||||
|
'WHERE time >= %s
|
||||||
|
AND time <= %s
|
||||||
|
AND hits = 0
|
||||||
|
AND source = %s
|
||||||
|
GROUP BY query
|
||||||
|
ORDER BY cnt DESC
|
||||||
|
LIMIT %d',
|
||||||
|
$from . ' 00:00:00',
|
||||||
|
$to . ' 23:59:59',
|
||||||
|
$source,
|
||||||
|
$limit
|
||||||
|
);
|
||||||
|
}
|
||||||
|
$queries = $wpdb->get_results( $query );
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( count( $queries ) > 0 ) {
|
if ( count( $queries ) > 0 ) {
|
||||||
|
|||||||
@@ -793,7 +793,14 @@ function relevanssi_is_multiple_words( string $str ): bool {
|
|||||||
if ( empty( $str ) ) {
|
if ( empty( $str ) ) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
$punctuation = get_option( 'relevanssi_punctuation' );
|
$punctuation = get_option(
|
||||||
|
'relevanssi_punctuation',
|
||||||
|
array(
|
||||||
|
'quotes' => 'replace',
|
||||||
|
'hyphens' => 'replace',
|
||||||
|
'ampersands' => 'replace',
|
||||||
|
)
|
||||||
|
);
|
||||||
if ( 'replace' === $punctuation['hyphens'] ) {
|
if ( 'replace' === $punctuation['hyphens'] ) {
|
||||||
$str = str_replace(
|
$str = str_replace(
|
||||||
array(
|
array(
|
||||||
|
|||||||
@@ -3,9 +3,9 @@ Contributors: msaari
|
|||||||
Donate link: https://www.relevanssi.com/buy-premium/
|
Donate link: https://www.relevanssi.com/buy-premium/
|
||||||
Tags: search, relevance, better search, product search, woocommerce search
|
Tags: search, relevance, better search, product search, woocommerce search
|
||||||
Requires at least: 4.9
|
Requires at least: 4.9
|
||||||
Tested up to: 6.6
|
Tested up to: 6.7
|
||||||
Requires PHP: 7.0
|
Requires PHP: 7.0
|
||||||
Stable tag: 4.23.1
|
Stable tag: 4.24.1
|
||||||
License: GPLv2 or later
|
License: GPLv2 or later
|
||||||
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
||||||
|
|
||||||
@@ -128,6 +128,17 @@ Each document database is full of useless words. All the little words that appea
|
|||||||
* John Calahan for extensive 4.0 beta testing.
|
* John Calahan for extensive 4.0 beta testing.
|
||||||
|
|
||||||
== Changelog ==
|
== Changelog ==
|
||||||
|
= 4.24.1 =
|
||||||
|
* Minor fix: Prevent database errors.
|
||||||
|
|
||||||
|
= 4.24.0 =
|
||||||
|
* Minor fix: SEO Framework local search exclude option description now tells what the option actually does.
|
||||||
|
* Minor fix: Relevanssi cache population now creates WP_Post objects instead of stdClass objects.
|
||||||
|
* Minor fix: SEOPress compatibility mode is enabled again.
|
||||||
|
* Minor fix: Avoid fatal errors in installation process with Polylang enabled.
|
||||||
|
* Minor fix: Update counts link had the wrong tab query parameter.
|
||||||
|
* Minor fix: Adjust post type parameter handling so that it doesn't change the `post_type` query var.
|
||||||
|
|
||||||
= 4.23.1 =
|
= 4.23.1 =
|
||||||
* Security fix: Prevent an XSS attack by a malicious contributor.
|
* Security fix: Prevent an XSS attack by a malicious contributor.
|
||||||
|
|
||||||
@@ -142,16 +153,9 @@ Each document database is full of useless words. All the little words that appea
|
|||||||
* Minor fix: The settings tab query parameter was renamed to avoid collisions with other plugins.
|
* Minor fix: The settings tab query parameter was renamed to avoid collisions with other plugins.
|
||||||
* Minor fix: User searches page now uses `wp_print_inline_script_tag()`.
|
* Minor fix: User searches page now uses `wp_print_inline_script_tag()`.
|
||||||
|
|
||||||
= 4.22.2 =
|
|
||||||
* Security fix: Prevent CSV injection attack in log export.
|
|
||||||
* Security fix: Restrict access to doc count updates.
|
|
||||||
* Minor fix: Product variations check the parent product for access restrictions, to avoid situations where variations of a draft product appear in the results.
|
|
||||||
* Minor fix: Improved TablePress compatibility.
|
|
||||||
* Minor fix: Added error handling to the Ninja Table compatibility code.
|
|
||||||
|
|
||||||
== Upgrade notice ==
|
== Upgrade notice ==
|
||||||
= 4.23.1 =
|
= 4.24.1 =
|
||||||
* Security hardening.
|
* Small fix to avoid possible database errors.
|
||||||
|
|
||||||
= 4.23.0 =
|
= 4.24.0 =
|
||||||
* New filter hooks, support for `post_mime_type` and bug fixes.
|
* Small bug fixes and compatibility updates.
|
||||||
@@ -13,7 +13,7 @@
|
|||||||
* Plugin Name: Relevanssi
|
* Plugin Name: Relevanssi
|
||||||
* Plugin URI: https://www.relevanssi.com/
|
* Plugin URI: https://www.relevanssi.com/
|
||||||
* Description: This plugin replaces WordPress search with a relevance-sorting search.
|
* Description: This plugin replaces WordPress search with a relevance-sorting search.
|
||||||
* Version: 4.23.1
|
* Version: 4.24.1
|
||||||
* Author: Mikko Saari
|
* Author: Mikko Saari
|
||||||
* Author URI: http://www.mikkosaari.fi/
|
* Author URI: http://www.mikkosaari.fi/
|
||||||
* Text Domain: relevanssi
|
* Text Domain: relevanssi
|
||||||
@@ -63,11 +63,11 @@ $relevanssi_variables['comment_boost_default'] = 0.75;
|
|||||||
$relevanssi_variables['post_type_weight_defaults']['post_tag'] = 0.75;
|
$relevanssi_variables['post_type_weight_defaults']['post_tag'] = 0.75;
|
||||||
$relevanssi_variables['post_type_weight_defaults']['category'] = 0.75;
|
$relevanssi_variables['post_type_weight_defaults']['category'] = 0.75;
|
||||||
$relevanssi_variables['post_type_index_defaults'] = array( 'post', 'page' );
|
$relevanssi_variables['post_type_index_defaults'] = array( 'post', 'page' );
|
||||||
$relevanssi_variables['database_version'] = 8;
|
$relevanssi_variables['database_version'] = 9;
|
||||||
$relevanssi_variables['file'] = __FILE__;
|
$relevanssi_variables['file'] = __FILE__;
|
||||||
$relevanssi_variables['plugin_dir'] = plugin_dir_path( __FILE__ );
|
$relevanssi_variables['plugin_dir'] = plugin_dir_path( __FILE__ );
|
||||||
$relevanssi_variables['plugin_basename'] = plugin_basename( __FILE__ );
|
$relevanssi_variables['plugin_basename'] = plugin_basename( __FILE__ );
|
||||||
$relevanssi_variables['plugin_version'] = '4.23.1';
|
$relevanssi_variables['plugin_version'] = '4.24.1';
|
||||||
|
|
||||||
require_once 'lib/admin-ajax.php';
|
require_once 'lib/admin-ajax.php';
|
||||||
require_once 'lib/common.php';
|
require_once 'lib/common.php';
|
||||||
|
|||||||
@@ -1424,6 +1424,11 @@ input:checked + .slider:before {
|
|||||||
color: #7f8a98 !important;
|
color: #7f8a98 !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.color-404852 {
|
||||||
|
color: #404852 !important;
|
||||||
|
font-weight: 500 !important;
|
||||||
|
}
|
||||||
|
|
||||||
.wpmf_hide {
|
.wpmf_hide {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
@@ -1610,6 +1615,11 @@ input:checked + .slider:before {
|
|||||||
width: 80%;
|
width: 80%;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.wpmf_width_33 {
|
||||||
|
width: 33%;
|
||||||
|
margin-right: calc(1% / 3);
|
||||||
|
}
|
||||||
|
|
||||||
.wpmf_width_30 {
|
.wpmf_width_30 {
|
||||||
width: 30%;
|
width: 30%;
|
||||||
}
|
}
|
||||||
@@ -2763,6 +2773,9 @@ li.search-result.wpmf_width_100 {
|
|||||||
width: 100%;
|
width: 100%;
|
||||||
margin-right: 0;
|
margin-right: 0;
|
||||||
}
|
}
|
||||||
|
.ju-settings-option.wpmf_width_33 {
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@media screen and (max-width: 1290px) {
|
@media screen and (max-width: 1290px) {
|
||||||
|
|||||||
@@ -63,7 +63,7 @@ if (class_exists('WPBakeryShortCode')) {
|
|||||||
'front_enqueue_css' => array(
|
'front_enqueue_css' => array(
|
||||||
WPMF_PLUGIN_URL . 'assets/js/slick/slick.css',
|
WPMF_PLUGIN_URL . 'assets/js/slick/slick.css',
|
||||||
WPMF_PLUGIN_URL . 'assets/js/slick/slick-theme.css',
|
WPMF_PLUGIN_URL . 'assets/js/slick/slick-theme.css',
|
||||||
WPMF_PLUGIN_URL . '/assets/css/display-gallery/style-display-gallery.css',
|
WPMF_PLUGIN_URL . 'assets/css/display-gallery/style-display-gallery.css',
|
||||||
),
|
),
|
||||||
'params' => array(
|
'params' => array(
|
||||||
array(
|
array(
|
||||||
|
|||||||
@@ -29,10 +29,11 @@ class WpmfWatermark
|
|||||||
*
|
*
|
||||||
* @param array $metadata An array of attachment meta data.
|
* @param array $metadata An array of attachment meta data.
|
||||||
* @param integer $attachment_id Current attachment ID.
|
* @param integer $attachment_id Current attachment ID.
|
||||||
|
* @param boolean $isWoo Check images of woocommerce product
|
||||||
*
|
*
|
||||||
* @return mixed $metadata
|
* @return mixed $metadata
|
||||||
*/
|
*/
|
||||||
public function createWatermarkImage($metadata, $attachment_id)
|
public function createWatermarkImage($metadata, $attachment_id, $isWoo = false)
|
||||||
{
|
{
|
||||||
$option_image_watermark = get_option('wpmf_option_image_watermark');
|
$option_image_watermark = get_option('wpmf_option_image_watermark');
|
||||||
if (empty($option_image_watermark)) {
|
if (empty($option_image_watermark)) {
|
||||||
@@ -52,24 +53,54 @@ class WpmfWatermark
|
|||||||
$watermark_exclude_photograph_gallery = wpmfGetOption('watermark_exclude_photograph_gallery');
|
$watermark_exclude_photograph_gallery = wpmfGetOption('watermark_exclude_photograph_gallery');
|
||||||
$check = false;
|
$check = false;
|
||||||
if (!empty($watermark_exclude_public_gallery)) {
|
if (!empty($watermark_exclude_public_gallery)) {
|
||||||
|
if ($isWoo) {
|
||||||
|
$gallery_terms = get_the_terms($attachment_id, WPMF_GALLERY_ADDON_TAXO);
|
||||||
|
if (!empty($gallery_terms)) {
|
||||||
|
$check = true;
|
||||||
|
if (empty($watermark_exclude_photograph_gallery)) {
|
||||||
|
foreach ($gallery_terms as $gallery_term) {
|
||||||
|
$gallery_type = get_term_meta((int)$gallery_term->term_id, 'gallery_type', true);
|
||||||
|
if (!empty($gallery_type) && $gallery_type === 'photographer') {
|
||||||
|
$check = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
if (!empty($galleryid)) {
|
if (!empty($galleryid)) {
|
||||||
|
$check = true;
|
||||||
|
if (empty($watermark_exclude_photograph_gallery)) {
|
||||||
$gallery_type = get_term_meta((int)$galleryid, 'gallery_type', true);
|
$gallery_type = get_term_meta((int)$galleryid, 'gallery_type', true);
|
||||||
if (!empty($gallery_type) && $gallery_type === 'photographer') {
|
if (!empty($gallery_type) && $gallery_type === 'photographer') {
|
||||||
$check = true;
|
$check = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!$check) {
|
}
|
||||||
|
}
|
||||||
|
if ($check) {
|
||||||
return $metadata;
|
return $metadata;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!empty($watermark_exclude_photograph_gallery)) {
|
if (!empty($watermark_exclude_photograph_gallery)) {
|
||||||
|
if ($isWoo) {
|
||||||
|
$gallery_terms = get_the_terms($attachment_id, WPMF_GALLERY_ADDON_TAXO);
|
||||||
|
if (!empty($gallery_terms)) {
|
||||||
|
foreach ($gallery_terms as $gallery_term) {
|
||||||
|
$gallery_type = get_term_meta((int)$gallery_term->term_id, 'gallery_type', true);
|
||||||
|
if (!empty($gallery_type) && $gallery_type === 'photographer') {
|
||||||
|
$check = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
if (!empty($galleryid)) {
|
if (!empty($galleryid)) {
|
||||||
$gallery_type = get_term_meta((int)$galleryid, 'gallery_type', true);
|
$gallery_type = get_term_meta((int)$galleryid, 'gallery_type', true);
|
||||||
if (!empty($gallery_type) && $gallery_type === 'photographer') {
|
if (!empty($gallery_type) && $gallery_type === 'photographer') {
|
||||||
$check = true;
|
$check = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if ($check) {
|
if ($check) {
|
||||||
return $metadata;
|
return $metadata;
|
||||||
@@ -128,18 +159,24 @@ class WpmfWatermark
|
|||||||
}
|
}
|
||||||
// Using the wp_upload_dir replace the baseurl with the basedir
|
// Using the wp_upload_dir replace the baseurl with the basedir
|
||||||
$path = str_replace($uploads['baseurl'], $uploads['basedir'], $image_url);
|
$path = str_replace($uploads['baseurl'], $uploads['basedir'], $image_url);
|
||||||
if (!empty($path)) {
|
if (!empty($path) && file_exists($path)) {
|
||||||
$pathinfo = pathinfo($path);
|
$pathinfo = pathinfo($path);
|
||||||
$imageInfo = getimagesize($path);
|
$imageInfo = getimagesize($path);
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
if (!empty($pathinfo)) {
|
if (!empty($pathinfo)) {
|
||||||
$this->generatePicture($pathinfo['basename'], $imageInfo, $pathinfo['dirname'], $imageSize);
|
$this->generatePicture($pathinfo['basename'], $imageInfo, $pathinfo['dirname'], $imageSize, '', $isWoo);
|
||||||
} else {
|
} else {
|
||||||
|
if ($isWoo) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
wp_send_json(array('status' => false));
|
wp_send_json(array('status' => false));
|
||||||
}
|
}
|
||||||
} catch (Exception $e) {
|
} catch (Exception $e) {
|
||||||
|
if ($isWoo) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
wp_send_json(array('status' => false));
|
wp_send_json(array('status' => false));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -169,11 +206,17 @@ class WpmfWatermark
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
if (!empty($pathinfo)) {
|
if (!empty($pathinfo)) {
|
||||||
$this->generatePicture($pathinfo['basename'], $imageInfo, $pathinfo['dirname'], $imageSize);
|
$this->generatePicture($pathinfo['basename'], $imageInfo, $pathinfo['dirname'], $imageSize, '', $isWoo);
|
||||||
} else {
|
} else {
|
||||||
|
if ($isWoo) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
wp_send_json(array('status' => false));
|
wp_send_json(array('status' => false));
|
||||||
}
|
}
|
||||||
} catch (Exception $e) {
|
} catch (Exception $e) {
|
||||||
|
if ($isWoo) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
wp_send_json(array('status' => false));
|
wp_send_json(array('status' => false));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -249,6 +292,7 @@ class WpmfWatermark
|
|||||||
$excludes = array();
|
$excludes = array();
|
||||||
$exclude_folders = wpmfGetOption('watermark_exclude_folders');
|
$exclude_folders = wpmfGetOption('watermark_exclude_folders');
|
||||||
$watermark_apply = get_option('wpmf_image_watermark_apply');
|
$watermark_apply = get_option('wpmf_image_watermark_apply');
|
||||||
|
$option_watermark_only_woo = get_option('wpmf_watermark_only_woo');
|
||||||
foreach (array_unique($exclude_folders) as $folder) {
|
foreach (array_unique($exclude_folders) as $folder) {
|
||||||
if ($folder === 'root') {
|
if ($folder === 'root') {
|
||||||
$excludes[] = 0;
|
$excludes[] = 0;
|
||||||
@@ -287,6 +331,16 @@ class WpmfWatermark
|
|||||||
}
|
}
|
||||||
if (!empty($attachments)) {
|
if (!empty($attachments)) {
|
||||||
foreach ($attachments as $attachment) {
|
foreach ($attachments as $attachment) {
|
||||||
|
$isWoo = false;
|
||||||
|
if (!empty($option_watermark_only_woo) && (int) $option_watermark_only_woo === 1 && class_exists('WooCommerce')) {
|
||||||
|
$product_id = $this->getProductIdByImageId($attachment->ID);
|
||||||
|
if (!empty($product_id)) {
|
||||||
|
$isWoo = true;
|
||||||
|
} else {
|
||||||
|
$k ++;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
// exclude watermark on gallery
|
// exclude watermark on gallery
|
||||||
if (is_plugin_active('wp-media-folder-gallery-addon/wp-media-folder-gallery-addon.php')) {
|
if (is_plugin_active('wp-media-folder-gallery-addon/wp-media-folder-gallery-addon.php')) {
|
||||||
$watermark_exclude_public_gallery = wpmfGetOption('watermark_exclude_public_gallery');
|
$watermark_exclude_public_gallery = wpmfGetOption('watermark_exclude_public_gallery');
|
||||||
@@ -295,14 +349,17 @@ class WpmfWatermark
|
|||||||
if (!empty($watermark_exclude_public_gallery)) {
|
if (!empty($watermark_exclude_public_gallery)) {
|
||||||
$gallery_terms = get_the_terms($attachment->ID, WPMF_GALLERY_ADDON_TAXO);
|
$gallery_terms = get_the_terms($attachment->ID, WPMF_GALLERY_ADDON_TAXO);
|
||||||
if (!empty($gallery_terms)) {
|
if (!empty($gallery_terms)) {
|
||||||
|
$check = true;
|
||||||
|
if (empty($watermark_exclude_photograph_gallery)) {
|
||||||
foreach ($gallery_terms as $gallery_term) {
|
foreach ($gallery_terms as $gallery_term) {
|
||||||
$gallery_type = get_term_meta((int)$gallery_term->term_id, 'gallery_type', true);
|
$gallery_type = get_term_meta((int)$gallery_term->term_id, 'gallery_type', true);
|
||||||
if (!empty($gallery_type) && $gallery_type === 'photographer') {
|
if (!empty($gallery_type) && $gallery_type === 'photographer') {
|
||||||
$check = true;
|
$check = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!$check) {
|
}
|
||||||
|
if ($check) {
|
||||||
$k ++;
|
$k ++;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
@@ -363,7 +420,7 @@ class WpmfWatermark
|
|||||||
$pathinfo = pathinfo($path);
|
$pathinfo = pathinfo($path);
|
||||||
$imageInfo = getimagesize($path);
|
$imageInfo = getimagesize($path);
|
||||||
try {
|
try {
|
||||||
$this->generatePicture($pathinfo['basename'], $imageInfo, $pathinfo['dirname'], $imageSize);
|
$this->generatePicture($pathinfo['basename'], $imageInfo, $pathinfo['dirname'], $imageSize, '', $isWoo);
|
||||||
} catch (Exception $e) {
|
} catch (Exception $e) {
|
||||||
wp_send_json(array('status' => 'limit', 'percent' => $present));
|
wp_send_json(array('status' => 'limit', 'percent' => $present));
|
||||||
}
|
}
|
||||||
@@ -396,7 +453,7 @@ class WpmfWatermark
|
|||||||
$imageInfo = getimagesize($path);
|
$imageInfo = getimagesize($path);
|
||||||
if ((int) $value === 1) {
|
if ((int) $value === 1) {
|
||||||
try {
|
try {
|
||||||
$this->generatePicture($pathinfo['basename'], $imageInfo, $pathinfo['dirname'], $imageSize);
|
$this->generatePicture($pathinfo['basename'], $imageInfo, $pathinfo['dirname'], $imageSize, '', $isWoo);
|
||||||
} catch (Exception $e) {
|
} catch (Exception $e) {
|
||||||
wp_send_json(array('status' => 'limit', 'percent' => $present));
|
wp_send_json(array('status' => 'limit', 'percent' => $present));
|
||||||
}
|
}
|
||||||
@@ -414,8 +471,8 @@ class WpmfWatermark
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$k ++;
|
|
||||||
}
|
}
|
||||||
|
$k ++;
|
||||||
}
|
}
|
||||||
if ($k >= $limit) {
|
if ($k >= $limit) {
|
||||||
wp_send_json(array('status' => 'limit', 'percent' => $present));
|
wp_send_json(array('status' => 'limit', 'percent' => $present));
|
||||||
@@ -433,10 +490,11 @@ class WpmfWatermark
|
|||||||
* @param string $full_dir Path of image
|
* @param string $full_dir Path of image
|
||||||
* @param string $wtm_apply_on Image size
|
* @param string $wtm_apply_on Image size
|
||||||
* @param string $type Type
|
* @param string $type Type
|
||||||
|
* @param boolean $isWoo Check images of woocommerce product
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function generatePicture($newname, $imageInfo, $full_dir, $wtm_apply_on, $type = '')
|
public function generatePicture($newname, $imageInfo, $full_dir, $wtm_apply_on, $type = '', $isWoo = false)
|
||||||
{
|
{
|
||||||
$wtm_images = get_option('wpmf_option_image_watermark');
|
$wtm_images = get_option('wpmf_option_image_watermark');
|
||||||
//$wtm_apply_on = get_option('wpmf_image_watermark_apply');
|
//$wtm_apply_on = get_option('wpmf_image_watermark_apply');
|
||||||
@@ -455,20 +513,9 @@ class WpmfWatermark
|
|||||||
$check_image_logo_exit = false;
|
$check_image_logo_exit = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
$this->copyFileWithNewName($full_dir, $newname, 'initimage', $isWoo);
|
||||||
$this->copyFileWithNewName($full_dir, $newname, 'initimage');
|
if (in_array($imageInfo['mime'], ['image/jpeg', 'image/png', 'image/gif']) && !empty($wtm_images) && $check_image_logo_exit) {
|
||||||
if ($imageInfo['mime'] === 'image/jpeg') {
|
$this->checkCopyFileWithNewName($full_dir, $newname, $wtm_apply_on, $type, $isWoo);
|
||||||
if (!empty($wtm_images) && $check_image_logo_exit) {
|
|
||||||
$this->checkCopyFileWithNewName($full_dir, $newname, $wtm_apply_on, $type);
|
|
||||||
}
|
|
||||||
} elseif ($imageInfo['mime'] === 'image/png') {
|
|
||||||
if (!empty($wtm_images) && $check_image_logo_exit) {
|
|
||||||
$this->checkCopyFileWithNewName($full_dir, $newname, $wtm_apply_on, $type);
|
|
||||||
}
|
|
||||||
} elseif ($imageInfo['mime'] === 'image/gif') {
|
|
||||||
if (!empty($wtm_images) && $check_image_logo_exit) {
|
|
||||||
$this->checkCopyFileWithNewName($full_dir, $newname, $wtm_apply_on, $type);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -479,12 +526,13 @@ class WpmfWatermark
|
|||||||
* @param string $newname New name of image
|
* @param string $newname New name of image
|
||||||
* @param string $wtm_apply_on The sizes to apply watermark
|
* @param string $wtm_apply_on The sizes to apply watermark
|
||||||
* @param string $type Type
|
* @param string $type Type
|
||||||
|
* @param boolean $isWoo Check images of woocommerce product
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function checkCopyFileWithNewName($full_dir, $newname, $wtm_apply_on, $type = '')
|
public function checkCopyFileWithNewName($full_dir, $newname, $wtm_apply_on, $type = '', $isWoo = false)
|
||||||
{
|
{
|
||||||
$this->copyFileWithNewName($full_dir, $newname, $wtm_apply_on, $type);
|
$this->copyFileWithNewName($full_dir, $newname, $wtm_apply_on, $type, $isWoo);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -494,10 +542,11 @@ class WpmfWatermark
|
|||||||
* @param string $fname New file name
|
* @param string $fname New file name
|
||||||
* @param string $wtmApplyOn The size to apply watermark
|
* @param string $wtmApplyOn The size to apply watermark
|
||||||
* @param string $type Type
|
* @param string $type Type
|
||||||
|
* @param boolean $isWoo Check images of woocommerce product
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function copyFileWithNewName($pathdir, $fname, $wtmApplyOn, $type = '')
|
public function copyFileWithNewName($pathdir, $fname, $wtmApplyOn, $type = '', $isWoo = false)
|
||||||
{
|
{
|
||||||
$option_image_watermark = get_option('wpmf_option_image_watermark');
|
$option_image_watermark = get_option('wpmf_option_image_watermark');
|
||||||
if ((int) $option_image_watermark === 0) {
|
if ((int) $option_image_watermark === 0) {
|
||||||
@@ -551,6 +600,11 @@ class WpmfWatermark
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$option_watermark_only_woo = get_option('wpmf_watermark_only_woo');
|
||||||
|
if (!empty($option_watermark_only_woo) && (int) $option_watermark_only_woo === 1 && !$isWoo && class_exists('WooCommerce')) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if ($add_water) {
|
if ($add_water) {
|
||||||
if ((int) $wtm_apply_on['all_size'] === 1) {
|
if ((int) $wtm_apply_on['all_size'] === 1) {
|
||||||
if (file_exists($newfile)) {
|
if (file_exists($newfile)) {
|
||||||
@@ -610,7 +664,7 @@ class WpmfWatermark
|
|||||||
$watermark_opacity,
|
$watermark_opacity,
|
||||||
$watermark_margin_unit
|
$watermark_margin_unit
|
||||||
);
|
);
|
||||||
}//
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -637,6 +691,14 @@ class WpmfWatermark
|
|||||||
return imagecreatefrompng($image);
|
return imagecreatefrompng($image);
|
||||||
case 'image/gif':
|
case 'image/gif':
|
||||||
return imagecreatefromgif($image);
|
return imagecreatefromgif($image);
|
||||||
|
case 'image/webp':
|
||||||
|
if (function_exists('imagecreatefromwebp')) {
|
||||||
|
return imagecreatefromwebp($image);
|
||||||
|
} else {
|
||||||
|
return imagecreatefromstring(readfile($image));
|
||||||
|
}
|
||||||
|
default:
|
||||||
|
return imagecreatefromstring(readfile($image));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -720,35 +782,35 @@ class WpmfWatermark
|
|||||||
|
|
||||||
// set image scaling
|
// set image scaling
|
||||||
$r = $logo_x / $logo_y;
|
$r = $logo_x / $logo_y;
|
||||||
$new_width = $image_x * (int) $percent / 100;
|
$new_width = round($image_x * (int) $percent / 100);
|
||||||
if ($new_width > $logo_x) {
|
if ($new_width > $logo_x) {
|
||||||
$new_width = $logo_x;
|
$new_width = $logo_x;
|
||||||
}
|
}
|
||||||
|
|
||||||
$new_height = $new_width / $r;
|
$new_height = round($new_width / $r);
|
||||||
if ($new_height > $logo_y) {
|
if ($new_height > $logo_y) {
|
||||||
$new_height = $logo_y;
|
$new_height = $logo_y;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($position === 'center' || (int) $position === 0) {
|
if ($position === 'center' || (int) $position === 0) {
|
||||||
$watermark_pos_x = ($image_x - $new_width) / 2; //watermark left
|
$watermark_pos_x = round(($image_x - $new_width) / 2); //watermark left
|
||||||
$watermark_pos_y = ($image_y - $new_height) / 2; //watermark bottom
|
$watermark_pos_y = round(($image_y - $new_height) / 2); //watermark bottom
|
||||||
}
|
}
|
||||||
if ($position === 'top_left') {
|
if ($position === 'top_left') {
|
||||||
$watermark_pos_x = (int) $watermark_margin['left'];
|
$watermark_pos_x = (int) $watermark_margin['left'];
|
||||||
$watermark_pos_y = (int) $watermark_margin['top'];
|
$watermark_pos_y = (int) $watermark_margin['top'];
|
||||||
}
|
}
|
||||||
if ($position === 'top_right') {
|
if ($position === 'top_right') {
|
||||||
$watermark_pos_x = $image_x - $new_width - (int) $watermark_margin['right'];
|
$watermark_pos_x = round($image_x - $new_width - (int) $watermark_margin['right']);
|
||||||
$watermark_pos_y = (int) $watermark_margin['top'];
|
$watermark_pos_y = (int) $watermark_margin['top'];
|
||||||
}
|
}
|
||||||
if ($position === 'bottom_right') {
|
if ($position === 'bottom_right') {
|
||||||
$watermark_pos_x = $image_x - $new_width - (int) $watermark_margin['right'];
|
$watermark_pos_x = round($image_x - $new_width - (int) $watermark_margin['right']);
|
||||||
$watermark_pos_y = $image_y - $new_height - (int) $watermark_margin['bottom'];
|
$watermark_pos_y = round($image_y - $new_height - (int) $watermark_margin['bottom']);
|
||||||
}
|
}
|
||||||
if ($position === 'bottom_left') {
|
if ($position === 'bottom_left') {
|
||||||
$watermark_pos_x = (int) $watermark_margin['left'];
|
$watermark_pos_x = (int) $watermark_margin['left'];
|
||||||
$watermark_pos_y = $image_y - $new_height - (int) $watermark_margin['bottom'];
|
$watermark_pos_y = round($image_y - $new_height - (int) $watermark_margin['bottom']);
|
||||||
}
|
}
|
||||||
|
|
||||||
imagecopyresampled(
|
imagecopyresampled(
|
||||||
@@ -805,4 +867,45 @@ class WpmfWatermark
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Optimized function to get WooCommerce product ID by image attachment ID.
|
||||||
|
*
|
||||||
|
* @param integer $attachment_id The ID of the image attachment.
|
||||||
|
*
|
||||||
|
* @return integer|boolean Product ID if found, otherwise false.
|
||||||
|
*/
|
||||||
|
public function getProductIdByImageId($attachment_id)
|
||||||
|
{
|
||||||
|
$args = array(
|
||||||
|
'post_type' => 'product',
|
||||||
|
'post_status' => 'publish',
|
||||||
|
'posts_per_page' => 1,
|
||||||
|
'meta_query' => array(
|
||||||
|
'relation' => 'OR',
|
||||||
|
array(
|
||||||
|
'key' => '_thumbnail_id',
|
||||||
|
'value' => $attachment_id,
|
||||||
|
'compare' => '='
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'key' => '_product_image_gallery',
|
||||||
|
'value' => $attachment_id,
|
||||||
|
'compare' => 'LIKE'
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
|
||||||
|
$query = new WP_Query($args);
|
||||||
|
|
||||||
|
if ($query->have_posts()) {
|
||||||
|
$query->the_post();
|
||||||
|
$product_id = get_the_ID();
|
||||||
|
wp_reset_postdata();
|
||||||
|
return $product_id;
|
||||||
|
}
|
||||||
|
|
||||||
|
wp_reset_postdata();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1629,6 +1629,10 @@ class WpmfMediaFolderOption
|
|||||||
add_option('wpmf_watermark_image_id', 0, '', 'yes');
|
add_option('wpmf_watermark_image_id', 0, '', 'yes');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!get_option('wpmf_watermark_only_woo', false)) {
|
||||||
|
add_option('wpmf_watermark_only_woo', 0, '', 'yes');
|
||||||
|
}
|
||||||
|
|
||||||
$gallery_settings = array(
|
$gallery_settings = array(
|
||||||
'theme' => array(
|
'theme' => array(
|
||||||
'default_theme' => array(
|
'default_theme' => array(
|
||||||
@@ -2754,7 +2758,8 @@ class WpmfMediaFolderOption
|
|||||||
'wpmf_image_watermark_apply',
|
'wpmf_image_watermark_apply',
|
||||||
'wpmf_options_format_title',
|
'wpmf_options_format_title',
|
||||||
'wpmf_watermark_image',
|
'wpmf_watermark_image',
|
||||||
'wpmf_watermark_image_id'
|
'wpmf_watermark_image_id',
|
||||||
|
'wpmf_watermark_only_woo'
|
||||||
);
|
);
|
||||||
|
|
||||||
foreach ($options_name as $option) {
|
foreach ($options_name as $option) {
|
||||||
@@ -2862,6 +2867,7 @@ class WpmfMediaFolderOption
|
|||||||
$options_format_title = wpmfGetOption('wpmf_options_format_title');
|
$options_format_title = wpmfGetOption('wpmf_options_format_title');
|
||||||
$watermark_image = get_option('wpmf_watermark_image');
|
$watermark_image = get_option('wpmf_watermark_image');
|
||||||
$watermark_image_id = get_option('wpmf_watermark_image_id');
|
$watermark_image_id = get_option('wpmf_watermark_image_id');
|
||||||
|
$watermark_only_woo = get_option('wpmf_watermark_only_woo');
|
||||||
|
|
||||||
$padding_masonry = get_option('wpmf_padding_masonry');
|
$padding_masonry = get_option('wpmf_padding_masonry');
|
||||||
$padding_portfolio = get_option('wpmf_padding_portfolio');
|
$padding_portfolio = get_option('wpmf_padding_portfolio');
|
||||||
|
|||||||
@@ -1,6 +1,12 @@
|
|||||||
<?php
|
<?php
|
||||||
/* Prohibit direct script loading */
|
/* Prohibit direct script loading */
|
||||||
defined('ABSPATH') || die('No direct script access allowed!');
|
defined('ABSPATH') || die('No direct script access allowed!');
|
||||||
|
|
||||||
|
if (is_plugin_active('wp-media-folder-gallery-addon/wp-media-folder-gallery-addon.php')) {
|
||||||
|
$col_class = 'wpmf_width_50 m-r-0';
|
||||||
|
} else {
|
||||||
|
$col_class = '';
|
||||||
|
}
|
||||||
?>
|
?>
|
||||||
<div id="rename_on_upload" class="tab-content">
|
<div id="rename_on_upload" class="tab-content">
|
||||||
<div class="content-box content-wpmf-files-folders">
|
<div class="content-box content-wpmf-files-folders">
|
||||||
@@ -274,9 +280,8 @@ defined('ABSPATH') || die('No direct script access allowed!');
|
|||||||
<div class="ju-settings-option wpmf_width_40 wpmf-no-shadow wpmf-no-padding wpmf-no-margin">
|
<div class="ju-settings-option wpmf_width_40 wpmf-no-shadow wpmf-no-padding wpmf-no-margin">
|
||||||
<div class="wpmf_row_full">
|
<div class="wpmf_row_full">
|
||||||
<input type="hidden" name="wpmf_option_image_watermark" value="0">
|
<input type="hidden" name="wpmf_option_image_watermark" value="0">
|
||||||
<b data-wpmftippy="<?php esc_html_e('Watermark will be applied only after saving the
|
<label data-wpmftippy="<?php esc_html_e('Watermark will be applied only after saving the settings and regenerate the thumnails (hit the regenerate thumnails button)', 'wpmf'); ?>"
|
||||||
settings and regenerate the thumnails (hit the regenerate thumnails button)', 'wpmf'); ?>"
|
class="ju-setting-label text wpmf-no-padding"><?php esc_html_e('Images watermark', 'wpmf') ?></label>
|
||||||
class="ju-setting-label text wpmf-no-padding"><?php esc_html_e('Images watermark', 'wpmf') ?></b>
|
|
||||||
<div class="ju-switch-button">
|
<div class="ju-switch-button">
|
||||||
<label class="switch">
|
<label class="switch">
|
||||||
<input type="checkbox" id="cb_option_image_watermark"
|
<input type="checkbox" id="cb_option_image_watermark"
|
||||||
@@ -292,7 +297,6 @@ defined('ABSPATH') || die('No direct script access allowed!');
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="ju-settings-option wpmf_width_100 wpmf-no-shadow">
|
<div class="ju-settings-option wpmf_width_100 wpmf-no-shadow">
|
||||||
<div class="wpmf_row_full">
|
<div class="wpmf_row_full">
|
||||||
<label data-wpmftippy="<?php esc_html_e('Select a picture that will be applied over your images', 'wpmf') ?>"
|
<label data-wpmftippy="<?php esc_html_e('Select a picture that will be applied over your images', 'wpmf') ?>"
|
||||||
@@ -449,10 +453,10 @@ defined('ABSPATH') || die('No direct script access allowed!');
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="ju-settings-option wpmf_width_100 p-lr-20">
|
<div class="ju-settings-option wpmf_width_100 p-lr-20">
|
||||||
<div class="ju-settings-option wpmf-no-shadow">
|
<div class="ju-settings-option wpmf-no-shadow <?php echo esc_attr($col_class); ?>">
|
||||||
<div class="wpmf_row_full">
|
<div class="wpmf_row_full">
|
||||||
<h4 data-wpmftippy="<?php esc_html_e('Select the size where you want to apply the watermark', 'wpmf'); ?>"
|
<h4 data-wpmftippy="<?php esc_html_e('Select the size where you want to apply the watermark', 'wpmf'); ?>"
|
||||||
class="text title_h4 font-size-16 color-7f8a98"><?php esc_html_e('Apply watermark on', 'wpmf') ?></h4>
|
class="text title_h4 font-size-16 color-404852"><?php esc_html_e('Apply watermark on', 'wpmf') ?></h4>
|
||||||
<div class="ju-settings-option wpmf-no-shadow wpmf_width_100">
|
<div class="ju-settings-option wpmf-no-shadow wpmf_width_100">
|
||||||
<div class="pure-checkbox ju-setting-label line-height-30">
|
<div class="pure-checkbox ju-setting-label line-height-30">
|
||||||
<input type="hidden" name="wpmf_image_watermark_apply[all_size]" value="0">
|
<input type="hidden" name="wpmf_image_watermark_apply[all_size]" value="0">
|
||||||
@@ -494,10 +498,10 @@ defined('ABSPATH') || die('No direct script access allowed!');
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<?php if (is_plugin_active('wp-media-folder-gallery-addon/wp-media-folder-gallery-addon.php')) : ?>
|
<?php if (is_plugin_active('wp-media-folder-gallery-addon/wp-media-folder-gallery-addon.php')) : ?>
|
||||||
<div class="ju-settings-option wpmf-no-shadow wpmf_right m-r-0">
|
<div class="ju-settings-option wpmf-no-shadow <?php echo esc_attr($col_class); ?>">
|
||||||
<div class="wpmf_row_full">
|
<div class="wpmf_row_full">
|
||||||
<h4 data-wpmftippy="<?php esc_html_e('Select the size where you want to apply the watermark', 'wpmf'); ?>"
|
<h4 data-wpmftippy="<?php esc_html_e('Select the size where you want to apply the watermark', 'wpmf'); ?>"
|
||||||
class="text title_h4 font-size-16 color-7f8a98"><?php esc_html_e('Watermark on photograph image', 'wpmf') ?></h4>
|
class="text title_h4 font-size-16 color-404852"><?php esc_html_e('Watermark on photograph image', 'wpmf') ?></h4>
|
||||||
<?php
|
<?php
|
||||||
$sizes = array(
|
$sizes = array(
|
||||||
'all_size' => array(
|
'all_size' => array(
|
||||||
@@ -542,11 +546,12 @@ defined('ABSPATH') || die('No direct script access allowed!');
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<?php endif; ?>
|
<?php endif; ?>
|
||||||
|
</div>
|
||||||
|
<div class="ju-settings-option wpmf_width_100 p-lr-20">
|
||||||
<div class="ju-settings-option wpmf-no-shadow">
|
<div class="ju-settings-option wpmf-no-shadow">
|
||||||
<div class="wpmf_row_full">
|
<div class="wpmf_row_full">
|
||||||
<h4 data-wpmftippy="<?php esc_html_e('Exclude Folders', 'wpmf'); ?>"
|
<h4 data-wpmftippy="<?php esc_html_e('Exclude Folders', 'wpmf'); ?>"
|
||||||
class="text title_h4 font-size-16 color-7f8a98"><?php esc_html_e('Exclude Folders', 'wpmf') ?></h4>
|
class="text title_h4 font-size-16 color-404852"><?php esc_html_e('Exclude Folders', 'wpmf') ?></h4>
|
||||||
<input type="hidden" name="wpmf_watermark_exclude_folders">
|
<input type="hidden" name="wpmf_watermark_exclude_folders">
|
||||||
<div class="wrap_apply">
|
<div class="wrap_apply">
|
||||||
<div class="watermark_exclude_folders tree_option_folders">
|
<div class="watermark_exclude_folders tree_option_folders">
|
||||||
@@ -555,11 +560,35 @@ defined('ABSPATH') || die('No direct script access allowed!');
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<?php if (class_exists('WooCommerce')) : ?>
|
||||||
|
<div class="ju-settings-option wpmf-transparent">
|
||||||
|
<div class="wpmf_row_full">
|
||||||
|
<input type="hidden" name="wpmf_watermark_only_woo" value="0">
|
||||||
|
<label data-wpmftippy="<?php esc_attr_e('Possibility to add watermark to only images of WooCommerce Products', 'wpmf') ?>" class="ju-setting-label text wpmf-no-padding">
|
||||||
|
<?php esc_html_e('Apply watermark only on WooC. products', 'wpmf') ?>
|
||||||
|
</label>
|
||||||
|
<div class="ju-switch-button">
|
||||||
|
<label class="switch">
|
||||||
|
<input type="checkbox" name="wpmf_watermark_only_woo" value="1"
|
||||||
|
<?php
|
||||||
|
if (isset($watermark_only_woo) && (int)$watermark_only_woo === 1) {
|
||||||
|
echo 'checked';
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
>
|
||||||
|
<span class="slider round"></span>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<?php endif; ?>
|
||||||
|
|
||||||
<?php if (is_plugin_active('wp-media-folder-gallery-addon/wp-media-folder-gallery-addon.php')) : ?>
|
<?php if (is_plugin_active('wp-media-folder-gallery-addon/wp-media-folder-gallery-addon.php')) : ?>
|
||||||
<div class="ju-settings-option wpmf-transparent">
|
<div class="ju-settings-option wpmf-transparent">
|
||||||
<div class="wpmf_row_full">
|
<div class="wpmf_row_full">
|
||||||
<input type="hidden" name="watermark_exclude_public_gallery" value="0">
|
<input type="hidden" name="watermark_exclude_public_gallery" value="0">
|
||||||
<label class="ju-setting-label text"><?php esc_html_e('Exclude public galleries', 'wpmf') ?>
|
<label class="ju-setting-label text wpmf-no-padding"><?php esc_html_e('Exclude public galleries', 'wpmf') ?>
|
||||||
</label>
|
</label>
|
||||||
<div class="ju-switch-button">
|
<div class="ju-switch-button">
|
||||||
<label class="switch">
|
<label class="switch">
|
||||||
@@ -579,7 +608,7 @@ defined('ABSPATH') || die('No direct script access allowed!');
|
|||||||
<div class="ju-settings-option wpmf-transparent">
|
<div class="ju-settings-option wpmf-transparent">
|
||||||
<div class="wpmf_row_full">
|
<div class="wpmf_row_full">
|
||||||
<input type="hidden" name="watermark_exclude_photograph_gallery" value="0">
|
<input type="hidden" name="watermark_exclude_photograph_gallery" value="0">
|
||||||
<label class="ju-setting-label text"><?php esc_html_e('Exclude photographer galleries', 'wpmf') ?>
|
<label class="ju-setting-label text wpmf-no-padding"><?php esc_html_e('Exclude photographer galleries', 'wpmf') ?>
|
||||||
</label>
|
</label>
|
||||||
<div class="ju-switch-button">
|
<div class="ju-switch-button">
|
||||||
<label class="switch">
|
<label class="switch">
|
||||||
|
|||||||
@@ -184,12 +184,14 @@ class JUQueueActions
|
|||||||
if ($dirname) {
|
if ($dirname) {
|
||||||
$dirname = trailingslashit($dirname);
|
$dirname = trailingslashit($dirname);
|
||||||
}
|
}
|
||||||
|
if (isset($destination)) {
|
||||||
if ($dirname === '') {
|
if ($dirname === '') {
|
||||||
$data['file'] = $destination . '/' . $data['file'];
|
$data['file'] = $destination . '/' . $data['file'];
|
||||||
} else {
|
} else {
|
||||||
$data['file'] = str_replace($dirname, $destination . '/', $data['file']);
|
$data['file'] = str_replace($dirname, $destination . '/', $data['file']);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return $data;
|
return $data;
|
||||||
},
|
},
|
||||||
|
|||||||
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user