From: Anthony Talarico Date: Mon, 23 May 2016 20:57:44 +0000 (-0400) Subject: added error handling for improper input for page name and page id X-Git-Tag: v2.0.0^2~8^2~3 X-Git-Url: http://cvs2.gaslightmedia.com/gitweb/?a=commitdiff_plain;h=17c49814f98d0f8bcaa5d72b0204370266a2e1e1;p=WP-Plugins%2Fglm-member-db.git added error handling for improper input for page name and page id --- diff --git a/models/admin/management/index.php b/models/admin/management/index.php index 5e4e3e42..ee75af14 100644 --- a/models/admin/management/index.php +++ b/models/admin/management/index.php @@ -117,6 +117,8 @@ class GlmMembersAdmin_management_index extends GlmDataSettingsGeneral $settingsUpdated = false; $settingsUpdateError = false; $requiredPagesUpdateError = false; + $idError = false; + $titleError = false; // General settings are always stored in a record with ID=1. $id = 1; @@ -160,8 +162,13 @@ class GlmMembersAdmin_management_index extends GlmDataSettingsGeneral 'post_title' => $postValueTitle ); wp_update_post($args); - } else { echo $pageTitle; + } else if($pageTitle == $postValueTitle && !empty($postValueTitle)) { + + } else{ + $settingsUpdateError = true; + $settingsUpdated = false; + $titleError = true; } } @@ -174,11 +181,15 @@ class GlmMembersAdmin_management_index extends GlmDataSettingsGeneral $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(); @@ -228,6 +239,9 @@ class GlmMembersAdmin_management_index extends GlmDataSettingsGeneral break; } + if($settingsUpdateError){ + $settingsUpdated = false; + } // Compile template data $templateData = array( 'reason' => '', @@ -236,6 +250,8 @@ class GlmMembersAdmin_management_index extends GlmDataSettingsGeneral 'settingsUpdated' => $settingsUpdated, 'settingsUpdateError' => $settingsUpdateError, 'requiredPages' => $this->requiredPages, + 'idError' => $idError, + 'titleError' => $titleError, 'requiredPagesUpdateError' => $requiredPagesUpdateError ); diff --git a/views/admin/management/index.html b/views/admin/management/index.html index 187b1be2..98dbc878 100644 --- a/views/admin/management/index.html +++ b/views/admin/management/index.html @@ -19,6 +19,8 @@ + {if $idError}Page ID should be a number, may not be blank and should be associated with an existing page{/if} + {if $titleError}Page name should not be empty{/if} {foreach from=$requiredPages key=addon item=requiredPage} {foreach from=$requiredPage key=requiredPageName item=requiredPageData}

Plugin: {$addon}