From: Laury GvR Date: Thu, 27 Dec 2018 15:18:23 +0000 (-0500) Subject: Merge branch 'develop' into feature/adminRevamp X-Git-Url: http://cvs2.gaslightmedia.com/gitweb/?a=commitdiff_plain;h=0f13b4a8303d991dc7b1f8aed263a9763da7a6d1;p=WP-Plugins%2Fglm-member-db.git Merge branch 'develop' into feature/adminRevamp --- 0f13b4a8303d991dc7b1f8aed263a9763da7a6d1 diff --cc setup/adminHooks.php index ecce8795,825f15df..fea2f14e --- a/setup/adminHooks.php +++ b/setup/adminHooks.php @@@ -399,184 -398,3 +399,184 @@@ function glm_admin_import_help_tab () __( 'Help Guide' ) . '

' ); } + +// If no session then start one. +add_action( 'init', function(){ + if ( ! session_id() ) { + session_start(); + } +}); + +add_filter( + GLM_MEMBERS_PLUGIN_SLUG .'-dashboard-widget', + function ( $member = null ) { + $membersIndexPage = GLM_MEMBERS_PLUGIN_ADMIN_URL . '?page=glm-members-admin-menu-members'; + $memberIndexPage = GLM_MEMBERS_PLUGIN_ADMIN_URL . '?page=glm-members-admin-menu-member'; + $membersTable = GLM_MEMBERS_PLUGIN_DB_PREFIX . "member_info"; + $membersTextTable = GLM_MEMBERS_PLUGIN_DB_PREFIX . "members"; + $membersEditPage = GLM_MEMBERS_PLUGIN_ADMIN_MENU_URL_BASE.'member&glm_action=memberInfo'; + $membersSettingsPage = GLM_MEMBERS_PLUGIN_ADMIN_URL.'?page=glm-members-admin-menu-settings&settingsPage=members'; + $membersRefLink = GLM_MEMBERS_PLUGIN_ADMIN_URL . '?page=glm-members-admin-menu-member&glm_action=index'; + + $MemberInfo = new GlmDataMemberInfo($this->wpdb, $this->config); + + // Set default values for using getList() later, where the custom set of fields below will be used. + $where = ''; + $order = ''; + $fieldVals = true; + $idField = 'id'; + $start = false; + $limit = false; + + // Save the current fields array and make a copy. Will be restored before the return. + $fSave = $MemberInfo->fields; + + // echo "
fsave: " . var_dump($fSave) . "

"; + + // Remove what we don't want from the copy and get the list + $MemberInfo->fields = array( + 'id' => $fSave['id'], + 'reference_name'=> $fSave['reference_name'], + 'status' => $fSave['status'], + 'member_pointer'=> $fSave['member_pointer'], + 'member' => $fSave['member'], + //'ref_type' => 'ref_type', // membersInfo has no ref_type field yet + ); + + // echo "
MemberInfo: " . var_dump($MemberInfo->fields) . "

"; + + // $widgetResult = $MemberInfo->getList('status='.$MemberInfo->config['status_numb']['Pending'], $order, $fieldVals, $idField, $start, $limit); + + // echo "
Widgetresult: " . var_dump($widgetResult) . "

"; + + /* + * For list components: pass ref_type and ref_dest as part of the 'fields' string if you want to + * make these options part of the href of each
  • link + * + */ + + $content = [ + 'title' => 'Members', + 'widgetButtons' => [ + [ + 'id' => 'add-member', + 'content' => 'Add', + 'url' => $memberIndexPage . "&glm_action=memberEdit&option=add", + 'classes' => '', + 'styles' => '', + 'data' => '' + ], + [ + 'id' => 'export-button', + 'content' => 'Export', + 'url' => '#', + 'classes' => 'btn-small widget-export-btn waves-effect waves-light btn modal-trigger', + 'styles' => '', + 'data' => 'membersExportModal' + ], + ], + 'components' => [ + [ + 'id' => 'quickLinks', + 'order' => -1, + 'template' => 'quickLinks', + 'quickLinks' => [ + 'dashboard' => [ + 'content' => 'Dashboard', + 'url' => $membersIndexPage . "&option=dashboard", + ], + 'search' => [ + 'content' => 'Advanced Search', + 'url' => $membersIndexPage . "&option=search", + ], + 'settings' => [ + 'content' => 'Settings', + 'url' => $membersSettingsPage, + ] + ], + ], + [ + 'id' => 'entityAmount', + 'title' => 'Number of ' . $this->config['terms']['term_member_plur_cap'], + 'order' => 1, + 'template' => 'entityAmount', + 'url' => $membersIndexPage . "&option=search", + 'result' => $MemberInfo->getStats(), + ], + [ + 'id' => 'membersExportModal', + 'template' => 'modal', + 'order' => 99, + 'form' => ''//$this->controller('export', 'index', false, true) + ], + [ + 'id' => 'textSearch', + 'order' => 2, + 'template' => 'textSearch', + 'entityID' => 'id', + 'table' => $membersTextTable, + 'fields' => "id, name", + 'where' => 'name', + 'resultUrl' => $memberIndexPage . "&glm_action=index&member=", + ], + [ + 'id' => 'pending-' . $this->config['terms']['term_member_cap'] . '-profiles', + 'title' => 'Pending ' . $this->config['terms']['term_member_cap'] . ' Profiles', + 'slug' => 'pending-' . $this->config['terms']['term_member'] . '-profiles', + 'order' => 3, + 'template' => 'list', + 'entityID' => 'memberInfo', + 'defaultRefType'=> 'member', + 'refLink' => $membersRefLink, + 'url' => $membersEditPage, + 'countUrl' => $membersIndexPage . '&glm_action=list&filterPending=true', + 'result' => $MemberInfo->getList('status='.$MemberInfo->config['status_numb']['Pending'], $order, $fieldVals, $idField, $start, $limit), + 'count' => $MemberInfo->getStats('status='.$MemberInfo->config['status_numb']['Pending']), + 'fieldMap' => [ + 'ID' => 'id', + 'name' => 'reference_name', + 'status' => 'status', + 'refDestID' => 'member_pointer', + 'refDestName' => 'member', + //'ref_type' => 'ref_type', // membersInfo has no ref_type field yet + ], + ], + [ + 'id' => 'bad-location-data', + 'title' => "Bad Location Data", + 'slug' => "bad-location-data", + 'order' => 4, + 'template' => 'list', + 'entityID' => 'memberInfo', + 'defaultRefType'=> 'member', + 'refLink' => $membersRefLink, + 'url' => $membersEditPage, + 'countUrl' => $membersIndexPage . '&glm_action=list&filterBadLocation=true', + 'result' => $MemberInfo->getList("has_no_map_data='1'", $order, $fieldVals, $idField, $start, $limit), + 'count' => $MemberInfo->getStats("has_no_map_data='1'"), + 'fieldMap' => [ + 'ID' => 'id', + 'name' => 'reference_name', + 'status' => 'status', + 'refDestID' => 'member_pointer', + 'refDestName' => 'member', + //'ref_type' => 'ref_type', // membersInfo has no ref_type field yet + ], + ], + ] + ]; + + // Restore the fields list + $MemberInfo->fields = $fSave; + + return $content; + }, + 13, + 1 +); +add_filter( + 'glm-member-db-admin-search', + function ( $data ) { + return $this->controller( 'manageDashboard', 'members', false, true, true); + } - ); ++);