plugin_name = $plugin_name;
$this->version = $version;
}
public function enqueue_styles( $hook_suffix ) {
if ( strpos( $hook_suffix, 'ttdvr' ) !== false || ( isset( $_GET['post_type'] ) && 'ttdvr_document' === $_GET['post_type'] ) || ( isset( $_GET['taxonomy'] ) && 'ttdvr_doc_category' === $_GET['taxonomy'] ) ) {
wp_enqueue_style( $this->plugin_name, TTDVR_PLUGIN_URL . 'assets/css/ttdvr-admin.css', array(), $this->version, 'all' );
// THE CLEAN WORKSPACE ENFORCER
$clean_workspace_css = "
div.notice:not(.ttdvr-notice), div.updated:not(.ttdvr-notice), div.error:not(.ttdvr-notice), div.warning:not(.ttdvr-notice),
.update-nag, .betterdocs-notice, .elementor-message { display: none !important; }
";
wp_add_inline_style( $this->plugin_name, $clean_workspace_css );
}
}
public function enqueue_scripts( $hook_suffix ) {
if ( strpos( $hook_suffix, 'ttdvr' ) !== false || ( isset( $_GET['post_type'] ) && 'ttdvr_document' === $_GET['post_type'] ) ) {
wp_enqueue_media();
}
$js_file_path = TTDVR_PLUGIN_DIR . 'assets/js/ttdvr-admin.js';
$js_version = file_exists( $js_file_path ) ? filemtime( $js_file_path ) : $this->version;
wp_enqueue_script( $this->plugin_name, TTDVR_PLUGIN_URL . 'assets/js/ttdvr-admin.js', array( 'jquery' ), $js_version, true );
$categories = get_terms( array( 'taxonomy' => 'ttdvr_doc_category', 'hide_empty' => false ) );
$cat_array = array();
if ( ! is_wp_error( $categories ) ) {
foreach ( $categories as $cat ) {
$cat_array[$cat->term_id] = $cat->name;
}
}
$localized_data = array(
'ajaxurl' => admin_url( 'admin-ajax.php' ),
'nonce' => wp_create_nonce( 'ttdvr_admin_js_nonce' ),
'documentTitle' => esc_attr__( 'Document Title', '24tt-document-verifier' ),
'documentId' => esc_attr__( 'Document ID', '24tt-document-verifier' ),
'recipientName' => esc_attr__( 'Recipient Name', '24tt-document-verifier' ),
'specifyOther' => esc_attr__( 'Specify Other', '24tt-document-verifier' ),
'courseSubject' => esc_attr__( 'Course / Subject', '24tt-document-verifier' ),
'selectCategory' => esc_attr__( 'Select Category', '24tt-document-verifier' ),
'remove' => esc_html__( 'Remove', '24tt-document-verifier' ),
'documentTypeOptions' => array(
'' => esc_html__( 'Select Document Type', '24tt-document-verifier' ),
'Letter' => esc_html__( 'Letter', '24tt-document-verifier' ),
'Certificate of Merit' => esc_html__( 'Certificate of Merit', '24tt-document-verifier' ),
'Certificate of Completion' => esc_html__( 'Certificate of Completion', '24tt-document-verifier' ),
'Memorandum of Understanding' => esc_html__( 'Memorandum of Understanding', '24tt-document-verifier' ),
'Proposal' => esc_html__( 'Proposal', '24tt-document-verifier' ),
'Invoice' => esc_html__( 'Invoice', '24tt-document-verifier' ),
'Receipt' => esc_html__( 'Receipt', '24tt-document-verifier' ),
'Quotation' => esc_html__( 'Quotation', '24tt-document-verifier' ),
'Contract/Agreement' => esc_html__( 'Contract/Agreement', '24tt-document-verifier' ),
'Company Resolution' => esc_html__( 'Company Resolution', '24tt-document-verifier' ),
'Offer' => esc_html__( 'Offer', '24tt-document-verifier' ),
'Business Letter' => esc_html__( 'Business Letter', '24tt-document-verifier' ),
'Other' => esc_html__( 'Other (specify below)', '24tt-document-verifier' ),
),
'categories' => $cat_array,
);
wp_localize_script( $this->plugin_name, 'ttdvrAdminVars', $localized_data );
}
public function add_plugin_admin_menu() {
add_menu_page( esc_html__( '24TT Document Verifier Dashboard', '24tt-document-verifier' ), esc_html__( '24TT Document Verifier', '24tt-document-verifier' ), 'manage_ttdvr_documents', 'ttdvr-dashboard', array( $this, 'display_dashboard' ), 'dashicons-clipboard', 30 );
add_submenu_page( 'ttdvr-dashboard', esc_html__( 'Dashboard & Community', '24tt-document-verifier' ), esc_html__( 'Dashboard', '24tt-document-verifier' ), 'manage_ttdvr_documents', 'ttdvr-dashboard', array( $this, 'display_dashboard' ) );
add_submenu_page( 'ttdvr-dashboard', esc_html__( 'All Documents', '24tt-document-verifier' ), esc_html__( 'Documents', '24tt-document-verifier' ), 'manage_ttdvr_documents', 'edit.php?post_type=ttdvr_document' );
add_submenu_page( 'ttdvr-dashboard', esc_html__( 'Document Categories', '24tt-document-verifier' ), esc_html__( 'Categories', '24tt-document-verifier' ), 'manage_ttdvr_documents', 'edit-tags.php?taxonomy=ttdvr_doc_category&post_type=ttdvr_document' );
add_submenu_page( 'ttdvr-dashboard', esc_html__( 'Global Settings', '24tt-document-verifier' ), esc_html__( 'Settings', '24tt-document-verifier' ), 'manage_ttdvr_documents', 'ttdvr-settings', array( $this, 'display_settings' ) );
add_submenu_page( 'ttdvr-dashboard', esc_html__( 'Bulk Add Documents', '24tt-document-verifier' ), esc_html__( 'Bulk Add Documents', '24tt-document-verifier' ), 'manage_ttdvr_documents', 'ttdvr-tools', array( $this, 'display_tools' ) );
}
/**
* GROWTH ENGINEERING: Inject links into the WordPress Plugins page!
*/
public function add_plugin_row_meta( $links, $file ) {
// Target our plugin specifically
if ( strpos( $file, '24tt-document-verifier' ) !== false ) {
$custom_links = array(
'docs' => '' . esc_html__( 'Documentation', '24tt-document-verifier' ) . '',
'facebook' => '' . esc_html__( 'Facebook Community', '24tt-document-verifier' ) . '',
'rate' => '' . esc_html__( 'Rate the plugin ★★★★★', '24tt-document-verifier' ) . '',
);
$links = array_merge( $links, $custom_links );
}
return $links;
}
public function display_dashboard() { require_once TTDVR_PLUGIN_DIR . 'admin/partials/ttdvr-admin-dashboard.php'; }
public function display_settings() { require_once TTDVR_PLUGIN_DIR . 'admin/partials/ttdvr-admin-settings.php'; }
public function display_tools() { require_once TTDVR_PLUGIN_DIR . 'admin/partials/ttdvr-admin-bulk.php'; }
}