*/ if ( !defined( 'WPINC' ) ) { die; } /** * Builds the page for activity nice management * * @param array $activity Information about the activity to display * @param string $current_url The current admin area to return to, null to remove settings buttons * @return string Management page for nice activity display */ function acts_activity_nice_management( $activity, $current_url = null ) { wp_enqueue_media(); if ( isset( $_POST['save_nice_settings'] ) && $current_url != null ) { $settings = Activities_Admin_Utility::get_activity_nice_settings(); if ( isset( $settings['activity_id'] ) && $settings['activity_id'] ) { Activities_Activity::save_nice_settings( $settings ); Activities_Admin::add_success_message( sprintf( esc_html__( 'Report settings updated for %s.', 'activities' ), $activity['name'] ) ); } else { Activities_Admin::add_success_message( sprintf( esc_html__( 'An error occured during saving report setting for %s.', 'activities' ), $activity['name'] ) ); } } else if ( isset( $_POST['reset_nice_settings'] ) && isset( $_POST['item_id'] ) ) { $id = acts_validate_id( $_POST['item_id'] ); if ( $id ) { Activities_Activity::delete_meta( $id, ACTIVITIES_NICE_SETTINGS_KEY ); Activities_Admin::add_success_message( sprintf( esc_html__( 'Report settings has been reset for %s.', 'activities' ), $activity['name'] ) ); } else { Activities_Admin::add_success_message( sprintf( esc_html__( 'An error occured during resetting report setting for %s.', 'activities' ), $activity['name'] ) ); } } else if ( isset( $_POST['default_nice_settings'] ) && $current_url != null ) { $settings = Activities_Admin_Utility::get_activity_nice_settings(); if ( isset( $settings['activity_id'] ) && $settings['activity_id'] ) { Activities_Activity::delete_meta( $settings['activity_id'], ACTIVITIES_NICE_SETTINGS_KEY ); unset( $settings['activity_id'] ); unset( $settings['attended'] ); Activities_Options::update_option( ACTIVITIES_NICE_SETTINGS_KEY, $settings ); Activities_Admin::add_success_message( sprintf( esc_html__( 'Report settings updated for %s, and made default for all activities.', 'activities' ), $activity['name'] ) ); } else { Activities_Admin::add_success_message( sprintf( esc_html__( 'An error occured during saving report setting for %s.', 'activities' ), $activity['name'] ) ); } } $nice_settings = Activities_Activity::get_nice_settings( $activity['activity_id'] ); if ( !$nice_settings ) { $nice_settings = Activities_Options::get_option( ACTIVITIES_NICE_SETTINGS_KEY ); if ( !is_array( $nice_settings ) ) { $nice_settings = unserialize( $nice_settings ); } } $output = ''; if ( $current_url != null ) { add_thickbox(); $output .= '
'; } //Find the last session marked to make the mark session buttons more intelligent $last_session = 1; if ( isset( $nice_settings['attended'] ) ) { foreach ($nice_settings['attended'] as $uid => $sessions) { for ($t=$nice_settings['time_slots'] - 1; $t >= 0; $t--) { if ( isset( $sessions[$t] ) && $sessions[$t] == '1' ) { if ( $t + 2 > $last_session ) { $last_session = $t + 2; //Add 1 for array offset and 1 for next session } break; } } } } if ($last_session > $nice_settings['time_slots']) { $last_session = $nice_settings['time_slots']; } if ( $current_url != null ) { $output .= ''; $output .= stripslashes( wp_filter_nohtml_kses ( $activity['short_desc'] ) ) . '
'; $output .= ''; $output .= stripslashes( wp_filter_nohtml_kses ( $activity['long_desc'] ) ) . '
'; $output .= '' . esc_html__( 'This activity has no participants.', 'activities' ) . '
'; } $output .= '