Advertisement
Beee

race-overviews.php

Aug 30th, 2017
294
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 9.49 KB | None | 0 0
  1. <?php
  2.  
  3. if ( class_exists('EM_Events') ) {      // if EM events is enabled
  4.  
  5.     /**
  6.      * Adds a page in the settings menu
  7.      */
  8.     function race_overview_menu_page() {
  9.         add_submenu_page( 'edit.php?post_type=event', 'Race Overview', 'Race Overview', 'publish_events', 'race-overview', 'race_overview' );
  10.     }
  11.     add_action( 'admin_menu', 'race_overview_menu_page' );
  12.  
  13.     /**
  14.      * Content for the settings page
  15.      */
  16.     function race_overview() {
  17.         if ( ! current_user_can( 'publish_events' ) )  {
  18.             wp_die( __( 'You do not have sufficient permissions to access this page.' ) );
  19.         }
  20.  
  21.         // Display the settings editing screen
  22.         echo '<div class="wrap">';
  23.         echo '<div id="icon-options-general" class="icon32"><br /></div>';
  24.  
  25.         echo "<h2>Races summary</h2>";
  26.         echo "<p>This shows all events of the current year, sorted by date (best viewed with chrome and sidebar collapsed).</p>";
  27.  
  28.         $dump = 0;
  29.         $format_header = '
  30.            <table class="eventslist" cellspacing="5" border="0">
  31.                <thead>
  32.                    <tr>
  33.                        <th class="edit">&nbsp;</th>
  34.                        <th class="eventname">Event</th>
  35.                        <th class="status">St.</th>
  36.                        <th class="sdate">Start</th>
  37.                        <th class="edate">End</th>
  38.                        <th class="country">Country</th>
  39.                        <th class="event-type">Type</th>
  40.                        <th class="bookingsstart">Rego</th>
  41.                        <th class="bookings hide">Reg.</th>
  42.                        <th class="event-class-open class">OS</th>
  43.                        <th class="event-class-women class">WO</th>
  44.                        <th class="event-class-juniors class">JR</th>
  45.                        <th class="event-class-luge class">LU</th>
  46.                        <th class="event-class-masters class">MA</th>
  47.                        <th class="event-class-micro-juniors class">MJ</th>
  48.                        <th class="spaces">Tot.</th>
  49.                        <th class="available">Avail.</th>
  50.                        <th class="">% Reg.</th>
  51.                        <th class="aantalcl">#</th>
  52.                        <th class="note">Note</th>
  53.                        <th class="paypal">PP</th>
  54.                        <th class="merchant">M.id</th>
  55.                        <th class="findhills">FH</th>
  56.                        <th class="fbe">FBE</th>
  57.                        <th class="fbp">FBP</th>
  58.                        <th class="owner">Owner</th>
  59.                        <th class="">&nbsp;</th>
  60.                    </tr>
  61.                </thead>
  62.                <tbody>';
  63.         $format_footer = '
  64.            <tr>
  65.                <td>&nbsp;</td>
  66.                <td>&nbsp;</td>
  67.                <td>&nbsp;</td>
  68.                <td>&nbsp;</td>
  69.                <td>&nbsp;</td>
  70.                <td>&nbsp;</td>
  71.                <td>&nbsp;</td>
  72.                <td>&nbsp;</td>
  73.                <td>&nbsp;</td>
  74.                <td>&nbsp;</td>
  75.                <td>&nbsp;</td>
  76.                <td>&nbsp;</td>
  77.                <td>&nbsp;</td>
  78.                <td>&nbsp;</td>
  79.                <td>&nbsp;</td>
  80.                <td>&nbsp;</td>
  81.                <td>&nbsp;</td>
  82.                <td>&nbsp;</td>
  83.                <td>&nbsp;</td>
  84.                <td>&nbsp;</td>
  85.                <td>&nbsp;</td>
  86.                <td>&nbsp;</td>
  87.                <td>&nbsp;</td>
  88.                <td>&nbsp;</td>
  89.                <td>&nbsp;</td>
  90.                <td>&nbsp;</td>
  91.            </tr>
  92.        </tbody></table>';
  93.  
  94.         $event_args = array(
  95.             'year'              => date( 'Y' ),
  96.             'orderby'           => 'event_start_date,event_name',
  97.             'order'             => 'ASC',
  98.             'posts_per_page'    => 99,
  99.         );
  100.         $get_events = EM_Events::get( $event_args );
  101.  
  102.         if ( $get_events ) {
  103.             if ( $dump == 1 ) {
  104.                 foreach ( $get_events as $event ) {
  105.                     echo '<pre>'; var_dump( $event ); echo '</pre>';
  106.                 }
  107.             } else {
  108.                 echo $format_header;
  109.                 foreach ( $get_events as $event ) {
  110.                     $event_id   = $event->post_id;
  111.                     $status     = get_post_status( $event_id );
  112.                     $spaces     = $event->event_spaces;
  113.                     $bookings   = $event->get_bookings()->get_booked_spaces();
  114.                     $available  = $spaces - $bookings;
  115.                     $percentage = false;
  116.                     $percentage = ( $bookings / $spaces );
  117.  
  118.                     echo do_shortcode('[event post_id="' . $event_id . '"]
  119.                        <tr>
  120.                            <td class="edit">#_EVENTEDIT</td>
  121.                            <td class="eventname"><a href="#_EVENTURL">#_RACENAMENOYEAR</a></td>
  122.                            <td class="status ' . $status . '">&nbsp;</td>
  123.                            <td class="sdate">#M #j</td>
  124.                            <td class="edate">#@_{M j}</td>
  125.                            <td class="country">{has_location}<a href="#_LOCATIONURL">#_LOCATIONCOUNTRY</a>{/has_location}{no_location}<span class="enter">ADD</span>{/no_location}</td>
  126.                            <td class="event-type">{has_category_world-cup}WC{/has_category_world-cup}{has_category_world-qualifying-series}WQS{/has_category_world-qualifying-series}</td>
  127.                            <td class="bookingsstart{no_bookings} enter{/no_bookings}">{has_bookings}#_BOOKINGSSTART{/has_bookings}{no_bookings}&nbsp;{/no_bookings}</td>
  128.                            <td class="bookings hide">{has_bookings}<a href="/wp/wp-admin/edit.php?post_type=event&page=events-manager-bookings&event_id=#_EVENTID">X</a>{/has_bookings}</td>
  129.  
  130.                            <td class="event-class-open class">{has_tag_skateboard-open}&#10003;{/has_tag_skateboard-open}{no_tag_skateboard-open}&nbsp;{/no_tag_skateboard-open}</td>
  131.                            <td class="event-class-women class">{has_tag_skateboard-women}&#10003;{/has_tag_skateboard-women}{no_tag_skateboard-women}&nbsp;{/no_tag_skateboard-women}</td>
  132.                            <td class="event-class-juniors class">{has_tag_skateboard-juniors}&#10003;{/has_tag_skateboard-juniors}{no_tag_skateboard-juniors}&nbsp;{/no_tag_skateboard-juniors}</td>
  133.                            <td class="event-class-luge class">{has_tag_luge}&#10003;{/has_tag_luge}{no_tag_luge}&nbsp;{/no_tag_luge}</td>
  134.                            <td class="event-class-masters class">{has_tag_skateboard-masters}&#10003;{/has_tag_skateboard-masters}{no_tag_skateboard-masters}&nbsp;{/no_tag_skateboard-masters}</td>
  135.                            <td class="event-class-micro-juniors class">{has_tag_skateboard-micro-juniors}&#10003;{/has_tag_skateboard-micro-juniors}{no_tag_skateboard-micro-juniors}&nbsp;{/no_tag_skateboard-micro-juniors}</td>
  136.  
  137.                            <td class="spaces">{has_bookings}<a href="/wp/wp-admin/edit.php?post_type=event&page=events-manager-bookings&event_id=#_EVENTID">' . $spaces . '</a>{/has_bookings}{no_bookings}X{/no_bookings}</td>
  138.                            <td class="available">{has_bookings}' . $available . '{/has_bookings}</td>
  139.                            <td class="">' . number_format( $percentage, 2, ',', '.' ) . ' %</td>
  140.                            <td class="aantalcl">#_ATT{Allowed classes}</td>
  141.                            <td class="note">{has_notice}<span class="done">X</span>{/has_notice}</td>
  142.                            <td class="paypal">{has_paypal}<span class="done">X</span>{/has_paypal}</td>
  143.                            <td class="merchant">{has_merchantid}<span class="done">X</span>{/has_merchantid}</td>
  144.                            <td class="findhills">{has_findhills}<a href="#_ATT{Findhills}"><span class="done">X</span></a>{/has_findhills}</td>
  145.                            <td class="fbe">{has_fbe}<a href="#_ATT{Facebook event}"><span class="done">X</span></a>{/has_fbe}</td>
  146.                            <td class="fbp">{has_fbp}<a href="#_ATT{Facebook page}"><span class="done">X</span></a>{/has_fbp}</td>
  147.                            <td class="owner">#_CONTACTNAME</td>
  148.                            <td class="">&nbsp;</td>
  149.                        </tr>
  150.                    [/event]');
  151.                 }
  152.                 echo $format_footer;
  153.  
  154.                 echo '<div class="legend">';
  155.                 echo '<strong>Legend</strong><br />';
  156.                 echo '<span class="publish">X</span> Event is published<br />';
  157.                 // echo '<span class="draft">X</span> Event is not published yet<br />';
  158.                 echo '<span class="pending">X</span> Event is pending review<br />';
  159.                 echo '<span class="publish set">X</span> Value is set<br />';
  160.                 //echo '<br />';
  161.                 echo 'Column rego: registration status (if set). Red means not activated/set yet.<br />';
  162.                 echo 'Column #: allowed classes.<br />';
  163.                 echo 'Column PP: is Paypal account set<br />';
  164.                 echo 'Column M.id: is Paypal Merchant ID set<br />';
  165.                 echo 'Column FH: is Findhills set ?<br />';
  166.                 echo 'Column FBE: is a Facebook event set ?<br />';
  167.                 echo 'Column FBP: is a Facbeook page set ?<br />';
  168.                 echo '</div>';
  169.             }
  170.         }
  171.     ?>
  172.  
  173.         </div><!-- end .wrap -->
  174.  
  175.     <?php } // end race_overview - content for settings page
  176. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement