Settings for our Affiliates integration. * * @param array $settings current settings * * @return array with our settings section added */ public static function ninja_forms_plugin_settings( $settings ) { $settings['affiliates'] = array( 'affiliates' => array( 'id' => 'affiliates', 'type' => 'desc', 'label' => __( 'Affiliates Integration', 'affiliates-ninja-forms' ), 'desc' => self::get_info() ), ); return $settings; } /** * Adds our settings group under Ninja Forms > Settings. * * @param array $groups current groups * * @return array with our group added */ public static function ninja_forms_plugin_settings_groups( $groups ) { $groups['affiliates'] = array( 'id' => 'affiliates', 'label' => __( 'Affiliates', 'affiliates-ninja-forms' ) ); return $groups; } /** * Adds a submenu item to the Affiliates menu for the Ninja Forms integration options. */ public static function affiliates_admin_menu() { $page = add_submenu_page( 'affiliates-admin', __( 'Ninja Forms Ninja Forms', 'affiliates-ninja-forms' ), __( 'Ninja Forms Integration', 'affiliates-ninja-forms' ), AFFILIATES_ADMINISTER_OPTIONS, 'affiliates-admin-ninja-forms', array( __CLASS__, 'affiliates_admin_ninja_forms' ) ); $pages[] = $page; add_action( 'admin_print_styles-' . $page, 'affiliates_admin_print_styles' ); add_action( 'admin_print_scripts-' . $page, 'affiliates_admin_print_scripts' ); } /** * Affiliates Ninja Forms Integration : admin section. */ public static function affiliates_admin_ninja_forms() { if ( !current_user_can( AFFILIATES_ADMINISTER_OPTIONS ) ) { wp_die( esc_html__( 'Access denied.', 'affiliates-ninja-forms' ) ); } $options = get_option( Affiliates_Ninja_Forms::PLUGIN_OPTIONS , array() ); if ( isset( $_POST['submit'] ) ) { if ( wp_verify_nonce( $_POST[self::NONCE], self::SET_ADMIN_OPTIONS ) ) { // currently nothing needed here } update_option( Affiliates_Ninja_Forms::PLUGIN_OPTIONS, $options ); } // css echo ''; echo '
'; echo '

'; esc_html_e( 'Affiliates Ninja Forms Integration', 'affiliates-ninja-forms' ); echo '

'; echo '
'; echo '
'; echo self::get_info(); echo sprintf( __( 'You can also review this information on the Ninja Forms Settings page.', 'affiliates-ninja-forms' ), esc_url( admin_url( 'admin.php?page=nf-settings#ninja_forms_metabox_affiliates_settings' ) ) ); echo '

'; echo wp_nonce_field( self::SET_ADMIN_OPTIONS, self::NONCE, true, false ); // echo ''; echo '

'; echo '
'; echo ''; echo ''; // .manage affiliates_footer(); } /** * Returns information on the integration. * * @return string */ private static function get_info() { return '

' . sprintf( __( 'You have the Affiliates integration by itthinx for Ninja Forms installed.', 'affiliates-ninja-forms' ), esc_url( 'https://www.itthinx.com/' ) ) . '

' . '

' . sprintf( __( 'It integrates Affiliates, Affiliates Pro and Affiliates Enterprise with Ninja Forms.', 'affiliates-ninja-forms' ), esc_url( 'https://wordpress.org/plugins/affiliates/' ), esc_url( 'https://www.itthinx.com/shop/affiliates-pro/' ), esc_url( 'https://www.itthinx.com/shop/affiliates-enterprise/' ), esc_url( 'https://wordpress.org/plugins/ninja-forms/' ) ) . '

' . '

' . __( 'This integration features:', 'affiliates-ninja-forms' ) . '' . '

' . '' . '

' . __( 'To enable referrals for a form, add the Affiliates action to it.', 'affiliates-ninja-forms' ) . ' ' . __( 'To allow affiliates to register through a form, add the Affiliates Registration action to it.', 'affiliates-ninja-forms' ) . '

' . '

' . __( 'Please refer to these documentation pages for more details:', 'affiliates-ninja-forms' ) . '

' . '

'; } } Affiliates_NF_Admin::init();