*/
// Load Members data abstract
-require_once(GLM_MEMBERS_PLUGIN_CLASS_PATH.'/data/settings/dataSettingsGeneral.php');
+require_once( GLM_MEMBERS_PLUGIN_CLASS_PATH.'/data/settings/dataSettingsGeneral.php' );
/*
* This class performs the work for the default action of the "Members" menu
{
public $prefixSlugs = array();
public $requiredPages = array();
-// s
/**
* WordPress Database Object
*
* @return object Class object
*
*/
- public function __construct ($wpdb, $config)
- {
+ public function __construct ( $wpdb, $config ){
// Save WordPress Database object
$this->wpdb = $wpdb;
$this->config = $config;
// Run constructor for members data class
- parent::__construct(false, false);
+ parent::__construct( false, false );
}
public function updateRequiredPages(){
$this->requiredPages = array();
-// $this->reqPageTitlesStatic = array();
- foreach ($this->config['addOns'] as $a) {
- if (isset($a['requiredPages'])) {
- foreach($a['requiredPages'] as $pageName => $pageData) {
-// $this->reqPageTitlesStatic[] = strtolower(str_replace(" ","-",$pageName));
- $pageID = get_option(GLM_MEMBERS_PLUGIN_OPTION_PREFIX.$pageData['underscored_title']);
- $this->prefixSlugs[] = GLM_MEMBERS_PLUGIN_OPTION_PREFIX.$pageData['underscored_title'];
- $this->requiredPages[$a['underscored_name']][$pageName]['id'] = $pageID;
- $page = get_post($pageID);
- $this->requiredPages[$a['underscored_name']][$pageName]['slug'] = $page->post_name;
- $this->requiredPages[$a['underscored_name']][$pageName]['title'] = $page->post_title;
- $this->requiredPages[$a['underscored_name']][$pageName]['static_name'] = strtolower(str_replace(" ","-",$pageName));
+ foreach ( $this->config[ 'addOns' ] as $a ) {
+ if ( isset ( $a[ 'requiredPages' ] ) ) {
+ foreach ( $a[ 'requiredPages' ] as $page_name => $page_data ) {
+ $pageID = get_option(GLM_MEMBERS_PLUGIN_OPTION_PREFIX.$page_data['underscored_title']);
+ $this->prefixSlugs[] = GLM_MEMBERS_PLUGIN_OPTION_PREFIX.$page_data['underscored_title'];
+ $this->requiredPages[ $a[ 'underscored_name' ] ][ $page_name ]['id'] = $pageID;
+ $page = get_post( $pageID );
+ $this->requiredPages[ $a[ 'underscored_name' ] ][ $page_name ][ 'slug' ] = $page->post_name;
+ $this->requiredPages[ $a[ 'underscored_name' ] ][ $page_name ][ 'title' ] = $page->post_title;
+ $this->requiredPages[ $a[ 'underscored_name' ] ][ $page_name][ 'static_name' ] = strtolower(str_replace(" ","-",$page_name));
}
}
}
*/
public function modelAction ($actionData = false)
{
- $settingsUpdated = false;
- $settingsUpdateError = false;
- $requiredPagesUpdateError = false;
+ $settings_updated = false;
+ $settings_update_error = false;
+ $required_pages_required_error = false;
$id_error = false;
$title_error = false;
// General settings are always stored in a record with ID=1.
case 'submit':
foreach ( $this->config[ 'addOns' ] as $a ) {
if ( isset( $a[ 'requiredPages' ] ) ) {
- foreach( $a[ 'requiredPages'] as $pageName => $pageData ) {
+ foreach( $a[ 'requiredPages'] as $pageName => $pageData ) {
$current_page_id_value = get_option( GLM_MEMBERS_PLUGIN_OPTION_PREFIX.$pageData[ 'underscored_title' ] );
-
+
+ // the static slug name used to create unique form field names
$page_title_field_name = 'glm_members_database_title_' . $this->requiredPages[ $a[ 'underscored_name'] ][ $pageName ][ 'static_name' ];
$page_id_field_name = 'glm_members_database_id_' . $this->requiredPages[ $a[ 'underscored_name' ] ][ $pageName ][ 'static_name' ];
+ // the slug used to update the options table
$page_option_slug = GLM_MEMBERS_PLUGIN_OPTION_PREFIX.$pageData['underscored_title'];
$current_page_title_value = $this->requiredPages[ $a[ 'underscored_name' ] ][ $pageName][ 'title' ];
- if( isset( $_POST[ $page_title_field_name ] ) && ! empty( $_POST[ $page_title_field_name ] ) ){
- $new_page_title_value = filter_var($_POST[$page_title_field_name], FILTER_SANITIZE_STRING);
+ if ( isset( $_POST[ $page_title_field_name ] ) && ! empty( $_POST[ $page_title_field_name ] ) ){
+ $new_page_title_value = filter_var( $_POST[ $page_title_field_name ], FILTER_SANITIZE_STRING);
} else {
$title_error = true;
}
- if( isset( $_POST[ $page_id_field_name ] ) && !empty( $_POST[ $page_id_field_name ] ) && is_numeric( $_POST[ $page_id_field_name ] ) ){
+ // check to make sure the post value isn't empty and is numeric
+ if ( isset( $_POST[ $page_id_field_name ] ) && ! empty( $_POST[ $page_id_field_name ] ) && is_numeric( $_POST[ $page_id_field_name ] ) ){
$new_page_id_value = filter_var( $_POST[ $page_id_field_name ], FILTER_SANITIZE_STRING );
} else {
$id_error = true;
}
-
- if( $current_page_title_value !== $new_page_title_value ){
+
+ // if the current page title matches the posted value, no need to update
+ if ( $current_page_title_value !== $new_page_title_value ){
$args = array (
'ID' => $current_page_id_value,
'post_title' => $new_page_title_value,
wp_update_post( $args );
}
- // ensure the new page id exists and the field is not empty
- if($current_page_id_value !== $new_page_id_value && get_post_status( $new_page_id_value ) ){
+ // ensure the new page id exists and isn't already the same as the current page ID value
+ if ( $current_page_id_value !== $new_page_id_value && get_post_status( $new_page_id_value ) ){
update_option( $page_option_slug, $new_page_id_value );
- } else {
-
- }
+ }
}
}
}
$this->updateRequiredPages();
-
- // Required Pages
- $requiredPagesUpdateError = false;
- if ( isset( $_REQUEST[ GLM_MEMBERS_PLUGIN_OPTION_MEMBERS_LIST_ID ] ) ){
- $membersListIdOption = $requiredPages[ 'glm-member-db' ][ 'members_list' ][''];
- $newMembersListId = $_REQUEST[ $membersListIdOption ];
- } else {
-
- }
- echo $_REQUEST[ 'glm_members_database_option_member-detail' ];
- echo $newMembersListId;
- $results = $this->wpdb->get_results( "SELECT ID FROM ".$this->wpdb->posts." WHERE ID = ".$newMembersListId);
- if ( get_option( $membersListIdOption) == $newMembersListId ) {
- $requiredPagesUpdateError = false;
- } else if ( is_numeric( $newMembersListId ) ) {
- if ( $results ) {
- $requiredPagesUpdateError = false;
- } else {
- $requiredPagesUpdateError .= "\n Page ID $newMembersListId does not exist. ";
- }
- } else {
- $requiredPagesUpdateError .= "\n Page ID $newMembersListId must be numeric.";
- }
// Update all general setttings
- $generalSettings = $this->updateEntry(1);
- if ( $generalSettings[ 'status' ]) {
- $settingsUpdated = true;
+ $generalSettings = $this->updateEntry( 1 );
+ if ( $generalSettings[ 'status' ] ) {
+ $settings_updated = true;
} else {
- $settingsUpdateError = true;
+ $settings_update_error = true;
}
break;
// Try to get the first (should be only) entry for general settings.
$generalSettings = $this->editEntry( $id );
- if ($generalSettings === false) {
+ if ( $generalSettings === false ) {
if ( GLM_MEMBERS_PLUGIN_ADMIN_DEBUG ) {
glmMembersAdmin::addNotice("<b> /modesl/admin/settings/index.php: Unable to load General Settings.", 'Alert');
break;
}
- if( $settingsUpdateError ){
- $settingsUpdated = false;
+ if( $settings_update_error ){
+ $settings_updated = false;
}
// Compile template data
$templateData = array(
- 'reason' => '',
- 'genSettings' => $generalSettings,
- 'timezones' => DateTimeZone::listIdentifiers(),
- 'settingsUpdated' => $settingsUpdated,
- 'settingsUpdateError' => $settingsUpdateError,
- 'requiredPages' => $this->requiredPages,
- 'id_error' => $id_error,
- 'title_error' => $title_error,
- 'requiredPagesUpdateError' => $requiredPagesUpdateError
+ 'reason' => '',
+ 'genSettings' => $generalSettings,
+ 'timezones' => DateTimeZone::listIdentifiers(),
+ 'settingsUpdated' => $settings_updated,
+ 'settingsUpdateError' => $settings_update_error,
+ 'requiredPages' => $this->requiredPages,
+ 'id_error' => $id_error,
+ 'title_error' => $title_error,
+ 'requiredPagesUpdateError' => $required_pages_required_error,
);
// Return status, suggested view, and data to controller
return array(
- 'status' => true,
- 'menuItemRedirect' => false,
- 'modelRedirect' => false,
- 'view' => 'admin/management/index.html',
- 'data' => $templateData
+ 'status' => true,
+ 'menuItemRedirect' => false,
+ 'modelRedirect' => false,
+ 'view' => 'admin/management/index.html',
+ 'data' => $templateData,
);
}
}