From 96d51453955bd2cfc3dab9e47a441c144f356c95 Mon Sep 17 00:00:00 2001 From: KuJoe Date: Sat, 18 May 2024 12:58:25 -0400 Subject: [PATCH] Improved autosaving feature Autosaving now can be disabled in the config menu and only saves when the content field is not empty. --- autosave.php | 57 ++++++++------- lang/en_US.ini | 6 +- system/admin/views/add-content.html.php | 4 +- system/admin/views/add-page.html.php | 4 +- system/admin/views/config-custom.html.php | 1 + system/admin/views/config-metatags.html.php | 1 + .../admin/views/config-performance.html.php | 1 + system/admin/views/config-reading.html.php | 1 + system/admin/views/config-widget.html.php | 1 + system/admin/views/config-writing.html.php | 43 ++++++++++++ system/admin/views/config.html.php | 1 + system/configList.json | 3 +- system/htmly.php | 70 +++++++++++++++++++ 13 files changed, 162 insertions(+), 31 deletions(-) create mode 100644 system/admin/views/config-writing.html.php diff --git a/autosave.php b/autosave.php index 0340b04..37507b5 100644 --- a/autosave.php +++ b/autosave.php @@ -174,35 +174,38 @@ if (login()) { $draft = 'true'; $posttype = $_POST['posttype']; - if ($posttype == 'is_page') { - $response = auto_save_page($title, $url, $content, $draft, $description); - } else { - $user = $_SESSION[site_url()]['user']; - $tag = $_POST['tag']; - $category = $_POST['category']; - $dateTime = $_POST['dateTime']; - if ($posttype == 'is_image') { - $type = 'image'; - $media = $_POST['pimage']; - } elseif ($posttype == 'is_video') { - $type = 'video'; - $media = $_POST['pvideo']; - } elseif ($posttype == 'is_link') { - $type = 'link'; - $media = $_POST['plink']; - } elseif ($posttype == 'is_quote') { - $type = 'quote'; - $media = $_POST['pquote']; - } elseif ($posttype == 'is_audio') { - $type = 'audio'; - $media = $_POST['paudio']; - } elseif ($posttype == 'is_post') { - $type = 'post'; - $media = null; + if (!empty($content)) { + if ($posttype == 'is_page') { + $response = auto_save_page($title, $url, $content, $draft, $description); + } else { + $user = $_SESSION[site_url()]['user']; + $tag = $_POST['tag']; + $category = $_POST['category']; + $dateTime = $_POST['dateTime']; + if ($posttype == 'is_image') { + $type = 'image'; + $media = $_POST['pimage']; + } elseif ($posttype == 'is_video') { + $type = 'video'; + $media = $_POST['pvideo']; + } elseif ($posttype == 'is_link') { + $type = 'link'; + $media = $_POST['plink']; + } elseif ($posttype == 'is_quote') { + $type = 'quote'; + $media = $_POST['pquote']; + } elseif ($posttype == 'is_audio') { + $type = 'audio'; + $media = $_POST['paudio']; + } elseif ($posttype == 'is_post') { + $type = 'post'; + $media = null; + } + $response = auto_save_post($title, $tag, $url, $content, $user, $draft, $category, $type, $description, $media, $dateTime); } - $response = auto_save_post($title, $tag, $url, $content, $user, $draft, $category, $type, $description, $media, $dateTime); + } else { + $response = "No content to save."; } - echo $response; } else { $login = site_url() . 'login'; diff --git a/lang/en_US.ini b/lang/en_US.ini index 6e1c979..3f1eae3 100644 --- a/lang/en_US.ini +++ b/lang/en_US.ini @@ -183,7 +183,9 @@ rss_settings = "RSS settings" read_more_text = "Read more text" read_more_text_placeholder = "Read more" reading = "Reading" +writing = "Writing" reading_settings = "Reading Settings" +writing_settings = "Writing Settings" recaptcha = "reCAPTCHA" recent_posts = "Recent posts" recent_posts_widget_at_most = "Recent posts widget at most" @@ -292,4 +294,6 @@ verify_code = "Verify the MFA code" verify_password = "Verify current password" manualsetupkey = "You can also manually add the setup key" mfa_error = "MFA code is not correct" -disablemfa = "Disable MFA" \ No newline at end of file +disablemfa = "Disable MFA" +enable_auto_save = "Enable Auto Save to Drafts" +explain_autosave = "When enabled, new posts or pages will automatically be saved as a draft every 60 seconds after you start writing." \ No newline at end of file diff --git a/system/admin/views/add-content.html.php b/system/admin/views/add-content.html.php index d9fd125..be8864b 100644 --- a/system/admin/views/add-content.html.php +++ b/system/admin/views/add-content.html.php @@ -313,4 +313,6 @@ $('.img-container').on("click", ".the-img", function(e) { $('#insertImageDialogURL').val($(e.target).attr('src')); }); - +'; +} ?> diff --git a/system/admin/views/add-page.html.php b/system/admin/views/add-page.html.php index 2731865..d6f6784 100644 --- a/system/admin/views/add-page.html.php +++ b/system/admin/views/add-page.html.php @@ -139,4 +139,6 @@ $('.img-container').on("click", ".the-img", function(e) { $('#insertImageDialogURL').val($(e.target).attr('src')); }); - +'; +} ?> diff --git a/system/admin/views/config-custom.html.php b/system/admin/views/config-custom.html.php index 7ee71d7..5707e5f 100644 --- a/system/admin/views/config-custom.html.php +++ b/system/admin/views/config-custom.html.php @@ -5,6 +5,7 @@