Mercurial > defr > drupal > popups
comparison popups_test.module @ 1:4215c43e74eb
Popups: Mise à jour en version alpha6
author | Franck Deroche <franck@defr.org> |
---|---|
date | Fri, 31 Dec 2010 13:44:00 +0100 |
parents | 76f9b43738f2 |
children |
comparison
equal
deleted
inserted
replaced
0:76f9b43738f2 | 1:4215c43e74eb |
---|---|
1 <?php | 1 <?php |
2 // $Id: popups_test.module,v 1.1.4.6 2009/03/19 15:53:44 starbow Exp $ | 2 // $Id: popups_test.module,v 1.1.4.7 2010/12/10 02:09:16 drewish Exp $ |
3 | 3 |
4 /** | 4 /** |
5 * @file | 5 * @file |
6 * Page for testing the Popups API. | 6 * Page for testing the Popups API. |
7 */ | 7 */ |
38 $items['popups/test/old'] = array( | 38 $items['popups/test/old'] = array( |
39 'title' => 'Popup Test', | 39 'title' => 'Popup Test', |
40 'page callback' => '_popups_test_popups_old', | 40 'page callback' => '_popups_test_popups_old', |
41 'type' => MENU_CALLBACK, | 41 'type' => MENU_CALLBACK, |
42 'access callback' => TRUE, | 42 'access callback' => TRUE, |
43 ); | 43 ); |
44 return $items; | 44 return $items; |
45 } | 45 } |
46 | 46 |
47 /** | 47 /** |
48 * Implementation of hook_popups(). | 48 * Implementation of hook_popups(). |
49 * | 49 * |
50 * This implements hook_popups, defined in popups_get_popups. | 50 * This implements hook_popups, defined in popups_get_popups. |
51 * See the comments in popups_add_popups for explination of the options. | 51 * See the comments in popups_add_popups for explination of the options. |
52 * Adding popup behavior to the core admin pages has been moved to popups_admin. | 52 * Adding popup behavior to the core admin pages has been moved to popups_admin. |
53 * | 53 * |
54 * @return: Array of link selectors to apply popup behavior to. | 54 * @return: Array of link selectors to apply popup behavior to. |
55 * Keyed by path or form_id. | 55 * Keyed by path or form_id. |
56 */ | 56 */ |
57 function popups_test_popups() { | 57 function popups_test_popups() { |
58 return array( | 58 return array( |
59 'popups/test' => array( // test page. | 59 'popups/test' => array( // test page. |
60 // '*' => array( // test page. | 60 // '*' => array( // test page. |
61 '#test-popup' => array( | 61 '#test-popup' => array( |
62 // 'additionalJavascript' => array('misc/collapse.js'), | 62 // 'additionalJavascript' => array('misc/collapse.js'), |
63 // 'forceReturn' => 'node/add/story', | 63 // 'forceReturn' => 'node/add/story', |
64 ), | 64 ), |
65 ), | 65 ), |
66 ); | 66 ); |
67 } | 67 } |
68 | 68 |
69 // ************************************************************************** | 69 // ************************************************************************** |
70 // TESTING **************************************************************** | 70 // TESTING **************************************************************** |
71 // ************************************************************************** | 71 // ************************************************************************** |
72 | 72 |
73 function _popups_test_popups() { | 73 function _popups_test_popups() { |
74 popups_add_popups(); | 74 popups_add_popups(); |
75 $output = '<ol id="test-list">'; | 75 $output = '<ol id="test-list">'; |
76 $output .= '<li>'. l("Pop up entire local page.", 'popups/test/response', | 76 $output .= '<li>'. l("Pop up entire local page.", 'popups/test/response', |
77 array('attributes' => array('class' => 'popups'))); | 77 array('attributes' => array('class' => 'popups'))); |
78 $output .= "<li>". l("Pop with options (href override).", 'popups/test/', | 78 $output .= "<li>". l("Pop with options (href override).", 'popups/test/', |
79 array('attributes' => array('class' => 'popups', 'on-popups-options' => '{href: "test/response"}'))); | 79 array('attributes' => array('class' => 'popups', 'on-popups-options' => '{href: "test/response"}'))); |
80 $output .= "<li>". l("Pop with options (width=200px).", 'popups/test/response', | 80 $output .= "<li>". l("Pop with options (width=200px).", 'popups/test/response', |
81 array('attributes' => array('class' => 'popups', 'on-popups-options' => '{width: "200px"}'))); | 81 array('attributes' => array('class' => 'popups', 'on-popups-options' => '{width: "200px"}'))); |
82 $output .= "<li class=\"popups\" on-popups-options=\"{href: 'test/response'}\">Non-link popup</li>"; | 82 $output .= "<li class=\"popups\" on-popups-options=\"{href: 'test/response'}\">Non-link popup</li>"; |
83 $output .= '<li>'. l("Add Story (hook)", 'node/add/story', | 83 $output .= '<li>'. l("Add Story (hook)", 'node/add/story', |
84 array( 'attributes' => array('id' => 'test-popup'))); | 84 array( 'attributes' => array('id' => 'test-popup'))); |
85 $output .= '<li>'. l("Add Story (attribute).", 'node/add/story', | 85 $output .= '<li>'. l("Add Story (attribute).", 'node/add/story', |
86 array( 'attributes' => array('class' => 'popups-form'))); | 86 array( 'attributes' => array('class' => 'popups-form'))); |
87 | 87 |
88 $output .= '<li>'. l("Change Settings and ajax update entire content area: ", | 88 $output .= '<li>'. l("Change Settings and ajax update entire content area: ", |
89 'admin/settings/popups', | 89 'admin/settings/popups', |
90 array( 'attributes' => array('class' => 'popups-form'), | 90 array( 'attributes' => array('class' => 'popups-form'), |
91 )); | 91 )); |
92 $output .= " (Auto Fade checkbox is: " . (variable_get('popups_autoclose_final_message', 1) ? 'on' : 'off') . ')'; | 92 $output .= " (Auto Fade checkbox is: " . (variable_get('popups_autoclose_final_message', 1) ? 'on' : 'off') . ')'; |
93 | 93 |
94 $output .= '<li>'. l("Change Settings and ajax update only single target.", 'admin/settings/popups', | 94 $output .= '<li>'. l("Change Settings and ajax update only single target.", 'admin/settings/popups', |
95 array( 'attributes' => array('id' => 'reload-target'), | 95 array( 'attributes' => array('id' => 'reload-target'), |
96 )); | 96 )); |
97 $output .= "<span id='response2'> (Auto Fade checkbox is: " . (variable_get('popups_autoclose_final_message', 1) ? 'on' : 'off') . ')</span>'; | 97 $output .= "<span id='response2'> (Auto Fade checkbox is: " . (variable_get('popups_autoclose_final_message', 1) ? 'on' : 'off') . ')</span>'; |
98 popups_add_popups(array('#reload-target'=>array('targetSelectors'=>array('#response2')))); | 98 popups_add_popups(array('#reload-target'=>array('targetSelectors'=>array('#response2')))); |
99 | 99 |
100 $output .= '<li>'. l("Change Settings and ajax update multiple targets with data from other page (tricky!).", 'admin/settings/popups', | 100 $output .= '<li>'. l("Change Settings and ajax update multiple targets with data from other page (tricky!).", 'admin/settings/popups', |
101 array( 'attributes' => array( | 101 array( 'attributes' => array( |
102 'id' => 'foo', | 102 'id' => 'foo', |
103 'class' => 'popups-form', | 103 'class' => 'popups-form', |
104 'on-popups-options' => '{targetSelectors: {"#edit-popups-always-scan-wrapper": "#foo", "#edit-popups-popup-final-message-wrapper": "#test-list li:first"}, forceReturn: "admin/settings/popups"}'))); | 104 'on-popups-options' => '{targetSelectors: {"#edit-popups-always-scan-wrapper": "#foo", "#edit-popups-popup-final-message-wrapper": "#test-list li:first"}, forceReturn: "admin/settings/popups"}'))); |
105 | 105 |
106 $output .= '<li>'. l("Change Settings and reload entire page.", | 106 $output .= '<li>'. l("Change Settings and reload entire page.", |
107 'admin/settings/popups', | 107 'admin/settings/popups', |
108 array( 'attributes' => array('class' => 'popups-form-reload'), | 108 array( 'attributes' => array('class' => 'popups-form-reload'), |
109 )); | 109 )); |
110 | 110 |
111 $output .= '<li>'. l("Pop up defined by popups_add_popups rule.", 'popups/test/response', | 111 $output .= '<li>'. l("Pop up defined by popups_add_popups rule.", 'popups/test/response', |
112 array('attributes' => array('id' => 'rule-test'))); | 112 array('attributes' => array('id' => 'rule-test'))); |
113 popups_add_popups(array('#rule-test'=>array('width'=>'300px'))); | 113 popups_add_popups(array('#rule-test'=>array('width'=>'300px'))); |
114 $output .= '<li>'. l('Ajax update just Page Title (only works if you theme uses id="page-title")', 'popups/test/namechange', | 114 $output .= '<li>'. l('Ajax update just Page Title (only works if you theme uses id="page-title")', 'popups/test/namechange', |
115 array('attributes' => array('id' => 'title-test'))); | 115 array('attributes' => array('id' => 'title-test'))); |
116 popups_add_popups(array('#title-test'=>array('titleSelectors'=>array('#page-title'), 'noUpdate'=> TRUE, 'forceReturn'=>'popups/test/namechange'))); | 116 popups_add_popups(array('#title-test'=>array('titleSelectors'=>array('#page-title'), 'noUpdate'=> TRUE, 'forceReturn'=>'popups/test/namechange'))); |
117 | 117 |
118 global $user; | 118 global $user; |
119 $output .= "<li>You are user number $user->uid</li>"; | 119 $output .= "<li>You are user number $user->uid</li>"; |
120 if ($user->uid == 0) { | 120 if ($user->uid == 0) { |
121 $output .= '<li>'. l("Login and ajax refresh content area.", 'user', | 121 $output .= '<li>'. l("Login and ajax refresh content area.", 'user', |
122 array('attributes' => array('class' => 'popups-form'))); | 122 array('attributes' => array('class' => 'popups-form'))); |
123 $output .= '<li>'. l("Login and reload entire page.", 'user', | 123 $output .= '<li>'. l("Login and reload entire page.", 'user', |
124 array('attributes' => array('class' => 'popups-form-reload'))); | 124 array('attributes' => array('class' => 'popups-form-reload'))); |
125 $output .= '<li>'. l("Login and do not reload anything.", 'user', | 125 $output .= '<li>'. l("Login and do not reload anything.", 'user', |
126 array('attributes' => array('class' => 'popups-form-noupdate'))); | 126 array('attributes' => array('class' => 'popups-form-noupdate'))); |
127 } | 127 } |
128 else { | 128 else { |
129 $output .= '<li>'. l("Logout (need to surpress warning b/c session is dumped)", 'logout', | 129 $output .= '<li>'. l("Logout (need to surpress warning b/c session is dumped)", 'logout', |
130 array('attributes' => array('id' => 'logout'))); | 130 array('attributes' => array('id' => 'logout'))); |
131 } | 131 } |
132 // Need to have the rule outside the else, or it won't get loaded on ajax reload. | 132 // Need to have the rule outside the else, or it won't get loaded on ajax reload. |
133 popups_add_popups(array('#logout'=>array('noUpdate'=>TRUE, 'reloadOnError'=>TRUE))); | 133 popups_add_popups(array('#logout'=>array('noUpdate'=>TRUE, 'reloadOnError'=>TRUE))); |
134 | 134 |
135 $output .= '<li>'. l("Add Poll (test inline)", 'node/add/poll', | 135 $output .= '<li>'. l("Add Poll (test inline)", 'node/add/poll', |
136 array('attributes' => array('class' => 'popups-form'))); | 136 array('attributes' => array('class' => 'popups-form'))); |
137 | 137 |
138 $output .= "</ol>"; | 138 $output .= "</ol>"; |
139 return $output; | 139 return $output; |
140 } | 140 } |
141 | 141 |
142 function _popups_test_popups_old() { | 142 function _popups_test_popups_old() { |
143 // drupal_set_message('Popup Test Page: If you edit your page.tpl.php to wrap the print $messages in a div with id="popit", this message will popup on page load'); | 143 // drupal_set_message('Popup Test Page: If you edit your page.tpl.php to wrap the print $messages in a div with id="popit", this message will popup on page load'); |
144 popups_add_popups(); | 144 popups_add_popups(); |
145 $output = '<ul id="test-list">'; | 145 $output = '<ul id="test-list">'; |
146 $output .= '<li>'. l("Pop up entire local page.", 'popups/test/response', | 146 $output .= '<li>'. l("Pop up entire local page.", 'popups/test/response', |
147 array('attributes' => array('class' => 'popups'))); | 147 array('attributes' => array('class' => 'popups'))); |
148 $output .= "<li>". l("Pop with options (href override).", 'popups/test/', | 148 $output .= "<li>". l("Pop with options (href override).", 'popups/test/', |
149 array('attributes' => array('class' => 'popups', 'on-popups-options' => '{href: "test/response"}'))); | 149 array('attributes' => array('class' => 'popups', 'on-popups-options' => '{href: "test/response"}'))); |
150 $output .= "<li>". l("Pop with options (width=200px).", 'popups/test/response', | 150 $output .= "<li>". l("Pop with options (width=200px).", 'popups/test/response', |
151 array('attributes' => array('class' => 'popups', 'on-popups-options' => '{width: "200px"}'))); | 151 array('attributes' => array('class' => 'popups', 'on-popups-options' => '{width: "200px"}'))); |
152 $output .= "<li class=\"popups\" on-popups-options=\"{href: 'test/response'}\">Non-link popup</li>"; | 152 $output .= "<li class=\"popups\" on-popups-options=\"{href: 'test/response'}\">Non-link popup</li>"; |
153 $output .= '<li>'. l("Add Story (hook)", 'node/add/story', | 153 $output .= '<li>'. l("Add Story (hook)", 'node/add/story', |
154 array( 'attributes' => array('id' => 'test-popup'))); | 154 array( 'attributes' => array('id' => 'test-popup'))); |
155 $output .= '<li>'. l("Add Story (attribute).", 'node/add/story', | 155 $output .= '<li>'. l("Add Story (attribute).", 'node/add/story', |
156 array( 'attributes' => array('class' => 'popups-form'))); | 156 array( 'attributes' => array('class' => 'popups-form'))); |
157 | 157 |
158 $output .= '<li>'. l("Change Settings and ajax update entire content area: ", | 158 $output .= '<li>'. l("Change Settings and ajax update entire content area: ", |
159 'admin/settings/popups', | 159 'admin/settings/popups', |
160 array( 'attributes' => array('class' => 'popups-form'), | 160 array( 'attributes' => array('class' => 'popups-form'), |
161 )); | 161 )); |
162 $output .= " (Auto Fade checkbox is: " . (variable_get('popups_popup_final_message', 1) ? 'on' : 'off') . ')'; | 162 $output .= " (Auto Fade checkbox is: " . (variable_get('popups_popup_final_message', 1) ? 'on' : 'off') . ')'; |
163 | 163 |
164 $output .= '<li>'. l("Change Settings and ajax update only single target.", 'admin/settings/popups', | 164 $output .= '<li>'. l("Change Settings and ajax update only single target.", 'admin/settings/popups', |
165 array( 'attributes' => array('id' => 'reload-target'), | 165 array( 'attributes' => array('id' => 'reload-target'), |
166 )); | 166 )); |
167 $output .= "<span id='response2'> (Auto Fade checkbox is: " . (variable_get('popups_popup_final_message', 1) ? 'on' : 'off') . ')</span>'; | 167 $output .= "<span id='response2'> (Auto Fade checkbox is: " . (variable_get('popups_popup_final_message', 1) ? 'on' : 'off') . ')</span>'; |
168 popups_add_popups(array('#reload-target'=>array('targetSelectors'=>array('#response2')))); | 168 popups_add_popups(array('#reload-target'=>array('targetSelectors'=>array('#response2')))); |
169 | 169 |
170 $output .= '<li>'. l("Change Settings and ajax update multiple targets with data from other page (tricky!).", 'admin/settings/popups', | 170 $output .= '<li>'. l("Change Settings and ajax update multiple targets with data from other page (tricky!).", 'admin/settings/popups', |
171 array( 'attributes' => array( | 171 array( 'attributes' => array( |
172 'id' => 'foo', | 172 'id' => 'foo', |
173 'class' => 'popups-form', | 173 'class' => 'popups-form', |
174 'on-popups-options' => '{targetSelectors: {"#edit-popups-always-scan-wrapper": "#foo", "#edit-popups-popup-final-message-wrapper": "#test-list li:first"}, forceReturn: "admin/settings/popups"}'))); | 174 'on-popups-options' => '{targetSelectors: {"#edit-popups-always-scan-wrapper": "#foo", "#edit-popups-popup-final-message-wrapper": "#test-list li:first"}, forceReturn: "admin/settings/popups"}'))); |
175 | 175 |
176 $output .= '<li>'. l("Change Settings and reload entire page.", | 176 $output .= '<li>'. l("Change Settings and reload entire page.", |
177 'admin/settings/popups', | 177 'admin/settings/popups', |
178 array( 'attributes' => array('class' => 'popups-form-reload'), | 178 array( 'attributes' => array('class' => 'popups-form-reload'), |
179 )); | 179 )); |
180 | 180 |
181 $output .= '<li>'. l("Pop up defined by popups_add_popups rule.", 'popups/test/response', | 181 $output .= '<li>'. l("Pop up defined by popups_add_popups rule.", 'popups/test/response', |
182 array('attributes' => array('id' => 'rule-test'))); | 182 array('attributes' => array('id' => 'rule-test'))); |
183 popups_add_popups(array('#rule-test'=>array('width'=>'300px'))); | 183 popups_add_popups(array('#rule-test'=>array('width'=>'300px'))); |
184 $output .= '<li>'. l('Ajax update just Page Title (only works if you theme uses id="page-title")', 'popups/test/namechange', | 184 $output .= '<li>'. l('Ajax update just Page Title (only works if you theme uses id="page-title")', 'popups/test/namechange', |
185 array('attributes' => array('id' => 'title-test'))); | 185 array('attributes' => array('id' => 'title-test'))); |
186 popups_add_popups(array('#title-test'=>array('titleSelectors'=>array('#page-title'), 'noUpdate'=> TRUE, 'forceReturn'=>'popups/test/namechange'))); | 186 popups_add_popups(array('#title-test'=>array('titleSelectors'=>array('#page-title'), 'noUpdate'=> TRUE, 'forceReturn'=>'popups/test/namechange'))); |
187 | 187 |
188 global $user; | 188 global $user; |
189 $output .= "<li>You are user number $user->uid</li>"; | 189 $output .= "<li>You are user number $user->uid</li>"; |
190 if ($user->uid == 0) { | 190 if ($user->uid == 0) { |
191 $output .= '<li>'. l("Login and ajax refresh content area.", 'user', | 191 $output .= '<li>'. l("Login and ajax refresh content area.", 'user', |
192 array('attributes' => array('class' => 'popups-form'))); | 192 array('attributes' => array('class' => 'popups-form'))); |
193 $output .= '<li>'. l("Login and reload entire page.", 'user', | 193 $output .= '<li>'. l("Login and reload entire page.", 'user', |
194 array('attributes' => array('class' => 'popups-form-reload'))); | 194 array('attributes' => array('class' => 'popups-form-reload'))); |
195 $output .= '<li>'. l("Login and do not reload anything.", 'user', | 195 $output .= '<li>'. l("Login and do not reload anything.", 'user', |
196 array('attributes' => array('class' => 'popups-form-noupdate'))); | 196 array('attributes' => array('class' => 'popups-form-noupdate'))); |
197 } | 197 } |
198 else { | 198 else { |
199 $output .= '<li>'. l("Logout (need to surpress warning b/c session is dumped)", 'logout', | 199 $output .= '<li>'. l("Logout (need to surpress warning b/c session is dumped)", 'logout', |
200 array('attributes' => array('id' => 'logout'))); | 200 array('attributes' => array('id' => 'logout'))); |
201 } | 201 } |
202 // Need to have the rule outside the else, or it won't get loaded on ajax reload. | 202 // Need to have the rule outside the else, or it won't get loaded on ajax reload. |
203 popups_add_popups(array('#logout'=>array('noUpdate'=>TRUE, 'reloadOnError'=>TRUE))); | 203 popups_add_popups(array('#logout'=>array('noUpdate'=>TRUE, 'reloadOnError'=>TRUE))); |
204 | 204 |
205 $output .= '<li>'. l("Add Poll (test inline)", 'node/add/poll', | 205 $output .= '<li>'. l("Add Poll (test inline)", 'node/add/poll', |
206 array('attributes' => array('class' => 'popups-form'))); | 206 array('attributes' => array('class' => 'popups-form'))); |
207 | 207 |
208 $output .= "</ul>"; | 208 $output .= "</ul>"; |
209 return $output; | 209 return $output; |
210 } | 210 } |
211 | 211 |
212 function _popups_test_response() { | 212 function _popups_test_response() { |
213 drupal_set_title("Popup Test Two"); | 213 drupal_set_title("Popup Test Two"); |
220 | 220 |
221 $form['popups_popup_final_message'] = array( | 221 $form['popups_popup_final_message'] = array( |
222 '#type' => 'submit', | 222 '#type' => 'submit', |
223 '#value' => t('Test Name Change'), | 223 '#value' => t('Test Name Change'), |
224 ); | 224 ); |
225 | 225 |
226 return $form; | 226 return $form; |
227 } | 227 } |