pierre@1
|
1 <?php |
pierre@1
|
2 // $Id: ad_token.inc,v 1.1.2.1 2009/03/29 20:17:20 jeremy Exp $ |
pierre@1
|
3 |
pierre@1
|
4 /** |
pierre@1
|
5 * @file |
pierre@1
|
6 * Implementations of token module hooks for the Advertisement module. |
pierre@1
|
7 * |
pierre@1
|
8 * @ingroup token |
pierre@1
|
9 */ |
pierre@1
|
10 |
pierre@1
|
11 /** |
pierre@1
|
12 * Implementation of hook_token_values(). |
pierre@1
|
13 */ |
pierre@1
|
14 function ad_token_values($type, $object = NULL, $options = array()) { |
pierre@1
|
15 $values = array(); |
pierre@1
|
16 switch ($type) { |
pierre@1
|
17 case 'ad': |
pierre@1
|
18 if (isset($object)) { |
pierre@1
|
19 $node = $object; |
pierre@1
|
20 $notifications = module_invoke_all('adnotifyapi', 'register'); |
pierre@1
|
21 module_load_include('pages.inc', 'ad'); |
pierre@1
|
22 |
pierre@1
|
23 $values['aid'] = $node->nid; |
pierre@1
|
24 $values['title'] = $node->title; |
pierre@1
|
25 $values['description'] = $node->body; |
pierre@1
|
26 $values['log_message'] = $node->log; |
pierre@1
|
27 $values['type'] = $node->adtype; |
pierre@1
|
28 $values['status'] = $node->adstatus; |
pierre@1
|
29 $values['url'] = url('node/'. $node->nid, array('absolute' => TRUE)); |
pierre@1
|
30 $values['redirect'] = url($node->redirect, array('absolute' => TRUE)); |
pierre@1
|
31 $values['comments'] = $node->comment_count; |
pierre@1
|
32 |
pierre@1
|
33 if (isset($node->notification)) { |
pierre@1
|
34 $values['event'] = $node->notification->event; |
pierre@1
|
35 $values['frequency'] = t(strtolower($notifications[$node->notification->event]), array('@when' => format_interval($node->notification->delay))); |
pierre@1
|
36 } |
pierre@1
|
37 |
pierre@1
|
38 $values['created_small'] = format_date($node->created, 'small'); |
pierre@1
|
39 $values['created_medium'] = format_date($node->created, 'medium'); |
pierre@1
|
40 $values['created_large'] = format_date($node->created, 'large'); |
pierre@1
|
41 $values['activated_small'] = $node->activated ? format_date($node->activated, 'small') : t('never'); |
pierre@1
|
42 $values['activated_medium'] = $node->activated ? format_date($node->activated, 'medium') : t('never'); |
pierre@1
|
43 $values['activated_large'] = $node->activated ? format_date($node->activated, 'large') : t('never'); |
pierre@1
|
44 $values['expired_small'] = $node->expired ? format_date($node->expired, 'small') : t('never'); |
pierre@1
|
45 $values['expired_medium'] = $node->expired ? format_date($node->expired, 'medium') : t('never'); |
pierre@1
|
46 $values['expired_large'] = $node->expired ? format_date($node->expired, 'large') : t('never'); |
pierre@1
|
47 $values['autoactivate_small'] = $node->autoactivate ? format_date($node->autoactivate, 'small') : t('never'); |
pierre@1
|
48 $values['autoactivate_medium'] = $node->autoactivate ? format_date($node->autoactivate, 'medium') : t('never'); |
pierre@1
|
49 $values['autoactivate_large'] = $node->autoactivate ? format_date($node->autoactivate, 'large') : t('never'); |
pierre@1
|
50 $values['autoexpire_small'] = $node->autoexpire ? format_date($node->autoexpire, 'small') : t('never'); |
pierre@1
|
51 $values['autoexpire_medium'] = $node->autoexpire ? format_date($node->autoexpire, 'medium') : t('never'); |
pierre@1
|
52 $values['autoexpire_large'] = $node->autoexpire ? format_date($node->autoexpire, 'large') : t('never'); |
pierre@1
|
53 |
pierre@1
|
54 $statistics = ad_statistics($node->nid); |
pierre@1
|
55 // maximums |
pierre@1
|
56 $values['max_impressions'] = $node->maxviews; |
pierre@1
|
57 $values['max_clicks'] = $node->maxclicks; |
pierre@1
|
58 // global statistics |
pierre@1
|
59 $values['global_impressions'] = isset($statistics['global']) && !empty($statistics['global']) ? $statistics['global']['views'] : 0; |
pierre@1
|
60 $values['global_clicks'] = isset($statistics['global']) && !empty($statistics['global']) ? $statistics['global']['clicks'] : 0; |
pierre@1
|
61 // last year statistics |
pierre@1
|
62 $values['last_year_impressions'] = isset($statistics['last_year']) && !empty($statistics['last_year']) ? $statistics['last_year']['views'] : 0; |
pierre@1
|
63 $values['last_year_clicks'] = isset($statistics['last_year']) && !empty($statistics['last_year']) ? $statistics['last_year']['clicks'] : 0; |
pierre@1
|
64 // this year statistics |
pierre@1
|
65 $values['this_year_impressions'] = isset($statistics['this_year']) && !empty($statistics['this_year']) ? $statistics['this_year']['views'] : 0; |
pierre@1
|
66 $values['this_year_clicks'] = isset($statistics['this_year']) && !empty($statistics['this_year']) ? $statistics['this_year']['clicks'] : 0; |
pierre@1
|
67 // last month statistics |
pierre@1
|
68 $values['last_month_impressions'] = isset($statistics['last_month']) && !empty($statistics['last_month']) ? $statistics['last_month']['views'] : 0; |
pierre@1
|
69 $values['last_month_clicks'] = isset($statistics['last_month']) && !empty($statistics['last_month']) ? $statistics['last_month']['clicks'] : 0; |
pierre@1
|
70 // this month statistics |
pierre@1
|
71 $values['this_month_impressions'] = isset($statistics['this_month']) && !empty($statistics['this_month']) ? $statistics['this_month']['views'] : 0; |
pierre@1
|
72 $values['this_month_clicks'] = isset($statistics['this_month']) && !empty($statistics['this_month']) ? $statistics['this_month']['clicks'] : 0; |
pierre@1
|
73 // yesterday statistics |
pierre@1
|
74 $values['yesterday_impressions'] = isset($statistics['yesterday']) && !empty($statistics['yesterday']) ? $statistics['yesterday']['views'] : 0; |
pierre@1
|
75 $values['yesterday_clicks'] = isset($statistics['yesterday']) && !empty($statistics['yesterday']) ? $statistics['yesterday']['clicks'] : 0; |
pierre@1
|
76 // today statistics |
pierre@1
|
77 $values['today_impressions'] = isset($statistics['today']) && !empty($statistics['today']) ? $statistics['today']['views'] : 0; |
pierre@1
|
78 $values['today_clicks'] = isset($statistics['today']) && !empty($statistics['today']) ? $statistics['today']['clicks'] : 0; |
pierre@1
|
79 // last hour statistics |
pierre@1
|
80 $values['last_hour_impressions'] = isset($statistics['last_hour']) && !empty($statistics['last_hour']) ? $statistics['last_hour']['views'] : 0; |
pierre@1
|
81 $values['last_hour_clicks'] = isset($statistics['last_hour']) && !empty($statistics['last_hour']) ? $statistics['last_hour']['clicks'] : 0; |
pierre@1
|
82 // this hour statistics |
pierre@1
|
83 $values['this_hour_impressions'] = isset($statistics['this_hour']) && !empty($statistics['this_hour']) ? $statistics['this_hour']['views'] : 0; |
pierre@1
|
84 $values['this_hour_clicks'] = isset($statistics['this_hour']) && !empty($statistics['this_hour']) ? $statistics['this_hour']['clicks'] : 0; |
pierre@1
|
85 } |
pierre@1
|
86 break; |
pierre@1
|
87 case 'ad_owner': |
pierre@1
|
88 if (isset($object) && is_object($object)) { |
pierre@1
|
89 $owner = $object; |
pierre@1
|
90 $values['owner_name'] = $owner->name; |
pierre@1
|
91 $values['owner_mail'] = $owner->mail; |
pierre@1
|
92 $values['owner_uid'] = $owner->uid; |
pierre@1
|
93 } |
pierre@1
|
94 break; |
pierre@1
|
95 } |
pierre@1
|
96 return $values; |
pierre@1
|
97 } |
pierre@1
|
98 |
pierre@1
|
99 /** |
pierre@1
|
100 * Implementation of hook_token_list(). |
pierre@1
|
101 */ |
pierre@1
|
102 function ad_token_list($type = 'all') { |
pierre@1
|
103 if ($type == 'ad' || $type == 'all') { |
pierre@1
|
104 $tokens['ad']['aid'] = t('The ID of the advertisement.'); |
pierre@1
|
105 $tokens['ad']['type'] = t('The type of ad.'); |
pierre@1
|
106 $tokens['ad']['status'] = t('The status of the ad.'); |
pierre@1
|
107 $tokens['ad']['url'] = t('The url of the advertisement.'); |
pierre@1
|
108 $tokens['ad']['redirect'] = t('The redirection url of the advertisement.'); |
pierre@1
|
109 $tokens['ad']['event'] = t('The type of event that has triggered this notification.'); |
pierre@1
|
110 $tokens['ad']['frequency'] = t('A complete sentence describing the frequency this notification will be sent.'); |
pierre@1
|
111 $tokens['ad']['title'] = t('The title of the advertisement.'); |
pierre@1
|
112 $tokens['ad']['comments'] = t('The number of comments attached to the advertisement.'); |
pierre@1
|
113 |
pierre@1
|
114 $tokens['ad']['created_small'] = t('"Small" date format of when the advertisement was created.'); |
pierre@1
|
115 $tokens['ad']['created_medium'] = t('"Medium" date format of when the advertisement was created.'); |
pierre@1
|
116 $tokens['ad']['created_large'] = t('"Large" date format of when the advertisement was created.'); |
pierre@1
|
117 $tokens['ad']['activated_small'] = t('"Small" date format when the advertisement was activated.'); |
pierre@1
|
118 $tokens['ad']['activated_medium'] = t('"Medium" date format of when the advertisement was activated.'); |
pierre@1
|
119 $tokens['ad']['activated_large'] = t('"Large" date format of when the advertisement was activated.'); |
pierre@1
|
120 $tokens['ad']['expired_small'] = t('"Small" date format of when the advertisement was expired.'); |
pierre@1
|
121 $tokens['ad']['expired_medium'] = t('"Medium" date format of when the advertisement was expired.'); |
pierre@1
|
122 $tokens['ad']['expired_large'] = t('"Large" date format of when the advertisement was expired.'); |
pierre@1
|
123 $tokens['ad']['autoactivate_small'] = t('"Small" date format of when the advertisement was automatically activated.'); |
pierre@1
|
124 $tokens['ad']['autoactivate_medium'] = t('"Medium" date format of when the advertisement was automatically activated.'); |
pierre@1
|
125 $tokens['ad']['autoactivate_large'] = t('"Large" date format of when the advertisement was automatically activated.'); |
pierre@1
|
126 $tokens['ad']['autoexpire_small'] = t('"Small" date format of when the advertisement was automatically expired.'); |
pierre@1
|
127 $tokens['ad']['autoexpire_medium'] = t('"Medium" date format of when the advertisement was automatically expired.'); |
pierre@1
|
128 $tokens['ad']['autoexpire_large'] = t('"Large" date format of when the advertisement was automatically expired.'); |
pierre@1
|
129 |
pierre@1
|
130 $tokens['ad']['max_impressions'] = t('The maximum number of times this advertisement is allowed to be viewed.'); |
pierre@1
|
131 $tokens['ad']['max_clicks'] = t('The maximum number of times this advertisement is allowed to be clicked.'); |
pierre@1
|
132 $tokens['ad']['global_impressions'] = t('All time impression statistics'); |
pierre@1
|
133 $tokens['ad']['global_clicks'] = t('All time click statistics.'); |
pierre@1
|
134 $tokens['ad']['last_year_impressions'] = t('Ad impressions last year.'); |
pierre@1
|
135 $tokens['ad']['last_year_clicks'] = t('Ad clicks last year.'); |
pierre@1
|
136 $tokens['ad']['this_year_impressions'] = t('Ad impressions this year.'); |
pierre@1
|
137 $tokens['ad']['this_year_clicks'] = t('Ad clicks this year.'); |
pierre@1
|
138 $tokens['ad']['last_month_impressions'] = t('Ad impressions last month.'); |
pierre@1
|
139 $tokens['ad']['last_month_clicks'] = t('Ad clicks this month.'); |
pierre@1
|
140 $tokens['ad']['this_month_impressions'] = t('Ad impressions this month.'); |
pierre@1
|
141 $tokens['ad']['this_month_clicks'] = t('Ad clicks this month.'); |
pierre@1
|
142 $tokens['ad']['yesterday_impressions'] = t('Ad impressions yesterday.'); |
pierre@1
|
143 $tokens['ad']['yesterday_clicks'] = t('Ad clicks yesterday.'); |
pierre@1
|
144 $tokens['ad']['today_impressions'] = t('Ad impressions today.'); |
pierre@1
|
145 $tokens['ad']['today_clicks'] = t('Ad clicks today.'); |
pierre@1
|
146 $tokens['ad']['last_hour_impressions'] = t('Ad impressions last hour.'); |
pierre@1
|
147 $tokens['ad']['last_hour_clicks'] = t('Ad clicks this hour.'); |
pierre@1
|
148 $tokens['ad']['this_hour_impressions'] = t('Ad impressions this hour.'); |
pierre@1
|
149 $tokens['ad']['this_hour_clicks'] = t('Ad clicks this hour.'); |
pierre@1
|
150 } |
pierre@1
|
151 if ($type == 'ad' || $type == 'all') { |
pierre@1
|
152 $tokens['Ad owner']['owner_name'] = t('The username of the ad owner.'); |
pierre@1
|
153 $tokens['Ad owner']['owner_mail'] = t('The email address of the ad owner.'); |
pierre@1
|
154 $tokens['Ad owner']['owner_uid'] = t('The user ID of the ad owner.'); |
pierre@1
|
155 } |
pierre@1
|
156 return $tokens; |
pierre@1
|
157 } |