From: Steve Sutton Date: Fri, 26 Aug 2016 16:58:39 +0000 (-0400) Subject: Setup of member only dashboard. X-Git-Tag: v2.7.0^2~1^2~24 X-Git-Url: http://cvs2.gaslightmedia.com/gitweb/?a=commitdiff_plain;h=588121043218a1cd41bd43fecc9ae31da321f811;p=WP-Plugins%2Fglm-member-db.git Setup of member only dashboard. Adding widget for the member only dashboard. Apply Filter setup in main template for member dashboard so AddOns can add their dashboard widgets. --- diff --git a/models/admin/dashboard/index.php b/models/admin/dashboard/index.php new file mode 100644 index 00000000..a4e53a8c --- /dev/null +++ b/models/admin/dashboard/index.php @@ -0,0 +1,119 @@ + + * @license http://www.gaslightmedia.com Gaslightmedia + * @version 0.1 + */ + +require_once GLM_MEMBERS_PLUGIN_CLASS_PATH.'/data/dataMembers.php'; + +/** + * Dashboard Class Model + * + * Each Add-On can have one or more dashboards. + */ + +class GlmMembersAdmin_dashboard_index extends GlmDataMembers +{ + /** + * Word Press 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 successful 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 controller 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) + { + + $success = true; + + // Compile template data + $templateData = array( + 'sampletext' => 'This is a sample text.' + ); + + // Return status, suggested view, and data to controller + return array( + 'status' => $success, + 'menuItemRedirect' => false, + 'modelRedirect' => false, + 'view' => 'admin/dashboard/index.html', + 'data' => $templateData + ); + + } + +} diff --git a/models/admin/dashboardWidget/index.php b/models/admin/dashboardWidget/index.php index e8087564..26dca6b6 100644 --- a/models/admin/dashboardWidget/index.php +++ b/models/admin/dashboardWidget/index.php @@ -64,7 +64,7 @@ class GlmMembersAdmin_dashboardWidget_index extends GlmDataMembers */ public $config; - /* + /** * Constructor * * This contructor sets up this model. At this time that only includes @@ -87,7 +87,7 @@ class GlmMembersAdmin_dashboardWidget_index extends GlmDataMembers } - /* + /** * Perform Model Action * * This method does the work for this model and returns any resulting data @@ -208,4 +208,4 @@ class GlmMembersAdmin_dashboardWidget_index extends GlmDataMembers } -?> \ No newline at end of file +?> diff --git a/npm-debug.log b/npm-debug.log deleted file mode 100644 index 36fb5ea0..00000000 --- a/npm-debug.log +++ /dev/null @@ -1,17 +0,0 @@ -0 info it worked if it ends with ok -1 verbose cli [ '/usr/bin/nodejs', '/usr/bin/npm', 'install' ] -2 info using npm@1.4.21 -3 info using node@v0.10.25 -4 error install Couldn't read dependencies -5 error package.json ENOENT, open '/home/laury/dev55/explorewesternup.gaslightmedia.com/web/wp-content/plugins/glm-member-db/package.json' -5 error package.json This is most likely not a problem with npm itself. -5 error package.json npm can't find a package.json file in your current directory. -6 error System Linux 3.19.0-42-generic -7 error command "/usr/bin/nodejs" "/usr/bin/npm" "install" -8 error cwd /home/laury/dev55/explorewesternup.gaslightmedia.com/web/wp-content/plugins/glm-member-db -9 error node -v v0.10.25 -10 error npm -v 1.4.21 -11 error path /home/laury/dev55/explorewesternup.gaslightmedia.com/web/wp-content/plugins/glm-member-db/package.json -12 error code ENOPACKAGEJSON -13 error errno 34 -14 verbose exit [ 34, true ] diff --git a/setup/adminHooks.php b/setup/adminHooks.php index 2200cb24..65729d8e 100644 --- a/setup/adminHooks.php +++ b/setup/adminHooks.php @@ -121,6 +121,10 @@ add_action( 'add_meta_boxes', function() { // )); // } //} - - -?> +add_filter( + 'glm-member-db-dashboard-member-widgets', + function ( $content = null ) { + $content .= $this->controller( 'dashboard', 'index' ); + return $content; + } +); diff --git a/setup/validActions.php b/setup/validActions.php index 1e412c7e..e217c232 100644 --- a/setup/validActions.php +++ b/setup/validActions.php @@ -33,66 +33,67 @@ $glmMembersValidActions = array( 'adminActions' => array( 'ajax' => array( - 'imageUpload' => 'glm-member-db', - 'newOldMemberIdsCsv' => 'glm-member-db', - 'membersListExport' => 'glm-member-db', - 'memberClickThrough' => 'glm-member-db', - 'memberDetailClick' => 'glm-member-db', - 'memberGraphs' => 'glm-member-db' + 'imageUpload' => 'glm-member-db', + 'newOldMemberIdsCsv' => 'glm-member-db', + 'membersListExport' => 'glm-member-db', + 'memberClickThrough' => 'glm-member-db', + 'memberDetailClick' => 'glm-member-db', + 'memberGraphs' => 'glm-member-db', + ), + 'dashboard' => array( + 'index' => 'glm-member-db', ), 'dashboardWidget' => array( - 'index' => 'glm-member-db' + 'index' => 'glm-member-db', ), 'members' => array( - 'index' => 'glm-member-db', // member list - 'list' => 'glm-member-db', - 'reports' => 'glm-member-db', - 'other' => 'glm-member-db' + 'index' => 'glm-member-db', // member list + 'list' => 'glm-member-db', + 'reports' => 'glm-member-db', + 'other' => 'glm-member-db', ), 'member' => array( - 'index' => 'glm-member-db', // Member Dashboard - 'memberInfo' => 'glm-member-db', - 'memberEdit' => 'glm-member-db', - 'locations' => 'glm-member-db', + 'index' => 'glm-member-db', // Member Dashboard + 'memberInfo' => 'glm-member-db', + 'memberEdit' => 'glm-member-db', + 'locations' => 'glm-member-db', ), 'settings' => array( - 'index' => 'glm-member-db', // Member Types - 'categories' => 'glm-member-db', - 'cities' => 'glm-member-db', - 'regions' => 'glm-member-db', - 'amenities' => 'glm-member-db' + 'index' => 'glm-member-db', // Member Types + 'categories' => 'glm-member-db', + 'cities' => 'glm-member-db', + 'regions' => 'glm-member-db', + 'amenities' => 'glm-member-db', ), 'management' => array( - 'index' => 'glm-member-db', // General Options + 'index' => 'glm-member-db', // General Options 'terms' => 'glm-member-db', 'development' => 'glm-member-db', 'videos' => 'glm-member-db', 'theme' => 'glm-member-db', 'import' => 'glm-member-db', 'addons' => 'glm-member-db', - 'hooks' => 'glm-member-db' + 'hooks' => 'glm-member-db', ), 'shortcodes' => array( - 'index' => 'glm-member-db' + 'index' => 'glm-member-db', ), 'error' => array( - 'index' => 'glm-member-db', - 'badAction' => 'glm-member-db', + 'index' => 'glm-member-db', + 'badAction' => 'glm-member-db', ), 'pages' => array( - 'shortcode' => 'glm-member-db' - ) + 'shortcode' => 'glm-member-db', + ), ), 'frontActions' => array( 'members' => array( - 'list' => 'glm-member-db', - 'detail' => 'glm-member-db' + 'list' => 'glm-member-db', + 'detail' => 'glm-member-db', ), 'error' => array( - 'index' => 'glm-member-db', - 'badAction' => 'glm-member-db' - ) - ) + 'index' => 'glm-member-db', + 'badAction' => 'glm-member-db', + ), + ), ); - -?> diff --git a/views/admin/dashboard/index.html b/views/admin/dashboard/index.html new file mode 100644 index 00000000..b15118b8 --- /dev/null +++ b/views/admin/dashboard/index.html @@ -0,0 +1,18 @@ +
+
+
+
+
+ +

+ Member Profile +

+

{$sampletext}

+
+
+
+
+
diff --git a/views/admin/member/index.html b/views/admin/member/index.html index 14a04260..bf1e7fba 100644 --- a/views/admin/member/index.html +++ b/views/admin/member/index.html @@ -14,27 +14,14 @@ - - - - -
{$terms.term_member_cap} Slug:{$member.fieldData.member_slug}
Date created:{$member.fieldData.created.date}
URL CLick Counts Today: {$clickThroughCounts.day}   
- + - - - - - - - - @@ -42,18 +29,18 @@
{$terms.term_member_cap} Display & Access:{$member.fieldData.access.name}
{$terms.term_member_cap} Type:{$member.fieldData.member_type.name}
Detail Page View Counts Today: {$detailViewCounts.day}   
-{if apply_filters('glm_members_menu_members', true)} +{if apply_filters('glm_members_menu_members', true)} Edit {$terms.term_member_cap} Name and Status {/if} - + {else}

No {$terms.term_member} information available.

{/if} - + - +
@@ -94,71 +81,13 @@

 

- {if $haveMember} +{if $widgets = apply_filters('glm-member-db-dashboard-member-widgets', '')} + {$widgets} +{/if} - {if apply_filters('glm_members_permit_admin_member_index_view_member_info_version', true)} - {if apply_filters('glm_members_permit_admin_member_index_add_member_info_version', true)} - {/if} -
-

-

{$terms.term_member_cap} Profile Versions

- -

- Show archived information   - Add New {$terms.term_member_cap} Information Version -

-
-

- - - - - - - - - - - - - - {if $haveInfoRecords} - {assign var="i" value="0"} - {foreach $memberInfoRecords as $m} - - {if $m.status.value == $statusTypeNumbers.Active || apply_filters('glm_members_permit_admin_member_index_list_inactive_info', true)} - {if $i++ is odd by 1} - - {else} - - {/if} - - - - - - - - - {/if} - {/foreach} - {else} - - {/if} - -
StatusReference NameCreatedLast Update
- {$m.status.name} - {$m.reference_name}{$m.create_time.datetime}{$m.modify_time.datetime} - {if $m.bad_lat_lon}Bad Map Location{/if} - {if apply_filters('glm_members_permit_admin_member_index_clone_activate_info_version', true)} - Clone  - {if $m.status.name != 'Active'}Activate{/if} - {/if} -
Click here to start entering information for this {$terms.term_member}.
- {/if} - {/if} +

 

- {else} + {else}

You do not have any {$terms.term_member_cap} Types setup.

You must have at least one {$terms.term_member_cap} Type to add a new {$terms.term_member}.

Click here to add {$terms.term_member_cap} Types. @@ -205,16 +134,16 @@ $('#showArchived').click( function() { checked = 'false'; if ($(this).attr('checked') == 'checked') { - checked = 'true'; + checked = 'true'; } - window.location.replace("{$thisUrl}?page={$thisPage}&glm_action=index&member={$memberID}&showArchived=" + checked); + window.location.replace("{$thisUrl}?page={$thisPage}&glm_action=index&member={$memberID}&showArchived=" + checked); }); - // Flash certain elements for a short time after display + // Flash certain elements for a short time after display $(".glm-flash-updated").fadeOut(500).fadeIn(500).fadeOut(500).fadeIn(500).fadeOut(500).fadeIn(500).fadeOut(500).fadeIn(500).fadeOut(500).fadeIn(500).fadeOut(500); }); - + {include file='admin/footer.html'}