prefix . 'accredible_mapping'; $charset_collate = $wpdb->get_charset_collate(); $sql = "CREATE TABLE $table_name ( id mediumint(9) NOT NULL AUTO_INCREMENT, course_id mediumint(9) NOT NULL, group_id mediumint(9) NOT NULL, PRIMARY KEY (id) ) $charset_collate;"; require_once ABSPATH . 'wp-admin/includes/upgrade.php'; dbDelta( $sql ); add_option( 'accredible_db_version', self::$accredible_db_version ); } /** * Add the settings link to the plugins page * * @param array $links links. * @return array $links */ public function plugin_settings_link( $links ) { $settings_link = 'Settings'; array_unshift( $links, $settings_link ); return $links; } /** * Get an array of credentials for a particular email address * * @param string $email email. * @return \ACMS\stdObject $credentials */ public static function get_credentials_for_email( $email ) { $api = new Api( get_option( 'api_key' ) ); $credentials = $api->get_credentials( null, $email ); return $credentials; } /** * Create a credential * * @param string $name name. * @param string $email email. * @param int $group_id group id. * @return \ACMS\stdObject $response */ public function create_credential( $name, $email, $group_id ) { $api = new Api( get_option( 'api_key' ) ); return $api->create_credential( $name, $email, $group_id ); } /** * Get all credential groups * * @return array $groups */ public function get_groups() { $api = new Api( get_option( 'api_key' ) ); $response = $api->get_groups( 1000, 1 ); return $response->groups; } /** * Register the admin menu item */ public function register_certificates_admin_menu_page() { add_menu_page( 'Certificates & Badges', 'Certificates & Badges', 'list_users', 'certificates-admin', array( $this, 'render_certificates_admin_page' ), 'dashicons-tablet', 40 ); } /** * Render the certificates admin page */ public function render_certificates_admin_page() { require_once ACCREDIBLE_CERTIFICATES_PLUGIN_PATH . 'certificates-admin.php'; } /** * Load the admin styles */ public static function acc_load_plugin_css() { $version = defined( 'WP_DEBUG' ) && WP_DEBUG ? time() : ACCREDIBLE_CERTIFICATES_SCRIPT_VERSION_TOKEN; wp_register_style( 'accredible-admin-style', plugins_url( '/css/style.css', __FILE__ ), array(), $version ); wp_enqueue_style( 'accredible-admin-style' ); } /** * Send batch requests via the ACMS API * * @param array $requests requests. * @return mixed $response */ public function batch_requests( $requests ) { $api = new Api( get_option( 'api_key' ) ); $request_count = count( $requests ); for ( $i = 0; $i < $request_count; $i++ ) { $requests[ $i ]['url'] = 'v1/' . $requests[ $i ]['url']; } $response = $api->send_batch_requests( $requests ); return $response; } } // END class Accredible_Certificates. } if ( class_exists( 'Accredible_Certificates' ) ) { // Installation and uninstallation hooks. register_activation_hook( __FILE__, array( 'Accredible_Certificates', 'activate' ) ); register_deactivation_hook( __FILE__, array( 'Accredible_Certificates', 'deactivate' ) ); // Instantiate the plugin class. // phpcs:disable WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedVariableFound $accredible_certificate = new Accredible_Certificates(); // phpcs:enable WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedVariableFound }