]> git.mxchange.org Git - quix0rs-gnu-social.git/blob - plugins/BlankAd/BlankAdPlugin.php
Merge branch '1.0.x' of gitorious.org:statusnet/mainline into 1.0.x
[quix0rs-gnu-social.git] / plugins / BlankAd / BlankAdPlugin.php
1 <?php
2 /**
3  * StatusNet, the distributed open-source microblogging tool
4  *
5  * Plugin for testing ad layout
6  *
7  * PHP version 5
8  *
9  * LICENCE: This program is free software: you can redistribute it and/or modify
10  * it under the terms of the GNU Affero General Public License as published by
11  * the Free Software Foundation, either version 3 of the License, or
12  * (at your option) any later version.
13  *
14  * This program is distributed in the hope that it will be useful,
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17  * GNU Affero General Public License for more details.
18  *
19  * You should have received a copy of the GNU Affero General Public License
20  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
21  *
22  * @category  Ads
23  * @package   StatusNet
24  * @author    Evan Prodromou <evan@status.net>
25  * @copyright 2010 StatusNet Inc.
26  * @license   http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
27  * @link      http://status.net/
28  */
29
30 if (!defined('STATUSNET')) {
31     exit(1);
32 }
33
34 /**
35  * Plugin for testing ad layout
36  *
37  * This plugin uses the UAPPlugin framework to output ad content. However,
38  * its ad content is just images with one red pixel stretched to the
39  * right size. It's mostly useful for debugging theme layout.
40  *
41  * To use this plugin, set the parameter for the ad size you want to use
42  * to true (or anything non-null). For example, to make a leaderboard:
43  *
44  *     addPlugin('BlankAd', array('leaderboard' => true));
45  *
46  * @category Plugin
47  * @package  StatusNet
48  * @author   Evan Prodromou <evan@status.net>
49  * @license  http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
50  * @link     http://status.net/
51  *
52  * @seeAlso  Location
53  */
54 class BlankAdPlugin extends UAPPlugin
55 {
56     /**
57      * Show a medium rectangle 'ad'
58      *
59      * @param Action $action Action being shown
60      *
61      * @return void
62      */
63     protected function showMediumRectangle($action)
64     {
65         $action->element('img',
66                          array('width' => 300,
67                                'height' => 250,
68                                'src' => $this->path('redpixel.png')),
69                          '');
70     }
71
72     /**
73      * Show a rectangle 'ad'
74      *
75      * @param Action $action Action being shown
76      *
77      * @return void
78      */
79     protected function showRectangle($action)
80     {
81         $action->element('img',
82                          array('width' => 180,
83                                'height' => 150,
84                                'src' => $this->path('redpixel.png')),
85                          '');
86     }
87
88     /**
89      * Show a wide skyscraper ad
90      *
91      * @param Action $action Action being shown
92      *
93      * @return void
94      */
95     protected function showWideSkyscraper($action)
96     {
97         $action->element('img',
98                          array('width' => 160,
99                                'height' => 600,
100                                'src' => $this->path('redpixel.png')),
101                          '');
102     }
103
104     /**
105      * Show a leaderboard ad
106      *
107      * @param Action $action Action being shown
108      *
109      * @return void
110      */
111     protected function showLeaderboard($action)
112     {
113         $action->element('img',
114                          array('width' => 728,
115                                'height' => 90,
116                                'src' => $this->path('redpixel.png')),
117                          '');
118     }
119
120     function onPluginVersion(&$versions)
121     {
122         $versions[] = array('name' => 'BlankAd',
123                             'version' => STATUSNET_VERSION,
124                             'author' => 'Evan Prodromou',
125                             'homepage' => 'http://status.net/wiki/Plugin:BlankAdPlugin',
126                             'rawdescription' =>
127                             // TRANS: Plugin description.
128                             _m('Plugin for testing ad layout.'));
129         return true;
130     }
131 }