From cd7778f398f5577bc0c926835bf3dd46aef0bd76 Mon Sep 17 00:00:00 2001
From: KuJoe <1040086+KuJoe@users.noreply.github.com>
Date: Tue, 17 Mar 2026 17:38:58 -0400
Subject: [PATCH 1/4] Added a check to make sure /cache/ is writable during
update
Added a simple check to make sure the /cache/ directory is writable by the PHP process during the update workflow.
---
lang/ar_AR.ini | 1 +
lang/be_BY.ini | 1 +
lang/cs_CZ.ini | 1 +
lang/da_DK.ini | 1 +
lang/de_DE.ini | 1 +
lang/de_DE_gender_doppelpunkt.ini | 1 +
lang/de_DE_gender_dudenkonform.ini | 1 +
lang/el_GR.ini | 1 +
lang/en_US.ini | 1 +
lang/eo_EO.ini | 1 +
lang/es_ES.ini | 1 +
lang/fa_IR.ini | 1 +
lang/fr_FR.ini | 1 +
lang/gl_ES.ini | 1 +
lang/gu_GU.ini | 1 +
lang/hi_HI.ini | 1 +
lang/hr_HR.ini | 1 +
lang/hu_HU.ini | 1 +
lang/id_ID.ini | 1 +
lang/it_IT.ini | 1 +
lang/ko_KO.ini | 1 +
lang/ku_KU.ini | 1 +
lang/ms_MY.ini | 1 +
lang/nl_NL.ini | 1 +
lang/pl_PL.ini | 1 +
lang/pt_BR.ini | 1 +
lang/ru_RU.ini | 1 +
lang/sv_SE.ini | 1 +
lang/tr_TR.ini | 1 +
lang/uk_UA.ini | 1 +
lang/zh_CN.ini | 1 +
lang/zh_TW.ini | 1 +
system/admin/views/update.html.php | 5 +++++
33 files changed, 37 insertions(+)
diff --git a/lang/ar_AR.ini b/lang/ar_AR.ini
index 7bad38e0..90006d83 100644
--- a/lang/ar_AR.ini
+++ b/lang/ar_AR.ini
@@ -340,3 +340,4 @@ backtotop = "Back to top"
subpages = "Sub pages"
getstarted = "Get started"
onthispage = "On this page"
+cache_folder_not_writable = "/cache/ directory is not writable, please update the permissions/ownership to continue."
diff --git a/lang/be_BY.ini b/lang/be_BY.ini
index 7619234e..dd01bf40 100644
--- a/lang/be_BY.ini
+++ b/lang/be_BY.ini
@@ -341,3 +341,4 @@ backtotop = "Back to top"
subpages = "Sub pages"
getstarted = "Get started"
onthispage = "On this page"
+cache_folder_not_writable = "/cache/ directory is not writable, please update the permissions/ownership to continue."
diff --git a/lang/cs_CZ.ini b/lang/cs_CZ.ini
index 0efb7edb..f1644639 100644
--- a/lang/cs_CZ.ini
+++ b/lang/cs_CZ.ini
@@ -340,3 +340,4 @@ backtotop = "Back to top"
subpages = "Sub pages"
getstarted = "Get started"
onthispage = "On this page"
+cache_folder_not_writable = "/cache/ directory is not writable, please update the permissions/ownership to continue."
diff --git a/lang/da_DK.ini b/lang/da_DK.ini
index 0f741751..46c6ba42 100644
--- a/lang/da_DK.ini
+++ b/lang/da_DK.ini
@@ -351,3 +351,4 @@ backtotop = "Back to top"
subpages = "Sub pages"
getstarted = "Get started"
onthispage = "On this page"
+cache_folder_not_writable = "/cache/ directory is not writable, please update the permissions/ownership to continue."
diff --git a/lang/de_DE.ini b/lang/de_DE.ini
index 7c082bb2..c2f3b4b5 100644
--- a/lang/de_DE.ini
+++ b/lang/de_DE.ini
@@ -340,3 +340,4 @@ subpages = "Unterseiten"
getstarted = "Los geht's"
onthispage = "Auf dieser Seite"
backtotop = "Nach oben"
+cache_folder_not_writable = "/cache/ directory is not writable, please update the permissions/ownership to continue."
diff --git a/lang/de_DE_gender_doppelpunkt.ini b/lang/de_DE_gender_doppelpunkt.ini
index 551734ee..f1139a6a 100644
--- a/lang/de_DE_gender_doppelpunkt.ini
+++ b/lang/de_DE_gender_doppelpunkt.ini
@@ -340,3 +340,4 @@ subpages = "Unterseiten"
getstarted = "Los geht's"
onthispage = "Auf dieser Seite"
backtotop = "Nach oben"
+cache_folder_not_writable = "/cache/ directory is not writable, please update the permissions/ownership to continue."
diff --git a/lang/de_DE_gender_dudenkonform.ini b/lang/de_DE_gender_dudenkonform.ini
index 18af8cb1..9f60b167 100644
--- a/lang/de_DE_gender_dudenkonform.ini
+++ b/lang/de_DE_gender_dudenkonform.ini
@@ -340,3 +340,4 @@ subpages = "Unterseiten"
getstarted = "Los geht's"
onthispage = "Auf dieser Seite"
backtotop = "Nach oben"
+cache_folder_not_writable = "/cache/ directory is not writable, please update the permissions/ownership to continue."
diff --git a/lang/el_GR.ini b/lang/el_GR.ini
index 777c38fc..3ac07202 100644
--- a/lang/el_GR.ini
+++ b/lang/el_GR.ini
@@ -342,3 +342,4 @@ backtotop = "Back to top"
subpages = "Sub pages"
getstarted = "Get started"
onthispage = "On this page"
+cache_folder_not_writable = "/cache/ directory is not writable, please update the permissions/ownership to continue."
diff --git a/lang/en_US.ini b/lang/en_US.ini
index e1c41ae8..2392a8b3 100644
--- a/lang/en_US.ini
+++ b/lang/en_US.ini
@@ -407,3 +407,4 @@ backtotop = "Back to top"
subpages = "Sub pages"
getstarted = "Get started"
onthispage = "On this page"
+cache_folder_not_writable = "/cache/ directory is not writable, please update the permissions/ownership to continue."
\ No newline at end of file
diff --git a/lang/eo_EO.ini b/lang/eo_EO.ini
index 0eaf827c..2e402852 100644
--- a/lang/eo_EO.ini
+++ b/lang/eo_EO.ini
@@ -340,3 +340,4 @@ backtotop = "Back to top"
subpages = "Sub pages"
getstarted = "Get started"
onthispage = "On this page"
+cache_folder_not_writable = "/cache/ directory is not writable, please update the permissions/ownership to continue."
diff --git a/lang/es_ES.ini b/lang/es_ES.ini
index 5e9dcdc9..8fb6c807 100644
--- a/lang/es_ES.ini
+++ b/lang/es_ES.ini
@@ -340,3 +340,4 @@ backtotop = "Back to top"
subpages = "Sub pages"
getstarted = "Get started"
onthispage = "On this page"
+cache_folder_not_writable = "/cache/ directory is not writable, please update the permissions/ownership to continue."
diff --git a/lang/fa_IR.ini b/lang/fa_IR.ini
index bd573eef..e5e876bc 100644
--- a/lang/fa_IR.ini
+++ b/lang/fa_IR.ini
@@ -340,3 +340,4 @@ backtotop = "Back to top"
subpages = "Sub pages"
getstarted = "Get started"
onthispage = "On this page"
+cache_folder_not_writable = "/cache/ directory is not writable, please update the permissions/ownership to continue."
diff --git a/lang/fr_FR.ini b/lang/fr_FR.ini
index 56e2c49e..4a8e53bc 100644
--- a/lang/fr_FR.ini
+++ b/lang/fr_FR.ini
@@ -340,3 +340,4 @@ backtotop = "Back to top"
subpages = "Sub pages"
getstarted = "Get started"
onthispage = "On this page"
+cache_folder_not_writable = "/cache/ directory is not writable, please update the permissions/ownership to continue."
diff --git a/lang/gl_ES.ini b/lang/gl_ES.ini
index b2867a66..d3d7d931 100644
--- a/lang/gl_ES.ini
+++ b/lang/gl_ES.ini
@@ -340,3 +340,4 @@ backtotop = "Back to top"
subpages = "Sub pages"
getstarted = "Get started"
onthispage = "On this page"
+cache_folder_not_writable = "/cache/ directory is not writable, please update the permissions/ownership to continue."
diff --git a/lang/gu_GU.ini b/lang/gu_GU.ini
index 227c0754..5a96b7f7 100644
--- a/lang/gu_GU.ini
+++ b/lang/gu_GU.ini
@@ -340,3 +340,4 @@ backtotop = "Back to top"
subpages = "Sub pages"
getstarted = "Get started"
onthispage = "On this page"
+cache_folder_not_writable = "/cache/ directory is not writable, please update the permissions/ownership to continue."
diff --git a/lang/hi_HI.ini b/lang/hi_HI.ini
index 4a35a652..ed6c1188 100644
--- a/lang/hi_HI.ini
+++ b/lang/hi_HI.ini
@@ -340,3 +340,4 @@ backtotop = "Back to top"
subpages = "Sub pages"
getstarted = "Get started"
onthispage = "On this page"
+cache_folder_not_writable = "/cache/ directory is not writable, please update the permissions/ownership to continue."
diff --git a/lang/hr_HR.ini b/lang/hr_HR.ini
index 7fe76419..4e919cb2 100644
--- a/lang/hr_HR.ini
+++ b/lang/hr_HR.ini
@@ -340,3 +340,4 @@ backtotop = "Back to top"
subpages = "Sub pages"
getstarted = "Get started"
onthispage = "On this page"
+cache_folder_not_writable = "/cache/ directory is not writable, please update the permissions/ownership to continue."
diff --git a/lang/hu_HU.ini b/lang/hu_HU.ini
index c37f2cc0..fe0427fd 100644
--- a/lang/hu_HU.ini
+++ b/lang/hu_HU.ini
@@ -340,3 +340,4 @@ backtotop = "Back to top"
subpages = "Sub pages"
getstarted = "Get started"
onthispage = "On this page"
+cache_folder_not_writable = "/cache/ directory is not writable, please update the permissions/ownership to continue."
diff --git a/lang/id_ID.ini b/lang/id_ID.ini
index 837f63dd..1f643d0d 100644
--- a/lang/id_ID.ini
+++ b/lang/id_ID.ini
@@ -340,3 +340,4 @@ backtotop = "Back to top"
subpages = "Sub pages"
getstarted = "Get started"
onthispage = "On this page"
+cache_folder_not_writable = "/cache/ directory is not writable, please update the permissions/ownership to continue."
diff --git a/lang/it_IT.ini b/lang/it_IT.ini
index 4c1ff3a7..d9f94071 100644
--- a/lang/it_IT.ini
+++ b/lang/it_IT.ini
@@ -407,3 +407,4 @@ backtotop = "Torna in cima"
subpages = "Sottopagine"
getstarted = "Per cominciare"
onthispage = "Su questa pagina"
+cache_folder_not_writable = "/cache/ directory is not writable, please update the permissions/ownership to continue."
diff --git a/lang/ko_KO.ini b/lang/ko_KO.ini
index f2ce9e42..dcdb98a3 100644
--- a/lang/ko_KO.ini
+++ b/lang/ko_KO.ini
@@ -340,3 +340,4 @@ backtotop = "Back to top"
subpages = "Sub pages"
getstarted = "Get started"
onthispage = "On this page"
+cache_folder_not_writable = "/cache/ directory is not writable, please update the permissions/ownership to continue."
diff --git a/lang/ku_KU.ini b/lang/ku_KU.ini
index 40444a0f..a07833b0 100644
--- a/lang/ku_KU.ini
+++ b/lang/ku_KU.ini
@@ -340,3 +340,4 @@ backtotop = "Back to top"
subpages = "Sub pages"
getstarted = "Get started"
onthispage = "On this page"
+cache_folder_not_writable = "/cache/ directory is not writable, please update the permissions/ownership to continue."
diff --git a/lang/ms_MY.ini b/lang/ms_MY.ini
index da727ae4..4067ac0c 100644
--- a/lang/ms_MY.ini
+++ b/lang/ms_MY.ini
@@ -340,3 +340,4 @@ backtotop = "Back to top"
subpages = "Sub pages"
getstarted = "Get started"
onthispage = "On this page"
+cache_folder_not_writable = "/cache/ directory is not writable, please update the permissions/ownership to continue."
diff --git a/lang/nl_NL.ini b/lang/nl_NL.ini
index 867b4a00..424436ac 100644
--- a/lang/nl_NL.ini
+++ b/lang/nl_NL.ini
@@ -340,3 +340,4 @@ backtotop = "Back to top"
subpages = "Sub pages"
getstarted = "Get started"
onthispage = "On this page"
+cache_folder_not_writable = "/cache/ directory is not writable, please update the permissions/ownership to continue."
diff --git a/lang/pl_PL.ini b/lang/pl_PL.ini
index 38857936..81061d2f 100644
--- a/lang/pl_PL.ini
+++ b/lang/pl_PL.ini
@@ -341,3 +341,4 @@ backtotop = "Back to top"
subpages = "Sub pages"
getstarted = "Get started"
onthispage = "On this page"
+cache_folder_not_writable = "/cache/ directory is not writable, please update the permissions/ownership to continue."
diff --git a/lang/pt_BR.ini b/lang/pt_BR.ini
index dd34ab7d..19c1c04c 100644
--- a/lang/pt_BR.ini
+++ b/lang/pt_BR.ini
@@ -340,3 +340,4 @@ backtotop = "Back to top"
subpages = "Sub pages"
getstarted = "Get started"
onthispage = "On this page"
+cache_folder_not_writable = "/cache/ directory is not writable, please update the permissions/ownership to continue."
diff --git a/lang/ru_RU.ini b/lang/ru_RU.ini
index f4e07156..39f7626f 100644
--- a/lang/ru_RU.ini
+++ b/lang/ru_RU.ini
@@ -341,3 +341,4 @@ backtotop = "Back to top"
subpages = "Sub pages"
getstarted = "Get started"
onthispage = "On this page"
+cache_folder_not_writable = "/cache/ directory is not writable, please update the permissions/ownership to continue."
diff --git a/lang/sv_SE.ini b/lang/sv_SE.ini
index 33e2ed8b..d15866f5 100644
--- a/lang/sv_SE.ini
+++ b/lang/sv_SE.ini
@@ -352,3 +352,4 @@ backtotop = "Back to top"
subpages = "Sub pages"
getstarted = "Get started"
onthispage = "On this page"
+cache_folder_not_writable = "/cache/ directory is not writable, please update the permissions/ownership to continue."
diff --git a/lang/tr_TR.ini b/lang/tr_TR.ini
index 40765140..5e446bbf 100644
--- a/lang/tr_TR.ini
+++ b/lang/tr_TR.ini
@@ -340,3 +340,4 @@ backtotop = "Back to top"
subpages = "Sub pages"
getstarted = "Get started"
onthispage = "On this page"
+cache_folder_not_writable = "/cache/ directory is not writable, please update the permissions/ownership to continue."
diff --git a/lang/uk_UA.ini b/lang/uk_UA.ini
index 908ff05c..44414d6e 100644
--- a/lang/uk_UA.ini
+++ b/lang/uk_UA.ini
@@ -340,3 +340,4 @@ backtotop = "Back to top"
subpages = "Sub pages"
getstarted = "Get started"
onthispage = "On this page"
+cache_folder_not_writable = "/cache/ directory is not writable, please update the permissions/ownership to continue."
diff --git a/lang/zh_CN.ini b/lang/zh_CN.ini
index 7dd4c09a..e063fbf3 100644
--- a/lang/zh_CN.ini
+++ b/lang/zh_CN.ini
@@ -340,3 +340,4 @@ backtotop = "Back to top"
subpages = "Sub pages"
getstarted = "Get started"
onthispage = "On this page"
+cache_folder_not_writable = "/cache/ directory is not writable, please update the permissions/ownership to continue."
diff --git a/lang/zh_TW.ini b/lang/zh_TW.ini
index 670821c1..d674b5c9 100644
--- a/lang/zh_TW.ini
+++ b/lang/zh_TW.ini
@@ -340,3 +340,4 @@ backtotop = "Back to top"
subpages = "Sub pages"
getstarted = "Get started"
onthispage = "On this page"
+cache_folder_not_writable = "/cache/ directory is not writable, please update the permissions/ownership to continue."
diff --git a/system/admin/views/update.html.php b/system/admin/views/update.html.php
index 1fe412fc..a4998df2 100644
--- a/system/admin/views/update.html.php
+++ b/system/admin/views/update.html.php
@@ -14,6 +14,11 @@
if (!is_dir($dir)) {
mkdir($dir, 0775, true);
}
+if (!is_writable($dir)) {
+ echo '
'.i18n('Update').'
';
+ echo i18n('cache_folder_not_writable');
+ return;
+}
if (defined("JSON_PRETTY_PRINT")) {
file_put_contents(
'cache/installedVersion.json',
From bbeb9b6e3df878e4053436bde6efd8a0be8e42dc Mon Sep 17 00:00:00 2001
From: KuJoe <1040086+KuJoe@users.noreply.github.com>
Date: Tue, 17 Mar 2026 18:32:36 -0400
Subject: [PATCH 2/4] Added a "Health" page for admins/editors.
Added a page for admins/editors to do a quick spot check to make sure their webserver settings are healthy by doing a quick check for PHP version, PHP modules, and critical directories are writable.
---
lang/en_US.ini | 13 +++++-
system/admin/admin.php | 1 +
system/admin/views/health.html.php | 70 ++++++++++++++++++++++++++++++
system/admin/views/layout.html.php | 7 +++
system/htmly.php | 35 +++++++++++++++
5 files changed, 125 insertions(+), 1 deletion(-)
create mode 100644 system/admin/views/health.html.php
diff --git a/lang/en_US.ini b/lang/en_US.ini
index 2392a8b3..d5706d75 100644
--- a/lang/en_US.ini
+++ b/lang/en_US.ini
@@ -407,4 +407,15 @@ backtotop = "Back to top"
subpages = "Sub pages"
getstarted = "Get started"
onthispage = "On this page"
-cache_folder_not_writable = "/cache/ directory is not writable, please update the permissions/ownership to continue."
\ No newline at end of file
+cache_folder_not_writable = "/cache/ directory is not writable, please update the permissions/ownership to continue."
+health_check = "Health Check"
+directory_permissions = "Directory Permissions"
+cache_folder_writable = "/cache/ directory is writable."
+content_folder_not_writable = "/content/ directory is not writable, please update the permissions/ownership to continue."
+content_folder_writable = "/content/ directory is writable."
+users_folder_not_writable = "/config/users/ directory is not writable, please update the permissions/ownership to continue."
+users_folder_writable = "/config/users/ directory is writable."
+php_check = "PHP Version"
+php_version_check_passed = "PHP version meets the minimum requirement."
+php_version_check_failed = "PHP version does not meet the minimum requirement. Please upgrade your PHP version."
+php_modules = "PHP Modules"
diff --git a/system/admin/admin.php b/system/admin/admin.php
index 1e4a09f5..ce766e14 100644
--- a/system/admin/admin.php
+++ b/system/admin/admin.php
@@ -1674,6 +1674,7 @@ function toolbar()
}
if ($role === 'editor' || $role === 'admin') {
$toolbar .= '' . i18n('Clear_cache') . '';
+ $toolbar .= '' . i18n('health_check') . '';
}
$toolbar .= '' . i18n('Edit_profile') . '';
$toolbar .= '' . i18n('Logout') . '';
diff --git a/system/admin/views/health.html.php b/system/admin/views/health.html.php
new file mode 100644
index 00000000..fda25b8c
--- /dev/null
+++ b/system/admin/views/health.html.php
@@ -0,0 +1,70 @@
+
+'.i18n('health_check').'
';
+
+echo ''.i18n('php_check').'
';
+
+$requiredPhpVersion = '7.2';
+if (version_compare(PHP_VERSION, $requiredPhpVersion, '>=')) {
+ echo ' ✅ '.i18n('php_version_check_passed').' (Current: '.PHP_VERSION.', Required: '.$requiredPhpVersion.')
';
+} else {
+ echo ' ❌ '.i18n('php_version_check_failed').' (Current: '.PHP_VERSION.', Required: '.$requiredPhpVersion.')
';
+}
+
+echo ''.i18n('directory_permissions').'
';
+
+$cachedir = 'cache/';
+if (!is_writable($cachedir)) {
+ echo ' ❌ '.i18n('cache_folder_not_writable').'
';
+} else {
+ echo ' ✅ '.i18n('cache_folder_writable').'
';
+}
+
+$contentdir = 'content/';
+if (!is_writable($contentdir)) {
+ echo ' ❌ '.i18n('content_folder_not_writable').'
';
+} else {
+ echo ' ✅ '.i18n('content_folder_writable').'
';
+}
+
+$usersdir = 'config/users/';
+if (!is_writable($usersdir)) {
+ echo ' ❌ '.i18n('users_folder_not_writable').'
';
+} else {
+ echo ' ✅ '.i18n('users_folder_writable').'
';
+}
+
+echo ''.i18n('php_modules').'
';
+
+$requiredChecks = array(
+ 'json' => extension_loaded('json'),
+ 'mbstring' => extension_loaded('mbstring'),
+ 'libxml' => extension_loaded('libxml'),
+ 'dom' => extension_loaded('dom') && class_exists('DOMDocument'),
+ 'simplexml' => extension_loaded('simplexml') && class_exists('SimpleXMLElement'),
+ 'xml' => extension_loaded('xml'),
+ 'hash' => extension_loaded('hash'),
+ 'session' => extension_loaded('session'),
+ 'pcre' => extension_loaded('pcre'),
+ 'filter' => extension_loaded('filter'),
+ 'ctype' => extension_loaded('ctype'),
+ 'openssl' => extension_loaded('openssl'),
+ 'zip' => extension_loaded('zip') && class_exists('ZipArchive'),
+ 'gd' => extension_loaded('gd') && function_exists('gd_info'),
+ 'iconv' => extension_loaded('iconv') && function_exists('iconv'),
+ 'intl' => extension_loaded('intl'),
+ 'apcu' => extension_loaded('apcu'),
+ 'mcrypt' => extension_loaded('mcrypt'),
+);
+
+foreach ($requiredChecks as $label => $ok) {
+ if ($ok) {
+ echo ' ✅ '.$label.'
';
+ } else {
+ echo ' ❌ '.$label.'
';
+ }
+}
+
diff --git a/system/admin/views/layout.html.php b/system/admin/views/layout.html.php
index 6df46d26..760d4235 100644
--- a/system/admin/views/layout.html.php
+++ b/system/admin/views/layout.html.php
@@ -262,6 +262,13 @@
+
+
+
+
+
+
+
diff --git a/system/htmly.php b/system/htmly.php
index 6ae4e69a..3253ee65 100644
--- a/system/htmly.php
+++ b/system/htmly.php
@@ -2626,6 +2626,41 @@
}
});
+// Show health status page
+get('/admin/health', function () {
+ $user = $_SESSION[site_url()]['user'] ?? null;
+ $role = user('role', $user) ?? null;
+ if (login()) {
+ config('views.root', 'system/admin/views');
+ if ($role === 'editor' || $role === 'admin') {
+ render('health', array(
+ 'title' => generate_title('is_default', i18n('Health_check')),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'type' => 'is_admin-health',
+ 'is_admin' => true,
+ 'bodyclass' => 'admin-health',
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . i18n('Health_check')
+ ));
+ } else {
+ render('denied', array(
+ 'title' => generate_title('is_default', i18n('Denied')),
+ 'description' => safe_html(strip_tags(blog_description())),
+ 'canonical' => site_url(),
+ 'metatags' => generate_meta(null, null),
+ 'type' => 'is_admin-health',
+ 'is_admin' => true,
+ 'bodyclass' => 'denied',
+ 'breadcrumb' => '' . config('breadcrumb.home') . ' » ' . i18n('Denied')
+ ));
+ }
+ } else {
+ $login = site_url() . 'login';
+ header("location: $login");
+ }
+});
+
// Show Update page
get('/admin/update', function () {
$user = $_SESSION[site_url()]['user'] ?? null;
From fd20f558c6f814c493fcf31f8435b05ae30d56c9 Mon Sep 17 00:00:00 2001
From: KuJoe <1040086+KuJoe@users.noreply.github.com>
Date: Tue, 17 Mar 2026 20:44:39 -0400
Subject: [PATCH 3/4] Added sharing buttons for BlueSky, Mastodon, and
GoToSocial
Modernizing the sharing features to newer social media platforms.
---
system/resources/images/share-gotosocial.png | Bin 0 -> 1635 bytes
system/resources/images/share-mastodon.png | Bin 0 -> 1598 bytes
themes/blog/main.html.php | 20 +++++++++++++
themes/blog/post.html.php | 20 +++++++++++++
themes/clean/css/style.css | 15 +++++++++-
themes/clean/post.html.php | 26 ++++++++++++++---
themes/logs/css/style.css | 15 +++++++++-
themes/logs/post.html.php | 28 +++++++++++++++----
themes/readable/css/style.css | 15 +++++++++-
themes/readable/post.html.php | 20 +++++++++++++
10 files changed, 147 insertions(+), 12 deletions(-)
create mode 100644 system/resources/images/share-gotosocial.png
create mode 100644 system/resources/images/share-mastodon.png
diff --git a/system/resources/images/share-gotosocial.png b/system/resources/images/share-gotosocial.png
new file mode 100644
index 0000000000000000000000000000000000000000..8322d13bf22060f1fb9f50bbf474df4da0fcd743
GIT binary patch
literal 1635
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
literal 0
HcmV?d00001
diff --git a/themes/blog/main.html.php b/themes/blog/main.html.php
index 5167b439..48561a94 100644
--- a/themes/blog/main.html.php
+++ b/themes/blog/main.html.php
@@ -72,7 +72,27 @@
+
+
+
+
diff --git a/themes/blog/post.html.php b/themes/blog/post.html.php
index d0f9b6af..5d7078a4 100644
--- a/themes/blog/post.html.php
+++ b/themes/blog/post.html.php
@@ -52,7 +52,27 @@
+
+
+
+
diff --git a/themes/clean/css/style.css b/themes/clean/css/style.css
index ec04e068..14d12410 100644
--- a/themes/clean/css/style.css
+++ b/themes/clean/css/style.css
@@ -727,7 +727,7 @@ aside .copyright p {
.share {
font-size: 12px;
font-style: italic;
- width: 120px;
+ width: 170px;
float: right;
}
@@ -742,6 +742,7 @@ aside .copyright p {
-moz-transition: all .3s;
-webkit-transition: all .3s;
-ms-transition: all .3s;
+ transition: all .3s;
text-indent: -9999em;
}
@@ -753,6 +754,18 @@ aside .copyright p {
background: url(../../../system/resources/images/share-facebook.png) left top no-repeat;
}
+.share a.bluesky {
+ background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='52' viewBox='0 0 18 52'%3E%3Crect width='18' height='26' rx='3' fill='%230086ff'/%3E%3Cpath d='M4.1 8.4c1.4 1 2.9 3 3.6 4.3.7-1.3 2.2-3.3 3.6-4.3 1-.7 2.7-1.2 2.7.7 0 .4-.2 3.2-.3 3.7-.3 1.7-1.4 2.1-2.4 1.9 1.8.3 2.2 1.2 1.2 2.1-1.9 1.7-2.7-.4-2.9-1-.1-.2-.1-.3-.2-.3s-.1.1-.2.3c-.3.6-1.1 2.7-2.9 1-1-.9-.6-1.8 1.2-2.1-1 .2-2.1-.2-2.4-1.9-.1-.5-.3-3.3-.3-3.8 0-1.9 1.7-1.4 2.7-.6z' fill='white'/%3E%3Crect y='26' width='18' height='26' rx='3' fill='%23005ebd'/%3E%3Cpath d='M4.1 34.4c1.4 1 2.9 3 3.6 4.3.7-1.3 2.2-3.3 3.6-4.3 1-.7 2.7-1.2 2.7.7 0 .4-.2 3.2-.3 3.7-.3 1.7-1.4 2.1-2.4 1.9 1.8.3 2.2 1.2 1.2 2.1-1.9 1.7-2.7-.4-2.9-1-.1-.2-.1-.3-.2-.3s-.1.1-.2.3c-.3.6-1.1 2.7-2.9 1-1-.9-.6-1.8 1.2-2.1-1 .2-2.1-.2-2.4-1.9-.1-.5-.3-3.3-.3-3.8 0-1.9 1.7-1.4 2.7-.6z' fill='white'/%3E%3C/svg%3E") left top no-repeat;
+}
+
+.share a.mastodon {
+ background: url(../../../system/resources/images/share-mastodon.png) left top no-repeat;
+}
+
+.share a.gotosocial {
+ background: url(../../../system/resources/images/share-gotosocial.png) left top no-repeat;
+}
+
.share a:hover {
background-position: left -26px;
}
diff --git a/themes/clean/post.html.php b/themes/clean/post.html.php
index ce526374..5c7719ee 100644
--- a/themes/clean/post.html.php
+++ b/themes/clean/post.html.php
@@ -50,11 +50,29 @@
about ?>
+
diff --git a/themes/logs/css/style.css b/themes/logs/css/style.css
index 1c059da3..5482b0e4 100644
--- a/themes/logs/css/style.css
+++ b/themes/logs/css/style.css
@@ -532,7 +532,7 @@ ul li, ol li {
}
.share {
- width: 140px;
+ width: 240px;
margin-left: 1em;
float: right;
}
@@ -548,6 +548,7 @@ ul li, ol li {
-moz-transition: all .3s;
-webkit-transition: all .3s;
-ms-transition: all .3s;
+ transition: all .3s;
text-indent: -9999em;
border: none;
}
@@ -560,6 +561,18 @@ ul li, ol li {
background: url(../../../system/resources/images/share-facebook.png) left top no-repeat;
}
+.share a.bluesky {
+ background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='52' viewBox='0 0 18 52'%3E%3Crect width='18' height='26' rx='3' fill='%230086ff'/%3E%3Cpath d='M4.1 8.4c1.4 1 2.9 3 3.6 4.3.7-1.3 2.2-3.3 3.6-4.3 1-.7 2.7-1.2 2.7.7 0 .4-.2 3.2-.3 3.7-.3 1.7-1.4 2.1-2.4 1.9 1.8.3 2.2 1.2 1.2 2.1-1.9 1.7-2.7-.4-2.9-1-.1-.2-.1-.3-.2-.3s-.1.1-.2.3c-.3.6-1.1 2.7-2.9 1-1-.9-.6-1.8 1.2-2.1-1 .2-2.1-.2-2.4-1.9C4.9 12.3 4.7 9.5 4.7 9c0-1.9 1.7-1.4 2.7-.6z' fill='white'/%3E%3Crect y='26' width='18' height='26' rx='3' fill='%23005ebd'/%3E%3Cpath d='M4.1 34.4c1.4 1 2.9 3 3.6 4.3.7-1.3 2.2-3.3 3.6-4.3 1-.7 2.7-1.2 2.7.7 0 .4-.2 3.2-.3 3.7-.3 1.7-1.4 2.1-2.4 1.9 1.8.3 2.2 1.2 1.2 2.1-1.9 1.7-2.7-.4-2.9-1-.1-.2-.1-.3-.2-.3s-.1.1-.2.3c-.3.6-1.1 2.7-2.9 1-1-.9-.6-1.8 1.2-2.1-1 .2-2.1-.2-2.4-1.9-.1-.5-.3-3.3-.3-3.8 0-1.9 1.7-1.4 2.7-.6z' fill='white'/%3E%3C/svg%3E") left top no-repeat;
+}
+
+.share a.mastodon {
+ background: url(../../../system/resources/images/share-mastodon.png) left top no-repeat;
+}
+
+.share a.gotosocial {
+ background: url(../../../system/resources/images/share-gotosocial.png) left top no-repeat;
+}
+
.share a:hover {
background-position: left -26px;
border: none;
diff --git a/themes/logs/post.html.php b/themes/logs/post.html.php
index c22c9184..8b240346 100644
--- a/themes/logs/post.html.php
+++ b/themes/logs/post.html.php
@@ -49,13 +49,31 @@
name ?>
about ?>
-
+
diff --git a/themes/blog/post.html.php b/themes/blog/post.html.php
index 5d7078a4..d0f9b6af 100644
--- a/themes/blog/post.html.php
+++ b/themes/blog/post.html.php
@@ -52,27 +52,7 @@
-
-
-
-
diff --git a/themes/clean/css/style.css b/themes/clean/css/style.css
index 14d12410..ec04e068 100644
--- a/themes/clean/css/style.css
+++ b/themes/clean/css/style.css
@@ -727,7 +727,7 @@ aside .copyright p {
.share {
font-size: 12px;
font-style: italic;
- width: 170px;
+ width: 120px;
float: right;
}
@@ -742,7 +742,6 @@ aside .copyright p {
-moz-transition: all .3s;
-webkit-transition: all .3s;
-ms-transition: all .3s;
- transition: all .3s;
text-indent: -9999em;
}
@@ -754,18 +753,6 @@ aside .copyright p {
background: url(../../../system/resources/images/share-facebook.png) left top no-repeat;
}
-.share a.bluesky {
- background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='52' viewBox='0 0 18 52'%3E%3Crect width='18' height='26' rx='3' fill='%230086ff'/%3E%3Cpath d='M4.1 8.4c1.4 1 2.9 3 3.6 4.3.7-1.3 2.2-3.3 3.6-4.3 1-.7 2.7-1.2 2.7.7 0 .4-.2 3.2-.3 3.7-.3 1.7-1.4 2.1-2.4 1.9 1.8.3 2.2 1.2 1.2 2.1-1.9 1.7-2.7-.4-2.9-1-.1-.2-.1-.3-.2-.3s-.1.1-.2.3c-.3.6-1.1 2.7-2.9 1-1-.9-.6-1.8 1.2-2.1-1 .2-2.1-.2-2.4-1.9-.1-.5-.3-3.3-.3-3.8 0-1.9 1.7-1.4 2.7-.6z' fill='white'/%3E%3Crect y='26' width='18' height='26' rx='3' fill='%23005ebd'/%3E%3Cpath d='M4.1 34.4c1.4 1 2.9 3 3.6 4.3.7-1.3 2.2-3.3 3.6-4.3 1-.7 2.7-1.2 2.7.7 0 .4-.2 3.2-.3 3.7-.3 1.7-1.4 2.1-2.4 1.9 1.8.3 2.2 1.2 1.2 2.1-1.9 1.7-2.7-.4-2.9-1-.1-.2-.1-.3-.2-.3s-.1.1-.2.3c-.3.6-1.1 2.7-2.9 1-1-.9-.6-1.8 1.2-2.1-1 .2-2.1-.2-2.4-1.9-.1-.5-.3-3.3-.3-3.8 0-1.9 1.7-1.4 2.7-.6z' fill='white'/%3E%3C/svg%3E") left top no-repeat;
-}
-
-.share a.mastodon {
- background: url(../../../system/resources/images/share-mastodon.png) left top no-repeat;
-}
-
-.share a.gotosocial {
- background: url(../../../system/resources/images/share-gotosocial.png) left top no-repeat;
-}
-
.share a:hover {
background-position: left -26px;
}
diff --git a/themes/clean/post.html.php b/themes/clean/post.html.php
index 5c7719ee..ce526374 100644
--- a/themes/clean/post.html.php
+++ b/themes/clean/post.html.php
@@ -50,29 +50,11 @@
about ?>
-
diff --git a/themes/logs/css/style.css b/themes/logs/css/style.css
index 5482b0e4..1c059da3 100644
--- a/themes/logs/css/style.css
+++ b/themes/logs/css/style.css
@@ -532,7 +532,7 @@ ul li, ol li {
}
.share {
- width: 240px;
+ width: 140px;
margin-left: 1em;
float: right;
}
@@ -548,7 +548,6 @@ ul li, ol li {
-moz-transition: all .3s;
-webkit-transition: all .3s;
-ms-transition: all .3s;
- transition: all .3s;
text-indent: -9999em;
border: none;
}
@@ -561,18 +560,6 @@ ul li, ol li {
background: url(../../../system/resources/images/share-facebook.png) left top no-repeat;
}
-.share a.bluesky {
- background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='52' viewBox='0 0 18 52'%3E%3Crect width='18' height='26' rx='3' fill='%230086ff'/%3E%3Cpath d='M4.1 8.4c1.4 1 2.9 3 3.6 4.3.7-1.3 2.2-3.3 3.6-4.3 1-.7 2.7-1.2 2.7.7 0 .4-.2 3.2-.3 3.7-.3 1.7-1.4 2.1-2.4 1.9 1.8.3 2.2 1.2 1.2 2.1-1.9 1.7-2.7-.4-2.9-1-.1-.2-.1-.3-.2-.3s-.1.1-.2.3c-.3.6-1.1 2.7-2.9 1-1-.9-.6-1.8 1.2-2.1-1 .2-2.1-.2-2.4-1.9C4.9 12.3 4.7 9.5 4.7 9c0-1.9 1.7-1.4 2.7-.6z' fill='white'/%3E%3Crect y='26' width='18' height='26' rx='3' fill='%23005ebd'/%3E%3Cpath d='M4.1 34.4c1.4 1 2.9 3 3.6 4.3.7-1.3 2.2-3.3 3.6-4.3 1-.7 2.7-1.2 2.7.7 0 .4-.2 3.2-.3 3.7-.3 1.7-1.4 2.1-2.4 1.9 1.8.3 2.2 1.2 1.2 2.1-1.9 1.7-2.7-.4-2.9-1-.1-.2-.1-.3-.2-.3s-.1.1-.2.3c-.3.6-1.1 2.7-2.9 1-1-.9-.6-1.8 1.2-2.1-1 .2-2.1-.2-2.4-1.9-.1-.5-.3-3.3-.3-3.8 0-1.9 1.7-1.4 2.7-.6z' fill='white'/%3E%3C/svg%3E") left top no-repeat;
-}
-
-.share a.mastodon {
- background: url(../../../system/resources/images/share-mastodon.png) left top no-repeat;
-}
-
-.share a.gotosocial {
- background: url(../../../system/resources/images/share-gotosocial.png) left top no-repeat;
-}
-
.share a:hover {
background-position: left -26px;
border: none;
diff --git a/themes/logs/post.html.php b/themes/logs/post.html.php
index 8b240346..c22c9184 100644
--- a/themes/logs/post.html.php
+++ b/themes/logs/post.html.php
@@ -49,31 +49,13 @@
name ?>
about ?>
-
-