class-affiliates-admin-menu-wordpress.php 31.4 KB
<?php
 class Affiliates_Admin_Menu_WordPress { const IXAP183 = 'aff-admin-menu'; const IXAP300 = 'aff-settings'; public static function init() { add_action( 'affiliates_admin_menu', array( __CLASS__, 'affiliates_admin_menu' ) ); add_action( 'affiliates_admin_menu', array( __CLASS__, 'affiliates_admin_menu_sort' ), 999 ); add_filter( 'affiliates_settings_sections', array( __CLASS__, 'affiliates_settings_sections' ) ); add_action( 'affiliates_settings_section', array( __CLASS__, 'affiliates_settings_section' ) ); add_filter( 'affiliates_help_tab_footer', array( __CLASS__, 'affiliates_help_tab_footer' ) ); add_filter( 'affiliates_help_tab_title', array( __CLASS__, 'affiliates_help_tab_title' ) ); } public static function affiliates_settings_sections( $IXAP301 ) { $IXAP301['commissions'] = __( 'Commissions', AFFILIATES_PRO_PLUGIN_DOMAIN ); return $IXAP301; } public static function affiliates_settings_section( $IXAP302 ) { if ( $IXAP302 == 'commissions' ) { self::affiliates_admin_settings(); } } public static function affiliates_admin_menu() { global $submenu; $IXAP303 = get_post_type_object( 'affiliates_banner' ); $IXAP20 = add_submenu_page( 'affiliates-admin', $IXAP303->labels->name, $IXAP303->labels->all_items, $IXAP303->cap->edit_posts, "edit.php?post_type=affiliates_banner" ); $IXAP19[] = $IXAP20; $IXAP20 = add_submenu_page( 'affiliates-admin', __( 'Notifications', AFFILIATES_PRO_PLUGIN_DOMAIN ), __( 'Notifications', AFFILIATES_PRO_PLUGIN_DOMAIN ), AFFILIATES_ADMINISTER_OPTIONS, 'affiliates-admin-notifications', array( __CLASS__, 'affiliates_admin_notifications' ) ); $IXAP19[] = $IXAP20; add_action( 'admin_print_styles-' . $IXAP20, 'affiliates_admin_print_styles' ); add_action( 'admin_print_scripts-' . $IXAP20, 'affiliates_admin_print_scripts' ); add_action( 'admin_print_styles-' . $IXAP20, 'affiliates_pro_admin_print_styles' ); add_action( 'admin_print_scripts-' . $IXAP20, 'affiliates_pro_admin_print_scripts' ); add_action( 'load-' . $IXAP20, array( __CLASS__, 'load_page' ) ); $IXAP20 = add_submenu_page( 'affiliates-admin', __( 'Totals', AFFILIATES_PRO_PLUGIN_DOMAIN ), __( 'Totals', AFFILIATES_PRO_PLUGIN_DOMAIN ), AFFILIATES_ACCESS_AFFILIATES, 'affiliates-admin-totals', array( 'Affiliates_Totals_WordPress', 'view' ) ); $IXAP19[] = $IXAP20; add_action( 'admin_print_styles-' . $IXAP20, 'affiliates_admin_print_styles' ); add_action( 'admin_print_scripts-' . $IXAP20, 'affiliates_admin_print_scripts' ); add_action( 'admin_print_styles-' . $IXAP20, 'affiliates_pro_admin_print_styles' ); add_action( 'admin_print_scripts-' . $IXAP20, 'affiliates_pro_admin_print_scripts' ); } public static function affiliates_admin_menu_sort() { global $submenu; if ( isset( $submenu['affiliates-admin'] )) { usort($submenu['affiliates-admin'], array( __CLASS__, 'menu_sort' ) ); } } public static function menu_sort( $IXAP218, $IXAP219 ) { global $submenu; $IXAP15 = 0; $IXAP304 = array( 'affiliates-admin' => 0, 'affiliates-admin-affiliates' => 1, 'affiliates-admin-hits' => 2, 'affiliates-admin-hits-affiliate' => 3, 'affiliates-admin-referrals' => 4, 'affiliates-admin-options' => 100, 'affiliates-admin-user-registration' => 1000, 'edit.php?post_type=affiliates_banner' => 50, 'affiliates-admin-settings' => 200, 'affiliates-admin-notifications' => 300, 'affiliates-admin-totals' => 10, 'affiliates-admin-tiers' => 2000, 'affiliates-admin-campaigns' => 2100, 'affiliates-admin-add-ons' => 9999 ); if ( isset( $IXAP218[2] ) && isset( $IXAP219[2] ) ) { if ( isset( $IXAP304[$IXAP218[2]] ) && isset( $IXAP304[$IXAP219[2]] ) ) { $IXAP15 = $IXAP304[$IXAP218[2]] - $IXAP304[$IXAP219[2]]; } } return $IXAP15; } public static function affiliates_admin_settings() { if ( !current_user_can( AFFILIATES_ADMINISTER_OPTIONS ) ) { wp_die( __( 'Access denied.', AFFILIATES_PRO_PLUGIN_DOMAIN ) ); } echo '<div style="margin: 1em 1em 1em inherit; padding:0.31em 0.62em; background-color:#fff;">'; echo '<p>'; echo '<strong>'; echo __( 'Which method to choose &hellip;', AFFILIATES_PRO_PLUGIN_DOMAIN ); echo '</strong>'; echo '</p>'; echo '<p>'; echo __( 'The most commonly used method is <em>Referral Rate</em>, corresponding to the typical case where affiliates are granted commissions in proportion to the purchase amount.', AFFILIATES_PRO_PLUGIN_DOMAIN ); echo '</p>'; echo '<ul>'; echo '<li>'; echo '<em>' . __( 'Referral Rate', AFFILIATES_PRO_PLUGIN_DOMAIN ) . '</em>'; echo ' &mdash; '; echo __( 'The commission amount is proportional to the amount of the originating transaction.', AFFILIATES_PRO_PLUGIN_DOMAIN ); echo ' '; echo __( 'This is recommended if commissions are a percentage of sales amounts.', AFFILIATES_PRO_PLUGIN_DOMAIN ); echo ' '; echo __( 'Note that the value indicated is a rate, for example, to grant 10% commissions on sales, indicate <code>0.10</code> as the value.', AFFILIATES_PRO_PLUGIN_DOMAIN ); echo ' '; echo __( 'Also note that if the value is equal to or greater than <code>1</code>, this would grant a commission amount higher than the actual (net) purchase amount &ndash; a case which is normally not desired.', AFFILIATES_PRO_PLUGIN_DOMAIN ); echo ' '; echo __( 'Using <code>0</code> results in zero commission amounts.', AFFILIATES_PRO_PLUGIN_DOMAIN ); echo '</li>'; echo '<li>'; echo '<em>' . __( 'Referral Amount', AFFILIATES_PRO_PLUGIN_DOMAIN ) . '</em>'; echo ' &mdash; '; echo __( 'A fixed commission amount is attributed with each referral.', AFFILIATES_PRO_PLUGIN_DOMAIN ); echo '</li>'; echo '<li>'; echo '<em>' . __( 'Referral Amount Method', AFFILIATES_PRO_PLUGIN_DOMAIN ) . '</em>'; echo ' &mdash; '; echo __( 'The commission amount is calculated by a specific algorithm.', AFFILIATES_PRO_PLUGIN_DOMAIN ); echo '</li>'; echo '</ul>'; echo '</div>'; $IXAP305 = Affiliates_Referral::get_referral_amount_methods(); $IXAP176 = array(); foreach ( $IXAP305 as $IXAP178 ) { if ( is_array( $IXAP178 ) ) { $IXAP133 = implode( "::", $IXAP178 ); } else { $IXAP133 = $IXAP178; } $IXAP176[$IXAP133] = $IXAP133; } $IXAP176 = array_merge( array( '' => __( 'None', AFFILIATES_PRO_PLUGIN_DOMAIN ) ), $IXAP176 ); if ( isset( $_POST['submit'] ) ) { if ( wp_verify_nonce( $_POST[self::IXAP183], self::IXAP300 ) ) { if ( !empty( $_POST[Affiliates_Referral::IXAP13] ) ) { $IXAP306 = trim( $_POST[Affiliates_Referral::IXAP13] ); if ( $IXAP306 = Affiliates_Attributes::validate_key( $IXAP306 ) ) { update_option( Affiliates_Referral::IXAP13, $IXAP306 ); } else { $IXAP306 = ''; delete_option( Affiliates_Referral::IXAP13 ); } } else { $IXAP306 = ''; delete_option( Affiliates_Referral::IXAP13 ); } if ( !empty( $_POST[Affiliates_Referral::IXAP14] ) ) { $IXAP307 = trim( $_POST[Affiliates_Referral::IXAP14] ); if ( $IXAP307 = Affiliates_Attributes::validate_value( $IXAP306, $IXAP307 ) ) { update_option( Affiliates_Referral::IXAP14, $IXAP307 ); } else { $IXAP307 = ''; delete_option( Affiliates_Referral::IXAP14 ); } } else { $IXAP307 = ''; delete_option( Affiliates_Referral::IXAP14 ); } } } $IXAP306 = get_option( Affiliates_Referral::IXAP13, '' ); $IXAP307 = get_option( Affiliates_Referral::IXAP14, '' ); $IXAP308 = array_merge( array( '' => __( 'None', AFFILIATES_PRO_PLUGIN_DOMAIN ) ), Affiliates_Attributes::get_keys() ); unset( $IXAP308[Affiliates_Attributes::IXAP58] ); unset( $IXAP308[Affiliates_Attributes::IXAP86] ); $IXAP309 = '<select id ="' . Affiliates_Referral::IXAP13 . '" name="' . Affiliates_Referral::IXAP13 . '">'; foreach ( $IXAP308 as $IXAP78 => $IXAP87 ) { $IXAP292 = ( $IXAP78 == $IXAP306 ) ? ' selected="selected" ' : ''; $IXAP309 .= '<option value="' . $IXAP78 . '" ' . $IXAP292 . '>' . $IXAP87 . '</option>'; } $IXAP309 .= '</select>'; $IXAP310 = '<input name="' . Affiliates_Referral::IXAP14 . '" type="text" value="' . esc_attr( !is_array( $IXAP307 ) ? $IXAP307 : '' ) . '" />'; $IXAP311 = '<select name="' . Affiliates_Referral::IXAP14 . '">'; foreach ( $IXAP176 as $IXAP78 => $IXAP133 ) { $IXAP292 = ( Affiliates_Referral::get_referral_amount_method( $IXAP78 ) == Affiliates_Referral::get_referral_amount_method( $IXAP307 ) ) ? ' selected="selected" ' : ''; $IXAP311 .= '<option value="' . $IXAP78 . '" ' . $IXAP292 . '>' . $IXAP133 . '</option>'; } $IXAP311 .= '</select>'; switch ( $IXAP306 ) { case Affiliates_Attributes::IXAP84 : $IXAP312 = $IXAP311; break; default: $IXAP312 = $IXAP310; } echo '<form action="" name="options" method="post">' . '<div>' . '<p class="description">' . __( 'These settings are used to calculate commissions for affiliates in general.', AFFILIATES_PRO_PLUGIN_DOMAIN ) . '</p>' . '<p>' . sprintf( '<label title="%s" for="' . Affiliates_Referral::IXAP13 . '">', __( 'Default referral calculation', AFFILIATES_PRO_PLUGIN_DOMAIN ) ) . __( 'Method', AFFILIATES_PRO_PLUGIN_DOMAIN ) . ' ' . $IXAP309 . '</label>' . '</p>' . '<p>' . sprintf( '<label title="%s" for="' . Affiliates_Referral::IXAP14 . '">', __( 'Default referral calculation value', AFFILIATES_PRO_PLUGIN_DOMAIN ) ) . __( 'Value', AFFILIATES_PRO_PLUGIN_DOMAIN ) . ' <span id="method-value-input-container">'. $IXAP312 . '</span>' . '</label>' . '</p>' . '<p>' . wp_nonce_field( self::IXAP300, self::IXAP183, true, false ) . '<input class="button button-primary" type="submit" name="submit" value="' . __( 'Save', AFFILIATES_PRO_PLUGIN_DOMAIN ) . '"/>' . '</p>' . '</div>' . '</form>'; echo '<script type="text/javascript">'; echo 'if (typeof jQuery !== "undefined" ) {'; echo 'jQuery("#'.Affiliates_Referral::IXAP13.'").change(function(e){'; echo sprintf( 'if ( jQuery(this).val() == "%s" ) {', Affiliates_Attributes::IXAP84 ); echo sprintf( 'jQuery("#method-value-input-container").html(\'%s\');', $IXAP311 ); echo '} else {'; echo sprintf( 'jQuery("#method-value-input-container").html(\'%s\');', $IXAP310 ); echo '}'; echo '});'; echo '}'; echo '</script>'; affiliates_footer(); } public static function affiliates_admin_totals() { } public static function affiliates_admin_notifications() { if ( !current_user_can( AFFILIATES_ADMINISTER_OPTIONS ) ) { wp_die( __( 'Access denied.', AFFILIATES_PRO_PLUGIN_DOMAIN ) ); } include_once( dirname( AFFILIATES_PRO_FILE ) . '/lib/ext/includes/class-affiliates-notifications.php' ); $IXAP313 = get_option( 'affiliates_notifications', null ); if ( $IXAP313 === null ) { add_option('affiliates_notifications', array(), null, 'no' ); } if ( isset( $_POST['submit'] ) ) { if ( wp_verify_nonce( $_POST[self::IXAP183], self::IXAP300 ) ) { $IXAP313[Affiliates_Notifications::IXAP314] = !empty( $_POST[Affiliates_Notifications::IXAP314] ); if ( !empty( $_POST[Affiliates_Notifications::IXAP315] ) ) { $IXAP313[Affiliates_Notifications::IXAP315] = wp_filter_nohtml_kses( $_POST[Affiliates_Notifications::IXAP315] ); } else { $IXAP313[Affiliates_Notifications::IXAP315] = Affiliates_Notifications::IXAP316; } if ( !empty( $_POST[Affiliates_Notifications::IXAP317] ) ) { $IXAP313[Affiliates_Notifications::IXAP317] = $_POST[Affiliates_Notifications::IXAP317]; } else { $IXAP313[Affiliates_Notifications::IXAP317] = Affiliates_Notifications::IXAP318; } if ( !empty( $_POST[Affiliates_Notifications::IXAP319] ) ) { $IXAP313[Affiliates_Notifications::IXAP319] = wp_filter_nohtml_kses( $_POST[Affiliates_Notifications::IXAP319] ); } else { $IXAP313[Affiliates_Notifications::IXAP319] = Affiliates_Notifications::IXAP320; } if ( !empty( $_POST[Affiliates_Notifications::IXAP321] ) ) { $IXAP313[Affiliates_Notifications::IXAP321] = $_POST[Affiliates_Notifications::IXAP321]; } else { $IXAP313[Affiliates_Notifications::IXAP321] = Affiliates_Notifications::IXAP322; } $IXAP313[Affiliates_Notifications::IXAP323] = !empty( $_POST[Affiliates_Notifications::IXAP323] ); $IXAP313[Affiliates_Notifications::IXAP324] = !empty( $_POST[Affiliates_Notifications::IXAP324] ); if ( !empty( $_POST[Affiliates_Notifications::IXAP325] ) ) { if ( $IXAP326 = filter_var( $_POST[Affiliates_Notifications::IXAP325], FILTER_VALIDATE_EMAIL ) ) { $IXAP313[Affiliates_Notifications::IXAP325] = $IXAP326; } else { $IXAP313[Affiliates_Notifications::IXAP325] = ''; } } else { $IXAP313[Affiliates_Notifications::IXAP325] = ''; } $IXAP327 = array(); if ( !empty( $_POST['notify_admin_status_accepted'] ) ) { $IXAP327[] = AFFILIATES_REFERRAL_STATUS_ACCEPTED; } if ( !empty( $_POST['notify_admin_status_pending'] ) ) { $IXAP327[] = AFFILIATES_REFERRAL_STATUS_PENDING; } $IXAP313[Affiliates_Notifications::IXAP328] = $IXAP327; if ( !empty( $_POST[Affiliates_Notifications::IXAP329] ) ) { $IXAP313[Affiliates_Notifications::IXAP329] = wp_filter_nohtml_kses( $_POST[Affiliates_Notifications::IXAP329] ); } else { $IXAP313[Affiliates_Notifications::IXAP329] = Affiliates_Notifications::IXAP330; } if ( !empty( $_POST[Affiliates_Notifications::IXAP331] ) ) { $IXAP313[Affiliates_Notifications::IXAP331] = $_POST[Affiliates_Notifications::IXAP331]; } else { $IXAP313[Affiliates_Notifications::IXAP331] = Affiliates_Notifications::IXAP332; } $IXAP313[Affiliates_Notifications::IXAP333] = !empty( $_POST[Affiliates_Notifications::IXAP333] ); $IXAP334 = array(); if ( !empty( $_POST['notify_affiliate_status_accepted'] ) ) { $IXAP334[] = AFFILIATES_REFERRAL_STATUS_ACCEPTED; } if ( !empty( $_POST['notify_affiliate_status_pending'] ) ) { $IXAP334[] = AFFILIATES_REFERRAL_STATUS_PENDING; } $IXAP313[Affiliates_Notifications::IXAP335] = $IXAP334; if ( !empty( $_POST[Affiliates_Notifications::IXAP336] ) ) { $IXAP313[Affiliates_Notifications::IXAP336] = wp_filter_nohtml_kses( $_POST[Affiliates_Notifications::IXAP336] ); } else { $IXAP313[Affiliates_Notifications::IXAP336] = Affiliates_Notifications::IXAP337; } if ( !empty( $_POST[Affiliates_Notifications::MESSAGE] ) ) { $IXAP313[Affiliates_Notifications::MESSAGE] = $_POST[Affiliates_Notifications::MESSAGE]; } else { $IXAP313[Affiliates_Notifications::MESSAGE] = Affiliates_Notifications::IXAP338; } update_option( 'affiliates_notifications', $IXAP313 ); } } $IXAP339 = isset( $IXAP313[Affiliates_Notifications::IXAP314] ) ? $IXAP313[Affiliates_Notifications::IXAP314] : Affiliates_Notifications::IXAP340; $IXAP341 = isset( $IXAP313[Affiliates_Notifications::IXAP319] ) ? $IXAP313[Affiliates_Notifications::IXAP319] : Affiliates_Notifications::IXAP320; $IXAP342 = isset( $IXAP313[Affiliates_Notifications::IXAP321] ) ? $IXAP313[Affiliates_Notifications::IXAP321] : Affiliates_Notifications::IXAP322; $IXAP343 = isset( $IXAP313[Affiliates_Notifications::IXAP315] ) ? $IXAP313[Affiliates_Notifications::IXAP315] : Affiliates_Notifications::IXAP316; $IXAP344 = isset( $IXAP313[Affiliates_Notifications::IXAP317] ) ? $IXAP313[Affiliates_Notifications::IXAP317] : Affiliates_Notifications::IXAP318; $IXAP345 = isset( $IXAP313[Affiliates_Notifications::IXAP323] ) && $IXAP313[Affiliates_Notifications::IXAP323]; $IXAP346 = isset( $IXAP313[Affiliates_Notifications::IXAP324] ) && $IXAP313[Affiliates_Notifications::IXAP324]; $IXAP326 = isset( $IXAP313[Affiliates_Notifications::IXAP325] ) ? $IXAP313[Affiliates_Notifications::IXAP325] : ''; $IXAP327 = isset( $IXAP313[Affiliates_Notifications::IXAP328] ) ? $IXAP313[Affiliates_Notifications::IXAP328] : array( AFFILIATES_REFERRAL_STATUS_ACCEPTED ); $IXAP347 = isset( $IXAP313[Affiliates_Notifications::IXAP329] ) ? $IXAP313[Affiliates_Notifications::IXAP329] : Affiliates_Notifications::IXAP330; $IXAP348 = isset( $IXAP313[Affiliates_Notifications::IXAP331] ) ? $IXAP313[Affiliates_Notifications::IXAP331] : Affiliates_Notifications::IXAP332; $IXAP349 = isset( $IXAP313[Affiliates_Notifications::IXAP333] ) && $IXAP313[Affiliates_Notifications::IXAP333]; $IXAP334 = isset( $IXAP313[Affiliates_Notifications::IXAP335] ) ? $IXAP313[Affiliates_Notifications::IXAP335] : array( AFFILIATES_REFERRAL_STATUS_ACCEPTED ); $IXAP350 = isset( $IXAP313[Affiliates_Notifications::IXAP336] ) ? $IXAP313[Affiliates_Notifications::IXAP336] : Affiliates_Notifications::IXAP337; $message = isset( $IXAP313[Affiliates_Notifications::MESSAGE] ) ? $IXAP313[Affiliates_Notifications::MESSAGE] : Affiliates_Notifications::IXAP338; echo '<div class="notifications">'; echo '<div class="manage">'; echo '<h1>' . __( 'Notifications', AFFILIATES_PRO_PLUGIN_DOMAIN ) . '</h1>'; echo '<p>' . __( 'Notifications for the site administrator and affiliates can be enabled here. If the integration used provides its own notification settings, enable these through the integration&rsquo;s settings or here. Do not enable them both, as that could cause duplicate notifications to be sent.', AFFILIATES_PRO_PLUGIN_DOMAIN ) . '</p>'; echo '<form action="" name="notifications" method="post">' . '<div>' . '<input class="button button-primary" type="submit" name="submit" value="' . __( 'Save', AFFILIATES_PRO_PLUGIN_DOMAIN ) . '"/>' . '<h2>' . __( 'Affiliate Registration', AFFILIATES_PRO_PLUGIN_DOMAIN ) . '</h2>' . '<h3>' . __( 'Enable registration notifications', AFFILIATES_PRO_PLUGIN_DOMAIN ) . '</h3>' . '<p>' . '<label>' . '<input type="checkbox" name="' . Affiliates_Notifications::IXAP314 . '" id="' . Affiliates_Notifications::IXAP314 . '" ' . ( $IXAP339 ? ' checked="checked" ' : '' ) . '/>' . __( 'Enable registration emails', AFFILIATES_PRO_PLUGIN_DOMAIN ) . '</label>' . '</p>' . '<p class="description">' . __( 'Send new affiliates an email when their user account is created.', AFFILIATES_PRO_PLUGIN_DOMAIN ) . ' ' . __( 'This should normally be enabled, so that new affiliates receives their username and password to be able to log in and access their account.', AFFILIATES_PRO_PLUGIN_DOMAIN ) . '</p>' . '<h3>' . __( 'Administrator notifications', AFFILIATES_PRO_PLUGIN_DOMAIN ) . '</h3>' . '<p>' . __( 'This template is used to notify the site administrator of new affiliates.', AFFILIATES_PRO_PLUGIN_DOMAIN ) . '</p>' . '<p>' . '<label>' . __( 'Subject', AFFILIATES_PRO_PLUGIN_DOMAIN ) . '<br/>' . '<input class="' . Affiliates_Notifications::IXAP315 . '" name="' . Affiliates_Notifications::IXAP315 . '" type="text" value="' . esc_attr( stripslashes( $IXAP343 ) ) . '" />' . '</label>' . '</p>' . '<p>' . '<label> ' . __( 'Message', AFFILIATES_PRO_PLUGIN_DOMAIN ) . '<br/>' . '<textarea class="' . Affiliates_Notifications::IXAP317 . '" id="' . Affiliates_Notifications::IXAP317 . '" name="' . Affiliates_Notifications::IXAP317 . '" rows="10">' . htmlentities( stripslashes( $IXAP344 ), ENT_COMPAT, get_bloginfo( 'charset' ) ) . '</textarea>' . '</label>' . '<br/>' . '<span class="description">' . __( 'The format for this administrator notification is <strong>HTML</strong>.', AFFILIATES_PRO_PLUGIN_DOMAIN ) . '</span>' . '</p>' . '<h3>' . __( 'Affiliate notifications', AFFILIATES_PRO_PLUGIN_DOMAIN ) . '</h3>' . '<p>' . __( 'This template is used to notify the new affiliates.', AFFILIATES_PRO_PLUGIN_DOMAIN ) . '</p>' . '<p>' . '<label>' . __( 'Subject', AFFILIATES_PRO_PLUGIN_DOMAIN ) . '<br/>' . '<input class="' . Affiliates_Notifications::IXAP319 . '" name="' . Affiliates_Notifications::IXAP319 . '" type="text" value="' . esc_attr( stripslashes( $IXAP341 ) ) . '" />' . '</label>' . '</p>' . '<p>' . '<label> ' . __( 'Message', AFFILIATES_PRO_PLUGIN_DOMAIN ) . '<br/>' . '<textarea class="' . Affiliates_Notifications::IXAP321 . '" id="' . Affiliates_Notifications::IXAP321 . '" name="' . Affiliates_Notifications::IXAP321 . '" rows="10">' . htmlentities( stripslashes( $IXAP342 ), ENT_COMPAT, get_bloginfo( 'charset' ) ) . '</textarea>' . '</label>' . '<br/>' . '<span class="description">' . __( 'The format for this affiliate notification is <strong>HTML</strong>.', AFFILIATES_PRO_PLUGIN_DOMAIN ) . '</span>' . '</p>' . '<h2>' . __( 'Referral Notifications', AFFILIATES_PRO_PLUGIN_DOMAIN ) . '</h2>' . '<h3>' . __( 'Enable notifications', AFFILIATES_PRO_PLUGIN_DOMAIN ) . '</h3>' . '<p>' . '<label>' . '<input type="checkbox" name="' . Affiliates_Notifications::IXAP323 . '" id="' . Affiliates_Notifications::IXAP323 . '" ' . ( $IXAP345 ? ' checked="checked" ' : '' ) . '/>' . __( 'Enable notifications', AFFILIATES_PRO_PLUGIN_DOMAIN ) . '</label>' . '</p>' . '<p class="description">' . __( 'Notifications will only be sent if this option is activated.', AFFILIATES_PRO_PLUGIN_DOMAIN ) . '</p>' . '<h3>' . __( 'Administrator notifications', AFFILIATES_PRO_PLUGIN_DOMAIN ) . '</h3>' . '<p>' . '<label>' . '<input type="checkbox" name="' . Affiliates_Notifications::IXAP324 . '" id="' . Affiliates_Notifications::IXAP324 . '" ' . ( $IXAP346 ? ' checked="checked" ' : '' ) . '/>' . __( 'Notify the site administrator', AFFILIATES_PRO_PLUGIN_DOMAIN ) . '</label>' . '</p>' . '<p class="description">' . __( 'Notifications will be sent to the email address specified in <em>Settings > General</em>, or if indicated, to the email address specified here.', AFFILIATES_PRO_PLUGIN_DOMAIN ) . '</p>' . '<p>' . '<label>' . __( 'Administrator Email Address', AFFILIATES_PRO_PLUGIN_DOMAIN ) . '<br/>' . sprintf( '<input class="%s" name="%s" type="text" value="%s" placeholder="%s"/>', esc_attr( Affiliates_Notifications::IXAP325 ), esc_attr( Affiliates_Notifications::IXAP325 ), esc_attr( $IXAP326 ), get_bloginfo( 'admin_email' ) ) . '</label>' . '</p>' . '<p>' . __( 'Notify when a referral is: ', AFFILIATES_PRO_PLUGIN_DOMAIN ) . '<label>' . sprintf( '<input type="checkbox" name="notify_admin_status_accepted" %s />', in_array( AFFILIATES_REFERRAL_STATUS_ACCEPTED, $IXAP327 ) ? ' checked="checked" ' : '' ) . __( 'Accepted', AFFILIATES_PRO_PLUGIN_DOMAIN ) . '</label>' . ' ' . '<label>' . sprintf( '<input type="checkbox" name="notify_admin_status_pending" %s />', in_array( AFFILIATES_REFERRAL_STATUS_PENDING, $IXAP327 ) ? ' checked="checked" ' : '' ) . __( 'Pending', AFFILIATES_PRO_PLUGIN_DOMAIN ) . '</label>' . '</p>' . '<ul class="description">' . '<li>' . __( 'Notifications on referral status updates are only sent when the status changes from <em>pending</em> to <em>accepted</em>.', AFFILIATES_PRO_PLUGIN_DOMAIN ) . '</li>' . '<li>' . __( 'More than one notification may be sent if multiple statuses are enabled.', AFFILIATES_PRO_PLUGIN_DOMAIN ) . '</li>' . '<li>' . __( 'Notifications on referral status updates may not be supported by all integrations.', AFFILIATES_PRO_PLUGIN_DOMAIN ) . '</li>' . '</ul>' . '<p>' . '<label>' . __( 'Subject', AFFILIATES_PRO_PLUGIN_DOMAIN ) . '<br/>' . '<input class="' . Affiliates_Notifications::IXAP329 . '" name="' . Affiliates_Notifications::IXAP329 . '" type="text" value="' . esc_attr( stripslashes( $IXAP347 ) ) . '" />' . '</label>' . '</p>' . '<p>' . '<label> ' . __( 'Message', AFFILIATES_PRO_PLUGIN_DOMAIN ) . '<br/>' . '<textarea class="message" id="' . Affiliates_Notifications::IXAP331 . '" name="' . Affiliates_Notifications::IXAP331 . '" rows="10">' . htmlentities( stripslashes( $IXAP348 ), ENT_COMPAT, get_bloginfo( 'charset' ) ) . '</textarea>' . '</label>' . '<br/>' . '<span class="description">' . __( 'The format for this administrator notification is <strong>HTML</strong>.', AFFILIATES_PRO_PLUGIN_DOMAIN ) . '</span>' . '</p>' . '<h3>' . __( 'Affiliate notifications', AFFILIATES_PRO_PLUGIN_DOMAIN ) . '</h3>' . '<p>' . '<label>' . '<input type="checkbox" name="' . Affiliates_Notifications::IXAP333 . '" id="' . Affiliates_Notifications::IXAP333 . '" ' . ( $IXAP349 ? ' checked="checked" ' : '' ) . '/>' . __( 'Notify the affiliates', AFFILIATES_PRO_PLUGIN_DOMAIN ) . '</label>' . '</p>' . '<p class="description">' . __( 'Notifications will be sent to affiliates when credited with a referral.', AFFILIATES_PRO_PLUGIN_DOMAIN ) . '</p>' . '<p>' . __( 'Notify when a referral is: ', AFFILIATES_PRO_PLUGIN_DOMAIN ) . '<label>' . sprintf( '<input type="checkbox" name="notify_affiliate_status_accepted" %s />', in_array( AFFILIATES_REFERRAL_STATUS_ACCEPTED, $IXAP334 ) ? ' checked="checked" ' : '' ) . __( 'Accepted', AFFILIATES_PRO_PLUGIN_DOMAIN ) . '</label>' . ' ' . '<label>' . sprintf( '<input type="checkbox" name="notify_affiliate_status_pending" %s />', in_array( AFFILIATES_REFERRAL_STATUS_PENDING, $IXAP334 ) ? ' checked="checked" ' : '' ) . __( 'Pending', AFFILIATES_PRO_PLUGIN_DOMAIN ) . '</label>' . '</p>' . '<ul class="description">' . '<li>' . __( 'Notifications on referral status updates are only sent when the status changes from <em>pending</em> to <em>accepted</em>.', AFFILIATES_PRO_PLUGIN_DOMAIN ) . '</li>' . '<li>' . __( 'More than one notification may be sent if multiple statuses are enabled.', AFFILIATES_PRO_PLUGIN_DOMAIN ) . '</li>' . '<li>' . __( 'Notifications on referral status updates may not be supported by all integrations.', AFFILIATES_PRO_PLUGIN_DOMAIN ) . '</li>' . '</ul>' . '<p>' . '<label>' . __( 'Subject', AFFILIATES_PRO_PLUGIN_DOMAIN ) . '<br/>' . '<input class="' . Affiliates_Notifications::IXAP336 . '" name="' . Affiliates_Notifications::IXAP336 . '" type="text" value="' . esc_attr( stripslashes( $IXAP350 ) ) . '" />' . '</label>' . '</p>' . '<p>' . '<label> ' . __( 'Message', AFFILIATES_PRO_PLUGIN_DOMAIN ) . '<br/>' . '<textarea class="' . Affiliates_Notifications::MESSAGE . '" id="' . Affiliates_Notifications::MESSAGE . '" name="' . Affiliates_Notifications::MESSAGE . '" rows="10">' . htmlentities( stripslashes( $message ), ENT_COMPAT, get_bloginfo( 'charset' ) ) . '</textarea>' . '</label>' . '<br/>' . '<span class="description">' . __( 'The format for this affiliate notification is <strong>HTML</strong>.', AFFILIATES_PRO_PLUGIN_DOMAIN ) . '</span>' . '</p>' . '<p>' . wp_nonce_field( self::IXAP300, self::IXAP183, true, false ) . '<input class="button button-primary" type="submit" name="submit" value="' . __( 'Save', AFFILIATES_PRO_PLUGIN_DOMAIN ) . '"/>' . '</p>' . '</div>' . '</form>' . '</div>'; echo '</div>'; affiliates_footer(); } public static function load_page() { $IXAP351 = get_current_screen(); if ( isset( $IXAP351->id ) ) { switch ( $IXAP351->id ) { case 'affiliates_page_affiliates-admin-notifications' : $IXAP351->add_help_tab( array( 'id' => 'affiliates-admin-notifications-affiliate-registration', 'title' => __( 'Affiliate Registration', AFFILIATES_PRO_PLUGIN_DOMAIN ) , 'content' => self::get_notifications_help_affiliate_registration() ) ); $IXAP351->add_help_tab( array( 'id' => 'affiliates-admin-notifications-referral-notifications', 'title' => __( 'Referral Notifications', AFFILIATES_PRO_PLUGIN_DOMAIN ) , 'content' => self::get_notifications_help_referral_notifications() ) ); break; } } } private static function get_notifications_help_affiliate_registration() { return '<div class="manage">' . '<h2>' . __( 'Affiliates Registration', AFFILIATES_PRO_PLUGIN_DOMAIN ) . '</h2>' . '<h3>' . __( 'Message format and tokens', AFFILIATES_PRO_PLUGIN_DOMAIN ) . '</h3>' . '<p class="description">' . __( 'The message format is HTML and line breaks must be indicated by <code>&lt;br/&gt;</code>.', AFFILIATES_PRO_PLUGIN_DOMAIN ) . '<p class="description">' . __( 'These default tokens can be used in the subjects and the messages:', AFFILIATES_PRO_PLUGIN_DOMAIN ) . '<ul>' . '<li><code>[site_title]</code> : '. wp_specialchars_decode( get_bloginfo( 'blogname' ), ENT_QUOTES ) . '</li>' . '<li><code>[site_url]</code> : '. htmlentities( get_bloginfo( 'url' ), ENT_COMPAT, get_bloginfo( 'charset' ) ) . '</li>' . '<li><code>[site_login_url]</code> : '. htmlentities( wp_login_url(), ENT_COMPAT, get_bloginfo( 'charset' ) ) . '</li>' . '<li><code>[username]</code> : ' . __( 'The username for the new affiliate user account.', AFFILIATES_PRO_PLUGIN_DOMAIN ) . '</li>' . '<li><code>[password]</code> : '. __( 'The password for the new affiliate user account.', AFFILIATES_PRO_PLUGIN_DOMAIN ) . '</li>' . '<li><code>[user_id]</code> : '. __( 'The ID of the new affiliate user account. This is the user ID, not the affiliate ID.', AFFILIATES_PRO_PLUGIN_DOMAIN ) . '</li>' . '<li><code>[blogname]</code> : '. __( 'Same as [site_title].', AFFILIATES_PRO_PLUGIN_DOMAIN ) . '</li>' . '</ul>' . '</p>' . '<h3>' . __( 'Default subject and message', AFFILIATES_PRO_PLUGIN_DOMAIN ) . '</h4>' . '<p class="description">' . __( 'Subject:', AFFILIATES_PRO_PLUGIN_DOMAIN ) . '</p>' . '<pre>' . htmlentities( stripslashes( Affiliates_Notifications::IXAP320 ), ENT_COMPAT, get_bloginfo( 'charset' ) ) . '</pre>' . '<p class="description">' . __( 'Message:', AFFILIATES_PRO_PLUGIN_DOMAIN ) . '</p>' . '<pre>' . htmlentities( stripslashes( Affiliates_Notifications::IXAP322 ), ENT_COMPAT, get_bloginfo( 'charset' ) ) . '</pre>' . '</div>' . self::get_help_tab_footer(); } private static function get_notifications_help_referral_notifications() { return '<div class="manage">' . '<h3>' . __( 'Message format and tokens', AFFILIATES_PRO_PLUGIN_DOMAIN ) . '</h3>' . '<p class="description">' . __( 'The message format is HTML and line breaks must be indicated by <code>&lt;br/&gt;</code>.', AFFILIATES_PRO_PLUGIN_DOMAIN ) . '<p class="description">' . __( 'These default tokens can be used in the subjects and the messages:', AFFILIATES_PRO_PLUGIN_DOMAIN ) . '<ul>' . '<li><code>[site_title]</code> : '. wp_specialchars_decode( get_bloginfo( 'blogname' ), ENT_QUOTES ) . '</li>' . '<li><code>[site_url]</code> : '. htmlentities( get_bloginfo( 'url' ), ENT_COMPAT, get_bloginfo( 'charset' ) ) . '</li>' . '<li><code>[affiliate_id]</code> : ' . __( 'The referring affiliate&rsquo;s ID', AFFILIATES_PRO_PLUGIN_DOMAIN ) . '</li>' . '<li><code>[affiliate_email]</code> : '. __( 'The referring affiliate&rsquo;s email address', AFFILIATES_PRO_PLUGIN_DOMAIN ) . '</li>' . '<li><code>[affiliate_name]</code> : '. __( 'The referring affiliate&rsquo;s name', AFFILIATES_PRO_PLUGIN_DOMAIN ) . '</li>' . '<li><code>[referral_status]</code> : '. __( 'The current referral status', AFFILIATES_PRO_PLUGIN_DOMAIN ) . '</li>' . '<li><code>[referral_amount]</code> : '. __( 'The referral amount', AFFILIATES_PRO_PLUGIN_DOMAIN ) . '</li>' . '<li><code>[referral_currency_id]</code> : '. __( 'The referral currency ID', AFFILIATES_PRO_PLUGIN_DOMAIN ) . '</li>' . '<li><code>[referral_type]</code> : '. __( 'The referral type (an internal reference)', AFFILIATES_PRO_PLUGIN_DOMAIN ) . '</li>' . '<li><code>[referral_reference]</code> : '. __( 'The referral reference (an internal reference normally related to the originating transaction)', AFFILIATES_PRO_PLUGIN_DOMAIN ) . '</li>' . '</ul>' . '</p>' . '<p class="description">' . __( 'Integration-specific data tokens can also be used in the subject and message.', AFFILIATES_PRO_PLUGIN_DOMAIN ) . '</p>' . '<h4>' . __( 'Default subjects and messages', AFFILIATES_PRO_PLUGIN_DOMAIN ) . '</h4>' . '<p class="description">' . __( 'Administrator subject:', AFFILIATES_PRO_PLUGIN_DOMAIN ) . '</p>' . '<pre>' . htmlentities( Affiliates_Notifications::IXAP330, ENT_COMPAT, get_bloginfo( 'charset' ) ) . '</pre>' . '<p class="description">' . __( 'Administrator message:', AFFILIATES_PRO_PLUGIN_DOMAIN ) . '</p>' . '<pre>' . htmlentities( stripslashes( Affiliates_Notifications::IXAP332 ), ENT_COMPAT, get_bloginfo( 'charset' ) ) . '</pre>' . '<p class="description">' . __( 'Affiliate subject:', AFFILIATES_PRO_PLUGIN_DOMAIN ) . '</p>' . '<pre>' . htmlentities( Affiliates_Notifications::IXAP337, ENT_COMPAT, get_bloginfo( 'charset' ) ) . '</pre>' . '<p class="description">' . __( 'Affiliate message:', AFFILIATES_PRO_PLUGIN_DOMAIN ) . '</p>' . '<pre>' . htmlentities( stripslashes( Affiliates_Notifications::IXAP338 ), ENT_COMPAT, get_bloginfo( 'charset' ) ) . '</pre>' . '</div>' . self::get_help_tab_footer(); } private static function get_help_tab_footer() { $IXAP18 = '<div class="affiliates-documentation">'; if ( AFFILIATES_PLUGIN_NAME == 'affiliates-enterprise' ) { $IXAP18 .= sprintf( '<a href="%s">%s</a>', esc_attr( 'http://docs.itthinx.com/document/affiliates-enterprise/' ), esc_html( __( 'Online documentation', AFFILIATES_PRO_PLUGIN_DOMAIN ) ) ); } else { $IXAP18 .= sprintf( '<a href="%s">%s</a>', esc_attr( 'http://docs.itthinx.com/document/affiliates-pro/' ), esc_html( __( 'Online documentation', AFFILIATES_PRO_PLUGIN_DOMAIN ) ) ); } $IXAP18 .= '</div>'; return $IXAP18; } public static function affiliates_help_tab_footer( $IXAP18 ) { return self::get_help_tab_footer(); } public static function affiliates_help_tab_title( $IXAP81 ) { $IXAP81 = '<h3>'; if ( AFFILIATES_PLUGIN_NAME == 'affiliates-enterprise' ) { $IXAP81 .= __( 'Affiliates Enterprise', AFFILIATES_PRO_PLUGIN_DOMAIN ); } else { $IXAP81 .= __( 'Affiliates Pro', AFFILIATES_PRO_PLUGIN_DOMAIN ); } $IXAP81 .= '</h3>'; return $IXAP81; } } Affiliates_Admin_Menu_WordPress::init();