INFRA-132 - Fix comment formatting
[civicrm-core.git] / CRM / Event / Info.php
CommitLineData
6a488035
TO
1<?php
2/*
3 +--------------------------------------------------------------------+
39de6fd5 4 | CiviCRM version 4.6 |
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
0cf587a7 43 /**
4f1f1f2a 44 * docs inherited from interface
0cf587a7
EM
45 * @return array
46 */
6a488035
TO
47 public function getInfo() {
48 return array(
49 'name' => 'CiviEvent',
50 'translatedName' => ts('CiviEvent'),
51 'title' => ts('CiviCRM Event Engine'),
52 'search' => 1,
53 'showActivitiesInCore' => 1,
54 );
55 }
56
0cf587a7 57 /**
4f1f1f2a 58 * docs inherited from interface
0cf587a7
EM
59 * @param bool $getAllUnconditionally
60 *
61 * @return array
62 */
33777e4a 63 public function getPermissions($getAllUnconditionally = FALSE) {
6a488035
TO
64 return array(
65 'access CiviEvent',
66 'edit event participants',
67 'edit all events',
68 'register for events',
69 'view event info',
70 'view event participants',
71 'delete in CiviEvent',
72 );
73 }
74
0cf587a7
EM
75 /**
76 * @return array
77 */
81bb85ea
AC
78 public function getAnonymousPermissionWarnings() {
79 return array(
80 'access CiviEvent',
81 );
82 }
83
0cf587a7 84 /**
4f1f1f2a 85 * docs inherited from interface
0cf587a7
EM
86 * @return array
87 */
6a488035 88 public function getUserDashboardElement() {
6ea503d4
TO
89 return array(
90 'name' => ts('Events'),
6a488035
TO
91 'title' => ts('Your Event(s)'),
92 'perm' => array('register for events'),
93 'weight' => 20,
94 );
95 }
96
0cf587a7 97 /**
4f1f1f2a 98 * docs inherited from interface
0cf587a7
EM
99 * @return array
100 */
6a488035 101 public function registerTab() {
6ea503d4
TO
102 return array(
103 'title' => ts('Events'),
6a488035
TO
104 'id' => 'participant',
105 'url' => 'participant',
106 'weight' => 40,
107 );
108 }
109
0cf587a7 110 /**
4f1f1f2a 111 * docs inherited from interface
0cf587a7
EM
112 * @return array
113 */
6a488035 114 public function registerAdvancedSearchPane() {
6ea503d4
TO
115 return array(
116 'title' => ts('Events'),
6a488035
TO
117 'weight' => 40,
118 );
119 }
120
0cf587a7 121 /**
4f1f1f2a 122 * docs inherited from interface
0cf587a7
EM
123 * @return array
124 */
6a488035
TO
125 public function getActivityTypes() {
126 $types = array();
6ea503d4
TO
127 $types['Event'] = array(
128 'title' => ts('Event'),
6a488035
TO
129 'callback' => 'CRM_Event_Page_EventInfo::run()',
130 );
131 return $types;
132 }
133
0cf587a7 134 /**
4f1f1f2a 135 * add shortcut to Create New
0cf587a7
EM
136 * @param $shortCuts
137 * @param $newCredit
138 */
6a488035
TO
139 public function creatNewShortcut(&$shortCuts, $newCredit) {
140 if (CRM_Core_Permission::check('access CiviEvent') &&
141 CRM_Core_Permission::check('edit event participants')
142 ) {
6b5ca1ea 143 $shortCut[] = array(
144 'path' => 'civicrm/participant/add',
145 'query' => "reset=1&action=add&context=standalone",
146 'ref' => 'new-participant',
147 'title' => ts('Event Registration'),
148 );
6a488035
TO
149 if ($newCredit) {
150 $title = ts('Event Registration') . '<br />&nbsp;&nbsp;(' . ts('credit card') . ')';
6b5ca1ea 151 $shortCut[0]['shortCuts'][] = array(
152 'path' => 'civicrm/participant/add',
153 'query' => "reset=1&action=add&context=standalone&mode=live",
154 'ref' => 'new-participant-cc',
155 'title' => $title,
156 );
6a488035 157 }
6b5ca1ea 158 $shortCuts = array_merge($shortCuts, $shortCut);
6a488035
TO
159 }
160 }
161}