$settingsUpdated = false;
$settingsUpdateError = false;
$requiredPagesUpdateError = false;
+ $idError = false;
+ $titleError = false;
// General settings are always stored in a record with ID=1.
$id = 1;
'post_title' => $postValueTitle
);
wp_update_post($args);
- } else {
echo $pageTitle;
+ } else if($pageTitle == $postValueTitle && !empty($postValueTitle)) {
+
+ } else{
+ $settingsUpdateError = true;
+ $settingsUpdated = false;
+ $titleError = true;
}
}
$pageSlug = 'glm_members_database_id_' . $pageSlug;
$formID = filter_var($_POST[$pageSlug], FILTER_SANITIZE_STRING);
$formTitle = filter_var($_POST[$titleSlug], FILTER_SANITIZE_STRING);
- if($id != $formID && !empty($formTitle) && get_post_status($formID) != false && is_int($formID)){
+ if($id != $formID && !empty($formTitle) && get_post_status($formID) != false && is_numeric($formID)){
update_option($slug, $formID);
- } else {
+ } else if($id == $formID && is_numeric($formID)) {
update_option($slug, $id);
- }
+ } else {
+ $settingsUpdateError = true;
+ $settingsUpdated = false;
+ $idError = true;
+ }
}
$this->updateRequiredPages();
break;
}
+ if($settingsUpdateError){
+ $settingsUpdated = false;
+ }
// Compile template data
$templateData = array(
'reason' => '',
'settingsUpdated' => $settingsUpdated,
'settingsUpdateError' => $settingsUpdateError,
'requiredPages' => $this->requiredPages,
+ 'idError' => $idError,
+ 'titleError' => $titleError,
'requiredPagesUpdateError' => $requiredPagesUpdateError
);
<!-- Required Pages -->
<table id="glm-table-required-page" class="glm-admin-table glm-settings-table">
+ {if $idError}<span class="glm-error">Page ID should be a number, may not be blank and should be associated with an existing page</span>{/if}
+ {if $titleError}<span class="glm-error">Page name should not be empty</span>{/if}
{foreach from=$requiredPages key=addon item=requiredPage}
<tr><td colspan="2"><h2>Plugin: {$addon}</h2></td></tr>
{foreach from=$requiredPage key=requiredPageName item=requiredPageData}