From 68b990b5298f58bc33d7187dba666630387dca46 Mon Sep 17 00:00:00 2001 From: Anthony Talarico Date: Tue, 7 Feb 2017 10:16:37 -0500 Subject: [PATCH] adding regterms action, model and view file --- models/admin/management/regterms.php | 182 +++++++++++++ models/admin/management/terms.php | 0 setup/validActions.php | 4 +- views/admin/management/header.html | 2 +- views/admin/management/regterms.html | 378 +++++++++++++++++++++++++++ 5 files changed, 564 insertions(+), 2 deletions(-) create mode 100644 models/admin/management/regterms.php delete mode 100644 models/admin/management/terms.php create mode 100644 views/admin/management/regterms.html diff --git a/models/admin/management/regterms.php b/models/admin/management/regterms.php new file mode 100644 index 0000000..ac10868 --- /dev/null +++ b/models/admin/management/regterms.php @@ -0,0 +1,182 @@ + + * @license http://www.gaslightmedia.com Gaslightmedia + * @version 0.1 + */ + +// Load Members data abstract +require_once GLM_MEMBERS_REGISTRATIONS_PLUGIN_CLASS_PATH.'/data/dataSettingsTerms.php'; + +/* + * This class performs the work for the default action of the "Members" menu + * option, which is to display the members dashboard. + * + */ +class GlmMembersAdmin_management_regterms extends GlmDataRegistrationsSettingsTerms +{ + + /** + * WordPress Database Object + * + * @var $wpdb + * @access public + */ + public $wpdb; + /** + * Plugin Configuration Data + * + * @var $config + * @access public + */ + public $config; + + /* + * Constructor + * + * This contructor sets up this model. At this time that only includes + * storing away the WordPress data object. + * + * @return object Class object + * + */ + public function __construct ($wpdb, $config) + { + + // Save WordPress Database object + $this->wpdb = $wpdb; + + // Save plugin configuration object + $this->config = $config; + + // Run constructor for members data class + parent::__construct(false, false); + + } + + /* + * Perform Model Action + * + * This method does the work for this model and returns any resulting data + * + * @return array Status and data array + * + * 'status' + * + * True if successfull and false if there was a fatal failure. + * + * 'menuItemRedirect' + * + * If not false, provides a menu item the controller should + * execute after this one. Normally if this is used, there would also be a + * modelRedirect value supplied as well. + * + * 'modelRedirect' + * + * If not false, provides an action the controller should execute after + * this one. + * + * 'view' + * + * A suggested view name that the contoller should use instead of the + * default view for this model or false to indicate that the default view + * should be used. + * + * 'data' + * + * Data that the model is returning for use in merging with the view to + * produce output. + * + */ + public function modelAction ($actionData = false) + { + // General settings are always stored in a record with ID=1. + $id = 1; + // Determine if current user can edit configurations + if (!current_user_can('glm_members_settings')) { + return array( + 'status' => false, + 'menuItemRedirect' => 'error', + 'modelRedirect' => 'index', + 'view' => 'admin/error/index.html', + 'data' => array( + 'reason' => 'User does not have rights to make configuration changes.' + ) + ); + } + + // Check for submission option + $option = ''; + if (isset($_REQUEST['option']) && $_REQUEST['option'] == 'submit') { + $option = $_REQUEST['option']; + } + + switch($option) { + + // Update the settings and redisplay the form + case 'submit': + + // Update the general settings +// $termsSettings = $this->updateEntry(1); + + // Display admin message that the data has been updated + glmMembersAdmin::addNotice('Terms Settings for the '.GLM_MEMBERS_PLUGIN_NAME.' plugin have been updated.', 'AdminNotice'); + + break; + + // Default is to get the current settings and display the form + default: + + // Try to get the first (should be only) entry for general settings. +// $termsSettings = $this->editEntry($id); + + // Check that we actually have the terms + if ($termsSettings === false) { + + if (GLM_MEMBERS_PLUGIN_ADMIN_DEBUG) { + glmMembersAdmin::addNotice("/modesl/admin/settings/terms.php: Unable to load Terms Settings.", 'Alert'); + } + + return array( + 'status' => false, + 'menuItemRedirect' => 'error', + 'modelRedirect' => 'index', + 'view' => 'admin/error/index.html', + 'data' => array( + 'reason' => 'Unable to create terms settings entry in database.' + ) + ); + } + + break; + + } + + // Compile template data + $templateData = array( + 'reason' => '', + 'termSettings' => $termsSettings, +// 'canEdit' => $canEdit + ); + // Return status, suggested view, and data to controller + return array( + 'status' => true, + 'menuItemRedirect' => false, + 'modelRedirect' => false, + 'view' => 'admin/management/regterms.html', + 'data' => $templateData + ); + + } + +} + +?> \ No newline at end of file diff --git a/models/admin/management/terms.php b/models/admin/management/terms.php deleted file mode 100644 index e69de29..0000000 diff --git a/setup/validActions.php b/setup/validActions.php index 0525d8e..e4f1020 100644 --- a/setup/validActions.php +++ b/setup/validActions.php @@ -64,7 +64,9 @@ $glmMembersRegistrationsAddOnValidActions = array( 'list' => GLM_MEMBERS_REGISTRATIONS_PLUGIN_SLUG, ), 'management' => array( - 'registrations' => GLM_MEMBERS_REGISTRATIONS_PLUGIN_SLUG + 'registrations' => GLM_MEMBERS_REGISTRATIONS_PLUGIN_SLUG, + 'general' => GLM_MEMBERS_REGISTRATIONS_PLUGIN_SLUG, + 'regterms' => GLM_MEMBERS_REGISTRATIONS_PLUGIN_SLUG ), ), 'frontActions' => array( diff --git a/views/admin/management/header.html b/views/admin/management/header.html index f8ac0d9..84f6558 100644 --- a/views/admin/management/header.html +++ b/views/admin/management/header.html @@ -11,5 +11,5 @@ class="glm-settings-tab nav-tab{if $option=='terms' }{/if}"> Terms - + cool \ No newline at end of file diff --git a/views/admin/management/regterms.html b/views/admin/management/regterms.html new file mode 100644 index 0000000..a7721c9 --- /dev/null +++ b/views/admin/management/regterms.html @@ -0,0 +1,378 @@ +{include file='admin/management/header.html'} + +

NOTE: Some of these terms have not yet been integrated into the site templates.

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Admin Menu and Tab Names

Members Menu: + + {if $termSettings.fieldFail.reg_term_registrations_name}

{$termSettings.fieldFail.reg_term_registrations_name}

{/if} +
Members Menu Tabs: + + + + + + + + + + + + + +
Main Dashboard: + + {if $termSettings.fieldFail.reg_term_registration}

{$termSettings.fieldFail.reg_term_registration}

{/if} +
Member List: + + {if $termSettings.fieldFail.reg_term_registration_cap}

{$termSettings.fieldFail.reg_term_registration_cap}

{/if} +
Reports: + + {if $termSettings.fieldFail.reg_term_registration_plur}

{$termSettings.fieldFail.reg_term_registration_plur}

{/if} +
+
Member Menu: + + {if $termSettings.fieldFail.reg_term_registration_plur_cap}

{$termSettings.fieldFail.reg_term_registration_plur_cap}

{/if} +
Member Menu Tabs: + + + + + + + + + + + + + + + + + + + + + + + + + +
Member Dashboard: + + {if $termSettings.fieldFail.reg_term_register}

{$termSettings.fieldFail.reg_term_register}

{/if} +
Member Info: + + {if $termSettings.fieldFail.reg_term_register_cap}

{$termSettings.fieldFail.reg_term_register_cap}

{/if} +
Locations: + + {if $termSettings.fieldFail.reg_term_registers}

{$termSettings.fieldFail.reg_term_registers}

{/if} +
Facilities: + + {if $termSettings.fieldFail.reg_term_registering}

{$termSettings.fieldFail.reg_term_registering}

{/if} +
Attractions: + + {if $termSettings.fieldFail.reg_term_registering_cap}

{$termSettings.fieldFail.reg_term_registering_cap}

{/if} +
Contacts: + + {if $termSettings.fieldFail.reg_term_registered}

{$termSettings.fieldFail.reg_term_registered}

{/if} +
+
Configure Menu: + + {if $termSettings.fieldFail.reg_term_registered_cap}

{$termSettings.fieldFail.reg_term_registered_cap}

{/if} +
Configure Menu Tabs: + + + + + + + + + + + + + + + + + + + + + + + + + +
Member Types: + + {if $termSettings.fieldFail.reg_term_attendee}

{$termSettings.fieldFail.reg_term_attendee}

{/if} +
Member Categories: + + {if $termSettings.fieldFail.reg_term_attendee_cap}

{$termSettings.fieldFail.reg_term_attendee_cap}

{/if} +
Accommodation Types: + + {if $termSettings.fieldFail.reg_term_attendee_plur}

{$termSettings.fieldFail.reg_term_attendee_plur}

{/if} +
Amenities: + + {if $termSettings.fieldFail.reg_term_attendee_plur_cap}

{$termSettings.fieldFail.reg_term_attendee_plur_cap}

{/if} +
Cities: + + {if $termSettings.fieldFail.reg_term_attending}

{$termSettings.fieldFail.reg_term_attending}

{/if} +
Regions: + + {if $termSettings.fieldFail.reg_term_attended}

{$termSettings.fieldFail.reg_term_attended}

{/if} +
+
Settings Menu: + + {if $termSettings.fieldFail.term_admin_menu_settings}

{$termSettings.fieldFail.term_admin_menu_settings}

{/if} +
Settings Menu Tabs: + + + + + + + + + + + + + +
General Settings: + + {if $termSettings.fieldFail.reg_term_registered_user}

{$termSettings.fieldFail.reg_term_registered_user}

{/if} +
Terms & Phrases: + + {if $termSettings.fieldFail.reg_term_registered_user_cap}

{$termSettings.fieldFail.reg_term_registered_user_cap}

{/if} +
Development: + + {if $termSettings.fieldFail.reg_term_registered_user_plur}

{$termSettings.fieldFail.reg_term_registered_user_plur}

{/if} +
+
Shortcodes Menu: + + {if $termSettings.fieldFail.reg_term_registered_user_plur_cap}

{$termSettings.fieldFail.reg_term_registered_user_plur_cap}

{/if} +

Terms

ID: + + + + + + + + + + + + + + + + + +
Normal: + + {if $termSettings.fieldFail.reg_term_id}

{$termSettings.fieldFail.reg_term_id}

{/if} +
Capitalized: + + {if $termSettings.fieldFail.reg_term_id_cap}

{$termSettings.fieldFail.reg_term_id_cap}

{/if} +
Plural: + + {if $termSettings.fieldFail.reg_term_id_plur}

{$termSettings.fieldFail.reg_term_id_plur}

{/if} +
Plural Capitalized: + + {if $termSettings.fieldFail.reg_term_id_plur_cap}

{$termSettings.fieldFail.reg_term_id_plur_cap}

{/if} +
+
Password: + + + + + + + + + + + + + + + + + +
Normal: + + {if $termSettings.fieldFail.reg_term_password}

{$termSettings.fieldFail.reg_term_password}

{/if} +
Capitalized: + + {if $termSettings.fieldFail.reg_term_password_cap}

{$termSettings.fieldFail.reg_term_password_cap}

{/if} +
Plural: + + {if $termSettings.fieldFail.reg_term_password_plur}

{$termSettings.fieldFail.reg_term_password_plur}

{/if} +
Plural Capitalized: + + {if $termSettings.fieldFail.reg_term_password_plur_cap}

{$termSettings.fieldFail.reg_term_password_plur_cap}

{/if} +
+
Instructor: + + + + + + + + + + + + + + + + + +
Normal: + + {if $termSettings.fieldFail.reg_term_instructor}

{$termSettings.fieldFail.reg_term_instructor}

{/if} +
Capitalized: + + {if $termSettings.fieldFail.reg_term_instructor_cap}

{$termSettings.fieldFail.reg_term_instructor_cap}

{/if} +
Plural: + + {if $termSettings.fieldFail.reg_term_instructor_plur}

{$termSettings.fieldFail.reg_term_instructor_plur}

{/if} +
Plural Capitalized: + + {if $termSettings.fieldFail.reg_term_instructor_plur_cap}

{$termSettings.fieldFail.reg_term_instructor_plur_cap}

{/if} +
+
Payment Code: + + + + + + + + + + + + + + + + + + + + + +
Normal: + + {if $termSettings.fieldFail.reg_term_payment_code}

{$termSettings.fieldFail.reg_term_payment_code}

{/if} +
Capitalized: + + {if $termSettings.fieldFail.reg_term_payment_code_cap}

{$termSettings.fieldFail.reg_term_payment_code_cap}

{/if} +
Plural: + + {if $termSettings.fieldFail.term_attraction_plur}

{$termSettings.fieldFail.term_attraction_plur}

{/if} +
Plural: + + {if $termSettings.fieldFail.reg_term_payment_code_plur}

{$termSettings.fieldFail.reg_term_payment_code_plur}

{/if} +
Plural Capitalized: + + {if $termSettings.fieldFail.reg_term_payment_code_plur_cap}

{$termSettings.fieldFail.reg_term_payment_code_plur_cap}

{/if} +
+
Contact: + + + + + + + + + + +
Capitalized: + + {if $termSettings.fieldFail.reg_term_registration_button}

{$termSettings.fieldFail.reg_term_registration_button}

{/if} +
Plural: + + {if $termSettings.fieldFail.reg_term_contact_information}

{$termSettings.fieldFail.reg_term_contact_information}

{/if} +
+
+ +
+{include file='admin/footer.html'} -- 2.17.1