/**
  * Used to setup the actions for the Venue name column
  * @param EE_Venue $item
  * @return array()
  */
 protected function _column_name_action_setup(EE_Venue $item)
 {
     $actions = array();
     if (EE_Registry::instance()->CAP->current_user_can('ee_edit_venue', 'espresso_venues_edit', $item->ID())) {
         $edit_query_args = array('action' => 'edit', 'post' => $item->ID());
         $edit_link = EE_Admin_Page::add_query_args_and_nonce($edit_query_args, EE_VENUES_ADMIN_URL);
         $actions['edit'] = '<a href="' . $edit_link . '" title="' . esc_attr__('Edit Venue', 'event_espresso') . '">' . __('Edit', 'event_espresso') . '</a>';
     }
     if (EE_Registry::instance()->CAP->current_user_can('ee_delete_venue', 'espresso_venues_trash_venue', $item->ID())) {
         $trash_event_query_arg = array('action' => 'trash_venue', 'VNU_ID' => $item->ID());
         $trash_venue_link = EE_Admin_Page::add_query_args_and_nonce($trash_event_query_arg, EE_VENUES_ADMIN_URL);
     }
     if (EE_Registry::instance()->CAP->current_user_can('ee_delete_venue', 'espresso_venues_restore_venue', $item->ID())) {
         $restore_venue_query_args = array('action' => 'restore_venue', 'VNU_ID' => $item->ID());
         $restore_venue_link = EE_Admin_Page::add_query_args_and_nonce($restore_venue_query_args, EE_VENUES_ADMIN_URL);
     }
     if (EE_Registry::instance()->CAP->current_user_can('ee_delete_venue', 'espresso_venues_delete_venue', $item->ID())) {
         $delete_venue_query_args = array('action' => 'delete_venue', 'VNU_ID' => $item->ID());
         $delete_venue_link = EE_Admin_Page::add_query_args_and_nonce($delete_venue_query_args, EE_VENUES_ADMIN_URL);
     }
     $view_link = get_permalink($item->ID());
     switch ($item->get('status')) {
         case 'trash':
             if (EE_Registry::instance()->CAP->current_user_can('ee_delete_venue', 'espresso_venues_restore_venue', $item->ID())) {
                 $actions['restore_from_trash'] = '<a href="' . $restore_venue_link . '" title="' . esc_attr__('Restore from Trash', 'event_espresso') . '">' . __('Restore from Trash', 'event_espresso') . '</a>';
             }
             if ($item->count_related('Event') === 0 && EE_Registry::instance()->CAP->current_user_can('ee_delete_venue', 'espresso_venues_delete_venue', $item->ID())) {
                 $actions['delete permanently'] = '<a href="' . $delete_venue_link . '" title="' . esc_attr__('Delete Permanently', 'event_espresso') . '">' . __('Delete Permanently', 'event_espresso') . '</a>';
             }
             break;
         default:
             $actions['view'] = '<a href="' . $view_link . '" title="' . esc_attr__('View Venue', 'event_espresso') . '">' . __('View', 'event_espresso') . '</a>';
             if (EE_Registry::instance()->CAP->current_user_can('ee_delete_venue', 'espresso_venues_trash_venue', $item->ID())) {
                 $actions['move to trash'] = '<a href="' . $trash_venue_link . '" title="' . esc_attr__('Trash Event', 'event_espresso') . '">' . __('Trash', 'event_espresso') . '</a>';
             }
     }
     return $actions;
 }
コード例 #2
0
 /**
  * Gets the HTML to display a static map of the venue
  * @param EE_Venue $venue
  * @param array $atts like EEH_Maps::google_map_link
  * @return string
  */
 public static function espresso_google_static_map(EE_Venue $venue, $atts = array())
 {
     EE_Registry::instance()->load_helper('Maps');
     $state = $venue->state_obj();
     $country = $venue->country_obj();
     $atts = shortcode_atts(array('id' => $venue->ID(), 'address' => $venue->get('VNU_address'), 'city' => $venue->get('VNU_city'), 'state' => $state instanceof EE_State ? $state->name() : '', 'zip' => $venue->get('VNU_zip'), 'country' => $country instanceof EE_Country ? $country->name() : '', 'type' => 'map', 'map_w' => 200, 'map_h' => 200), $atts);
     return EEH_Maps::google_map_link($atts);
 }
コード例 #3
0
 function test_count_related()
 {
     $e1 = EE_Event::new_instance(array('EVT_name' => '1'));
     $e1->save();
     $this->assertNotEquals($e1->ID(), 0);
     $e2 = EE_Event::new_instance(array('EVT_name' => '2'));
     $e2->save();
     $this->assertNotEquals($e2->ID(), 0);
     $e3 = EE_Event::new_instance(array('EVT_name' => '3'));
     $e3->save();
     $v = EE_Venue::new_instance(array('VNU_name' => 'v1'));
     $v->save();
     $v->_add_relation_to($e1, 'Event');
     $v->_add_relation_to($e2, 'Event');
     $this->assertEquals($v->count_related('Event'), 2);
 }
 /**
  * used by factory to create venue object
  *
  * @since 4.3.0
  *
  * @param array $args Incoming field values to set on the new object
  *
  * @return EE_Venue|false
  */
 public function create_object($args)
 {
     $venue = EE_Venue::new_instance($args);
     $venID = $venue->save();
     return $venID ? $venue : false;
 }