From efbd9abdb74d086022fe48fec7f0c5108c90d52e Mon Sep 17 00:00:00 2001 From: Anthony Talarico Date: Mon, 12 Nov 2018 13:18:01 -0500 Subject: [PATCH] updating datase to include a point of interest category --- classes/data/dataMapSettings.php | 8 +- css/admin.min.css | 2 +- models/admin/ajax/mapSettingsAjax.php | 30 +++--- models/admin/settings/mapSettings.php | 23 +++-- sass/admin/_settings.scss | 13 ++- .../create_database_V0.0.1.sql | 3 +- views/admin/settings/mapSettings.html | 95 ++++++++++++------- 7 files changed, 112 insertions(+), 62 deletions(-) diff --git a/classes/data/dataMapSettings.php b/classes/data/dataMapSettings.php index 003e37d..2e359ac 100644 --- a/classes/data/dataMapSettings.php +++ b/classes/data/dataMapSettings.php @@ -152,7 +152,13 @@ class GlmDataMapSettings extends GlmDataAbstract 'required' => false, 'use' => 'a', ), - + 'category_id' => array( + 'field' => 'category_id', + 'type' => 'integer', + 'default' => '', + 'required' => false, + 'use' => 'a', + ), 'hover_color' => array( 'field' => 'hover_color', 'type' => 'text', diff --git a/css/admin.min.css b/css/admin.min.css index 65653f3..a871292 100644 --- a/css/admin.min.css +++ b/css/admin.min.css @@ -1 +1 @@ -#map-area-container{padding:10px}#map-area-container #new-area-section{max-width:800px;background-color:white}#map-area-container #new-area-section .input-container{margin-bottom:0;padding:0 10px 0 10px}#map-area-container #new-area-section .input-container input.area-name{margin:10px 10px 0 0px}#map-area-container #new-area-section .input-container input.area-name+label{top:15px !important}#map-area-container #new-area-section .map-page-selection .select-wrapper .dropdown-content.select-dropdown li:not(:first-child){line-height:1;min-height:20px}#map-area-container #new-area-section .map-page-selection .select-wrapper .dropdown-content.select-dropdown li:not(:first-child) span,#map-area-container #new-area-section .map-page-selection .select-wrapper .dropdown-content.select-dropdown li:not(:first-child) a{line-height:1;padding:2px 10px}#map-area-container #new-area-section .map-color-selection{margin-top:20px}#map-area-container #new-area-section .map-color-selection label{margin-left:15px;font-size:16px}#map-area-container #list-header{padding:5px;background-color:#003366;color:white}#map-area-container #list-header .area-header{color:inherit;max-width:555px}#map-area-container #area-list .record-container{margin-bottom:0px}#map-area-container #area-list .record-container .area-record{padding:5px;background-color:white;align-items:center}#map-area-container #area-list .record-container .area-record:hover{cursor:pointer;background-color:#f8f8f8}#map-area-container #area-list .record-container .area-record .area-record-delete:hover{cursor:pointer}#map-area-container #area-list .record-container:nth-child(even) .area-record{background-color:#E0F7F7}.area-buttons{padding-bottom:10px !important}.area-buttons #area-update{margin-top:10px;float:right;margin-left:10px}.area-buttons #area-reset{margin-top:10px;background-color:rgba(244,67,54,0.8);margin-bottom:10px;display:none}.edit-field{background-color:rgba(30,202,162,0.1) !important}.error-field{background-color:rgba(244,67,54,0.1) !important} +#map-area-container{padding:10px}#map-area-container #new-area-section{max-width:800px;background-color:white;position:relative}#map-area-container #new-area-section .input-container{margin-bottom:0;padding:0 10px 0 10px}#map-area-container #new-area-section .input-container input.area-name{margin:10px 10px 0 0px}#map-area-container #new-area-section .input-container input.area-name+label{top:15px !important}#map-area-container #new-area-section .map-page-selection,#map-area-container #new-area-section .map-interest-selection{margin-top:45px}#map-area-container #new-area-section .map-page-selection .select-wrapper .dropdown-content.select-dropdown li:not(:first-child),#map-area-container #new-area-section .map-interest-selection .select-wrapper .dropdown-content.select-dropdown li:not(:first-child){line-height:1;min-height:20px}#map-area-container #new-area-section .map-page-selection .select-wrapper .dropdown-content.select-dropdown li:not(:first-child) span,#map-area-container #new-area-section .map-page-selection .select-wrapper .dropdown-content.select-dropdown li:not(:first-child) a,#map-area-container #new-area-section .map-interest-selection .select-wrapper .dropdown-content.select-dropdown li:not(:first-child) span,#map-area-container #new-area-section .map-interest-selection .select-wrapper .dropdown-content.select-dropdown li:not(:first-child) a{line-height:1;padding:2px 10px}#map-area-container #new-area-section .map-color-selection{margin-top:0px}#map-area-container #new-area-section .map-color-selection label{margin-left:15px;font-size:16px}#map-area-container #list-header{padding:5px;background-color:#003366;color:white}#map-area-container #list-header .area-header{color:inherit;max-width:415px}#map-area-container #area-list .record-container{margin-bottom:0px}#map-area-container #area-list .record-container .area-record{padding:5px;background-color:white;align-items:center}#map-area-container #area-list .record-container .area-record:hover{cursor:pointer;background-color:#f8f8f8}#map-area-container #area-list .record-container .area-record .area-record-delete:hover{cursor:pointer}#map-area-container #area-list .record-container:nth-child(even) .area-record{background-color:#E0F7F7}.area-buttons{padding-bottom:10px !important;min-height:66px;max-width:500px;float:right}.area-buttons #area-update{margin-top:10px;float:right;margin-left:10px}.area-buttons #area-reset{margin-top:10px;background-color:rgba(244,67,54,0.8);margin-bottom:10px;display:none}.edit-field{background-color:rgba(30,202,162,0.1) !important}.error-field{background-color:rgba(244,67,54,0.1) !important} diff --git a/models/admin/ajax/mapSettingsAjax.php b/models/admin/ajax/mapSettingsAjax.php index ad95877..5a6020e 100644 --- a/models/admin/ajax/mapSettingsAjax.php +++ b/models/admin/ajax/mapSettingsAjax.php @@ -58,7 +58,7 @@ class GlmMembersAdmin_ajax_mapSettingsAjax extends GlmDataMapSettings } private function getAreas(){ - $sql = "SELECT * FROM " . GLM_MEMBERS_COUNTY_MAP_PLUGIN_DB_PREFIX . 'areas'; + $sql = "SELECT * FROM " . GLM_MEMBERS_COUNTY_MAP_PLUGIN_DB_PREFIX . 'areas ORDER BY area_name'; return $this->wpdb->get_results($sql); } function write_log ( $log ) { @@ -86,12 +86,10 @@ class GlmMembersAdmin_ajax_mapSettingsAjax extends GlmDataMapSettings { global $wpdb; $option = filter_var($_REQUEST['option'], FILTER_SANITIZE_STRING); - $numbObits = 0; - $namesList = false; - $areas = false; - $test = "start"; - $area_name = false; - $page_id = false; + $area_name = (isset($_REQUEST['area_name'] ) )? filter_var($_REQUEST['area_name'], FILTER_SANITIZE_STRING) : false; + $page_id = (isset($_REQUEST['page_id'])) ? filter_var($_REQUEST['page_id'], FILTER_SANITIZE_STRING) : 0; + $category_id = (isset($_REQUEST['category_id'])) ? filter_var($_REQUEST['category_id'], FILTER_SANITIZE_STRING) : 0; + $hover_color = (isset($_REQUEST['hover_color'])) ? filter_var($_REQUEST['hover_color'], FILTER_SANITIZE_URL) : "#003366"; // Check if an ID is supplied $id = 0; @@ -100,25 +98,25 @@ class GlmMembersAdmin_ajax_mapSettingsAjax extends GlmDataMapSettings } // If there's an action option if ( $option ) { - + switch( $option ) { case 'add': - $area_name = filter_var($_REQUEST['area_name'], FILTER_SANITIZE_STRING); - $page_id = (isset($_REQUEST['page_id'])) ? filter_var($_REQUEST['page_id'], FILTER_SANITIZE_STRING) : 0; - $hover_color = filter_var($_REQUEST['hover_color'], FILTER_SANITIZE_URL); + $this->wpdb->insert( GLM_MEMBERS_COUNTY_MAP_PLUGIN_DB_PREFIX . 'areas', array( 'area_name' => $area_name, 'page_id' => $page_id, 'hover_color' => $hover_color, + 'category_id' => $category_id, ), array( '%s', '%d', - '%s' + '%s', + '%d' ) ); $areas = $this->getAreas(); @@ -126,20 +124,18 @@ class GlmMembersAdmin_ajax_mapSettingsAjax extends GlmDataMapSettings case 'update': if ( $id > 0 ) { - $test = $id; - $area_name = filter_var($_REQUEST['area_name'], FILTER_SANITIZE_STRING); - $page_id = (isset($_REQUEST['page_id'])) ? filter_var($_REQUEST['page_id'], FILTER_SANITIZE_STRING) : 0; - $hover_color = filter_var($_REQUEST['hover_color'], FILTER_SANITIZE_URL); $this->wpdb->update( GLM_MEMBERS_COUNTY_MAP_PLUGIN_DB_PREFIX . 'areas', array( 'area_name' => $area_name, + 'page_id' => $page_id, 'hover_color' => $hover_color, - 'page_id' => $page_id + 'category_id' => $category_id ), array( 'id' => $id ), array( '%s', + '%d', '%s', '%d' ), diff --git a/models/admin/settings/mapSettings.php b/models/admin/settings/mapSettings.php index 7f1a414..eda3322 100644 --- a/models/admin/settings/mapSettings.php +++ b/models/admin/settings/mapSettings.php @@ -14,6 +14,7 @@ // Load Map Settings data abstract require_once GLM_MEMBERS_COUNTY_MAP_PLUGIN_CLASS_PATH.'/data/dataMapSettings.php'; +require_once GLM_MEMBERS_PLUGIN_CLASS_PATH.'/data/dataCategories.php'; /* * This class performs the work for the default action of the "Members" menu * option, which is to display the members dashboard. @@ -106,6 +107,12 @@ class GlmMembersAdmin_settings_mapSettings extends GlmDataMapSettings ), GLM_MEMBERS_PLUGIN_VERSION ); + + wp_enqueue_script('materialize', false, array('jquery'), false, true); + wp_enqueue_style('materialize-css', GLM_MEMBERS_PLUGIN_URL . 'css/materialize.min.css'); + wp_enqueue_style('admin-css', GLM_MEMBERS_COUNTY_MAP_PLUGIN_URL . 'css/admin.min.css'); + wp_enqueue_style('css-icons', "https://fonts.googleapis.com/icon?family=Material+Icons"); + $args = array( 'sort_order' => 'asc', 'sort_column' => 'post_title', @@ -113,18 +120,22 @@ class GlmMembersAdmin_settings_mapSettings extends GlmDataMapSettings 'post_type' => 'page', 'post_status' => 'publish' ); + $results = get_pages($args); foreach($results as $page){ $pages[$page->ID] = $page->post_title; } - wp_enqueue_script('materialize', false, array('jquery'), false, true); - wp_enqueue_style('materialize-css', GLM_MEMBERS_PLUGIN_URL . 'css/materialize.min.css'); - wp_enqueue_style('admin-css', GLM_MEMBERS_COUNTY_MAP_PLUGIN_URL . 'css/admin.min.css'); - wp_enqueue_style('css-icons', "https://fonts.googleapis.com/icon?family=Material+Icons"); - + + $categories = new GlmDataCategories($this->wpdb, $this->config); + $categories = $categories->getListSortedParentChild(); + foreach($categories as $category){ + $cats[$category['id']] = $category['name']; + } + // Compile template data $templateData = array( - 'pages' => $pages + 'pages' => $pages, + 'categories' => $cats ); // Return status, suggested view, and data to controller diff --git a/sass/admin/_settings.scss b/sass/admin/_settings.scss index d90904c..e7780ca 100644 --- a/sass/admin/_settings.scss +++ b/sass/admin/_settings.scss @@ -3,6 +3,7 @@ #new-area-section{ max-width: 800px; background-color: white; + position:relative; .input-container{ margin-bottom: 0; padding: 0 10px 0 10px; @@ -13,7 +14,8 @@ top: 15px !important; } } - .map-page-selection{ + .map-page-selection,.map-interest-selection{ + margin-top: 45px; .select-wrapper{ .dropdown-content.select-dropdown{ li:not(:first-child){ @@ -28,12 +30,13 @@ } } .map-color-selection{ - margin-top: 20px; + margin-top: 0px; label{ margin-left: 15px; font-size: 16px; } } + } #list-header{ padding: 5px; @@ -41,7 +44,7 @@ color: white; .area-header{ color: inherit; - max-width: 555px; + max-width: 415px; } } #area-list{ @@ -72,8 +75,12 @@ } } } + .area-buttons{ padding-bottom: 10px !important; + min-height: 66px; + max-width: 500px; + float: right; #area-update{ margin-top: 10px; float: right; diff --git a/setup/databaseScripts/create_database_V0.0.1.sql b/setup/databaseScripts/create_database_V0.0.1.sql index cb02a96..e2688ac 100644 --- a/setup/databaseScripts/create_database_V0.0.1.sql +++ b/setup/databaseScripts/create_database_V0.0.1.sql @@ -19,6 +19,7 @@ CREATE TABLE {prefix}areas ( lat FLOAT NOT NULL DEFAULT 0, lng FLOAT NOT NULL DEFAULT 0, page_id SMALLINT NOT NULL DEFAULT 0, - hover_color TINYTEXT NOT NULL, + hover_color TINYTEXT NOT NULL, + category_id SMALLINT NOT NULL DEFAULT 0, PRIMARY KEY (id) ); \ No newline at end of file diff --git a/views/admin/settings/mapSettings.html b/views/admin/settings/mapSettings.html index d4dd760..5b4086e 100644 --- a/views/admin/settings/mapSettings.html +++ b/views/admin/settings/mapSettings.html @@ -2,19 +2,23 @@
Map Areas
-
+
+ + +
+
-
+
Required
- +
-
- {foreach $pages as $id=>$name} @@ -25,34 +29,47 @@
+ +
+
-
+
-
-
-
- - +
+
+
+ +
+
+
-
Area Name
-
Attached Page
-
Hover Color
-
+
Area Name
+
Attached Page
+
Points of Interest
+
Hover Color
+
\ No newline at end of file -- 2.17.1