Overview

Classes

  • Quform
  • Quform_Admin_InsertForm
  • Quform_Admin_Page
  • Quform_Admin_Page_Controller
  • Quform_Admin_Page_Dashboard
  • Quform_Admin_Page_Entries
  • Quform_Admin_Page_Entries_Edit
  • Quform_Admin_Page_Entries_List
  • Quform_Admin_Page_Entries_View
  • Quform_Admin_Page_Factory
  • Quform_Admin_Page_Forms_Add
  • Quform_Admin_Page_Forms_Edit
  • Quform_Admin_Page_Forms_List
  • Quform_Admin_Page_Help
  • Quform_Admin_Page_Preview
  • Quform_Admin_Page_Settings
  • Quform_Admin_Page_Tools
  • Quform_Admin_Page_Tools_ExportEntries
  • Quform_Admin_Page_Tools_ExportForm
  • Quform_Admin_Page_Tools_Home
  • Quform_Admin_Page_Tools_ImportForm
  • Quform_Admin_Page_Tools_Migrate
  • Quform_Admin_Page_Tools_Uninstall
  • Quform_Api
  • Quform_Block
  • Quform_Builder
  • Quform_Captcha
  • Quform_ClassLoader
  • Quform_Confirmation
  • Quform_Container
  • Quform_Dashboard_Widget
  • Quform_Dispatcher
  • Quform_Element
  • Quform_Element_Captcha
  • Quform_Element_Checkbox
  • Quform_Element_Column
  • Quform_Element_Container
  • Quform_Element_Container_Iterator
  • Quform_Element_Date
  • Quform_Element_Email
  • Quform_Element_Factory
  • Quform_Element_Field
  • Quform_Element_File
  • Quform_Element_Group
  • Quform_Element_Hidden
  • Quform_Element_Honeypot
  • Quform_Element_Html
  • Quform_Element_Multi
  • Quform_Element_Multiselect
  • Quform_Element_Name
  • Quform_Element_Page
  • Quform_Element_Password
  • Quform_Element_Radio
  • Quform_Element_Recaptcha
  • Quform_Element_Row
  • Quform_Element_Select
  • Quform_Element_Submit
  • Quform_Element_Text
  • Quform_Element_Textarea
  • Quform_Element_Time
  • Quform_Entry_Controller
  • Quform_Entry_Exporter
  • Quform_Entry_List_Settings
  • Quform_Entry_List_Table
  • Quform_Entry_Processor
  • Quform_Entry_UserSearcher
  • Quform_Filter_Abstract
  • Quform_Filter_Alpha
  • Quform_Filter_AlphaNumeric
  • Quform_Filter_Digits
  • Quform_Filter_Regex
  • Quform_Filter_Static
  • Quform_Filter_StripTags
  • Quform_Filter_Trim
  • Quform_Form
  • Quform_Form_Controller
  • Quform_Form_Exporter
  • Quform_Form_Factory
  • Quform_Form_Importer
  • Quform_Form_Iterator
  • Quform_Form_List_Settings
  • Quform_Form_List_Table
  • Quform_Form_Processor
  • Quform_License
  • Quform_Migrator
  • Quform_NonceRefresher
  • Quform_Notification
  • Quform_Notification_Resender
  • Quform_Options
  • Quform_Permissions
  • Quform_Repository
  • Quform_ScriptLoader
  • Quform_Session
  • Quform_Settings
  • Quform_Shortcode
  • Quform_Themes
  • Quform_TokenReplacer
  • Quform_Toolbar
  • Quform_Translations
  • Quform_Updater
  • Quform_Upgrader
  • Quform_Uploader
  • Quform_Validator_Abstract
  • Quform_Validator_Alpha
  • Quform_Validator_AlphaNumeric
  • Quform_Validator_Array
  • Quform_Validator_Captcha
  • Quform_Validator_Date
  • Quform_Validator_Digits
  • Quform_Validator_Duplicate
  • Quform_Validator_Email
  • Quform_Validator_FileUpload
  • Quform_Validator_GreaterThan
  • Quform_Validator_Honeypot
  • Quform_Validator_Identical
  • Quform_Validator_InArray
  • Quform_Validator_Length
  • Quform_Validator_LessThan
  • Quform_Validator_Recaptcha
  • Quform_Validator_Regex
  • Quform_Validator_Required
  • Quform_Validator_Static
  • Quform_Validator_Time
  • Quform_View
  • Quform_ViewFactory
  • Quform_Widget_Form
  • Quform_Widget_Popup

Interfaces

  • Quform_Attachable
  • Quform_Element_Editable
  • Quform_Filter_Interface
  • Quform_Validator_Interface
  • Overview
  • Class
  1: <?php
  2: 
  3: /**
  4:  * @copyright Copyright (c) 2009-2022 ThemeCatcher (https://www.themecatcher.net)
  5:  */
  6: class Quform_Admin_Page_Dashboard extends Quform_Admin_Page
  7: {
  8:     /**
  9:      * @var Quform_Options
 10:      */
 11:     protected $options;
 12: 
 13:     /**
 14:      * @param  Quform_ViewFactory  $viewFactory
 15:      * @param  Quform_Repository   $repository
 16:      * @param  Quform_Options      $options
 17:      */
 18:     public function __construct(Quform_ViewFactory $viewFactory, Quform_Repository $repository, Quform_Options $options)
 19:     {
 20:         parent::__construct($viewFactory, $repository);
 21: 
 22:         $this->options = $options;
 23:     }
 24: 
 25:     public function init()
 26:     {
 27:         $this->template = QUFORM_TEMPLATE_PATH . '/admin/dashboard.php';
 28:     }
 29: 
 30:     /**
 31:      * Get the HTML for the admin navigation menu
 32:      *
 33:      * @param   array|null  $currentForm  The data for the current form (if any)
 34:      * @param   array       $extra        Extra HTML to add to the nav, the array key is the hook position
 35:      * @return  string
 36:      */
 37:     public function getNavHtml(array $currentForm = null, array $extra = array())
 38:     {
 39:         ob_start();
 40:         ?>
 41:         <div class="qfb-nav-item qfb-nav-page-info"><i class="qfb-nav-page-icon qfb-mdi qfb-mdi-dashboard"></i><span class="qfb-nav-page-title"><?php esc_html_e('Dashboard', 'quform'); ?></span></div>
 42:         <?php
 43: 
 44:         return parent::getNavHtml($currentForm, array(40 => ob_get_clean()));
 45:     }
 46: 
 47:     /**
 48:      * Process this page and send data to the view
 49:      */
 50:     public function process()
 51:     {
 52:         if ( ! current_user_can('quform_view_dashboard')) {
 53:             wp_die(__( 'You do not have sufficient permissions to access this page.', 'quform'), 403);
 54:         }
 55: 
 56:         $recentEntries = $this->repository->getRecentEntries(10);
 57: 
 58:         $unreadCount = 0;
 59: 
 60:         foreach ($recentEntries as $recentEntry) {
 61:             if ($recentEntry['unread'] == '1') {
 62:                 $unreadCount++;
 63:             }
 64:         }
 65: 
 66:         $this->view->with(array(
 67:             'options' => $this->options,
 68:             'forms' => $this->repository->getForms(array('limit' => 9)),
 69:             'unreadCount' => $unreadCount,
 70:             'recentEntries' => $recentEntries,
 71:             'tools' => $this->getTools(),
 72:         ));
 73:     }
 74: 
 75:     /**
 76:      * Get the array of tools that the user has permission to use
 77:      *
 78:      * @return array
 79:      */
 80:     protected function getTools()
 81:     {
 82:         $tools = array(
 83:             'export.entries' => array(
 84:                 'title' => __('Export Entries', 'quform'),
 85:                 'cap' => 'quform_export_entries',
 86:                 'url' => admin_url('admin.php?page=quform.tools&sp=export.entries'),
 87:                 'icon' => '<i class="qfb-icon qfb-icon-file-excel-o"></i>'
 88:             ),
 89:             'export.form' => array(
 90:                 'title' => __('Export Form', 'quform'),
 91:                 'cap' => 'quform_export_forms',
 92:                 'url' => admin_url('admin.php?page=quform.tools&sp=export.form'),
 93:                 'icon' => '<i class="qfb-icon qfb-icon-file-code-o"></i>'
 94:             ),
 95:             'import.form' => array(
 96:                 'title' => __('Import Form', 'quform'),
 97:                 'cap' => 'quform_import_forms',
 98:                 'url' => admin_url('admin.php?page=quform.tools&sp=import.form'),
 99:                 'icon' => '<i class="qfb-mdi qfb-mdi-playlist_add"></i>'
100:             )
101:         );
102: 
103:         foreach ($tools as $key => $tool) {
104:             if ( ! current_user_can($tool['cap'])) {
105:                 unset($tools[$key]);
106:             }
107:         }
108: 
109:         return $tools;
110:     }
111: }
112: 
API documentation generated by ApiGen