Merge pull request #3091 from eileenmcnaughton/CRM-14319
[civicrm-core.git] / CRM / Event / Info.php
CommitLineData
6a488035
TO
1<?php
2/*
3 +--------------------------------------------------------------------+
06b69b18 4 | CiviCRM version 4.5 |
6a488035 5 +--------------------------------------------------------------------+
06b69b18 6 | Copyright CiviCRM LLC (c) 2004-2014 |
6a488035
TO
7 +--------------------------------------------------------------------+
8 | This file is a part of CiviCRM. |
9 | |
10 | CiviCRM is free software; you can copy, modify, and distribute it |
11 | under the terms of the GNU Affero General Public License |
12 | Version 3, 19 November 2007 and the CiviCRM Licensing Exception. |
13 | |
14 | CiviCRM is distributed in the hope that it will be useful, but |
15 | WITHOUT ANY WARRANTY; without even the implied warranty of |
16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
17 | See the GNU Affero General Public License for more details. |
18 | |
19 | You should have received a copy of the GNU Affero General Public |
20 | License and the CiviCRM Licensing Exception along |
21 | with this program; if not, contact CiviCRM LLC |
22 | at info[AT]civicrm[DOT]org. If you have questions about the |
23 | GNU Affero General Public License or the licensing of CiviCRM, |
24 | see the CiviCRM license FAQ at http://civicrm.org/licensing |
25 +--------------------------------------------------------------------+
26*/
27
28/**
29 * This class introduces component to the system and provides all the
30 * information about it. It needs to extend CRM_Core_Component_Info
31 * abstract class.
32 *
33 * @package CRM
06b69b18 34 * @copyright CiviCRM LLC (c) 2004-2014
6a488035
TO
35 * $Id$
36 *
37 */
38class CRM_Event_Info extends CRM_Core_Component_Info {
39
40 // docs inherited from interface
41 protected $keyword = 'event';
42
43 // docs inherited from interface
44 public function getInfo() {
45 return array(
46 'name' => 'CiviEvent',
47 'translatedName' => ts('CiviEvent'),
48 'title' => ts('CiviCRM Event Engine'),
49 'search' => 1,
50 'showActivitiesInCore' => 1,
51 );
52 }
53
54 // docs inherited from interface
33777e4a 55 public function getPermissions($getAllUnconditionally = FALSE) {
6a488035
TO
56 return array(
57 'access CiviEvent',
58 'edit event participants',
59 'edit all events',
60 'register for events',
61 'view event info',
62 'view event participants',
63 'delete in CiviEvent',
64 );
65 }
66
81bb85ea
AC
67 public function getAnonymousPermissionWarnings() {
68 return array(
69 'access CiviEvent',
70 );
71 }
72
6a488035
TO
73 // docs inherited from interface
74 public function getUserDashboardElement() {
75 return array('name' => ts('Events'),
76 'title' => ts('Your Event(s)'),
77 'perm' => array('register for events'),
78 'weight' => 20,
79 );
80 }
81
82 // docs inherited from interface
83 public function registerTab() {
84 return array('title' => ts('Events'),
85 'id' => 'participant',
86 'url' => 'participant',
87 'weight' => 40,
88 );
89 }
90
91 // docs inherited from interface
92 public function registerAdvancedSearchPane() {
93 return array('title' => ts('Events'),
94 'weight' => 40,
95 );
96 }
97
98 // docs inherited from interface
99 public function getActivityTypes() {
100 $types = array();
101 $types['Event'] = array('title' => ts('Event'),
102 'callback' => 'CRM_Event_Page_EventInfo::run()',
103 );
104 return $types;
105 }
106
107 // add shortcut to Create New
108 public function creatNewShortcut(&$shortCuts, $newCredit) {
109 if (CRM_Core_Permission::check('access CiviEvent') &&
110 CRM_Core_Permission::check('edit event participants')
111 ) {
112 $shortCuts = array_merge($shortCuts, array(
113 array('path' => 'civicrm/participant/add',
114 'query' => "reset=1&action=add&context=standalone",
115 'ref' => 'new-participant',
116 'title' => ts('Event Registration'),
117 )));
118 if ($newCredit) {
119 $title = ts('Event Registration') . '<br />&nbsp;&nbsp;(' . ts('credit card') . ')';
120 $shortCuts = array_merge($shortCuts, array(
121 array('path' => 'civicrm/participant/add',
122 'query' => "reset=1&action=add&context=standalone&mode=live",
123 'ref' => 'new-participant-cc',
124 'title' => $title,
2ede60ec 125 )));
6a488035
TO
126 }
127 }
128 }
129}
130