/** * 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; }
/** * 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); }
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; }