Plugin Directory

Changeset 3378610


Ignore:
Timestamp:
10/15/2025 06:01:56 AM (6 months ago)
Author:
yipresser
Message:

updated to v1.2.0

Location:
admin-optimizer/trunk
Files:
44 edited

Legend:

Unmodified
Added
Removed
  • admin-optimizer/trunk/admin-optimizer.php

    r3350836 r3378610  
    44 * Plugin URI: https://www.yipresser.com
    55 * Description: An all-in-one plugin to enhance your WordPress sites
    6  * Version: 1.1.0
     6 * Version: 1.2.0
    77 * Requires PHP: 7.2.5
    88 * Author: Yipresser
     
    4343}
    4444
     45register_activation_hook( __FILE__, __NAMESPACE__ . '\activate_plugin_check' );
     46
     47register_deactivation_hook( __FILE__ , __NAMESPACE__ . '\deactivate_plugin_hook' );
     48
     49/**
     50 * Check if the base plugin is activated. If not, activate it.
     51 *
     52 * @return void
     53 */
     54function activate_plugin_check() {
     55    // Makes sure the plugin is defined before trying to use it.
     56    if ( ! function_exists( 'is_plugin_active_for_network' ) ) {
     57        require_once ABSPATH . '/wp-admin/includes/plugin.php';
     58    }
     59
     60    /** Admin Optimizer Pro conflicts with the free Admin Optimizer plugin. Check to see if admin-optimizer-pro plugin is activated. If yes, deactivate it.
     61     * */
     62    if ( is_plugin_active( 'admin-optimizer-pro/admin-optimizer-pro.php' ) ) {
     63        deactivate_plugins( 'admin-optimizer-pro/admin-optimizer-pro.php' );
     64    }
     65}
     66
     67function deactivate_plugin_hook() {
     68    do_action( 'admin_optimizer_deactivate' );
     69}
     70
    4571if ( ! class_exists( Modules::class ) ) {
    4672    require_once 'modules/modules.php';
  • admin-optimizer/trunk/composer.json

    r3350836 r3378610  
    2323    "require": {
    2424        "woocommerce/action-scheduler": "^3.9.2",
    25         "yipresser/wp-settings-api-helper":"^1.0.3.0",
     25        "yipresser/wp-settings-api-helper":"^1.0.3.2",
    2626        "typisttech/imposter-plugin": "^0.6.1",
    2727        "remotemerge/totp-php": "^1.0.2",
    28         "ext-ctype": "*",
    29         "enshrined/svg-sanitize": "^0.21.0"
     28        "enshrined/svg-sanitize": "^0.22.0"
    3029    },
    3130    "extra": {
     
    3332            "namespace": "Yipresser\\AdminOptimizer\\Vendor",
    3433            "excludes": [
    35                 "remotemerge/totp-php",
    36                 "woocommerce/action-scheduler",
    37                 "ext-ctype",
    38                 "enshrined/svg-sanitize"
     34                "woocommerce/action-scheduler"
    3935            ]
    4036        }
  • admin-optimizer/trunk/languages/admin-optimizer.pot

    r3350836 r3378610  
    33msgid ""
    44msgstr ""
    5 "Project-Id-Version: Admin Optimizer 1.1.0\n"
     5"Project-Id-Version: Admin Optimizer 1.2.0\n"
    66"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/admin-optimizer\n"
    77"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
     
    1010"Content-Type: text/plain; charset=UTF-8\n"
    1111"Content-Transfer-Encoding: 8bit\n"
    12 "POT-Creation-Date: 2025-08-27T02:34:33+00:00\n"
     12"POT-Creation-Date: 2025-10-15T05:22:32+00:00\n"
    1313"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
    1414"X-Generator: WP-CLI 2.12.0\n"
     
    1919#: modules/modules.php:121
    2020#: modules/modules.php:122
    21 #: modules/settings/settings.php:83
     21#: modules/settings/settings.php:82
    2222msgid "Admin Optimizer"
    2323msgstr ""
     
    125125#: modules/block-login/settings/block-login-settings.php:61
    126126#: modules/custom-post-status/settings/poststatus-settings.php:206
    127 #: modules/modified-date/settings/modified-date-settings.php:82
     127#: modules/db-cleaner/settings/db-cleaner-settings.php:240
     128#: modules/modified-date/settings/modified-date-settings.php:81
    128129msgid "Pro Options"
    129130msgstr ""
     
    133134#: modules/block-login/settings/block-login-settings.php:63
    134135#: modules/custom-post-status/settings/poststatus-settings.php:210
    135 #: modules/modified-date/settings/modified-date-settings.php:84
     136#: modules/db-cleaner/settings/db-cleaner-settings.php:242
     137#: modules/db-cleaner/settings/db-cleaner-settings.php:645
     138#: modules/modified-date/settings/modified-date-settings.php:83
    136139#, php-format
    137140msgid "Upgrade to the %1$sPro version%2$s to access these features"
     
    18541857msgstr ""
    18551858
     1859#: modules/db-cleaner/db-cleaner.php:70
     1860msgid "Database cleaner"
     1861msgstr ""
     1862
     1863#: modules/db-cleaner/db-cleaner.php:71
     1864msgid "Database Cleaner"
     1865msgstr ""
     1866
     1867#: modules/db-cleaner/db-cleaner.php:125
     1868msgid " revisions deleted"
     1869msgstr ""
     1870
     1871#: modules/db-cleaner/db-cleaner.php:133
     1872msgid " Auto draft deleted"
     1873msgstr ""
     1874
     1875#: modules/db-cleaner/db-cleaner.php:141
     1876msgid " trashed posts deleted"
     1877msgstr ""
     1878
     1879#: modules/db-cleaner/db-cleaner.php:149
     1880msgid " orphaned post meta deleted"
     1881msgstr ""
     1882
     1883#: modules/db-cleaner/db-cleaner.php:157
     1884msgid " duplicate post meta deleted"
     1885msgstr ""
     1886
     1887#: modules/db-cleaner/db-cleaner.php:165
     1888msgid " empty post meta deleted"
     1889msgstr ""
     1890
     1891#: modules/db-cleaner/db-cleaner.php:173
     1892msgid " oEmbed cache deleted"
     1893msgstr ""
     1894
     1895#: modules/db-cleaner/db-cleaner.php:181
     1896msgid " unapproved comments deleted"
     1897msgstr ""
     1898
     1899#: modules/db-cleaner/db-cleaner.php:189
     1900msgid " spam comments deleted"
     1901msgstr ""
     1902
     1903#: modules/db-cleaner/db-cleaner.php:197
     1904msgid " trashed comments deleted"
     1905msgstr ""
     1906
     1907#: modules/db-cleaner/db-cleaner.php:205
     1908msgid " duplicate comment meta deleted"
     1909msgstr ""
     1910
     1911#: modules/db-cleaner/db-cleaner.php:213
     1912msgid " orphaned comment meta deleted"
     1913msgstr ""
     1914
     1915#: modules/db-cleaner/db-cleaner.php:221
     1916msgid " empty comment meta deleted"
     1917msgstr ""
     1918
     1919#: modules/db-cleaner/db-cleaner.php:229
     1920msgid " pingbacks deleted"
     1921msgstr ""
     1922
     1923#: modules/db-cleaner/db-cleaner.php:237
     1924msgid " unused terms deleted"
     1925msgstr ""
     1926
     1927#: modules/db-cleaner/db-cleaner.php:245
     1928msgid " duplicate term meta deleted"
     1929msgstr ""
     1930
     1931#: modules/db-cleaner/db-cleaner.php:253
     1932msgid " orphaned term meta deleted"
     1933msgstr ""
     1934
     1935#: modules/db-cleaner/db-cleaner.php:261
     1936msgid " orphaned term relationship deleted"
     1937msgstr ""
     1938
     1939#: modules/db-cleaner/db-cleaner.php:269
     1940msgid " duplicate user meta deleted"
     1941msgstr ""
     1942
     1943#: modules/db-cleaner/db-cleaner.php:277
     1944msgid " orphaned user meta deleted"
     1945msgstr ""
     1946
     1947#: modules/db-cleaner/db-cleaner.php:285
     1948msgid "Optimized all tables in database"
     1949msgstr ""
     1950
     1951#: modules/db-cleaner/db-cleaner.php:310
     1952msgid "Database cleanup completed. Check the logs for more details."
     1953msgstr ""
     1954
     1955#: modules/db-cleaner/includes/db-queries.php:49
     1956msgid "No revision items found."
     1957msgstr ""
     1958
     1959#: modules/db-cleaner/includes/db-queries.php:71
     1960msgid "No auto drafts found."
     1961msgstr ""
     1962
     1963#: modules/db-cleaner/includes/db-queries.php:93
     1964msgid "No trashed posts found."
     1965msgstr ""
     1966
     1967#: modules/db-cleaner/includes/db-queries.php:115
     1968msgid "No orphaned post meta found."
     1969msgstr ""
     1970
     1971#: modules/db-cleaner/includes/db-queries.php:146
     1972msgid "No duplicate post meta found."
     1973msgstr ""
     1974
     1975#: modules/db-cleaner/includes/db-queries.php:168
     1976msgid "No empty post meta found."
     1977msgstr ""
     1978
     1979#: modules/db-cleaner/includes/db-queries.php:190
     1980msgid "No oEmbed cache found."
     1981msgstr ""
     1982
     1983#. translators: %s is the status of the comment.
     1984#: modules/db-cleaner/includes/db-queries.php:209
     1985#: modules/db-cleaner/includes/db-queries.php:228
     1986#, php-format
     1987msgid "No %s comments found."
     1988msgstr ""
     1989
     1990#: modules/db-cleaner/includes/db-queries.php:259
     1991#: modules/db-cleaner/includes/db-queries.php:449
     1992msgid "No duplicate comment meta found."
     1993msgstr ""
     1994
     1995#: modules/db-cleaner/includes/db-queries.php:281
     1996#: modules/db-cleaner/includes/db-queries.php:471
     1997msgid "No orphaned comment meta found."
     1998msgstr ""
     1999
     2000#: modules/db-cleaner/includes/db-queries.php:303
     2001msgid "No empty comment meta found."
     2002msgstr ""
     2003
     2004#: modules/db-cleaner/includes/db-queries.php:325
     2005msgid "No pingbacks found."
     2006msgstr ""
     2007
     2008#: modules/db-cleaner/includes/db-queries.php:383
     2009msgid "No unused terms found."
     2010msgstr ""
     2011
     2012#: modules/db-cleaner/includes/db-queries.php:507
     2013msgid "No orphaned term relationship found."
     2014msgstr ""
     2015
     2016#: modules/db-cleaner/includes/db-queries.php:538
     2017msgid "No duplicate user meta found."
     2018msgstr ""
     2019
     2020#: modules/db-cleaner/includes/db-queries.php:560
     2021msgid "No orphaned user meta found."
     2022msgstr ""
     2023
     2024#: modules/db-cleaner/includes/db-queries.php:590
     2025msgid "Database not optimized."
     2026msgstr ""
     2027
     2028#: modules/db-cleaner/settings/db-cleaner-settings.php:58
     2029msgid "Schedule Database Cleanup"
     2030msgstr ""
     2031
     2032#: modules/db-cleaner/settings/db-cleaner-settings.php:63
     2033msgid "Enable logs"
     2034msgstr ""
     2035
     2036#: modules/db-cleaner/settings/db-cleaner-settings.php:66
     2037msgid "Keep a log of the execution of the database cleanup."
     2038msgstr ""
     2039
     2040#: modules/db-cleaner/settings/db-cleaner-settings.php:72
     2041msgid "Items to Clean Up"
     2042msgstr ""
     2043
     2044#: modules/db-cleaner/settings/db-cleaner-settings.php:79
     2045#: modules/db-cleaner/settings/db-cleaner-settings.php:249
     2046msgid "Post Revisions"
     2047msgstr ""
     2048
     2049#: modules/db-cleaner/settings/db-cleaner-settings.php:82
     2050msgid "Delete all post revisions"
     2051msgstr ""
     2052
     2053#: modules/db-cleaner/settings/db-cleaner-settings.php:86
     2054msgid "Auto Draft"
     2055msgstr ""
     2056
     2057#: modules/db-cleaner/settings/db-cleaner-settings.php:89
     2058msgid "Delete auto draft."
     2059msgstr ""
     2060
     2061#: modules/db-cleaner/settings/db-cleaner-settings.php:93
     2062msgid "Trashed Posts"
     2063msgstr ""
     2064
     2065#: modules/db-cleaner/settings/db-cleaner-settings.php:96
     2066msgid "Clean up trashed posts."
     2067msgstr ""
     2068
     2069#: modules/db-cleaner/settings/db-cleaner-settings.php:100
     2070msgid "Orphaned Post Meta"
     2071msgstr ""
     2072
     2073#: modules/db-cleaner/settings/db-cleaner-settings.php:103
     2074msgid "Delete orphaned post meta"
     2075msgstr ""
     2076
     2077#: modules/db-cleaner/settings/db-cleaner-settings.php:107
     2078msgid "Duplicate Post Meta"
     2079msgstr ""
     2080
     2081#: modules/db-cleaner/settings/db-cleaner-settings.php:110
     2082msgid "Delete duplicate post meta"
     2083msgstr ""
     2084
     2085#: modules/db-cleaner/settings/db-cleaner-settings.php:114
     2086msgid "Post Meta with empty value"
     2087msgstr ""
     2088
     2089#: modules/db-cleaner/settings/db-cleaner-settings.php:117
     2090msgid "Delete unused post meta"
     2091msgstr ""
     2092
     2093#: modules/db-cleaner/settings/db-cleaner-settings.php:121
     2094msgid "oEmbed cache"
     2095msgstr ""
     2096
     2097#: modules/db-cleaner/settings/db-cleaner-settings.php:124
     2098msgid "Delete oEmbed cache"
     2099msgstr ""
     2100
     2101#: modules/db-cleaner/settings/db-cleaner-settings.php:128
     2102msgid "Unapproved Comments"
     2103msgstr ""
     2104
     2105#: modules/db-cleaner/settings/db-cleaner-settings.php:131
     2106msgid "Delete all unapproved/pending comments"
     2107msgstr ""
     2108
     2109#: modules/db-cleaner/settings/db-cleaner-settings.php:135
     2110msgid "Spam Comments"
     2111msgstr ""
     2112
     2113#: modules/db-cleaner/settings/db-cleaner-settings.php:138
     2114msgid "Delete all spam comments"
     2115msgstr ""
     2116
     2117#: modules/db-cleaner/settings/db-cleaner-settings.php:142
     2118msgid "Trashed Comments"
     2119msgstr ""
     2120
     2121#: modules/db-cleaner/settings/db-cleaner-settings.php:145
     2122msgid "Delete all trashed comments"
     2123msgstr ""
     2124
     2125#: modules/db-cleaner/settings/db-cleaner-settings.php:149
     2126msgid "Duplicate Comment Meta"
     2127msgstr ""
     2128
     2129#: modules/db-cleaner/settings/db-cleaner-settings.php:152
     2130#: modules/db-cleaner/settings/db-cleaner-settings.php:159
     2131msgid "Delete duplicate comment meta"
     2132msgstr ""
     2133
     2134#: modules/db-cleaner/settings/db-cleaner-settings.php:156
     2135msgid "Orphaned Comment Meta"
     2136msgstr ""
     2137
     2138#: modules/db-cleaner/settings/db-cleaner-settings.php:163
     2139msgid "Comment Meta with empty value"
     2140msgstr ""
     2141
     2142#: modules/db-cleaner/settings/db-cleaner-settings.php:166
     2143msgid "Delete comment meta with empty value"
     2144msgstr ""
     2145
     2146#: modules/db-cleaner/settings/db-cleaner-settings.php:170
     2147msgid "Pingbacks"
     2148msgstr ""
     2149
     2150#: modules/db-cleaner/settings/db-cleaner-settings.php:173
     2151msgid "Delete pingbacks."
     2152msgstr ""
     2153
     2154#: modules/db-cleaner/settings/db-cleaner-settings.php:177
     2155msgid "Unused Terms"
     2156msgstr ""
     2157
     2158#: modules/db-cleaner/settings/db-cleaner-settings.php:180
     2159msgid "Delete unused Terms (post tags and categories)"
     2160msgstr ""
     2161
     2162#: modules/db-cleaner/settings/db-cleaner-settings.php:184
     2163msgid "Duplicate Term Meta"
     2164msgstr ""
     2165
     2166#: modules/db-cleaner/settings/db-cleaner-settings.php:187
     2167msgid "Delete duplicate Term Meta"
     2168msgstr ""
     2169
     2170#: modules/db-cleaner/settings/db-cleaner-settings.php:191
     2171msgid "Orphaned Term Meta"
     2172msgstr ""
     2173
     2174#: modules/db-cleaner/settings/db-cleaner-settings.php:194
     2175msgid "Delete orphaned Term Meta"
     2176msgstr ""
     2177
     2178#: modules/db-cleaner/settings/db-cleaner-settings.php:198
     2179msgid "Orphaned Term Relationship"
     2180msgstr ""
     2181
     2182#: modules/db-cleaner/settings/db-cleaner-settings.php:201
     2183msgid "Delete orphaned Term relationship"
     2184msgstr ""
     2185
     2186#: modules/db-cleaner/settings/db-cleaner-settings.php:205
     2187msgid "Duplicate User Meta"
     2188msgstr ""
     2189
     2190#: modules/db-cleaner/settings/db-cleaner-settings.php:208
     2191msgid "Delete duplicate user meta"
     2192msgstr ""
     2193
     2194#: modules/db-cleaner/settings/db-cleaner-settings.php:212
     2195msgid "Orphaned User Meta"
     2196msgstr ""
     2197
     2198#: modules/db-cleaner/settings/db-cleaner-settings.php:215
     2199msgid "Delete orphaned user meta"
     2200msgstr ""
     2201
     2202#: modules/db-cleaner/settings/db-cleaner-settings.php:221
     2203msgid "Clean Up Settings"
     2204msgstr ""
     2205
     2206#: modules/db-cleaner/settings/db-cleaner-settings.php:233
     2207msgid "Batch job size"
     2208msgstr ""
     2209
     2210#: modules/db-cleaner/settings/db-cleaner-settings.php:234
     2211msgid "The maximum amount of entries to delete at each cleanup run. Depending on your server and database size, a big batch job size might result in timeout and/or crash the server. For a good server, a value of 500 - 1000 is a good starting point. For a slow/shared hosting, start with 100 and increase gradually."
     2212msgstr ""
     2213
     2214#: modules/db-cleaner/settings/db-cleaner-settings.php:254
     2215msgid "Transient Objects"
     2216msgstr ""
     2217
     2218#: modules/db-cleaner/settings/db-cleaner-settings.php:258
     2219msgid "Delete all transient object"
     2220msgstr ""
     2221
     2222#: modules/db-cleaner/settings/db-cleaner-settings.php:259
     2223msgid "Delete expired transient object"
     2224msgstr ""
     2225
     2226#: modules/db-cleaner/settings/db-cleaner-settings.php:260
     2227msgid "Do not delete transient object"
     2228msgstr ""
     2229
     2230#: modules/db-cleaner/settings/db-cleaner-settings.php:263
     2231msgid "Transient objects are temporary data in the database with a time limit. It doesn't always get deleted upon expiry, which can cause bloat to your database."
     2232msgstr ""
     2233
     2234#: modules/db-cleaner/settings/db-cleaner-settings.php:267
     2235msgid "Deep Cleaning"
     2236msgstr ""
     2237
     2238#: modules/db-cleaner/settings/db-cleaner-settings.php:271
     2239msgid "Items will be deleted using WordPress functions. This will ensure no residual are left being during the clean up."
     2240msgstr ""
     2241
     2242#: modules/db-cleaner/settings/db-cleaner-settings.php:275
     2243msgid "Continuous Cleaning"
     2244msgstr ""
     2245
     2246#: modules/db-cleaner/settings/db-cleaner-settings.php:279
     2247msgid "Continue to clean the database in the background until all the unwanted items are removed. This is useful for a large database with lots of cruft."
     2248msgstr ""
     2249
     2250#: modules/db-cleaner/settings/db-cleaner-settings.php:300
     2251msgid "Sunday"
     2252msgstr ""
     2253
     2254#: modules/db-cleaner/settings/db-cleaner-settings.php:301
     2255msgid "Monday"
     2256msgstr ""
     2257
     2258#: modules/db-cleaner/settings/db-cleaner-settings.php:302
     2259msgid "Tuesday"
     2260msgstr ""
     2261
     2262#: modules/db-cleaner/settings/db-cleaner-settings.php:303
     2263msgid "Wednesday"
     2264msgstr ""
     2265
     2266#: modules/db-cleaner/settings/db-cleaner-settings.php:304
     2267msgid "Thursday"
     2268msgstr ""
     2269
     2270#: modules/db-cleaner/settings/db-cleaner-settings.php:305
     2271msgid "Friday"
     2272msgstr ""
     2273
     2274#: modules/db-cleaner/settings/db-cleaner-settings.php:306
     2275msgid "Saturday"
     2276msgstr ""
     2277
     2278#. translators: %1$s: day interval, %2$s time interval
     2279#: modules/db-cleaner/settings/db-cleaner-settings.php:324
     2280#, php-format
     2281msgid " Enable Database optimization to run every %1$s at %2$s:%3$s"
     2282msgstr ""
     2283
     2284#. translators: %s: day interval
     2285#: modules/db-cleaner/settings/db-cleaner-settings.php:381
     2286#, php-format
     2287msgid "Only delete post revisions that are more than %s days old"
     2288msgstr ""
     2289
     2290#: modules/db-cleaner/settings/db-cleaner-settings.php:397
     2291msgid "Delete expired transient objects"
     2292msgstr ""
     2293
     2294#: modules/db-cleaner/settings/db-cleaner-settings.php:399
     2295msgid "Transient objects are temporary data in the database with a time limit. It doesn't always get deleted upon expiry, which can bloat your database."
     2296msgstr ""
     2297
     2298#: modules/db-cleaner/settings/db-cleaner-settings.php:412
     2299msgid "Admin Optimizer - Database Cleaner"
     2300msgstr ""
     2301
     2302#: modules/db-cleaner/settings/db-cleaner-settings.php:421
     2303msgid "DB Cleanup"
     2304msgstr ""
     2305
     2306#: modules/db-cleaner/settings/db-cleaner-settings.php:427
     2307msgid "Logs"
     2308msgstr ""
     2309
     2310#: modules/db-cleaner/settings/db-cleaner-settings.php:433
     2311msgid "Expert Mode (Pro)"
     2312msgstr ""
     2313
     2314#: modules/db-cleaner/settings/db-cleaner-settings.php:588
     2315msgid "Log files deleted."
     2316msgstr ""
     2317
     2318#: modules/db-cleaner/settings/db-cleaner-settings.php:604
     2319msgid "Start time:"
     2320msgstr ""
     2321
     2322#: modules/db-cleaner/settings/db-cleaner-settings.php:612
     2323msgid "End time:"
     2324msgstr ""
     2325
     2326#: modules/db-cleaner/settings/db-cleaner-settings.php:614
     2327msgid "Total time:"
     2328msgstr ""
     2329
     2330#: modules/db-cleaner/settings/db-cleaner-settings.php:625
     2331msgid "No logs found."
     2332msgstr ""
     2333
     2334#: modules/db-cleaner/settings/db-cleaner-settings.php:641
     2335msgid "Expert mode - Pro version only"
     2336msgstr ""
     2337
     2338#: modules/db-cleaner/settings/db-cleaner-settings.php:648
     2339msgid "Manual Actions:"
     2340msgstr ""
     2341
     2342#: modules/db-cleaner/settings/db-cleaner-settings.php:650
     2343msgid "Run database cleaner manually."
     2344msgstr ""
     2345
     2346#: modules/db-cleaner/settings/db-cleaner-settings.php:651
     2347msgid "Check the clean up count for each table."
     2348msgstr ""
     2349
     2350#: modules/db-cleaner/settings/db-cleaner-settings.php:652
     2351msgid "Clean individual database table."
     2352msgstr ""
     2353
     2354#: modules/db-cleaner/settings/db-cleaner-settings.php:653
     2355msgid "Make informed decision of whether to clean up the database."
     2356msgstr ""
     2357
     2358#: modules/db-cleaner/settings/db-cleaner-settings.php:658
     2359msgid "Optimizing Options Table"
     2360msgstr ""
     2361
     2362#: modules/db-cleaner/settings/db-cleaner-settings.php:660
     2363msgid "Track orphaned options."
     2364msgstr ""
     2365
     2366#: modules/db-cleaner/settings/db-cleaner-settings.php:661
     2367msgid "Disable autoload of options to improve performance"
     2368msgstr ""
     2369
     2370#: modules/db-cleaner/settings/db-cleaner-settings.php:662
     2371msgid "Remove orphaned options."
     2372msgstr ""
     2373
     2374#: modules/db-cleaner/settings/db-cleaner-settings.php:663
     2375msgid "Clean up Options table to free up database space."
     2376msgstr ""
     2377
     2378#: modules/disable-user-account/disable-user-account.php:39
     2379msgctxt "bulk action"
     2380msgid "Enable User Accounts"
     2381msgstr ""
     2382
    18562383#: modules/disable-user-account/disable-user-account.php:40
    18572384msgctxt "bulk action"
    1858 msgid "Enable User Accounts"
    1859 msgstr ""
    1860 
    1861 #: modules/disable-user-account/disable-user-account.php:41
    1862 msgctxt "bulk action"
    18632385msgid "Disable User Accounts"
    18642386msgstr ""
    18652387
    1866 #: modules/disable-user-account/disable-user-account.php:88
     2388#: modules/disable-user-account/disable-user-account.php:90
    18672389msgid "User Account"
    18682390msgstr ""
    18692391
    1870 #: modules/disable-user-account/disable-user-account.php:106
     2392#: modules/disable-user-account/disable-user-account.php:108
    18712393msgid "Active"
    18722394msgstr ""
    18732395
    1874 #: modules/disable-user-account/disable-user-account.php:108
     2396#: modules/disable-user-account/disable-user-account.php:110
    18752397msgid "Disabled"
    18762398msgstr ""
    18772399
    1878 #: modules/disable-user-account/disable-user-account.php:142
     2400#: modules/disable-user-account/disable-user-account.php:145
    18792401msgid "Enable account"
    18802402msgstr ""
    18812403
    1882 #: modules/disable-user-account/disable-user-account.php:154
     2404#: modules/disable-user-account/disable-user-account.php:157
    18832405msgid "Disable account"
    18842406msgstr ""
    18852407
    1886 #: modules/disable-user-account/disable-user-account.php:193
    1887 #: modules/disable-user-account/disable-user-account.php:214
     2408#: modules/disable-user-account/disable-user-account.php:197
     2409#: modules/disable-user-account/disable-user-account.php:220
    18882410msgid "No user found."
    18892411msgstr ""
    18902412
    1891 #: modules/disable-user-account/disable-user-account.php:195
    1892 #: modules/disable-user-account/disable-user-account.php:216
     2413#: modules/disable-user-account/disable-user-account.php:199
     2414#: modules/disable-user-account/disable-user-account.php:222
    18932415msgid "Unauthorized action."
    18942416msgstr ""
    18952417
    1896 #: modules/disable-user-account/disable-user-account.php:242
     2418#: modules/disable-user-account/disable-user-account.php:249
    18972419msgid "ERROR: This user account is disabled."
    18982420msgstr ""
     
    20972619msgstr ""
    20982620
    2099 #: modules/modified-date/settings/modified-date-settings.php:59
     2621#: modules/modified-date/settings/modified-date-settings.php:58
    21002622msgid "Lock modification date by default"
    21012623msgstr ""
    21022624
    2103 #: modules/modified-date/settings/modified-date-settings.php:62
     2625#: modules/modified-date/settings/modified-date-settings.php:61
    21042626msgid "Prevent any user from updating the modified post. Can be overridden for each post."
    21052627msgstr ""
    21062628
    2107 #: modules/modified-date/settings/modified-date-settings.php:66
     2629#: modules/modified-date/settings/modified-date-settings.php:65
    21082630msgid "Only lock modified date for Published post"
    21092631msgstr ""
    21102632
    2111 #: modules/modified-date/settings/modified-date-settings.php:69
     2633#: modules/modified-date/settings/modified-date-settings.php:68
    21122634msgid "The modification date of post with different post status will not be locked."
    21132635msgstr ""
    21142636
    2115 #: modules/modified-date/settings/modified-date-settings.php:73
     2637#: modules/modified-date/settings/modified-date-settings.php:72
    21162638msgid "Add a Modified Date column to Posts section"
    21172639msgstr ""
    21182640
    2119 #: modules/modified-date/settings/modified-date-settings.php:76
     2641#: modules/modified-date/settings/modified-date-settings.php:75
    21202642msgid "Sort the post oder by Modified Date"
    21212643msgstr ""
    21222644
    2123 #: modules/modified-date/settings/modified-date-settings.php:90
     2645#: modules/modified-date/settings/modified-date-settings.php:89
    21242646msgid "Lock modified date for the following Post Types"
    21252647msgstr ""
    21262648
    2127 #: modules/modified-date/settings/modified-date-settings.php:100
     2649#: modules/modified-date/settings/modified-date-settings.php:99
    21282650msgid "Only allow these user roles to make changes to the Modified Date"
    21292651msgstr ""
    21302652
    2131 #: modules/modified-date/settings/modified-date-settings.php:102
     2653#: modules/modified-date/settings/modified-date-settings.php:101
    21322654msgid "Only these roles can lock or update the modified date."
    21332655msgstr ""
    21342656
    2135 #: modules/modified-date/settings/modified-date-settings.php:215
     2657#: modules/modified-date/settings/modified-date-settings.php:214
    21362658msgid "Admin Optimizer - Lock Modification Date Settings"
    21372659msgstr ""
     
    21412663msgstr ""
    21422664
    2143 #: modules/settings/content-management/content-management.php:112
     2665#: modules/settings/content-management/content-management.php:106
    21442666msgid "Enable Custom Post Status"
    21452667msgstr ""
    21462668
    2147 #: modules/settings/content-management/content-management.php:115
     2669#: modules/settings/content-management/content-management.php:109
    21482670msgid "Enable the creation of custom post status."
    21492671msgstr ""
    21502672
    2151 #: modules/settings/content-management/content-management.php:119
     2673#: modules/settings/content-management/content-management.php:113
    21522674msgid "Enable Custom Post Types"
    21532675msgstr ""
    21542676
    2155 #: modules/settings/content-management/content-management.php:122
     2677#: modules/settings/content-management/content-management.php:116
    21562678msgid "Enable the creation of custom post types."
    21572679msgstr ""
    21582680
    2159 #: modules/settings/content-management/content-management.php:126
     2681#: modules/settings/content-management/content-management.php:120
    21602682msgid "Enable Custom Taxonomies"
    21612683msgstr ""
    21622684
    2163 #: modules/settings/content-management/content-management.php:129
     2685#: modules/settings/content-management/content-management.php:123
    21642686msgid "Enable the creation of custom taxonomies"
    21652687msgstr ""
    21662688
    2167 #: modules/settings/content-management/content-management.php:133
     2689#: modules/settings/content-management/content-management.php:136
    21682690msgid "Auto publish posts with missed schedule"
    21692691msgstr ""
    21702692
    2171 #: modules/settings/content-management/content-management.php:136
     2693#: modules/settings/content-management/content-management.php:139
    21722694msgid "Check posts every 15 minutes and auto publish posts with missed schedule"
    21732695msgstr ""
    21742696
    2175 #: modules/settings/content-management/content-management.php:140
     2697#: modules/settings/content-management/content-management.php:143
    21762698msgid "Auto open Advanced field in Gutenberg on mouse hover"
    21772699msgstr ""
    21782700
    2179 #: modules/settings/content-management/content-management.php:143
     2701#: modules/settings/content-management/content-management.php:146
    21802702msgid "Reduce mouse clicks and open the Advanced field in Gutenberg when you move your mouse over it."
    21812703msgstr ""
    21822704
    2183 #: modules/settings/content-management/content-management.php:147
     2705#: modules/settings/content-management/content-management.php:150
    21842706msgid "Enable locking of Post's Modification Date."
    21852707msgstr ""
    21862708
    2187 #: modules/settings/content-management/content-management.php:150
     2709#: modules/settings/content-management/content-management.php:153
    21882710msgid "Change or prevent updating of the last modified date for each post."
    21892711msgstr ""
     
    23582880msgstr ""
    23592881
    2360 #: modules/settings/settings.php:86
    2361 #: modules/settings/settings.php:152
     2882#: modules/settings/settings.php:84
     2883#: modules/settings/settings.php:144
    23622884msgid "Save Changes"
    23632885msgstr ""
    23642886
    2365 #: modules/settings/settings.php:90
     2887#: modules/settings/settings.php:85
    23662888msgid "Upgrade to Pro"
    23672889msgstr ""
    23682890
    23692891#. translators: %s is the outgoing link to the Pro site.
    2370 #: modules/settings/settings.php:100
     2892#: modules/settings/settings.php:93
    23712893#, php-format
    23722894msgid "Get more optimization with %1$sAdmin Optimizer Pro%2$s"
     
    24252947msgstr ""
    24262948
    2427 #: modules/settings/utilities/utilities.php:64
     2949#: modules/settings/utilities/utilities.php:71
    24282950msgid "Utilities"
    24292951msgstr ""
    24302952
    2431 #: modules/settings/utilities/utilities.php:89
     2953#: modules/settings/utilities/utilities.php:96
    24322954msgid "Enable Heartbeat Control"
    24332955msgstr ""
    24342956
    2435 #: modules/settings/utilities/utilities.php:92
     2957#: modules/settings/utilities/utilities.php:99
    24362958msgid "Modify the interval of the WordPress heartbeat API to reduce CPU load on the server."
    24372959msgstr ""
    24382960
    2439 #: modules/settings/utilities/utilities.php:96
     2961#: modules/settings/utilities/utilities.php:103
    24402962msgid "Enable SMTP Mail"
    24412963msgstr ""
    24422964
    2443 #: modules/settings/utilities/utilities.php:99
     2965#: modules/settings/utilities/utilities.php:106
    24442966msgid "Enable email sending functionality in WordPress using your own SMTP provider"
     2967msgstr ""
     2968
     2969#: modules/settings/utilities/utilities.php:110
     2970msgid "Enable Database Cleaner"
     2971msgstr ""
     2972
     2973#: modules/settings/utilities/utilities.php:113
     2974msgid "Schedule regular optimization and cleaning up of the WP database to improve the performance of the site."
    24452975msgstr ""
    24462976
     
    24953025
    24963026#: modules/svg-upload/svg-upload.php:113
    2497 #: modules/svg-upload/svg-upload.php:118
     3027#: modules/svg-upload/svg-upload.php:119
    24983028msgid "This SVG file could not be sanitized, and could not be uploaded."
    24993029msgstr ""
  • admin-optimizer/trunk/modules/2fa/settings/two-factor-authentication-settings.php

    r3343907 r3378610  
    261261    public function enqueue_scripts( $hook_suffix ) {
    262262        if ( str_contains( $hook_suffix, Two_Factor_Authentication::MENU_SLUG ) ) {
    263             wp_enqueue_style( 'adminoptim-modules-pro-settings', ADMINOPTIMIZER_MODULES_URI . 'settings/assets/css/modules-pro-settings.min.css', [], filemtime( ADMINOPTIMIZER_MODULES_PATH . 'settings/assets/css/modules-pro-settings.min.css' ) );
     263            wp_enqueue_style( 'adminoptim-modules-pro-settings' );
    264264
    265265            if ( isset( $_GET['tab'] ) && 'user' === sanitize_text_field( wp_unslash( $_GET['tab'] ) ) ) { // phpcs:ignore WordPress.Security.NonceVerification.Recommended
  • admin-optimizer/trunk/modules/2fa/settings/two-factor-authentication-user-settings.php

    r3343907 r3378610  
    88}
    99
    10 use RemoteMerge\Totp\TotpException;
    11 use RemoteMerge\Totp\TotpFactory;
     10use Yipresser\AdminOptimizer\Vendor\RemoteMerge\Totp\TotpException;
     11use Yipresser\AdminOptimizer\Vendor\RemoteMerge\Totp\TotpFactory;
    1212
    1313/**
  • admin-optimizer/trunk/modules/2fa/two-factor-authentication.php

    r3346791 r3378610  
    33namespace Yipresser\AdminOptimizer\Modules;
    44
    5 use RemoteMerge\Totp\TotpException;
    6 use RemoteMerge\Totp\TotpFactory;
     5use Yipresser\AdminOptimizer\Vendor\RemoteMerge\Totp\TotpException;
     6use Yipresser\AdminOptimizer\Vendor\RemoteMerge\Totp\TotpFactory;
    77
    88// Exit if accessed directly.
  • admin-optimizer/trunk/modules/block-login/settings/block-login-settings.php

    r3343907 r3378610  
    137137            wp_enqueue_script( 'adminoptim_lock_login_settings', Block_Login::MODULE_URL . 'assets/js/block-login-settings.min.js', [ 'jquery' ], filemtime( Block_Login::MODULE_PATH . 'assets/js/block-login-settings.min.js' ), true );
    138138            wp_localize_script( 'adminoptim_lock_login_settings', 'blockLoginSettings', [ 'nonce' => wp_create_nonce( 'adminoptim_block_login_action' ) ] );
    139             wp_enqueue_style( 'adminoptim-modules-pro-settings', ADMINOPTIMIZER_MODULES_URI . 'settings/assets/css/modules-pro-settings.min.css', [], filemtime( ADMINOPTIMIZER_MODULES_PATH . 'settings/assets/css/modules-pro-settings.min.css' ) );
     139            wp_enqueue_style( 'adminoptim-modules-pro-settings' );
    140140        }
    141141    }
  • admin-optimizer/trunk/modules/custom-post-status/settings/poststatus-list-table.php

    r3343907 r3378610  
    221221         * case, we'll handle them within our package just to keep things clean.
    222222         */
    223         $this->process_bulk_action();
     223        // $this->process_bulk_action();
    224224
    225225        /**
  • admin-optimizer/trunk/modules/custom-post-status/settings/poststatus-settings.php

    r3343907 r3378610  
    516516    public function enqueue_scripts( $hook_suffix ) {
    517517        if ( str_contains( $hook_suffix, Post_Status::MENU_SLUG ) ) {
    518             wp_enqueue_style( 'adminoptim-modules-pro-settings', ADMINOPTIMIZER_MODULES_URI . 'settings/assets/css/modules-pro-settings.min.css', [], filemtime( ADMINOPTIMIZER_MODULES_PATH . 'settings/assets/css/modules-pro-settings.min.css' ) );
     518            wp_enqueue_style( 'adminoptim-modules-pro-settings' );
    519519        }
    520520    }
  • admin-optimizer/trunk/modules/modified-date/modified-date.php

    r3343907 r3378610  
    437437            $content  = __( 'Modified', 'admin-optimizer' ) . '<br/>';
    438438            $content .= get_the_modified_date( 'Y/m/d', $post_id ) . ' at ' . get_the_modified_time( '', $post_id );
    439             echo esc_html( $content );
     439            echo wp_kses( $content, ['br' => []] );
    440440        }
    441441    }
  • admin-optimizer/trunk/modules/modified-date/settings/modified-date-settings.php

    r3343907 r3378610  
    88}
    99
    10 use BaconQrCode\Module;
    1110use Yipresser\AdminOptimizer\Vendor\Yipresser\WpSettingsApiHelper\WP_Settings_API_Helper;
    1211
     
    118117    public function enqueue_scripts( $hook_suffix ) {
    119118        if ( str_contains( $hook_suffix, Modified_Date::MENU_SLUG ) ) {
    120             wp_enqueue_style( 'adminoptim-modules-pro-settings', ADMINOPTIMIZER_MODULES_URI . 'settings/assets/css/modules-pro-settings.min.css', [], filemtime( ADMINOPTIMIZER_MODULES_PATH . 'settings/assets/css/modules-pro-settings.min.css' ) );
     119            wp_enqueue_style( 'adminoptim-modules-pro-settings' );
    121120        }
    122121    }
  • admin-optimizer/trunk/modules/modules.php

    r3343907 r3378610  
    3636     * @var
    3737     */
    38     protected $admin;
     38    //protected $admin;
    3939
    4040    /**
  • admin-optimizer/trunk/modules/publish-missed-schedule/publish-missed-schedule.php

    r3343907 r3378610  
    2828
    2929        add_action( 'adminoptim_publish_missed_post', [ $this, 'publish_missed_posts' ] );
    30 
    31         register_deactivation_hook( __FILE__, [ $this, 'deactivation' ] );
     30        add_action( 'admin_optimizer_deactivate', [ $this, 'remove_schedule_on_deactivation' ] );
    3231
    3332        add_filter(
     
    5554     * @return void
    5655     */
    57     public function deactivation(): void {
     56    public function remove_schedule_on_deactivation(): void {
    5857        if ( as_has_scheduled_action( 'adminoptim_publish_missed_post' ) ) {
    5958            as_unschedule_action( 'adminoptim_publish_missed_post' );
  • admin-optimizer/trunk/modules/settings/assets/css/modules-pro-settings.css

    r3343907 r3378610  
    1 .adminoptim-pro-options .form-table {
     1.adminoptim-pro-options .form-table, .adminoptim-pro-options .bordered {
    22  border: 3px dashed #aaa;
    33  padding: 1rem;
    44  color: #aaa;
    55}
    6 .adminoptim-pro-options .form-table th {
     6.adminoptim-pro-options .form-table th, .adminoptim-pro-options .bordered th {
    77  color: #666;
    88}
    9 .adminoptim-pro-options .form-table label {
     9.adminoptim-pro-options .form-table label, .adminoptim-pro-options .bordered label {
    1010  color: #aaa;
    1111}
  • admin-optimizer/trunk/modules/settings/assets/css/modules-pro-settings.min.css

    r3343907 r3378610  
    1 .adminoptim-pro-options .form-table{border:3px dashed #aaa;padding:1rem;color:#aaa}.adminoptim-pro-options .form-table th{color:#666}.adminoptim-pro-options .form-table label{color:#aaa}
     1.adminoptim-pro-options .form-table,.adminoptim-pro-options .bordered{border:3px dashed #aaa;padding:1rem;color:#aaa}.adminoptim-pro-options .form-table th,.adminoptim-pro-options .bordered th{color:#666}.adminoptim-pro-options .form-table label,.adminoptim-pro-options .bordered label{color:#aaa}
  • admin-optimizer/trunk/modules/settings/assets/css/modules-settings.css

    r3343907 r3378610  
    5656.adminoptim-nav-wrapper {
    5757  width: 15%;
     58  min-width: 200px;
    5859  border-right: 1px solid #ddd;
    5960}
     
    8687
    8788.adminoptim-tab-content-wrap {
     89  width: 80%;
    8890  flex-grow: 1;
    8991}
     
    9698}
    9799.tab-content label {
     100  display: flex;
    98101  position: relative;
    99   padding-left: 60px;
    100   height: 34px;
     102  padding-left: 80px;
    101103}
    102104.tab-content input {
  • admin-optimizer/trunk/modules/settings/assets/css/modules-settings.min.css

    r3343907 r3378610  
    1 #adminoptim-header-wrap{padding:1rem 2rem;background-color:#fff;margin-bottom:2rem;display:flex;justify-content:space-between}#adminoptim-header-wrap.sticky{position:sticky;top:32px;border-bottom:1px solid #ccd0d4;z-index:10}#adminoptim-submit-btn,.adminoptim-pro-btn{height:40px;line-height:40px;padding:0 1.5rem}.adminoptim-pro-btn{display:inline-flex !important;align-items:center;background-color:#3858e9 !important;color:#fff !important}.adminoptim-sticky{position:sticky;top:120px;z-index:9}.adminoptim-content{display:flex;background-color:#fff;gap:2rem;padding:2rem 1rem;box-sizing:border-box}.adminoptim-pro-strip{width:100%;background-color:#3858e9;color:#fff;font-weight:600;text-align:center;padding:10px 20px;font-size:14px}.adminoptim-pro-strip a{color:#fff;text-decoration:underline}.adminoptim-nav-wrapper{width:15%;border-right:1px solid #ddd}.adminoptim-nav-tab{width:100%;margin-bottom:.5rem;box-sizing:border-box}.adminoptim-tab-btn{width:100%;color:#333;background:none;cursor:pointer;text-align:left;border:none;font-size:14px;padding:1rem;font-weight:bold}.adminoptim-tab-btn:hover{background-color:#eef2f7;color:#0073aa}.adminoptim-tab-btn[aria-selected=true]{color:#0073aa}.adminoptim-tab-content-wrap{flex-grow:1}.tab-content.section-hidden{display:none}.tab-content.section-visible{display:block}.tab-content label{position:relative;padding-left:60px;height:34px}.tab-content input{height:0;width:0;position:absolute;top:0;left:0;visibility:hidden}.tab-content .slider{display:inline-block;position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:gray;transition:.4s;border-radius:34px;width:53px;height:26px}.tab-content .slider:before{position:absolute;content:"";height:24px;width:24px;left:2px;bottom:1px;background-color:#fff;transition:.4s;border-radius:50%}.tab-content .slider.disabled{cursor:default}.tab-content .slider.disabled:before{background-color:#ddd}.tab-content input:checked+.slider{background-color:#0073aa}.tab-content input:checked+.slider:before{transform:translateX(26px)}input:checked+.slider.disabled{background-color:#465760}
     1#adminoptim-header-wrap{padding:1rem 2rem;background-color:#fff;margin-bottom:2rem;display:flex;justify-content:space-between}#adminoptim-header-wrap.sticky{position:sticky;top:32px;border-bottom:1px solid #ccd0d4;z-index:10}#adminoptim-submit-btn,.adminoptim-pro-btn{height:40px;line-height:40px;padding:0 1.5rem}.adminoptim-pro-btn{display:inline-flex !important;align-items:center;background-color:#3858e9 !important;color:#fff !important}.adminoptim-sticky{position:sticky;top:120px;z-index:9}.adminoptim-content{display:flex;background-color:#fff;gap:2rem;padding:2rem 1rem;box-sizing:border-box}.adminoptim-pro-strip{width:100%;background-color:#3858e9;color:#fff;font-weight:600;text-align:center;padding:10px 20px;font-size:14px}.adminoptim-pro-strip a{color:#fff;text-decoration:underline}.adminoptim-nav-wrapper{width:15%;min-width:200px;border-right:1px solid #ddd}.adminoptim-nav-tab{width:100%;margin-bottom:.5rem;box-sizing:border-box}.adminoptim-tab-btn{width:100%;color:#333;background:none;cursor:pointer;text-align:left;border:none;font-size:14px;padding:1rem;font-weight:bold}.adminoptim-tab-btn:hover{background-color:#eef2f7;color:#0073aa}.adminoptim-tab-btn[aria-selected=true]{color:#0073aa}.adminoptim-tab-content-wrap{width:80%;flex-grow:1}.tab-content.section-hidden{display:none}.tab-content.section-visible{display:block}.tab-content label{display:flex;position:relative;padding-left:80px}.tab-content input{height:0;width:0;position:absolute;top:0;left:0;visibility:hidden}.tab-content .slider{display:inline-block;position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:gray;transition:.4s;border-radius:34px;width:53px;height:26px}.tab-content .slider:before{position:absolute;content:"";height:24px;width:24px;left:2px;bottom:1px;background-color:#fff;transition:.4s;border-radius:50%}.tab-content .slider.disabled{cursor:default}.tab-content .slider.disabled:before{background-color:#ddd}.tab-content input:checked+.slider{background-color:#0073aa}.tab-content input:checked+.slider:before{transform:translateX(26px)}input:checked+.slider.disabled{background-color:#465760}
  • admin-optimizer/trunk/modules/settings/content-management/content-management.php

    r3350836 r3378610  
    101101    public function settings_fields( $fields ) {
    102102        if ( empty( $fields['content-management'] ) ) {
     103            $modules = [
     104                'post-status'        => [
     105                    'type'  => 'slider-checkbox',
     106                    'title' => __( 'Enable Custom Post Status', 'admin-optimizer' ),
     107                    'id'    => 'enable-custom-post-status',
     108                    'name'  => 'enable_custom_post_status',
     109                    'desc'  => __( 'Enable the creation of custom post status.', 'admin-optimizer' ),
     110                ],
     111                'post-types'         => [
     112                    'type'  => 'slider-checkbox',
     113                    'title' => __( 'Enable Custom Post Types', 'admin-optimizer' ),
     114                    'id'    => 'enable-custom-post-types',
     115                    'name'  => 'enable_custom_post_types',
     116                    'desc'  => __( 'Enable the creation of custom post types.', 'admin-optimizer' ),
     117                ],
     118                'taxonomies'         => [
     119                    'type'  => 'slider-checkbox',
     120                    'title' => __( 'Enable Custom Taxonomies', 'admin-optimizer' ),
     121                    'id'    => 'enable-custom-taxonomies',
     122                    'name'  => 'enable_custom_taxonomies',
     123                    'desc'  => __( 'Enable the creation of custom taxonomies', 'admin-optimizer' ),
     124                ],
     125                /*
     126                    'cf-builder'          => [
     127                        'type'     => 'slider-checkbox',
     128                        'title'    => sprintf( '%s' . __( 'Enable Custom Fields Builder', 'admin-optimizer' ) . '%s', '<span class="pro-module-header">', '</span>' ),
     129                        'id'       => 'enable-custom-fields-builder',
     130                        'name'     => 'enable_custom_fields_builder',
     131                        'disabled' => apply_filters( 'adminoptimizer_disable_pro_modules', true ),
     132                        'desc'     => __( 'Pro: a powerful custom fields builder that allows you to easily add custom fields and content to the post editor. Works for various Post Types, and compatible with the Custom Post Types module.', 'admin-optimizer' ),
     133                    ], */
     134                    'auto-publish'   => [
     135                        'type'  => 'slider-checkbox',
     136                        'title' => __( 'Auto publish posts with missed schedule', 'admin-optimizer' ),
     137                        'id'    => 'enable-publish-missed-posts',
     138                        'name'  => 'enable_publish_missed_posts',
     139                        'desc'  => __( 'Check posts every 15 minutes and auto publish posts with missed schedule', 'admin-optimizer' ),
     140                    ],
     141                'auto-open-advanced' => [
     142                    'type'  => 'slider-checkbox',
     143                    'title' => __( 'Auto open Advanced field in Gutenberg on mouse hover', 'admin-optimizer' ),
     144                    'id'    => 'enable-auto-open-advanced',
     145                    'name'  => 'enable_auto_open_advanced',
     146                    'desc'  => __( 'Reduce mouse clicks and open the Advanced field in Gutenberg when you move your mouse over it.', 'admin-optimizer' ),
     147                ],
     148                'modified-date'      => [
     149                    'type'  => 'slider-checkbox',
     150                    'title' => __( 'Enable locking of Post\'s Modification Date.', 'admin-optimizer' ),
     151                    'id'    => 'manage-post-modified-date',
     152                    'name'  => 'manage_post_modified_date',
     153                    'desc'  => __( 'Change or prevent updating of the last modified date for each post.', 'admin-optimizer' ),
     154                ],
     155            ];
    103156            $fields['content-management'] = [
    104157                'id'          => 'adminoptimizer-content-settings',
     
    107160                'menu_slug'   => 'adminoptim-content-settings',
    108161                'option_name' => Modules::MODULES_OPTION,
    109                 'fields'      => [
    110                     [
    111                         'type'  => 'slider-checkbox',
    112                         'title' => __( 'Enable Custom Post Status', 'admin-optimizer' ),
    113                         'id'    => 'enable-custom-post-status',
    114                         'name'  => 'enable_custom_post_status',
    115                         'desc'  => __( 'Enable the creation of custom post status.', 'admin-optimizer' ),
    116                     ],
    117                     [
    118                         'type'  => 'slider-checkbox',
    119                         'title' => __( 'Enable Custom Post Types', 'admin-optimizer' ),
    120                         'id'    => 'enable-custom-post-types',
    121                         'name'  => 'enable_custom_post_types',
    122                         'desc'  => __( 'Enable the creation of custom post types.', 'admin-optimizer' ),
    123                     ],
    124                     [
    125                         'type'  => 'slider-checkbox',
    126                         'title' => __( 'Enable Custom Taxonomies', 'admin-optimizer' ),
    127                         'id'    => 'enable-custom-taxonomies',
    128                         'name'  => 'enable_custom_taxonomies',
    129                         'desc'  => __( 'Enable the creation of custom taxonomies', 'admin-optimizer' ),
    130                     ],
    131                     [
    132                         'type'  => 'slider-checkbox',
    133                         'title' => __( 'Auto publish posts with missed schedule', 'admin-optimizer' ),
    134                         'id'    => 'enable-publish-missed-posts',
    135                         'name'  => 'enable_publish_missed_posts',
    136                         'desc'  => __( 'Check posts every 15 minutes and auto publish posts with missed schedule', 'admin-optimizer' ),
    137                     ],
    138                     [
    139                         'type'  => 'slider-checkbox',
    140                         'title' => __( 'Auto open Advanced field in Gutenberg on mouse hover', 'admin-optimizer' ),
    141                         'id'    => 'enable-auto-open-advanced',
    142                         'name'  => 'enable_auto_open_advanced',
    143                         'desc'  => __( 'Reduce mouse clicks and open the Advanced field in Gutenberg when you move your mouse over it.', 'admin-optimizer' ),
    144                     ],
    145                     [
    146                         'type'  => 'slider-checkbox',
    147                         'title' => __( 'Enable locking of Post\'s Modification Date.', 'admin-optimizer' ),
    148                         'id'    => 'manage-post-modified-date',
    149                         'name'  => 'manage_post_modified_date',
    150                         'desc'  => __( 'Change or prevent updating of the last modified date for each post.', 'admin-optimizer' ),
    151                     ],
    152                 ],
     162                'fields'      => $modules,
    153163            ];
    154164        }
  • admin-optimizer/trunk/modules/settings/settings.php

    r3350836 r3378610  
    7777     */
    7878    public function render_menu_page() {
    79         $is_pro_activated = (bool) apply_filters( 'adminoptim_is_pro_activated', false );
    8079        ?>
    8180        <div class="wrap">
    8281            <div id="adminoptim-header-wrap" class="sticky">
    83                 <?php $page_title = apply_filters( 'adminoptimizer_page_title', __( 'Admin Optimizer', 'admin-optimizer' ) ); ?>
    84                 <h1><?php echo esc_html( $page_title ); ?></h1>
     82                <h1><?php esc_html_e( 'Admin Optimizer', 'admin-optimizer' ); ?></h1>
    8583                <div>
    8684                    <button id="adminoptim-submit-btn" class="button button-primary adminoptim-submit-btn"><?php esc_html_e( 'Save Changes', 'admin-optimizer' ); ?></button>
    87                     <?php
    88                     if ( ! $is_pro_activated ) :
    89                         ?>
    90                         <a href="<?php echo esc_url( 'https://www.yipresser.com/admin-optimizer#pricing' ); ?>" class="button adminoptim-pro-btn" target="_blank"><?php esc_html_e( 'Upgrade to Pro', 'admin-optimizer' ); ?></a>
    91                     <?php endif; ?>
     85                    <a href="<?php echo esc_url( 'https://www.yipresser.com/admin-optimizer#pricing' ); ?>" class="button adminoptim-pro-btn" target="_blank"><?php esc_html_e( 'Upgrade to Pro', 'admin-optimizer' ); ?></a>
    9286                </div>
    9387            </div>
    9488            <?php settings_errors(); ?>
    9589            <?php $this->render_settings( Modules::MODULES_OPTION ); ?>
    96             <?php if ( ! $is_pro_activated ) : ?>
    97                 <div class="adminoptim-pro-strip">
    98                     <?php
    99                         // translators: %s is the outgoing link to the Pro site.
    100                         $promotion_message = sprintf( __( 'Get more optimization with %1$sAdmin Optimizer Pro%2$s', 'admin-optimizer' ), '<a href="' . esc_url( 'https://www.yipresser.com/admin-optimizer#pricing' ) . '" target="_blank">', '</a>' );
    101                         echo wp_kses( $promotion_message, 'a' );
    102                     ?>
    103                 </div>
    104             <?php endif; ?>
     90            <div class="adminoptim-pro-strip">
     91                <?php
     92                    // translators: %s is the outgoing link to the Pro site.
     93                    $promotion_message = sprintf( __( 'Get more optimization with %1$sAdmin Optimizer Pro%2$s', 'admin-optimizer' ), '<a href="' . esc_url( 'https://www.yipresser.com/admin-optimizer#pricing' ) . '" target="_blank">', '</a>' );
     94                    echo wp_kses( $promotion_message, 'a' );
     95                ?>
     96            </div>
    10597        </div>
    10698        <?php
     
    181173     */
    182174    public function enqueue_scripts( $hook_suffix ) {
     175        wp_register_style( 'adminoptim-modules-pro-settings', ADMINOPTIMIZER_MODULES_URI . 'settings/assets/css/modules-pro-settings.min.css', [], filemtime( ADMINOPTIMIZER_MODULES_PATH . 'settings/assets/css/modules-pro-settings.min.css' ) );
    183176        if ( str_contains( $hook_suffix, ADMINOPTIMIZER_MODULES_MENU_SLUG ) ) {
    184177            wp_enqueue_script( 'adminoptim-modules-settings', ADMINOPTIMIZER_MODULES_URI . 'settings/assets/js/modules-settings.min.js', [], filemtime( ADMINOPTIMIZER_MODULES_PATH . 'settings/assets/js/modules-settings.min.js' ), true );
  • admin-optimizer/trunk/modules/settings/utilities/utilities.php

    r3350836 r3378610  
    5050            $this->modules['heartbeat'] = new Heartbeat_Control();
    5151        }
     52        if ( ! empty( $this->options['enable_db_cleaner'] ) ) {
     53            if ( class_exists( '\Yipresser\AdminOptimizer\Pro\Modules\DB_Cleaner_Pro' ) ) {
     54                $this->modules['db_cleaner'] = new \Yipresser\AdminOptimizer\Pro\Modules\DB_Cleaner_Pro();
     55            } else {
     56                $this->modules['db_cleaner'] = new DB_Cleaner();
     57            }
     58        }
    5259    }
    5360
     
    99106                        'desc'  => __( 'Enable email sending functionality in WordPress using your own SMTP provider', 'admin-optimizer' ),
    100107                    ],
     108                    [
     109                        'type'  => 'slider-checkbox',
     110                        'title' => __( 'Enable Database Cleaner', 'admin-optimizer' ),
     111                        'id'    => 'enable-db-cleaner',
     112                        'name'  => 'enable_db_cleaner',
     113                        'desc'  => __( 'Schedule regular optimization and cleaning up of the WP database to improve the performance of the site.', 'admin-optimizer' ),
     114                    ],
    101115                ],
    102116            ];
  • admin-optimizer/trunk/modules/svg-upload/svg-upload.php

    r3343907 r3378610  
    88}
    99
    10 use enshrined\svgSanitize\Sanitizer;
     10use Yipresser\AdminOptimizer\Vendor\enshrined\svgSanitize\Sanitizer;
    1111
    1212// TODO
     
    113113                $file['error'] = __( 'This SVG file could not be sanitized, and could not be uploaded.', 'admin-optimizer' );
    114114            } else {
    115                 $sanitizer     = new Sanitizer();
     115                $sanitizer = new Sanitizer();
     116                $sanitizer->minify( true );
    116117                $sanitized_svg = $sanitizer->sanitize( $uploaded_svg );
    117118                if ( false === $sanitized_svg ) {
     
    165166                $original_svg = file_get_contents( $file_path ); //phpcs:ignore
    166167
    167                 $sanitizer     = new Sanitizer();
     168                $sanitizer = new Sanitizer();
     169                $sanitizer->minify( true );
    168170                $sanitized_svg = $sanitizer->sanitize( $original_svg );
    169171
  • admin-optimizer/trunk/readme.txt

    r3350836 r3378610  
    77Requires PHP: 7.2.5
    88Tested up to: 6.8
    9 Stable tag: 1.1.0
     9Stable tag: 1.2.0
    1010License: GPLv2 or later
    1111License URI: http://www.gnu.org/licenses/gpl-2.0.html
    1212
    13 SMTP Email, Two-factor Authentication, Custom Post Status, SVG File upload, Custom Login URL, Limit Login Attempts, Lock Modified Date & so much more!
     13SMTP Email, Two-factor Authentication, Custom Post Status, SVG File upload, Custom Login URL, Limit Login Attempts, Lock Modified Date, Database cleaner & more!
    1414
    1515== Description ==
     
    5454- **Adjust Heartbeat**: Modify the Heartbeat interval to improve the user experience of WordPress.
    5555- **SMTP Email**: replace the default mailer with external SMTP service to ensure successful mails delivery.
     56- **Database Cleaner**: Schedule regular optimization and cleaning up of the WP database to improve the performance of the site.
    5657
    5758== User Management ==
     
    6061- **Disable new user signup notification**: disable the new user notification when creating a new user account in WordPress.
    6162- **Hide admin toolbar for all users**: disable the admin bar for all logged-in users when viewing the site on the frontend.
     63- **Disable User Account**: Disable user accounts for inactive users and prevent them from logging in.
    6264
    6365[See all modules >>](https://www.yipresser.com/admin-optimizer/modules/)
     
    100102
    101103== Changelog ==
     104= 1.2.0 -  =
     105* Added: new Database Cleaner module
     106* Enhancement: updated admin UI interface
     107* Bug: correct modified date column text
    102108
    103109= 1.1.0 - 27 August 2025 =
  • admin-optimizer/trunk/vendor/composer/autoload_classmap.php

    r3350836 r3378610  
    88return array(
    99    'Composer\\InstalledVersions' => $vendorDir . '/composer/InstalledVersions.php',
    10     'RemoteMerge\\Message\\MessageInterface' => $vendorDir . '/remotemerge/totp-php/src/Message/MessageInterface.php',
    11     'RemoteMerge\\Message\\MessageStore' => $vendorDir . '/remotemerge/totp-php/src/Message/MessageStore.php',
    12     'RemoteMerge\\Totp\\AbstractTotp' => $vendorDir . '/remotemerge/totp-php/src/Totp/AbstractTotp.php',
    13     'RemoteMerge\\Totp\\Totp' => $vendorDir . '/remotemerge/totp-php/src/Totp/Totp.php',
    14     'RemoteMerge\\Totp\\TotpException' => $vendorDir . '/remotemerge/totp-php/src/Totp/TotpException.php',
    15     'RemoteMerge\\Totp\\TotpFactory' => $vendorDir . '/remotemerge/totp-php/src/Totp/TotpFactory.php',
    16     'RemoteMerge\\Totp\\TotpInterface' => $vendorDir . '/remotemerge/totp-php/src/Totp/TotpInterface.php',
    17     'RemoteMerge\\Utils\\Base32' => $vendorDir . '/remotemerge/totp-php/src/Utils/Base32.php',
    1810    'TypistTech\\Imposter\\ArrayUtil' => $vendorDir . '/typisttech/imposter/src/ArrayUtil.php',
    1911    'TypistTech\\Imposter\\Config' => $vendorDir . '/typisttech/imposter/src/Config.php',
     
    4537    'Yipresser\\AdminOptimizer\\Modules\\Custom_Login_Url' => $baseDir . '/modules/custom-login-url/custom-login-url.php',
    4638    'Yipresser\\AdminOptimizer\\Modules\\Custom_Login_Url_Settings' => $baseDir . '/modules/custom-login-url/settings/custom-login-url-settings.php',
     39    'Yipresser\\AdminOptimizer\\Modules\\DB_Cleaner' => $baseDir . '/modules/db-cleaner/db-cleaner.php',
     40    'Yipresser\\AdminOptimizer\\Modules\\DB_Cleaner_Settings' => $baseDir . '/modules/db-cleaner/settings/db-cleaner-settings.php',
     41    'Yipresser\\AdminOptimizer\\Modules\\DB_Queries' => $baseDir . '/modules/db-cleaner/includes/db-queries.php',
    4742    'Yipresser\\AdminOptimizer\\Modules\\Disable_Features' => $baseDir . '/modules/settings/disable-features/disable-features.php',
    4843    'Yipresser\\AdminOptimizer\\Modules\\Disable_User_Account' => $baseDir . '/modules/disable-user-account/disable-user-account.php',
     
    7570    'Yipresser\\AdminOptimizer\\Modules\\Users_Management' => $baseDir . '/modules/settings/users-management/users-management.php',
    7671    'Yipresser\\AdminOptimizer\\Modules\\Utilities' => $baseDir . '/modules/settings/utilities/utilities.php',
     72    'Yipresser\\AdminOptimizer\\Vendor\\RemoteMerge\\Message\\MessageInterface' => $vendorDir . '/remotemerge/totp-php/src/Message/MessageInterface.php',
     73    'Yipresser\\AdminOptimizer\\Vendor\\RemoteMerge\\Message\\MessageStore' => $vendorDir . '/remotemerge/totp-php/src/Message/MessageStore.php',
     74    'Yipresser\\AdminOptimizer\\Vendor\\RemoteMerge\\Totp\\AbstractTotp' => $vendorDir . '/remotemerge/totp-php/src/Totp/AbstractTotp.php',
     75    'Yipresser\\AdminOptimizer\\Vendor\\RemoteMerge\\Totp\\Totp' => $vendorDir . '/remotemerge/totp-php/src/Totp/Totp.php',
     76    'Yipresser\\AdminOptimizer\\Vendor\\RemoteMerge\\Totp\\TotpException' => $vendorDir . '/remotemerge/totp-php/src/Totp/TotpException.php',
     77    'Yipresser\\AdminOptimizer\\Vendor\\RemoteMerge\\Totp\\TotpFactory' => $vendorDir . '/remotemerge/totp-php/src/Totp/TotpFactory.php',
     78    'Yipresser\\AdminOptimizer\\Vendor\\RemoteMerge\\Totp\\TotpInterface' => $vendorDir . '/remotemerge/totp-php/src/Totp/TotpInterface.php',
     79    'Yipresser\\AdminOptimizer\\Vendor\\RemoteMerge\\Utils\\Base32' => $vendorDir . '/remotemerge/totp-php/src/Utils/Base32.php',
    7780    'Yipresser\\AdminOptimizer\\Vendor\\Yipresser\\WpSettingsApiHelper\\WP_Settings_API_Helper' => $vendorDir . '/yipresser/wp-settings-api-helper/src/wp-settings-api-helper.php',
    78     'enshrined\\svgSanitize\\ElementReference\\Resolver' => $vendorDir . '/enshrined/svg-sanitize/src/ElementReference/Resolver.php',
    79     'enshrined\\svgSanitize\\ElementReference\\Subject' => $vendorDir . '/enshrined/svg-sanitize/src/ElementReference/Subject.php',
    80     'enshrined\\svgSanitize\\ElementReference\\Usage' => $vendorDir . '/enshrined/svg-sanitize/src/ElementReference/Usage.php',
    81     'enshrined\\svgSanitize\\Exceptions\\NestingException' => $vendorDir . '/enshrined/svg-sanitize/src/Exceptions/NestingException.php',
    82     'enshrined\\svgSanitize\\Helper' => $vendorDir . '/enshrined/svg-sanitize/src/Helper.php',
    83     'enshrined\\svgSanitize\\Sanitizer' => $vendorDir . '/enshrined/svg-sanitize/src/Sanitizer.php',
    84     'enshrined\\svgSanitize\\data\\AllowedAttributes' => $vendorDir . '/enshrined/svg-sanitize/src/data/AllowedAttributes.php',
    85     'enshrined\\svgSanitize\\data\\AllowedTags' => $vendorDir . '/enshrined/svg-sanitize/src/data/AllowedTags.php',
    86     'enshrined\\svgSanitize\\data\\AttributeInterface' => $vendorDir . '/enshrined/svg-sanitize/src/data/AttributeInterface.php',
    87     'enshrined\\svgSanitize\\data\\TagInterface' => $vendorDir . '/enshrined/svg-sanitize/src/data/TagInterface.php',
    88     'enshrined\\svgSanitize\\data\\XPath' => $vendorDir . '/enshrined/svg-sanitize/src/data/XPath.php',
     81    'Yipresser\\AdminOptimizer\\Vendor\\enshrined\\svgSanitize\\ElementReference\\Resolver' => $vendorDir . '/enshrined/svg-sanitize/src/ElementReference/Resolver.php',
     82    'Yipresser\\AdminOptimizer\\Vendor\\enshrined\\svgSanitize\\ElementReference\\Subject' => $vendorDir . '/enshrined/svg-sanitize/src/ElementReference/Subject.php',
     83    'Yipresser\\AdminOptimizer\\Vendor\\enshrined\\svgSanitize\\ElementReference\\Usage' => $vendorDir . '/enshrined/svg-sanitize/src/ElementReference/Usage.php',
     84    'Yipresser\\AdminOptimizer\\Vendor\\enshrined\\svgSanitize\\Exceptions\\NestingException' => $vendorDir . '/enshrined/svg-sanitize/src/Exceptions/NestingException.php',
     85    'Yipresser\\AdminOptimizer\\Vendor\\enshrined\\svgSanitize\\Helper' => $vendorDir . '/enshrined/svg-sanitize/src/Helper.php',
     86    'Yipresser\\AdminOptimizer\\Vendor\\enshrined\\svgSanitize\\Sanitizer' => $vendorDir . '/enshrined/svg-sanitize/src/Sanitizer.php',
     87    'Yipresser\\AdminOptimizer\\Vendor\\enshrined\\svgSanitize\\data\\AllowedAttributes' => $vendorDir . '/enshrined/svg-sanitize/src/data/AllowedAttributes.php',
     88    'Yipresser\\AdminOptimizer\\Vendor\\enshrined\\svgSanitize\\data\\AllowedTags' => $vendorDir . '/enshrined/svg-sanitize/src/data/AllowedTags.php',
     89    'Yipresser\\AdminOptimizer\\Vendor\\enshrined\\svgSanitize\\data\\AttributeInterface' => $vendorDir . '/enshrined/svg-sanitize/src/data/AttributeInterface.php',
     90    'Yipresser\\AdminOptimizer\\Vendor\\enshrined\\svgSanitize\\data\\TagInterface' => $vendorDir . '/enshrined/svg-sanitize/src/data/TagInterface.php',
     91    'Yipresser\\AdminOptimizer\\Vendor\\enshrined\\svgSanitize\\data\\XPath' => $vendorDir . '/enshrined/svg-sanitize/src/data/XPath.php',
    8992);
  • admin-optimizer/trunk/vendor/composer/autoload_static.php

    r3350836 r3378610  
    6262    public static $classMap = array (
    6363        'Composer\\InstalledVersions' => __DIR__ . '/..' . '/composer/InstalledVersions.php',
    64         'RemoteMerge\\Message\\MessageInterface' => __DIR__ . '/..' . '/remotemerge/totp-php/src/Message/MessageInterface.php',
    65         'RemoteMerge\\Message\\MessageStore' => __DIR__ . '/..' . '/remotemerge/totp-php/src/Message/MessageStore.php',
    66         'RemoteMerge\\Totp\\AbstractTotp' => __DIR__ . '/..' . '/remotemerge/totp-php/src/Totp/AbstractTotp.php',
    67         'RemoteMerge\\Totp\\Totp' => __DIR__ . '/..' . '/remotemerge/totp-php/src/Totp/Totp.php',
    68         'RemoteMerge\\Totp\\TotpException' => __DIR__ . '/..' . '/remotemerge/totp-php/src/Totp/TotpException.php',
    69         'RemoteMerge\\Totp\\TotpFactory' => __DIR__ . '/..' . '/remotemerge/totp-php/src/Totp/TotpFactory.php',
    70         'RemoteMerge\\Totp\\TotpInterface' => __DIR__ . '/..' . '/remotemerge/totp-php/src/Totp/TotpInterface.php',
    71         'RemoteMerge\\Utils\\Base32' => __DIR__ . '/..' . '/remotemerge/totp-php/src/Utils/Base32.php',
    7264        'TypistTech\\Imposter\\ArrayUtil' => __DIR__ . '/..' . '/typisttech/imposter/src/ArrayUtil.php',
    7365        'TypistTech\\Imposter\\Config' => __DIR__ . '/..' . '/typisttech/imposter/src/Config.php',
     
    9991        'Yipresser\\AdminOptimizer\\Modules\\Custom_Login_Url' => __DIR__ . '/../..' . '/modules/custom-login-url/custom-login-url.php',
    10092        'Yipresser\\AdminOptimizer\\Modules\\Custom_Login_Url_Settings' => __DIR__ . '/../..' . '/modules/custom-login-url/settings/custom-login-url-settings.php',
     93        'Yipresser\\AdminOptimizer\\Modules\\DB_Cleaner' => __DIR__ . '/../..' . '/modules/db-cleaner/db-cleaner.php',
     94        'Yipresser\\AdminOptimizer\\Modules\\DB_Cleaner_Settings' => __DIR__ . '/../..' . '/modules/db-cleaner/settings/db-cleaner-settings.php',
     95        'Yipresser\\AdminOptimizer\\Modules\\DB_Queries' => __DIR__ . '/../..' . '/modules/db-cleaner/includes/db-queries.php',
    10196        'Yipresser\\AdminOptimizer\\Modules\\Disable_Features' => __DIR__ . '/../..' . '/modules/settings/disable-features/disable-features.php',
    10297        'Yipresser\\AdminOptimizer\\Modules\\Disable_User_Account' => __DIR__ . '/../..' . '/modules/disable-user-account/disable-user-account.php',
     
    129124        'Yipresser\\AdminOptimizer\\Modules\\Users_Management' => __DIR__ . '/../..' . '/modules/settings/users-management/users-management.php',
    130125        'Yipresser\\AdminOptimizer\\Modules\\Utilities' => __DIR__ . '/../..' . '/modules/settings/utilities/utilities.php',
     126        'Yipresser\\AdminOptimizer\\Vendor\\RemoteMerge\\Message\\MessageInterface' => __DIR__ . '/..' . '/remotemerge/totp-php/src/Message/MessageInterface.php',
     127        'Yipresser\\AdminOptimizer\\Vendor\\RemoteMerge\\Message\\MessageStore' => __DIR__ . '/..' . '/remotemerge/totp-php/src/Message/MessageStore.php',
     128        'Yipresser\\AdminOptimizer\\Vendor\\RemoteMerge\\Totp\\AbstractTotp' => __DIR__ . '/..' . '/remotemerge/totp-php/src/Totp/AbstractTotp.php',
     129        'Yipresser\\AdminOptimizer\\Vendor\\RemoteMerge\\Totp\\Totp' => __DIR__ . '/..' . '/remotemerge/totp-php/src/Totp/Totp.php',
     130        'Yipresser\\AdminOptimizer\\Vendor\\RemoteMerge\\Totp\\TotpException' => __DIR__ . '/..' . '/remotemerge/totp-php/src/Totp/TotpException.php',
     131        'Yipresser\\AdminOptimizer\\Vendor\\RemoteMerge\\Totp\\TotpFactory' => __DIR__ . '/..' . '/remotemerge/totp-php/src/Totp/TotpFactory.php',
     132        'Yipresser\\AdminOptimizer\\Vendor\\RemoteMerge\\Totp\\TotpInterface' => __DIR__ . '/..' . '/remotemerge/totp-php/src/Totp/TotpInterface.php',
     133        'Yipresser\\AdminOptimizer\\Vendor\\RemoteMerge\\Utils\\Base32' => __DIR__ . '/..' . '/remotemerge/totp-php/src/Utils/Base32.php',
    131134        'Yipresser\\AdminOptimizer\\Vendor\\Yipresser\\WpSettingsApiHelper\\WP_Settings_API_Helper' => __DIR__ . '/..' . '/yipresser/wp-settings-api-helper/src/wp-settings-api-helper.php',
    132         'enshrined\\svgSanitize\\ElementReference\\Resolver' => __DIR__ . '/..' . '/enshrined/svg-sanitize/src/ElementReference/Resolver.php',
    133         'enshrined\\svgSanitize\\ElementReference\\Subject' => __DIR__ . '/..' . '/enshrined/svg-sanitize/src/ElementReference/Subject.php',
    134         'enshrined\\svgSanitize\\ElementReference\\Usage' => __DIR__ . '/..' . '/enshrined/svg-sanitize/src/ElementReference/Usage.php',
    135         'enshrined\\svgSanitize\\Exceptions\\NestingException' => __DIR__ . '/..' . '/enshrined/svg-sanitize/src/Exceptions/NestingException.php',
    136         'enshrined\\svgSanitize\\Helper' => __DIR__ . '/..' . '/enshrined/svg-sanitize/src/Helper.php',
    137         'enshrined\\svgSanitize\\Sanitizer' => __DIR__ . '/..' . '/enshrined/svg-sanitize/src/Sanitizer.php',
    138         'enshrined\\svgSanitize\\data\\AllowedAttributes' => __DIR__ . '/..' . '/enshrined/svg-sanitize/src/data/AllowedAttributes.php',
    139         'enshrined\\svgSanitize\\data\\AllowedTags' => __DIR__ . '/..' . '/enshrined/svg-sanitize/src/data/AllowedTags.php',
    140         'enshrined\\svgSanitize\\data\\AttributeInterface' => __DIR__ . '/..' . '/enshrined/svg-sanitize/src/data/AttributeInterface.php',
    141         'enshrined\\svgSanitize\\data\\TagInterface' => __DIR__ . '/..' . '/enshrined/svg-sanitize/src/data/TagInterface.php',
    142         'enshrined\\svgSanitize\\data\\XPath' => __DIR__ . '/..' . '/enshrined/svg-sanitize/src/data/XPath.php',
     135        'Yipresser\\AdminOptimizer\\Vendor\\enshrined\\svgSanitize\\ElementReference\\Resolver' => __DIR__ . '/..' . '/enshrined/svg-sanitize/src/ElementReference/Resolver.php',
     136        'Yipresser\\AdminOptimizer\\Vendor\\enshrined\\svgSanitize\\ElementReference\\Subject' => __DIR__ . '/..' . '/enshrined/svg-sanitize/src/ElementReference/Subject.php',
     137        'Yipresser\\AdminOptimizer\\Vendor\\enshrined\\svgSanitize\\ElementReference\\Usage' => __DIR__ . '/..' . '/enshrined/svg-sanitize/src/ElementReference/Usage.php',
     138        'Yipresser\\AdminOptimizer\\Vendor\\enshrined\\svgSanitize\\Exceptions\\NestingException' => __DIR__ . '/..' . '/enshrined/svg-sanitize/src/Exceptions/NestingException.php',
     139        'Yipresser\\AdminOptimizer\\Vendor\\enshrined\\svgSanitize\\Helper' => __DIR__ . '/..' . '/enshrined/svg-sanitize/src/Helper.php',
     140        'Yipresser\\AdminOptimizer\\Vendor\\enshrined\\svgSanitize\\Sanitizer' => __DIR__ . '/..' . '/enshrined/svg-sanitize/src/Sanitizer.php',
     141        'Yipresser\\AdminOptimizer\\Vendor\\enshrined\\svgSanitize\\data\\AllowedAttributes' => __DIR__ . '/..' . '/enshrined/svg-sanitize/src/data/AllowedAttributes.php',
     142        'Yipresser\\AdminOptimizer\\Vendor\\enshrined\\svgSanitize\\data\\AllowedTags' => __DIR__ . '/..' . '/enshrined/svg-sanitize/src/data/AllowedTags.php',
     143        'Yipresser\\AdminOptimizer\\Vendor\\enshrined\\svgSanitize\\data\\AttributeInterface' => __DIR__ . '/..' . '/enshrined/svg-sanitize/src/data/AttributeInterface.php',
     144        'Yipresser\\AdminOptimizer\\Vendor\\enshrined\\svgSanitize\\data\\TagInterface' => __DIR__ . '/..' . '/enshrined/svg-sanitize/src/data/TagInterface.php',
     145        'Yipresser\\AdminOptimizer\\Vendor\\enshrined\\svgSanitize\\data\\XPath' => __DIR__ . '/..' . '/enshrined/svg-sanitize/src/data/XPath.php',
    143146    );
    144147
  • admin-optimizer/trunk/vendor/composer/installed.json

    r3350836 r3378610  
    33        {
    44            "name": "enshrined/svg-sanitize",
    5             "version": "0.21.0",
    6             "version_normalized": "0.21.0.0",
     5            "version": "0.22.0",
     6            "version_normalized": "0.22.0.0",
    77            "source": {
    88                "type": "git",
    99                "url": "https://github.com/darylldoyle/svg-sanitizer.git",
    10                 "reference": "5e477468fac5c5ce933dce53af3e8e4e58dcccc9"
    11             },
    12             "dist": {
    13                 "type": "zip",
    14                 "url": "https://api.github.com/repos/darylldoyle/svg-sanitizer/zipball/5e477468fac5c5ce933dce53af3e8e4e58dcccc9",
    15                 "reference": "5e477468fac5c5ce933dce53af3e8e4e58dcccc9",
     10                "reference": "0afa95ea74be155a7bcd6c6fb60c276c39984500"
     11            },
     12            "dist": {
     13                "type": "zip",
     14                "url": "https://api.github.com/repos/darylldoyle/svg-sanitizer/zipball/0afa95ea74be155a7bcd6c6fb60c276c39984500",
     15                "reference": "0afa95ea74be155a7bcd6c6fb60c276c39984500",
    1616                "shasum": ""
    1717            },
     
    2424                "phpunit/phpunit": "^6.5 || ^8.5"
    2525            },
    26             "time": "2025-01-13T09:32:25+00:00",
     26            "time": "2025-08-12T10:13:48+00:00",
    2727            "type": "library",
    2828            "installation-source": "dist",
     
    4545            "support": {
    4646                "issues": "https://github.com/darylldoyle/svg-sanitizer/issues",
    47                 "source": "https://github.com/darylldoyle/svg-sanitizer/tree/0.21.0"
     47                "source": "https://github.com/darylldoyle/svg-sanitizer/tree/0.22.0"
    4848            },
    4949            "install-path": "../enshrined/svg-sanitize"
     
    348348        {
    349349            "name": "yipresser/wp-settings-api-helper",
    350             "version": "1.0.3.0",
    351             "version_normalized": "1.0.3.0",
     350            "version": "1.0.3.2",
     351            "version_normalized": "1.0.3.2",
    352352            "source": {
    353353                "type": "git",
    354354                "url": "https://github.com/yipresser/wp-settings-api-helper.git",
    355                 "reference": "61a47a852645ae2884419f28027816f4744b4eb5"
    356             },
    357             "dist": {
    358                 "type": "zip",
    359                 "url": "https://api.github.com/repos/yipresser/wp-settings-api-helper/zipball/61a47a852645ae2884419f28027816f4744b4eb5",
    360                 "reference": "61a47a852645ae2884419f28027816f4744b4eb5",
     355                "reference": "bf9949e6b8dac96b7d7441946e51a9041b7a0e3f"
     356            },
     357            "dist": {
     358                "type": "zip",
     359                "url": "https://api.github.com/repos/yipresser/wp-settings-api-helper/zipball/bf9949e6b8dac96b7d7441946e51a9041b7a0e3f",
     360                "reference": "bf9949e6b8dac96b7d7441946e51a9041b7a0e3f",
    361361                "shasum": ""
    362362            },
     
    364364                "php": ">=7.2"
    365365            },
    366             "time": "2025-05-19T04:55:58+00:00",
     366            "time": "2025-10-03T08:15:34+00:00",
    367367            "type": "library",
    368368            "installation-source": "dist",
     
    384384            "support": {
    385385                "issues": "https://github.com/yipresser/wp-settings-api-helper/issues",
    386                 "source": "https://github.com/yipresser/wp-settings-api-helper/tree/1.0.3.0"
     386                "source": "https://github.com/yipresser/wp-settings-api-helper/tree/1.0.3.2"
    387387            },
    388388            "install-path": "../yipresser/wp-settings-api-helper"
  • admin-optimizer/trunk/vendor/composer/installed.php

    r3350836 r3378610  
    44        'pretty_version' => 'dev-master',
    55        'version' => 'dev-master',
    6         'reference' => '5aa6b8df193834cb610a09185af4017c6ce04be4',
     6        'reference' => '113e9aefb170196005e6629f574e7f703aa76932',
    77        'type' => 'wordpress-plugin',
    88        'install_path' => __DIR__ . '/../../',
     
    1212    'versions' => array(
    1313        'enshrined/svg-sanitize' => array(
    14             'pretty_version' => '0.21.0',
    15             'version' => '0.21.0.0',
    16             'reference' => '5e477468fac5c5ce933dce53af3e8e4e58dcccc9',
     14            'pretty_version' => '0.22.0',
     15            'version' => '0.22.0.0',
     16            'reference' => '0afa95ea74be155a7bcd6c6fb60c276c39984500',
    1717            'type' => 'library',
    1818            'install_path' => __DIR__ . '/../enshrined/svg-sanitize',
     
    5959            'pretty_version' => 'dev-master',
    6060            'version' => 'dev-master',
    61             'reference' => '5aa6b8df193834cb610a09185af4017c6ce04be4',
     61            'reference' => '113e9aefb170196005e6629f574e7f703aa76932',
    6262            'type' => 'wordpress-plugin',
    6363            'install_path' => __DIR__ . '/../../',
     
    6666        ),
    6767        'yipresser/wp-settings-api-helper' => array(
    68             'pretty_version' => '1.0.3.0',
    69             'version' => '1.0.3.0',
    70             'reference' => '61a47a852645ae2884419f28027816f4744b4eb5',
     68            'pretty_version' => '1.0.3.2',
     69            'version' => '1.0.3.2',
     70            'reference' => 'bf9949e6b8dac96b7d7441946e51a9041b7a0e3f',
    7171            'type' => 'library',
    7272            'install_path' => __DIR__ . '/../yipresser/wp-settings-api-helper',
  • admin-optimizer/trunk/vendor/enshrined/svg-sanitize/src/ElementReference/Resolver.php

    r3343907 r3378610  
    11<?php
    2 namespace enshrined\svgSanitize\ElementReference;
     2namespace Yipresser\AdminOptimizer\Vendor\enshrined\svgSanitize\ElementReference;
    33
    4 use enshrined\svgSanitize\data\XPath;
    5 use enshrined\svgSanitize\Exceptions\NestingException;
    6 use enshrined\svgSanitize\Helper;
     4use Yipresser\AdminOptimizer\Vendor\enshrined\svgSanitize\data\XPath;
     5use Yipresser\AdminOptimizer\Vendor\enshrined\svgSanitize\Exceptions\NestingException;
     6use Yipresser\AdminOptimizer\Vendor\enshrined\svgSanitize\Helper;
    77
    88class Resolver
  • admin-optimizer/trunk/vendor/enshrined/svg-sanitize/src/ElementReference/Subject.php

    r3343907 r3378610  
    11<?php
    2 namespace enshrined\svgSanitize\ElementReference;
     2namespace Yipresser\AdminOptimizer\Vendor\enshrined\svgSanitize\ElementReference;
    33
    44class Subject
  • admin-optimizer/trunk/vendor/enshrined/svg-sanitize/src/ElementReference/Usage.php

    r3343907 r3378610  
    11<?php
    2 namespace enshrined\svgSanitize\ElementReference;
     2namespace Yipresser\AdminOptimizer\Vendor\enshrined\svgSanitize\ElementReference;
    33
    44class Usage
  • admin-optimizer/trunk/vendor/enshrined/svg-sanitize/src/Exceptions/NestingException.php

    r3343907 r3378610  
    11<?php
    2 namespace enshrined\svgSanitize\Exceptions;
     2namespace Yipresser\AdminOptimizer\Vendor\enshrined\svgSanitize\Exceptions;
    33
    44use Exception;
  • admin-optimizer/trunk/vendor/enshrined/svg-sanitize/src/Helper.php

    r3343907 r3378610  
    11<?php
    2 namespace enshrined\svgSanitize;
     2namespace Yipresser\AdminOptimizer\Vendor\enshrined\svgSanitize;
    33
    44class Helper
  • admin-optimizer/trunk/vendor/enshrined/svg-sanitize/src/Sanitizer.php

    r3343907 r3378610  
    11<?php
    2 namespace enshrined\svgSanitize;
    3 
    4 use enshrined\svgSanitize\data\AllowedAttributes;
    5 use enshrined\svgSanitize\data\AllowedTags;
    6 use enshrined\svgSanitize\data\AttributeInterface;
    7 use enshrined\svgSanitize\data\TagInterface;
    8 use enshrined\svgSanitize\data\XPath;
    9 use enshrined\svgSanitize\ElementReference\Resolver;
     2namespace Yipresser\AdminOptimizer\Vendor\enshrined\svgSanitize;
     3
     4use Yipresser\AdminOptimizer\Vendor\enshrined\svgSanitize\data\AllowedAttributes;
     5use Yipresser\AdminOptimizer\Vendor\enshrined\svgSanitize\data\AllowedTags;
     6use Yipresser\AdminOptimizer\Vendor\enshrined\svgSanitize\data\AttributeInterface;
     7use Yipresser\AdminOptimizer\Vendor\enshrined\svgSanitize\data\TagInterface;
     8use Yipresser\AdminOptimizer\Vendor\enshrined\svgSanitize\data\XPath;
     9use Yipresser\AdminOptimizer\Vendor\enshrined\svgSanitize\ElementReference\Resolver;
    1010
    1111/**
     
    418418
    419419            /**
    420              * This is used for when a namespace isn't imported properly.
    421              * Such as xlink:href when the xlink namespace isn't imported.
     420             * This is used for when a namespace Yipresser\AdminOptimizer\Vendor\isn't imported properly.
     421             * Such as xlink:href when the xlink namespace Yipresser\AdminOptimizer\Vendor\isn't imported.
    422422             * We have to do this as the link is still ran in this case.
    423423             */
    424             if (false !== strpos($attrName, 'href')) {
     424            if (false !== stripos($attrName, 'href')) {
    425425                $href = $element->getAttribute($attrName);
    426426                if (false === $this->isHrefSafeValue($href)) {
     
    454454    protected function cleanXlinkHrefs(\DOMElement $element)
    455455    {
    456         $xlinks = $element->getAttributeNS('http://www.w3.org/1999/xlink', 'href');
    457         if (false === $this->isHrefSafeValue($xlinks)) {
    458             $element->removeAttributeNS( 'http://www.w3.org/1999/xlink', 'href' );
    459             $this->xmlIssues[] = array(
    460                 'message' => 'Suspicious attribute \'href\'',
    461                 'line' => $element->getLineNo(),
    462             );
    463         }
     456        foreach ($element->attributes as $attribute) {
     457            // remove attributes with unexpected namespace Yipresser\AdminOptimizer\Vendor\prefix, e.g. `XLinK:href` (instead of `xlink:href`)
     458            if ($attribute->prefix === '' && strtolower($attribute->nodeName) === 'xlink:href') {
     459                $element->removeAttribute($attribute->nodeName);
     460                $this->xmlIssues[] = array(
     461                    'message' => sprintf('Unexpected attribute \'%s\'', $attribute->nodeName),
     462                    'line' => $element->getLineNo(),
     463                );
     464            }
     465        }
     466        $this->cleanHrefAttributes($element, 'xlink');
    464467    }
    465468
     
    471474    protected function cleanHrefs(\DOMElement $element)
    472475    {
    473         $href = $element->getAttribute('href');
    474         if (false === $this->isHrefSafeValue($href)) {
    475             $element->removeAttribute('href');
    476             $this->xmlIssues[] = array(
    477                 'message' => 'Suspicious attribute \'href\'',
    478                 'line' => $element->getLineNo(),
    479             );
     476        $this->cleanHrefAttributes($element);
     477    }
     478
     479    protected function cleanHrefAttributes(\DOMElement $element, string $prefix = ''): void
     480    {
     481        $relevantAttributes = array_filter(
     482            iterator_to_array($element->attributes),
     483            static function (\DOMAttr $attr) use ($prefix) {
     484                return strtolower($attr->name) === 'href' && strtolower($attr->prefix) === $prefix;
     485            }
     486        );
     487        foreach ($relevantAttributes as $attribute) {
     488            if (!$this->isHrefSafeValue($attribute->value)) {
     489                $element->removeAttribute($attribute->nodeName);
     490                $this->xmlIssues[] = array(
     491                    'message' => sprintf('Suspicious attribute \'%s\'', $attribute->nodeName),
     492                    'line' => $element->getLineNo(),
     493                );
     494                continue;
     495            }
     496            // in case the attribute name is `HrEf`/`xlink:HrEf`, adjust it to `href`/`xlink:href`
     497            if (!in_array($attribute->nodeName, $this->allowedAttrs, true)
     498                && in_array(strtolower($attribute->nodeName), $this->allowedAttrs, true)
     499            ) {
     500                $element->removeAttribute($attribute->nodeName);
     501                $element->setAttribute(strtolower($attribute->nodeName), $attribute->value);
     502            }
    480503        }
    481504    }
  • admin-optimizer/trunk/vendor/enshrined/svg-sanitize/src/data/AllowedAttributes.php

    r3343907 r3378610  
    11<?php
    2 namespace enshrined\svgSanitize\data;
     2namespace Yipresser\AdminOptimizer\Vendor\enshrined\svgSanitize\data;
    33
    44/**
  • admin-optimizer/trunk/vendor/enshrined/svg-sanitize/src/data/AllowedTags.php

    r3343907 r3378610  
    11<?php
    2 namespace enshrined\svgSanitize\data;
     2namespace Yipresser\AdminOptimizer\Vendor\enshrined\svgSanitize\data;
    33
    44/**
  • admin-optimizer/trunk/vendor/enshrined/svg-sanitize/src/data/AttributeInterface.php

    r3343907 r3378610  
    11<?php
    2 namespace enshrined\svgSanitize\data;
     2namespace Yipresser\AdminOptimizer\Vendor\enshrined\svgSanitize\data;
    33
    44/**
  • admin-optimizer/trunk/vendor/enshrined/svg-sanitize/src/data/TagInterface.php

    r3343907 r3378610  
    11<?php
    2 namespace enshrined\svgSanitize\data;
     2namespace Yipresser\AdminOptimizer\Vendor\enshrined\svgSanitize\data;
    33
    44/**
  • admin-optimizer/trunk/vendor/enshrined/svg-sanitize/src/data/XPath.php

    r3343907 r3378610  
    11<?php
    2 namespace enshrined\svgSanitize\data;
     2namespace Yipresser\AdminOptimizer\Vendor\enshrined\svgSanitize\data;
    33
    44class XPath extends \DOMXPath
  • admin-optimizer/trunk/vendor/remotemerge/totp-php/src/Totp/AbstractTotp.php

    r3350836 r3378610  
    33declare(strict_types=1);
    44
    5 namespace RemoteMerge\Totp;
     5namespace Yipresser\AdminOptimizer\Vendor\RemoteMerge\Totp;
    66
    7 use RemoteMerge\Message\MessageStore;
     7use Yipresser\AdminOptimizer\Vendor\RemoteMerge\Message\MessageStore;
    88
    99abstract class AbstractTotp
  • admin-optimizer/trunk/vendor/remotemerge/totp-php/src/Totp/Totp.php

    r3350836 r3378610  
    33declare(strict_types=1);
    44
    5 namespace RemoteMerge\Totp;
     5namespace Yipresser\AdminOptimizer\Vendor\RemoteMerge\Totp;
    66
    77use Exception;
    8 use RemoteMerge\Message\MessageStore;
    9 use RemoteMerge\Utils\Base32;
     8use Yipresser\AdminOptimizer\Vendor\RemoteMerge\Message\MessageStore;
     9use Yipresser\AdminOptimizer\Vendor\RemoteMerge\Utils\Base32;
    1010
    1111final class Totp extends AbstractTotp implements TotpInterface
  • admin-optimizer/trunk/vendor/remotemerge/totp-php/src/Totp/TotpException.php

    r3343907 r3378610  
    33declare(strict_types=1);
    44
    5 namespace RemoteMerge\Totp;
     5namespace Yipresser\AdminOptimizer\Vendor\RemoteMerge\Totp;
    66
    77use Exception;
  • admin-optimizer/trunk/vendor/remotemerge/totp-php/src/Totp/TotpFactory.php

    r3343907 r3378610  
    33declare(strict_types=1);
    44
    5 namespace RemoteMerge\Totp;
     5namespace Yipresser\AdminOptimizer\Vendor\RemoteMerge\Totp;
    66
    77final class TotpFactory
  • admin-optimizer/trunk/vendor/remotemerge/totp-php/src/Totp/TotpInterface.php

    r3343907 r3378610  
    33declare(strict_types=1);
    44
    5 namespace RemoteMerge\Totp;
     5namespace Yipresser\AdminOptimizer\Vendor\RemoteMerge\Totp;
    66
    77interface TotpInterface
  • admin-optimizer/trunk/vendor/remotemerge/totp-php/src/Utils/Base32.php

    r3350836 r3378610  
    33declare(strict_types=1);
    44
    5 namespace RemoteMerge\Utils;
     5namespace Yipresser\AdminOptimizer\Vendor\RemoteMerge\Utils;
    66
    7 use RemoteMerge\Message\MessageStore;
    8 use RemoteMerge\Totp\TotpException;
     7use Yipresser\AdminOptimizer\Vendor\RemoteMerge\Message\MessageStore;
     8use Yipresser\AdminOptimizer\Vendor\RemoteMerge\Totp\TotpException;
    99
    1010final class Base32
  • admin-optimizer/trunk/vendor/yipresser/wp-settings-api-helper/src/wp-settings-api-helper.php

    r3343907 r3378610  
    55 * Yipresser WP Settings API Helper abstract class
    66 *
    7  * @version 1.0.3.0
     7 * @version 1.0.3.2
    88 *
    99 * @author Damien Oh <[email protected]>
     
    254254                break;
    255255            case 'radio':
     256                $disable_el = '';
     257                if ( ! empty( $disabled ) ) {
     258                    $disable_el = ' disabled="disabled"';
     259                }
    256260                foreach ( $choices as $cval => $label ) {
    257261                    if ( empty( $value ) ) {
     
    260264                        $checked = checked( $cval, $value, false );
    261265                    }
    262                     echo '<label><input type="radio" name="' . esc_attr( $option_name ) . '[' . esc_attr( $name ) . ']" id="' . esc_attr( $id ) . '_' . esc_attr( $cval ) . '" value="' . esc_attr( $cval ) . '" class="' . esc_attr( $class ) . '" ' . $checked . ' /> ' . esc_html( $label ) . '</label><br />';
     266                    echo '<label><input type="radio" name="' . esc_attr( $option_name ) . '[' . esc_attr( $name ) . ']" id="' . esc_attr( $id ) . '_' . esc_attr( $cval ) . '" value="' . esc_attr( $cval ) . '" class="' . esc_attr( $class ) . '" ' . $checked . $disable_el . ' /> ' . esc_html( $label ) . '</label><br />';
    263267                }
    264268                if ( $desc ) {
     
    306310                        }
    307311                    } elseif ( in_array( $ckey, $default, true ) ) {
    308                         $checked = ' checked="checked"';
     312                            $checked = ' checked="checked"';
    309313                    }
    310314                    echo '<label><input type="checkbox" name="' . esc_attr( $option_name ) . '[' . esc_attr( $name ) . '][]" id="' . esc_attr( $id ) . '_' . esc_attr( $ckey ) . '" value="' . esc_attr( $ckey ) . '"' . esc_attr( $cb_class ) . esc_attr( $checked ) . ' /> ' . esc_html( $cval ) . '</label><br />';
     
    376380            $id_attr = $id ? ' id="' . esc_attr( $id ) . '"' : '';
    377381            $form    = '<form ' . $id_attr . $attributes . ' action="' . esc_url( admin_url( 'options.php' ), null, '&' ) . '" method="post">';
    378             echo $form;
     382            echo $form; // phpcs:ignore
    379383            settings_fields( $section );
    380384            do_settings_sections( $section );
Note: See TracChangeset for help on using the changeset viewer.