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 …', 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 ' — '; 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 – 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 ' — '; 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 ' — '; 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’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><br/></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><br/></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’s ID', AFFILIATES_PRO_PLUGIN_DOMAIN ) . '</li>' . '<li><code>[affiliate_email]</code> : '. __( 'The referring affiliate’s email address', AFFILIATES_PRO_PLUGIN_DOMAIN ) . '</li>' . '<li><code>[affiliate_name]</code> : '. __( 'The referring affiliate’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();