11,
1
);
+add_filter(
+ GLM_MEMBERS_LEADS_PLUGIN_SLUG .'-dashboard-widget',
+ function ( $member = null ) {
+ require_once GLM_MEMBERS_LEADS_PLUGIN_CLASS_PATH.'/data/dataLeads.php';
+ $Leads = new GlmDataLeads($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 = $Events->fields;
+
+ // Remove what we don't want from the copy and get the list
+ $Events->fields = array(
+ 'id' => $fSave['id'],
+ 'name' => $fSave['name'],
+ 'name_slug' => $fSave['name_slug'],
+ 'ref_type' => $fSave['ref_type'],
+ 'ref_dest' => $fSave['ref_dest'],
+ 'ref_dest_id' => $fSave['ref_dest_id'],
+ 'status' => $fSave['status'],
+ );
+
+ $leadsIndexPage = GLM_MEMBERS_LEADS_PLUGIN_ADMIN_URL . '?page=glm-members-admin-menu-leads-index&glm_action=edit';
+ $leadsTable = GLM_MEMBERS_LEADS_PLUGIN_DB_PREFIX . "leads";
+ $leadsEditPage = GLM_MEMBERS_PLUGIN_ADMIN_MENU_URL_BASE.'leads-index&glm_action=list&option=edit';
+ $leadsListPage = GLM_MEMBERS_LEADS_PLUGIN_ADMIN_URL . '?page=glm-members-admin-menu-leads-list';
+ $leadsRefLink = GLM_MEMBERS_LEADS_PLUGIN_ADMIN_URL . '?page=glm-members-admin-menu-member&glm_action=index';
+ $content = [
+ 'title' => 'Leads',
+ 'components' => [
+ [
+ 'id' => 'quickLinks',
+ 'order' => -1,
+ 'template' => 'quickLinks',
+ 'quickLinks' => [
+ 'dashboard' => [
+ 'content' => 'Dashboard',
+ 'url' => $leadsIndexPage . "&option=dashboard",
+ ],
+ 'search' => [
+ 'content' => 'Advanced Search',
+ 'url' => $leadsIndexPage . "&option=search",
+ ],
+ 'settings' => [
+ 'content' => 'Settings',
+ 'url' => '#set',
+ ]
+ ],
+ ],
+ [
+ 'id' => 'topButtons',
+ 'order' => 0,
+ 'template' => 'buttons',
+ 'buttons' => [
+ 'add-event' => [
+ 'content' => 'Add',
+ 'url' => $leadsIndexPage . "&option=create",
+ 'classes' => '',
+ 'styles' => '',
+ 'data' => ''
+ ],
+ 'export-button' => [
+ 'content' => 'Export',
+ 'url' => '#',
+ 'classes' => 'btn-small widget-export-btn waves-effect waves-light btn modal-trigger',
+ 'styles' => '',
+ 'data' => 'leads'
+ ],
+ ],
+ ],
+ [
+ 'id' => 'entityAmount',
+ 'title' => 'Number of Leads',
+ 'order' => 1,
+ 'template' => 'entityAmount',
+ 'url' => $leadsIndexPage . "&option=search",
+ 'result' => $Leads->getStats()
+ ],
+ [
+ 'id' => 'textSearch',
+ 'order' => 2,
+ 'template' => 'textSearch',
+ 'entityID' => 'event',
+ 'table' => $leadsTable,
+ 'fields' => 'concat(fname," ",lname) as name,id,image,ref_dest',
+ 'resultUrl' => $leadsEditPage.'&lead=',
+ 'where' => 'concat(fname," ",lname)'
+ ],
+ ]
+ ];
+
+ // Restore the fields list
+ $Events->fields = $fSave;
+
+ return $content;
+ },
+ 13,
+ 1
+);