Merge lp:~daimoneze/osdf/drupal-theme into lp:~sillydeveloper/osdf/trunk
- drupal-theme
- Merge into trunk
Proposed by
Toast McFarland
Status: | Merged |
---|---|
Merge reported by: | Andrew Ettinger |
Merged at revision: | not available |
Proposed branch: | lp:~daimoneze/osdf/drupal-theme |
Merge into: | lp:~sillydeveloper/osdf/trunk |
Diff against target: |
2937 lines (+2728/-0) (has conflicts) 27 files modified
LICENSE.txt (+274/-0) README.txt (+120/-0) basic.info (+51/-0) css/default.css (+181/-0) css/ie6.css (+67/-0) css/ie7.css (+18/-0) css/layout.css (+110/-0) css/print.css (+45/-0) css/style.css (+290/-0) css/tabs.css (+122/-0) sass/_custom.sass (+8/-0) sass/_mixins.sass (+24/-0) sass/_variables.sass (+16/-0) sass/default.sass (+140/-0) sass/ie6.sass (+51/-0) sass/ie7.sass (+17/-0) sass/layout.sass (+97/-0) sass/print.sass (+38/-0) sass/style.sass (+163/-0) sass/tabs.sass (+92/-0) template.php (+426/-0) templates/block.tpl.php (+15/-0) templates/comment-wrapper.tpl.php (+10/-0) templates/comment.tpl.php (+34/-0) templates/node.tpl.php (+27/-0) templates/page.tpl.php (+134/-0) theme-settings.php (+158/-0) Conflict adding file logo.png. Moved existing file to logo.png.moved. |
To merge this branch: | bzr merge lp:~daimoneze/osdf/drupal-theme |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Moparx (community) | Approve | ||
Andrew Ettinger | Approve | ||
Review via email: mp+43035@code.launchpad.net |
Commit message
Description of the change
The beginnings of a Drupal theme.
To post a comment you must log in.
Revision history for this message
Andrew Ettinger (sillydeveloper) wrote : | # |
Revision history for this message
Andrew Ettinger (sillydeveloper) : | # |
review:
Approve
Revision history for this message
Moparx (moparx) wrote : | # |
It is definitely a good starting point.
I approve it. :)
review:
Approve
lp:~daimoneze/osdf/drupal-theme
updated
- 2. By Toast McFarland
-
Fixed margin error.
Revision history for this message
Andrew Ettinger (sillydeveloper) wrote : | # |
Got verbal from moparx on irc. Merging.
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | === added file 'LICENSE.txt' |
2 | --- LICENSE.txt 1970-01-01 00:00:00 +0000 |
3 | +++ LICENSE.txt 2010-12-08 01:56:31 +0000 |
4 | @@ -0,0 +1,274 @@ |
5 | +GNU GENERAL PUBLIC LICENSE |
6 | + |
7 | + Version 2, June 1991 |
8 | + |
9 | +Copyright (C) 1989, 1991 Free Software Foundation, Inc. 675 Mass Ave, |
10 | +Cambridge, MA 02139, USA. Everyone is permitted to copy and distribute |
11 | +verbatim copies of this license document, but changing it is not allowed. |
12 | + |
13 | + Preamble |
14 | + |
15 | +The licenses for most software are designed to take away your freedom to |
16 | +share and change it. By contrast, the GNU General Public License is |
17 | +intended to guarantee your freedom to share and change free software--to |
18 | +make sure the software is free for all its users. This General Public License |
19 | +applies to most of the Free Software Foundation's software and to any other |
20 | +program whose authors commit to using it. (Some other Free Software |
21 | +Foundation software is covered by the GNU Library General Public License |
22 | +instead.) You can apply it to your programs, too. |
23 | + |
24 | +When we speak of free software, we are referring to freedom, not price. Our |
25 | +General Public Licenses are designed to make sure that you have the |
26 | +freedom to distribute copies of free software (and charge for this service if |
27 | +you wish), that you receive source code or can get it if you want it, that you |
28 | +can change the software or use pieces of it in new free programs; and that |
29 | +you know you can do these things. |
30 | + |
31 | +To protect your rights, we need to make restrictions that forbid anyone to |
32 | +deny you these rights or to ask you to surrender the rights. These restrictions |
33 | +translate to certain responsibilities for you if you distribute copies of the |
34 | +software, or if you modify it. |
35 | + |
36 | +For example, if you distribute copies of such a program, whether gratis or for |
37 | +a fee, you must give the recipients all the rights that you have. You must make |
38 | +sure that they, too, receive or can get the source code. And you must show |
39 | +them these terms so they know their rights. |
40 | + |
41 | +We protect your rights with two steps: (1) copyright the software, and (2) |
42 | +offer you this license which gives you legal permission to copy, distribute |
43 | +and/or modify the software. |
44 | + |
45 | +Also, for each author's protection and ours, we want to make certain that |
46 | +everyone understands that there is no warranty for this free software. If the |
47 | +software is modified by someone else and passed on, we want its recipients |
48 | +to know that what they have is not the original, so that any problems |
49 | +introduced by others will not reflect on the original authors' reputations. |
50 | + |
51 | +Finally, any free program is threatened constantly by software patents. We |
52 | +wish to avoid the danger that redistributors of a free program will individually |
53 | +obtain patent licenses, in effect making the program proprietary. To prevent |
54 | +this, we have made it clear that any patent must be licensed for everyone's |
55 | +free use or not licensed at all. |
56 | + |
57 | +The precise terms and conditions for copying, distribution and modification |
58 | +follow. |
59 | + |
60 | + GNU GENERAL PUBLIC LICENSE |
61 | + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND |
62 | + MODIFICATION |
63 | + |
64 | +0. This License applies to any program or other work which contains a notice |
65 | +placed by the copyright holder saying it may be distributed under the terms |
66 | +of this General Public License. The "Program", below, refers to any such |
67 | +program or work, and a "work based on the Program" means either the |
68 | +Program or any derivative work under copyright law: that is to say, a work |
69 | +containing the Program or a portion of it, either verbatim or with |
70 | +modifications and/or translated into another language. (Hereinafter, translation |
71 | +is included without limitation in the term "modification".) Each licensee is |
72 | +addressed as "you". |
73 | + |
74 | +Activities other than copying, distribution and modification are not covered |
75 | +by this License; they are outside its scope. The act of running the Program is |
76 | +not restricted, and the output from the Program is covered only if its contents |
77 | +constitute a work based on the Program (independent of having been made |
78 | +by running the Program). Whether that is true depends on what the Program |
79 | +does. |
80 | + |
81 | +1. You may copy and distribute verbatim copies of the Program's source |
82 | +code as you receive it, in any medium, provided that you conspicuously and |
83 | +appropriately publish on each copy an appropriate copyright notice and |
84 | +disclaimer of warranty; keep intact all the notices that refer to this License |
85 | +and to the absence of any warranty; and give any other recipients of the |
86 | +Program a copy of this License along with the Program. |
87 | + |
88 | +You may charge a fee for the physical act of transferring a copy, and you |
89 | +may at your option offer warranty protection in exchange for a fee. |
90 | + |
91 | +2. You may modify your copy or copies of the Program or any portion of it, |
92 | +thus forming a work based on the Program, and copy and distribute such |
93 | +modifications or work under the terms of Section 1 above, provided that you |
94 | +also meet all of these conditions: |
95 | + |
96 | +a) You must cause the modified files to carry prominent notices stating that |
97 | +you changed the files and the date of any change. |
98 | + |
99 | +b) You must cause any work that you distribute or publish, that in whole or in |
100 | +part contains or is derived from the Program or any part thereof, to be |
101 | +licensed as a whole at no charge to all third parties under the terms of this |
102 | +License. |
103 | + |
104 | +c) If the modified program normally reads commands interactively when run, |
105 | +you must cause it, when started running for such interactive use in the most |
106 | +ordinary way, to print or display an announcement including an appropriate |
107 | +copyright notice and a notice that there is no warranty (or else, saying that |
108 | +you provide a warranty) and that users may redistribute the program under |
109 | +these conditions, and telling the user how to view a copy of this License. |
110 | +(Exception: if the Program itself is interactive but does not normally print such |
111 | +an announcement, your work based on the Program is not required to print |
112 | +an announcement.) |
113 | + |
114 | +These requirements apply to the modified work as a whole. If identifiable |
115 | +sections of that work are not derived from the Program, and can be |
116 | +reasonably considered independent and separate works in themselves, then |
117 | +this License, and its terms, do not apply to those sections when you distribute |
118 | +them as separate works. But when you distribute the same sections as part |
119 | +of a whole which is a work based on the Program, the distribution of the |
120 | +whole must be on the terms of this License, whose permissions for other |
121 | +licensees extend to the entire whole, and thus to each and every part |
122 | +regardless of who wrote it. |
123 | + |
124 | +Thus, it is not the intent of this section to claim rights or contest your rights to |
125 | +work written entirely by you; rather, the intent is to exercise the right to |
126 | +control the distribution of derivative or collective works based on the |
127 | +Program. |
128 | + |
129 | +In addition, mere aggregation of another work not based on the Program |
130 | +with the Program (or with a work based on the Program) on a volume of a |
131 | +storage or distribution medium does not bring the other work under the scope |
132 | +of this License. |
133 | + |
134 | +3. You may copy and distribute the Program (or a work based on it, under |
135 | +Section 2) in object code or executable form under the terms of Sections 1 |
136 | +and 2 above provided that you also do one of the following: |
137 | + |
138 | +a) Accompany it with the complete corresponding machine-readable source |
139 | +code, which must be distributed under the terms of Sections 1 and 2 above |
140 | +on a medium customarily used for software interchange; or, |
141 | + |
142 | +b) Accompany it with a written offer, valid for at least three years, to give |
143 | +any third party, for a charge no more than your cost of physically performing |
144 | +source distribution, a complete machine-readable copy of the corresponding |
145 | +source code, to be distributed under the terms of Sections 1 and 2 above on |
146 | +a medium customarily used for software interchange; or, |
147 | + |
148 | +c) Accompany it with the information you received as to the offer to distribute |
149 | +corresponding source code. (This alternative is allowed only for |
150 | +noncommercial distribution and only if you received the program in object |
151 | +code or executable form with such an offer, in accord with Subsection b |
152 | +above.) |
153 | + |
154 | +The source code for a work means the preferred form of the work for |
155 | +making modifications to it. For an executable work, complete source code |
156 | +means all the source code for all modules it contains, plus any associated |
157 | +interface definition files, plus the scripts used to control compilation and |
158 | +installation of the executable. However, as a special exception, the source |
159 | +code distributed need not include anything that is normally distributed (in |
160 | +either source or binary form) with the major components (compiler, kernel, |
161 | +and so on) of the operating system on which the executable runs, unless that |
162 | +component itself accompanies the executable. |
163 | + |
164 | +If distribution of executable or object code is made by offering access to |
165 | +copy from a designated place, then offering equivalent access to copy the |
166 | +source code from the same place counts as distribution of the source code, |
167 | +even though third parties are not compelled to copy the source along with the |
168 | +object code. |
169 | + |
170 | +4. You may not copy, modify, sublicense, or distribute the Program except as |
171 | +expressly provided under this License. Any attempt otherwise to copy, |
172 | +modify, sublicense or distribute the Program is void, and will automatically |
173 | +terminate your rights under this License. However, parties who have received |
174 | +copies, or rights, from you under this License will not have their licenses |
175 | +terminated so long as such parties remain in full compliance. |
176 | + |
177 | +5. You are not required to accept this License, since you have not signed it. |
178 | +However, nothing else grants you permission to modify or distribute the |
179 | +Program or its derivative works. These actions are prohibited by law if you |
180 | +do not accept this License. Therefore, by modifying or distributing the |
181 | +Program (or any work based on the Program), you indicate your acceptance |
182 | +of this License to do so, and all its terms and conditions for copying, |
183 | +distributing or modifying the Program or works based on it. |
184 | + |
185 | +6. Each time you redistribute the Program (or any work based on the |
186 | +Program), the recipient automatically receives a license from the original |
187 | +licensor to copy, distribute or modify the Program subject to these terms and |
188 | +conditions. You may not impose any further restrictions on the recipients' |
189 | +exercise of the rights granted herein. You are not responsible for enforcing |
190 | +compliance by third parties to this License. |
191 | + |
192 | +7. If, as a consequence of a court judgment or allegation of patent |
193 | +infringement or for any other reason (not limited to patent issues), conditions |
194 | +are imposed on you (whether by court order, agreement or otherwise) that |
195 | +contradict the conditions of this License, they do not excuse you from the |
196 | +conditions of this License. If you cannot distribute so as to satisfy |
197 | +simultaneously your obligations under this License and any other pertinent |
198 | +obligations, then as a consequence you may not distribute the Program at all. |
199 | +For example, if a patent license would not permit royalty-free redistribution |
200 | +of the Program by all those who receive copies directly or indirectly through |
201 | +you, then the only way you could satisfy both it and this License would be to |
202 | +refrain entirely from distribution of the Program. |
203 | + |
204 | +If any portion of this section is held invalid or unenforceable under any |
205 | +particular circumstance, the balance of the section is intended to apply and |
206 | +the section as a whole is intended to apply in other circumstances. |
207 | + |
208 | +It is not the purpose of this section to induce you to infringe any patents or |
209 | +other property right claims or to contest validity of any such claims; this |
210 | +section has the sole purpose of protecting the integrity of the free software |
211 | +distribution system, which is implemented by public license practices. Many |
212 | +people have made generous contributions to the wide range of software |
213 | +distributed through that system in reliance on consistent application of that |
214 | +system; it is up to the author/donor to decide if he or she is willing to |
215 | +distribute software through any other system and a licensee cannot impose |
216 | +that choice. |
217 | + |
218 | +This section is intended to make thoroughly clear what is believed to be a |
219 | +consequence of the rest of this License. |
220 | + |
221 | +8. If the distribution and/or use of the Program is restricted in certain |
222 | +countries either by patents or by copyrighted interfaces, the original copyright |
223 | +holder who places the Program under this License may add an explicit |
224 | +geographical distribution limitation excluding those countries, so that |
225 | +distribution is permitted only in or among countries not thus excluded. In such |
226 | +case, this License incorporates the limitation as if written in the body of this |
227 | +License. |
228 | + |
229 | +9. The Free Software Foundation may publish revised and/or new versions |
230 | +of the General Public License from time to time. Such new versions will be |
231 | +similar in spirit to the present version, but may differ in detail to address new |
232 | +problems or concerns. |
233 | + |
234 | +Each version is given a distinguishing version number. If the Program specifies |
235 | +a version number of this License which applies to it and "any later version", |
236 | +you have the option of following the terms and conditions either of that |
237 | +version or of any later version published by the Free Software Foundation. If |
238 | +the Program does not specify a version number of this License, you may |
239 | +choose any version ever published by the Free Software Foundation. |
240 | + |
241 | +10. If you wish to incorporate parts of the Program into other free programs |
242 | +whose distribution conditions are different, write to the author to ask for |
243 | +permission. For software which is copyrighted by the Free Software |
244 | +Foundation, write to the Free Software Foundation; we sometimes make |
245 | +exceptions for this. Our decision will be guided by the two goals of |
246 | +preserving the free status of all derivatives of our free software and of |
247 | +promoting the sharing and reuse of software generally. |
248 | + |
249 | + NO WARRANTY |
250 | + |
251 | +11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, |
252 | +THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT |
253 | +PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE |
254 | +STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR |
255 | +OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT |
256 | +WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, |
257 | +INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES |
258 | +OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR |
259 | +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND |
260 | +PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE |
261 | +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL |
262 | +NECESSARY SERVICING, REPAIR OR CORRECTION. |
263 | + |
264 | +12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR |
265 | +AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR |
266 | +ANY OTHER PARTY WHO MAY MODIFY AND/OR |
267 | +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE |
268 | +LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, |
269 | +SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES |
270 | +ARISING OUT OF THE USE OR INABILITY TO USE THE |
271 | +PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA |
272 | +OR DATA BEING RENDERED INACCURATE OR LOSSES |
273 | +SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE |
274 | +PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN |
275 | +IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF |
276 | +THE POSSIBILITY OF SUCH DAMAGES. |
277 | + |
278 | + END OF TERMS AND CONDITIONS |
279 | |
280 | === added file 'README.txt' |
281 | --- README.txt 1970-01-01 00:00:00 +0000 |
282 | +++ README.txt 2010-12-08 01:56:31 +0000 |
283 | @@ -0,0 +1,120 @@ |
284 | +Introduction to Basic |
285 | + |
286 | +BASIC was originally developed for internal use to develop themes at Raincity Studios (Vancouver) |
287 | +After using the ZEN theme for years, we realised that it was getting too complicated, had too much |
288 | +files and overrides, so we decided to develop a strip down version of it and BASIC |
289 | +was created. |
290 | + |
291 | +ZEN became a fairly big piece of code and we felt like for each project we didn't need most of |
292 | +it. So we took what we use all the time in ZEN, and removed all the things we felt were unnecessary. |
293 | + |
294 | +The layout was also modified to make it easier to modify. Most of the CSS was brought down to a |
295 | +strict minimum, and the templates were also recoded to make them as clear as possible. |
296 | + |
297 | +BASIC is not intended for beginners, and if you're not sure, try ZEN first, and maybe later |
298 | +try basic. |
299 | +BASIC is now used for professional projects by multiple drupal agencies around the world. |
300 | + |
301 | +__________________________________________________________________________________________ |
302 | + |
303 | +Installation |
304 | + |
305 | +- Download Basic from http://drupal.org/project/basic |
306 | +- Unpack the downloaded file and place the Basic folder in your Drupal installation under |
307 | + one of the following locations: |
308 | + |
309 | + * sites/all/themes |
310 | + * sites/default/themes |
311 | + * sites/example.com/themes |
312 | + |
313 | +- Log in as an administrator on your Drupal site and go to |
314 | + Administer > Site building > Themes (admin/build/themes) and make Basic the default theme. |
315 | + |
316 | +- if you want to change the name of the theme from 'basic' to another name like 'mytheme', |
317 | +follow these steps (to do BEFORE enabling the theme) : |
318 | + |
319 | + |
320 | + - Edit basic.info and change the name, description, project (can be deleted) |
321 | + - In basic.info, replace the following instances of "basic_" to "mytheme_" |
322 | + - [basic_zen_tabs] |
323 | + - [basic_wireframe] |
324 | + - [basic_block_editing] |
325 | + - [basic_rebuild_registry] |
326 | + - [basic_breadcrumb] |
327 | + - [basic_breadcrumb_separator] |
328 | + - [basic_breadcrumb_home] |
329 | + - [basic_breadcrumb_trailing] |
330 | + - [basic_breadcrumb_title] |
331 | + |
332 | + - In template.php change each iteration of 'basic' to 'mytheme' |
333 | + - In theme-settings.php change each iteration of 'basic' to 'mytheme' |
334 | + - rename the theme folder to 'mytheme' |
335 | + - rename basic.info to mytheme.info |
336 | + |
337 | +__________________________________________________________________________________________ |
338 | + |
339 | +What are the files for ? |
340 | +------------------------ |
341 | + |
342 | +- basic.info => provide informations about the theme, like regions, css, settings, js ... |
343 | +- block-system-main.tpl.php => template to edit the content |
344 | +- block.tpl.php => template to edit the blocks |
345 | +- comment.tpl.php => template to edit the comments |
346 | +- node.tpl.php => template to edit the nodes (in content) |
347 | +- page.tpl.php => template to edit the page |
348 | +- template.php => used to modify drupal's default behavior before outputting HTML through |
349 | + the theme |
350 | +- theme-settings => used to create additional settings in the theme settings page |
351 | + |
352 | +In /CSS |
353 | +------- |
354 | + |
355 | +- default.css => define default classes, browser resets and admin styles |
356 | +- ie6 => used to debug IE6 |
357 | +- ie7 => used to debug IE7 |
358 | +- layout.css => define the layout of the theme |
359 | +- print.css => define the way the theme look like when printed |
360 | +- style.css => contains some default font styles. that's where you can add custom css |
361 | +- tabs.css => styles for the admin tabs (from ZEN) |
362 | + |
363 | +__________________________________________________________________________________________ |
364 | + |
365 | +Changing the Layout |
366 | + |
367 | +The layout used in Basic is fairly similar to the Holy Grail method. It has been tested on |
368 | +all major browser including IE (5>8), Opera, Firefox, Safari, Chrome ... |
369 | +The purpose of this method is to have a minimal markup for an ideal display. |
370 | +For accessibility and search engine optimization, the best order to display a page is ] |
371 | +the following : |
372 | + |
373 | + 1. header |
374 | + 2. content |
375 | + 3. sidebars |
376 | + 4. footer |
377 | + |
378 | +This is how the page template is buit in basic, and it works in fluid and fixed layout. |
379 | +Refers to the notes in layout.css to see how to modify the layout. |
380 | + |
381 | +__________________________________________________________________________________________ |
382 | + |
383 | +UPDATING BASIC |
384 | + |
385 | +Once you start using basic, you will massively change it until a point where it has nothing |
386 | +to do with basic anymore. Unlike ZEN, basic is not intended to be use as a base theme for a |
387 | +sub-theme (even though it is possible to do so). Because of this, it is not necessary to |
388 | +update your theme when a new version of BASIC comes out. Always see Basic as a STARTER, and |
389 | +as soon as you start using it, it is not BASIC anymore, but your own theme. |
390 | + |
391 | +If you didn't rename your theme, but you don't want to be notified when basic has a new version |
392 | +by the update module, simply delete "project = "basic" in basic.info |
393 | + |
394 | +__________________________________________________________________________________________ |
395 | + |
396 | +Thanks for using BASIC, and remember to use the issue queue in drupal.org for any question |
397 | +or bug report: |
398 | + |
399 | +http://drupal.org/project/issues/basic |
400 | + |
401 | +Current maintainers: |
402 | +* Hubert Florin (couzinhub) -http://drupal.org/user/133581 |
403 | +* Steve Krueger (SteveK) -http://drupal.org/user/111656 |
404 | \ No newline at end of file |
405 | |
406 | === added file 'basic.info' |
407 | --- basic.info 1970-01-01 00:00:00 +0000 |
408 | +++ basic.info 2010-12-08 01:56:31 +0000 |
409 | @@ -0,0 +1,51 @@ |
410 | +name = basic |
411 | +description = Basic starter theme for Drupal 6 |
412 | +screenshot = images/screenshot.gif |
413 | +core = "6.x" |
414 | +project = "basic" |
415 | +engine = phptemplate |
416 | + |
417 | +regions[content_top] = Content top |
418 | +regions[header] = Header |
419 | +regions[left] = First sidebar |
420 | +regions[right] = Second sidebar |
421 | +regions[footer_block] = Footer |
422 | +regions[content_bottom] = Content bottom |
423 | + |
424 | +features[] = logo |
425 | +features[] = name |
426 | +features[] = slogan |
427 | +features[] = mission |
428 | +features[] = node_user_picture |
429 | +features[] = comment_user_picture |
430 | +features[] = search |
431 | +features[] = favicon |
432 | +features[] = primary_links |
433 | +features[] = secondary_links |
434 | + |
435 | +stylesheets[all][] = css/default.css |
436 | +stylesheets[all][] = css/layout.css |
437 | +stylesheets[all][] = css/style.css |
438 | +stylesheets[print][] = css/print.css |
439 | + |
440 | +; Compass Support |
441 | +; http://drupal.org/project/compass |
442 | +compass[status] = 1 |
443 | +compass[sass_dir] = sass |
444 | +compass[css_dir] = css |
445 | + |
446 | +settings[basic_zen_tabs] = 1 |
447 | +settings[basic_wireframe] = 0 |
448 | +settings[basic_block_editing] = 1 |
449 | +settings[basic_rebuild_registry] = 0 |
450 | +settings[basic_breadcrumb] = yes |
451 | +settings[basic_breadcrumb_separator] = ' » ' |
452 | +settings[basic_breadcrumb_home] = 1 |
453 | +settings[basic_breadcrumb_trailing] = 0 |
454 | +settings[basic_breadcrumb_title] = 0 |
455 | +; Information added by drupal.org packaging script on 2010-12-03 |
456 | +version = "6.x-2.12" |
457 | +core = "6.x" |
458 | +project = "basic" |
459 | +datestamp = "1291338964" |
460 | + |
461 | |
462 | === added directory 'css' |
463 | === added file 'css/default.css' |
464 | --- css/default.css 1970-01-01 00:00:00 +0000 |
465 | +++ css/default.css 2010-12-08 01:56:31 +0000 |
466 | @@ -0,0 +1,181 @@ |
467 | +/* About Default Styles |
468 | + * --------------------- |
469 | + * default.css is used to establish general rules, browser reset, or admin user interface styles. |
470 | + * |
471 | + * Browser Reset |
472 | + * ------------- |
473 | + * For a more complete reset, go to http://developer.yahoo.com/yui/reset/ */ |
474 | +/* line 9, ../sass/default.sass */ |
475 | +* { |
476 | + margin: 0; |
477 | + padding: 0; |
478 | +} |
479 | + |
480 | +/* Clear Floats Without Structural Markup |
481 | + * --------------------------------------- |
482 | + * http://www.positioniseverything.net/easyclearing.html */ |
483 | +/* line 17, ../sass/default.sass */ |
484 | +.clearfix { |
485 | + display: inline-block; |
486 | +} |
487 | +/* line 19, ../sass/default.sass */ |
488 | +.clearfix:after { |
489 | + content: "."; |
490 | + display: block; |
491 | + height: 0; |
492 | + clear: both; |
493 | + visibility: hidden; |
494 | +} |
495 | + |
496 | +/* Hides from IE-mac \ */ |
497 | +/* line 27, ../sass/default.sass */ |
498 | +* html .clearfix { |
499 | + height: 1%; |
500 | +} |
501 | + |
502 | +/* line 30, ../sass/default.sass */ |
503 | +.clearfix { |
504 | + display: block; |
505 | +} |
506 | + |
507 | +/* End hide from IE-mac */ |
508 | +/* clear classes */ |
509 | +/* line 36, ../sass/default.sass */ |
510 | +.clearleft, .clearl, .cleft { |
511 | + clear: left; |
512 | +} |
513 | + |
514 | +/* line 39, ../sass/default.sass */ |
515 | +.clearright, .clearr, .cright { |
516 | + clear: right; |
517 | +} |
518 | + |
519 | +/* line 42, ../sass/default.sass */ |
520 | +.clear, .clearboth, .clearall { |
521 | + clear: both; |
522 | +} |
523 | + |
524 | +/* Float classes */ |
525 | +/* line 46, ../sass/default.sass */ |
526 | +.floatleft, .fleft, .floatl { |
527 | + float: left; |
528 | + margin: 0 10px 5px 0; |
529 | +} |
530 | + |
531 | +/* line 50, ../sass/default.sass */ |
532 | +.floatright, .fright, .floatr { |
533 | + float: right; |
534 | + margin: 0 0 5px 10px; |
535 | +} |
536 | + |
537 | +/* "Skip to Main Content" link |
538 | + * --------------------------- |
539 | + * This link useful for both visually impaired people and those with mobility impairments |
540 | + * who cannot use a mouse. http://www.webaim.org/techniques/css/invisiblecontent/ */ |
541 | +/* line 60, ../sass/default.sass */ |
542 | +#skip a:link, #skip a:hover, #skip a:visited { |
543 | + position: absolute; |
544 | + left: -10000px; |
545 | + top: auto; |
546 | + width: 1px; |
547 | + height: 1px; |
548 | + overflow: hidden; |
549 | +} |
550 | +/* line 67, ../sass/default.sass */ |
551 | +#skip a:active, #skip a:focus { |
552 | + position: static; |
553 | + width: auto; |
554 | + height: auto; |
555 | +} |
556 | + |
557 | +/* bug fix with views 2 edit links. */ |
558 | +/* line 73, ../sass/default.sass */ |
559 | +div.view div.views-admin-links { |
560 | + width: auto; |
561 | +} |
562 | + |
563 | +/* Rollover edit links for blocks. */ |
564 | +/* line 77, ../sass/default.sass */ |
565 | +div.block { |
566 | + position: relative; |
567 | +} |
568 | +/* line 79, ../sass/default.sass */ |
569 | +div.block .edit { |
570 | + display: none; |
571 | + position: absolute; |
572 | + right: -20px; |
573 | + top: -5px; |
574 | + z-index: 40; |
575 | + padding: 3px 8px 0; |
576 | + font-size: 10px; |
577 | + line-height: 16px; |
578 | + background-color: white; |
579 | + border: 1px solid #cccccc; |
580 | + /*let's get fancy! */ |
581 | + -moz-border-radius: 3px; |
582 | + -webkit-border-radius: 3px; |
583 | + -moz-box-shadow: 0 1px 3px #888888; |
584 | + -webkit-box-shadow: -1px 1px 2px #666666; |
585 | +} |
586 | +/* line 95, ../sass/default.sass */ |
587 | +div.block .edit a { |
588 | + display: block; |
589 | + border: 0; |
590 | + padding: 0; |
591 | + margin: 0; |
592 | +} |
593 | +/* line 100, ../sass/default.sass */ |
594 | +div.block:hover .edit { |
595 | + display: block; |
596 | +} |
597 | + |
598 | +/* Wireframe styles. */ |
599 | +/* line 105, ../sass/default.sass */ |
600 | +.with-wireframes #header, |
601 | +.with-wireframes #content-top, |
602 | +.with-wireframes #content-top > *, |
603 | +.with-wireframes #content-header, |
604 | +.with-wireframes #content-header > *, |
605 | +.with-wireframes #content-area, |
606 | +.with-wireframes #content-area > *, |
607 | +.with-wireframes #content-bottom, |
608 | +.with-wireframes #content-bottom > *, |
609 | +.with-wireframes #primary, |
610 | +.with-wireframes #secondary, |
611 | +.with-wireframes #sidebar-left-inner, |
612 | +.with-wireframes #sidebar-right-inner, |
613 | +.with-wireframes .block { |
614 | + padding: 2px; |
615 | + border: 1px solid #bbbbbb; |
616 | +} |
617 | +/* line 121, ../sass/default.sass */ |
618 | +.with-wireframes .node { |
619 | + border-bottom: 1px solid #bbbbbb; |
620 | + margin-bottom: 10px; |
621 | +} |
622 | +/* line 124, ../sass/default.sass */ |
623 | +.with-wireframes .block { |
624 | + margin-bottom: 3px; |
625 | +} |
626 | +/* line 126, ../sass/default.sass */ |
627 | +.with-wireframes #content-top, |
628 | +.with-wireframes #content-header, |
629 | +.with-wireframes #content-area, |
630 | +.with-wireframes #content-bottom { |
631 | + margin: 0 3px 3px; |
632 | +} |
633 | +/* line 131, ../sass/default.sass */ |
634 | +.with-wireframes #footer { |
635 | + margin-top: 3px; |
636 | + padding: 2px; |
637 | + border: 1px solid #cccccc; |
638 | +} |
639 | +/* line 136, ../sass/default.sass */ |
640 | +.with-wireframes.with-navigation #content, |
641 | +.with-wireframes.with-navigation .sidebar { |
642 | + margin-top: 50px; |
643 | +} |
644 | +/* line 139, ../sass/default.sass */ |
645 | +.with-wireframes #navigation { |
646 | + height: 50px; |
647 | +} |
648 | |
649 | === added file 'css/ie6.css' |
650 | --- css/ie6.css 1970-01-01 00:00:00 +0000 |
651 | +++ css/ie6.css 2010-12-08 01:56:31 +0000 |
652 | @@ -0,0 +1,67 @@ |
653 | +/* Yes, we all hate IE6. */ |
654 | +/* Fix the admin page in ie6. */ |
655 | +/* line 5, ../sass/ie6.sass */ |
656 | +div.admin .left, |
657 | +div.admin .right { |
658 | + width: 46%; |
659 | +} |
660 | + |
661 | +/* Tabs CSS - IE 5 and 6 don't support PNGs with alpha transparency. */ |
662 | +/* line 10, ../sass/ie6.sass */ |
663 | +ul.primary, |
664 | +ul.secondary { |
665 | + width: 100%; |
666 | + width: auto; |
667 | +} |
668 | +/* line 14, ../sass/ie6.sass */ |
669 | +ul.primary li a, |
670 | +ul.primary li a .tab, |
671 | +ul.secondary li a, |
672 | +ul.secondary li a .tab { |
673 | + display: inline; |
674 | + display: inline-block; |
675 | +} |
676 | + |
677 | +/* line 21, ../sass/ie6.sass */ |
678 | +ul.primary li a { |
679 | + background: url(../images/tabs/tab-left-ie6.png) no-repeat left -38px; |
680 | +} |
681 | +/* line 23, ../sass/ie6.sass */ |
682 | +ul.primary li a .tab { |
683 | + background: url(../images/tabs/tab-right-ie6.png) no-repeat right -38px; |
684 | +} |
685 | +/* line 25, ../sass/ie6.sass */ |
686 | +ul.primary li a:hover { |
687 | + cursor: pointer; |
688 | + color: #555555; |
689 | + text-decoration: none; |
690 | + background-position: left -76px; |
691 | +} |
692 | +/* line 30, ../sass/ie6.sass */ |
693 | +ul.primary li a:hover .tab { |
694 | + background-position: right -76px; |
695 | +} |
696 | +/* line 33, ../sass/ie6.sass */ |
697 | +ul.primary li.active a, ul.primary li.active a:hover { |
698 | + background: url(../images/tabs/tab-left-ie6.png) no-repeat left 0; |
699 | +} |
700 | +/* line 35, ../sass/ie6.sass */ |
701 | +ul.primary li.active a .tab, ul.primary li.active a:hover .tab { |
702 | + background: url(../images/tabs/tab-right-ie6.png) no-repeat right 0; |
703 | +} |
704 | + |
705 | +/* line 41, ../sass/ie6.sass */ |
706 | +ul.secondary li a:hover { |
707 | + cursor: pointer; |
708 | + color: #555555; |
709 | + text-decoration: none; |
710 | +} |
711 | + |
712 | +/* Drupal admin tables */ |
713 | +/* line 49, ../sass/ie6.sass */ |
714 | +#content tr.even th, |
715 | +#content tr.even td, |
716 | +#content tr.odd th, |
717 | +#content tr.odd td { |
718 | + border-bottom: 1px solid #cccccc; |
719 | +} |
720 | |
721 | === added file 'css/ie7.css' |
722 | --- css/ie7.css 1970-01-01 00:00:00 +0000 |
723 | +++ css/ie7.css 2010-12-08 01:56:31 +0000 |
724 | @@ -0,0 +1,18 @@ |
725 | +/* Yes, we all hate IE7 too. */ |
726 | +/* Drupal admin tables. */ |
727 | +/* line 6, ../sass/ie7.sass */ |
728 | +#content tr.even th, |
729 | +#content tr.even td, |
730 | +#content tr.odd th, |
731 | +#content tr.odd td { |
732 | + border-bottom: 1px solid #cccccc; |
733 | +} |
734 | + |
735 | +/* Minor fix for primary and secondary tabs in IE */ |
736 | +/* line 14, ../sass/ie7.sass */ |
737 | +ul .primary li a:hover, |
738 | +ul .secondary li a:hover { |
739 | + cursor: pointer; |
740 | + color: #555555; |
741 | + text-decoration: none; |
742 | +} |
743 | |
744 | === added file 'css/layout.css' |
745 | --- css/layout.css 1970-01-01 00:00:00 +0000 |
746 | +++ css/layout.css 2010-12-08 01:56:31 +0000 |
747 | @@ -0,0 +1,110 @@ |
748 | +/* Layout |
749 | + * ------ |
750 | + * Using a negative margin technique, adapted from ZEN. The page is loaded by this order: |
751 | + * |
752 | + * 1. Header |
753 | + * 2. Content |
754 | + * 3. Navigation menus |
755 | + * 4. Sidebar Left |
756 | + * 5. Sideabr Right */ |
757 | +/* remove 'auto' and the width to switch to a fluid width */ |
758 | +/* line 16, ../sass/layout.sass */ |
759 | +#page { |
760 | + width: 960px; |
761 | + margin: 0 auto; |
762 | +} |
763 | + |
764 | +/* Layout rules. (Disclaimer: do not change if you're not sure you know what you're doing.) */ |
765 | +/* line 21, ../sass/layout.sass */ |
766 | +#content { |
767 | + float: left; |
768 | + width: 100%; |
769 | + margin: 0; |
770 | + padding: 0; |
771 | +} |
772 | + |
773 | +/* line 27, ../sass/layout.sass */ |
774 | +.sidebar { |
775 | + float: left; |
776 | +} |
777 | + |
778 | +/* line 30, ../sass/layout.sass */ |
779 | +#sidebar-second { |
780 | + float: right; |
781 | +} |
782 | + |
783 | +/* line 33, ../sass/layout.sass */ |
784 | +#footer { |
785 | + float: none; |
786 | + clear: both; |
787 | +} |
788 | + |
789 | +/* Layout Helpers */ |
790 | +/* line 38, ../sass/layout.sass */ |
791 | +#header, |
792 | +#footer, |
793 | +.mission, |
794 | +.breadcrumb, |
795 | +.node { |
796 | + clear: both; |
797 | +} |
798 | + |
799 | +/* Sidebars width |
800 | + * -------------- |
801 | + * Changing the width of the sidebars is dead easy, just change the |
802 | + * values below corresponding to the sidebar you want to modify. |
803 | + * Make sure you keep negative values as negative values. |
804 | + * For example, if I want to increase the width of the left sidebar |
805 | + * to 300px, I would have to change each '190' to '300'. */ |
806 | +/* line 56, ../sass/layout.sass */ |
807 | +.two-sidebars .center, |
808 | +.sidebar-left .center { |
809 | + margin-left: 190px; |
810 | +} |
811 | + |
812 | +/* line 60, ../sass/layout.sass */ |
813 | +#sidebar-first { |
814 | + width: 190px; |
815 | + margin-right: -190px; |
816 | +} |
817 | + |
818 | +/* line 66, ../sass/layout.sass */ |
819 | +.two-sidebars .center, |
820 | +.sidebar-right .center { |
821 | + margin-right: 200px; |
822 | +} |
823 | + |
824 | +/* line 70, ../sass/layout.sass */ |
825 | +#sidebar-second { |
826 | + width: 200px; |
827 | +} |
828 | + |
829 | +/* Columns Inner |
830 | + * ------------- |
831 | + * You can change the padding inside the columns without changing the |
832 | + * width of them by just usinbg the INNER div of each column */ |
833 | +/* line 77, ../sass/layout.sass */ |
834 | +.inner { |
835 | + padding: 0; |
836 | +} |
837 | + |
838 | +/* Navigation styles |
839 | + * ----------------- |
840 | + * The navigation is loaded after the content, so we need to make space |
841 | + * for it, equal to its height, so if you change the height of the navigation, |
842 | + * remember to adapt the margin top of the content and sidebars. */ |
843 | +/* line 85, ../sass/layout.sass */ |
844 | +#navigation { |
845 | + float: left; |
846 | + margin-left: 0; |
847 | + margin-right: -100%; |
848 | + padding: 0; |
849 | + width: 100%; |
850 | + height: 40px; |
851 | +} |
852 | + |
853 | +/* line 95, ../sass/layout.sass */ |
854 | +.with-navigation #content, |
855 | +.with-navigation .sidebar { |
856 | + margin-top: 40px; |
857 | +} |
858 | |
859 | === added file 'css/print.css' |
860 | --- css/print.css 1970-01-01 00:00:00 +0000 |
861 | +++ css/print.css 2010-12-08 01:56:31 +0000 |
862 | @@ -0,0 +1,45 @@ |
863 | +/* Use this stylesheet for print styles only. */ |
864 | +/* line 2, ../sass/print.sass */ |
865 | +* { |
866 | + background-color: transparent; |
867 | +} |
868 | + |
869 | +/* line 5, ../sass/print.sass */ |
870 | +.sidebar, |
871 | +#navigation, |
872 | +#header-region, |
873 | +#search-theme-form, |
874 | +#footer, |
875 | +.breadcrumb, |
876 | +.tabs, |
877 | +.feed-icon, |
878 | +.links { |
879 | + display: none; |
880 | +} |
881 | + |
882 | +/* line 16, ../sass/print.sass */ |
883 | +#page { |
884 | + width: 100%; |
885 | +} |
886 | + |
887 | +/* line 19, ../sass/print.sass */ |
888 | +#content, |
889 | +#content #content-inner, |
890 | +.content, |
891 | +.title { |
892 | + margin: 20px 0; |
893 | + width: auto; |
894 | +} |
895 | + |
896 | +/* line 27, ../sass/print.sass */ |
897 | +a:hover, a:active, a:link, a:visited { |
898 | + color: black; |
899 | +} |
900 | + |
901 | +/* CSS2 selector to add visible href after links. */ |
902 | +/* line 35, ../sass/print.sass */ |
903 | +#content a:link:after, #content a:visited:after { |
904 | + content: " (" attr(href) ") "; |
905 | + font-size: 0.8em; |
906 | + font-weight: normal; |
907 | +} |
908 | |
909 | === added file 'css/style.css' |
910 | --- css/style.css 1970-01-01 00:00:00 +0000 |
911 | +++ css/style.css 2010-12-08 01:56:31 +0000 |
912 | @@ -0,0 +1,290 @@ |
913 | +/* Font styles. */ |
914 | +/* line 2, ../sass/style.sass */ |
915 | +body { |
916 | + margin: 0; |
917 | + /* Setting up font size, leading and font family |
918 | + * http://www.markboulton.co.uk/journal/comments/five-simple-steps-to-better-typography */ |
919 | + font: 13px/1.5em "Helvetica Neue", helvetica, Arial, sans-serif; |
920 | +} |
921 | + |
922 | +/* Links */ |
923 | +/* line 10, ../sass/style.sass */ |
924 | +a:link, a:visited { |
925 | + color: blue; |
926 | + text-decoration: none; |
927 | +} |
928 | + |
929 | +/* line 15, ../sass/style.sass */ |
930 | +a:hover, a:active { |
931 | + color: red; |
932 | + text-decoration: underline; |
933 | +} |
934 | + |
935 | +/* Titles. */ |
936 | +/* line 21, ../sass/style.sass */ |
937 | +h1, h2, h3, h4, h5, h6 { |
938 | + line-height: 1.3em; |
939 | +} |
940 | + |
941 | +/* line 24, ../sass/style.sass */ |
942 | +h1 { |
943 | + font-size: 2.2em; |
944 | + font-weight: 300; |
945 | + padding: 0 0 0.5em; |
946 | + margin: 0; |
947 | +} |
948 | + |
949 | +/* line 30, ../sass/style.sass */ |
950 | +h2 { |
951 | + font-size: 1.8em; |
952 | + font-weight: 300; |
953 | + margin-bottom: 0.75em; |
954 | +} |
955 | + |
956 | +/* line 35, ../sass/style.sass */ |
957 | +h3 { |
958 | + font-size: 1.4em; |
959 | + margin-bottom: 1em; |
960 | +} |
961 | + |
962 | +/* line 39, ../sass/style.sass */ |
963 | +h4 { |
964 | + font-size: 1.2em; |
965 | + margin-bottom: 0.8em; |
966 | +} |
967 | + |
968 | +/* line 43, ../sass/style.sass */ |
969 | +h5 { |
970 | + font-size: 1.1em; |
971 | + font-weight: 600; |
972 | + margin-bottom: 0; |
973 | +} |
974 | + |
975 | +/* line 48, ../sass/style.sass */ |
976 | +h6 { |
977 | + font-size: 1em; |
978 | + font-weight: bold; |
979 | +} |
980 | + |
981 | +/* Paragraph styles. */ |
982 | +/* line 53, ../sass/style.sass */ |
983 | +p { |
984 | + margin: 0 0 1em 0; |
985 | +} |
986 | + |
987 | +/* List styles. */ |
988 | +/* line 57, ../sass/style.sass */ |
989 | +ul, ol { |
990 | + margin-left: 0; |
991 | + padding-left: 2em; |
992 | +} |
993 | + |
994 | +/* Table styles. */ |
995 | +/* line 62, ../sass/style.sass */ |
996 | +table { |
997 | + width: 99%; |
998 | +} |
999 | + |
1000 | +/* line 67, ../sass/style.sass */ |
1001 | +tr.even td, |
1002 | +tr.odd td { |
1003 | + padding: 10px 5px; |
1004 | +} |
1005 | + |
1006 | +/* line 70, ../sass/style.sass */ |
1007 | +tr.odd { |
1008 | + background-color: white; |
1009 | +} |
1010 | + |
1011 | +/* Code. */ |
1012 | +/* line 74, ../sass/style.sass */ |
1013 | +pre, code, tt { |
1014 | + font: 1em "andale mono", "lucida console", monospace; |
1015 | + line-height: 1.5; |
1016 | +} |
1017 | + |
1018 | +/* line 78, ../sass/style.sass */ |
1019 | +pre { |
1020 | + background-color: #efefef; |
1021 | + display: block; |
1022 | + padding: 5px; |
1023 | + margin: 5px 0; |
1024 | + border: 1px solid #aaaaaa; |
1025 | +} |
1026 | + |
1027 | +/* List styles. */ |
1028 | +/* line 86, ../sass/style.sass */ |
1029 | +ul { |
1030 | + list-style-type: disc; |
1031 | +} |
1032 | +/* line 88, ../sass/style.sass */ |
1033 | +ul ul { |
1034 | + list-style-type: circle; |
1035 | +} |
1036 | +/* line 90, ../sass/style.sass */ |
1037 | +ul ul ul { |
1038 | + list-style-type: square; |
1039 | +} |
1040 | +/* line 92, ../sass/style.sass */ |
1041 | +ul ul ul ul { |
1042 | + list-style-type: circle; |
1043 | +} |
1044 | + |
1045 | +/* line 95, ../sass/style.sass */ |
1046 | +ol { |
1047 | + list-style-type: decimal; |
1048 | +} |
1049 | +/* line 97, ../sass/style.sass */ |
1050 | +ol ol { |
1051 | + list-style-type: lower-alpha; |
1052 | +} |
1053 | +/* line 99, ../sass/style.sass */ |
1054 | +ol ol ol { |
1055 | + list-style-type: decimal; |
1056 | +} |
1057 | + |
1058 | +/* Abbreviation. */ |
1059 | +/* line 103, ../sass/style.sass */ |
1060 | +abbr { |
1061 | + border-bottom: 1px dotted #666666; |
1062 | + cursor: help; |
1063 | + white-space: nowrap; |
1064 | +} |
1065 | + |
1066 | +/* UI improvments. */ |
1067 | +/* line 109, ../sass/style.sass */ |
1068 | +#edit-title { |
1069 | + font-size: 24px; |
1070 | + width: 98%; |
1071 | +} |
1072 | + |
1073 | +/* line 113, ../sass/style.sass */ |
1074 | +#system-themes-form img { |
1075 | + width: 100px; |
1076 | +} |
1077 | + |
1078 | +/* line 116, ../sass/style.sass */ |
1079 | +.form-item .description { |
1080 | + font-style: italic; |
1081 | + line-height: 1.2em; |
1082 | + font-size: 0.8em; |
1083 | + margin-top: 5px; |
1084 | + color: #777777; |
1085 | +} |
1086 | + |
1087 | +/* line 123, ../sass/style.sass */ |
1088 | +#edit-delete { |
1089 | + color: #cc0000; |
1090 | +} |
1091 | + |
1092 | +/* Console, style from slate theme. */ |
1093 | +/* line 127, ../sass/style.sass */ |
1094 | +div.messages { |
1095 | + padding: 9px; |
1096 | + margin: 1em 0; |
1097 | + color: #003366; |
1098 | + background: #bbddff; |
1099 | + border: 1px solid #aaccee; |
1100 | +} |
1101 | + |
1102 | +/* line 134, ../sass/style.sass */ |
1103 | +div.warning { |
1104 | + color: #884400; |
1105 | + background: #ffee66; |
1106 | + border-color: #eedd55; |
1107 | +} |
1108 | + |
1109 | +/* line 139, ../sass/style.sass */ |
1110 | +div.error { |
1111 | + color: white; |
1112 | + background: #ee6633; |
1113 | + border-color: #dd5522; |
1114 | +} |
1115 | + |
1116 | +/* line 144, ../sass/style.sass */ |
1117 | +div.status { |
1118 | + color: #336600; |
1119 | + background: #ccff88; |
1120 | + border-color: #bbee77; |
1121 | +} |
1122 | + |
1123 | +/* Region Colors. delete when starting a new theme. */ |
1124 | +/* line 150, ../sass/style.sass */ |
1125 | +#header, #footer { |
1126 | + background: #efefef; |
1127 | +} |
1128 | + |
1129 | +/* line 153, ../sass/style.sass */ |
1130 | +#sidebar-first { |
1131 | + background: #e7edff; |
1132 | +} |
1133 | + |
1134 | +/* line 156, ../sass/style.sass */ |
1135 | +#sidebar-second { |
1136 | + background: #ffd075; |
1137 | +} |
1138 | + |
1139 | +/* line 159, ../sass/style.sass */ |
1140 | +#navigation { |
1141 | + background: #feffa5; |
1142 | +} |
1143 | +#header{ |
1144 | +width:880px; |
1145 | +height:138px; |
1146 | +margin:auto; |
1147 | +background:url(http://theosdf.org/images/header_bg.jpg) repeat-x; |
1148 | +} |
1149 | +#logo { |
1150 | + float: left; |
1151 | + padding: 38px 0 0 30px; |
1152 | +} |
1153 | +.top_phone { |
1154 | + width:280px; |
1155 | + height:89px; |
1156 | + float:right; |
1157 | + color:#FFFFFF; |
1158 | + padding:10px 0 0 0; |
1159 | +} |
1160 | +.phone_text{ |
1161 | +font-size:16px; |
1162 | +font-weight:bold; |
1163 | +float:left; |
1164 | +padding:0px 0 0 10px; |
1165 | +} |
1166 | +img.left{ |
1167 | +float:left; |
1168 | +} |
1169 | +span.black{ |
1170 | +color:#000000; |
1171 | +font-size:14px; |
1172 | +} |
1173 | +#menu_tab { |
1174 | + float: right; |
1175 | + font-family: Arial,Helvetica,sans-serif; |
1176 | + height: 37px; |
1177 | + padding: 0; |
1178 | + width: 480px; |
1179 | +} |
1180 | +ul.menu { |
1181 | +list-style-type:none; |
1182 | +display:block; |
1183 | +width: 507px; |
1184 | +margin: auto; |
1185 | +padding:0px; |
1186 | +background:none; |
1187 | +} |
1188 | + |
1189 | +ul.menu li { |
1190 | +display:inline; |
1191 | +font-size:11px; |
1192 | +font-weight:bold; |
1193 | +line-height:26px; |
1194 | +} |
1195 | +a.nav:link, a.nav:visited { |
1196 | +display:block; float:left; padding:0px; margin:0;width:71px; height:37px; margin:0px 4px 0px 4px; text-align:center; color:#FFFFFF; |
1197 | +text-decoration:none;} |
1198 | +a.nav_selected:link, a.nav_selected:visited { |
1199 | +display:block; float:left; padding:0px; margin:0;width: 71px;margin:0px 4px 0px 4px;text-align:center; height:37px; |
1200 | +text-decoration:none; color: #d34124; background:url(http://theosdf.org/images/bt_bg.gif) no-repeat center;} |
1201 | +a.nav:hover { |
1202 | +color: #d34124; text-decoration:none;background:url(http://theosdf.org/images/bt_bg.gif) no-repeat center;} |
1203 | |
1204 | === added file 'css/tabs.css' |
1205 | --- css/tabs.css 1970-01-01 00:00:00 +0000 |
1206 | +++ css/tabs.css 2010-12-08 01:56:31 +0000 |
1207 | @@ -0,0 +1,122 @@ |
1208 | +/* Tabs CSS |
1209 | + * -------- |
1210 | + * Adds styles for the primary and secondary tabs. |
1211 | + * |
1212 | + * Compare this with default CSS found in the system module's stylesheet (a copy |
1213 | + * of which is in drupal5-reference.css, line 510.) */ |
1214 | +/* line 8, ../sass/tabs.sass */ |
1215 | +div.tabs { |
1216 | + margin: 0 0 5px 0; |
1217 | +} |
1218 | + |
1219 | +/* line 11, ../sass/tabs.sass */ |
1220 | +ul.primary, ul.secondary { |
1221 | + width: 99%; |
1222 | +} |
1223 | + |
1224 | +/* line 14, ../sass/tabs.sass */ |
1225 | +ul.primary { |
1226 | + margin: 0; |
1227 | + padding: 0 0 0 10px; |
1228 | + border-width: 0; |
1229 | + list-style: none; |
1230 | + white-space: nowrap; |
1231 | + line-height: normal; |
1232 | + background: url(../images/tabs/tab-bar.png) repeat-x left bottom; |
1233 | +} |
1234 | +/* line 22, ../sass/tabs.sass */ |
1235 | +ul.primary li { |
1236 | + float: left; |
1237 | + margin: 0; |
1238 | + padding: 0; |
1239 | +} |
1240 | +/* line 27, ../sass/tabs.sass */ |
1241 | +ul.primary li.active a, ul.primary li.active a:hover { |
1242 | + border-width: 0; |
1243 | + color: black; |
1244 | + background-color: transparent; |
1245 | + background: url(../images/tabs/tab-left.png) no-repeat left 0; |
1246 | +} |
1247 | +/* line 32, ../sass/tabs.sass */ |
1248 | +ul.primary li.active a .tab, ul.primary li.active a:hover .tab { |
1249 | + background: url(../images/tabs/tab-right.png) no-repeat right 0; |
1250 | +} |
1251 | +/* line 34, ../sass/tabs.sass */ |
1252 | +ul.primary li a { |
1253 | + display: block; |
1254 | + height: 24px; |
1255 | + margin: 0; |
1256 | + padding: 0 0 0 5px; |
1257 | + border-width: 0; |
1258 | + font-weigh: bold; |
1259 | + text-decoration: none; |
1260 | + color: #777777; |
1261 | + background-color: transparent; |
1262 | + background: url(../images/tabs/tab-left.png) no-repeat left -38px; |
1263 | +} |
1264 | +/* line 45, ../sass/tabs.sass */ |
1265 | +ul.primary li a:hover { |
1266 | + border-width: 0; |
1267 | + background-color: transparent; |
1268 | + background: url(../images/tabs/tab-left.png) no-repeat left -76px; |
1269 | +} |
1270 | +/* line 49, ../sass/tabs.sass */ |
1271 | +ul.primary li a:hover .tab { |
1272 | + background: url(../images/tabs/tab-right.png) no-repeat right -76px; |
1273 | +} |
1274 | +/* line 51, ../sass/tabs.sass */ |
1275 | +ul.primary li a .tab { |
1276 | + display: block; |
1277 | + height: 20px; |
1278 | + margin: 0; |
1279 | + padding: 4px 13px 0 6px; |
1280 | + border-width: 0; |
1281 | + line-height: 20px; |
1282 | + background: url(../images/tabs/tab-right.png) no-repeat right -38px; |
1283 | +} |
1284 | + |
1285 | +/* line 60, ../sass/tabs.sass */ |
1286 | +ul.secondary { |
1287 | + margin: 0; |
1288 | + padding: 0 0 0 5px; |
1289 | + border-bottom: 1px solid silver; |
1290 | + list-style: none; |
1291 | + white-space: nowrap; |
1292 | + background: url(../images/tabs/tab-secondary-bg.png) repeat-x left bottom; |
1293 | +} |
1294 | +/* line 67, ../sass/tabs.sass */ |
1295 | +ul.secondary li { |
1296 | + float: left; |
1297 | + margin: 0 5px 0 0; |
1298 | + padding: 5px 0; |
1299 | + border-right: none; |
1300 | +} |
1301 | +/* line 72, ../sass/tabs.sass */ |
1302 | +ul.secondary a { |
1303 | + display: block; |
1304 | + height: 24px; |
1305 | + margin: 0; |
1306 | + padding: 0; |
1307 | + border: 1px solid silver; |
1308 | + text-decoration: none; |
1309 | + color: #777777; |
1310 | + background: url(../images/tabs/tab-secondary.png) repeat-x left -56px; |
1311 | +} |
1312 | +/* line 81, ../sass/tabs.sass */ |
1313 | +ul.secondary a .active, ul.secondary a .active:hover { |
1314 | + border: 1px solid silver; |
1315 | + color: black; |
1316 | + background: url(../images/tabs/tab-secondary.png) repeat-x left top; |
1317 | +} |
1318 | +/* line 85, ../sass/tabs.sass */ |
1319 | +ul.secondary a:hover { |
1320 | + background: url(../images/tabs/tab-secondary.png) repeat-x left bottom; |
1321 | +} |
1322 | +/* line 87, ../sass/tabs.sass */ |
1323 | +ul.secondary a .tab { |
1324 | + display: block; |
1325 | + height: 18px; |
1326 | + margin: 0; |
1327 | + padding: 3px 8px; |
1328 | + line-height: 18px; |
1329 | +} |
1330 | |
1331 | === added directory 'images' |
1332 | === added file 'images/bg.jpg' |
1333 | Binary files images/bg.jpg 1970-01-01 00:00:00 +0000 and images/bg.jpg 2010-12-08 01:56:31 +0000 differ |
1334 | === added file 'images/box_bg.gif' |
1335 | Binary files images/box_bg.gif 1970-01-01 00:00:00 +0000 and images/box_bg.gif 2010-12-08 01:56:31 +0000 differ |
1336 | === added file 'images/bt_bg.gif' |
1337 | Binary files images/bt_bg.gif 1970-01-01 00:00:00 +0000 and images/bt_bg.gif 2010-12-08 01:56:31 +0000 differ |
1338 | === added file 'images/calendar_icon.gif' |
1339 | Binary files images/calendar_icon.gif 1970-01-01 00:00:00 +0000 and images/calendar_icon.gif 2010-12-08 01:56:31 +0000 differ |
1340 | === added file 'images/center_bg.gif' |
1341 | Binary files images/center_bg.gif 1970-01-01 00:00:00 +0000 and images/center_bg.gif 2010-12-08 01:56:31 +0000 differ |
1342 | === added file 'images/clients_icon.gif' |
1343 | Binary files images/clients_icon.gif 1970-01-01 00:00:00 +0000 and images/clients_icon.gif 2010-12-08 01:56:31 +0000 differ |
1344 | === added file 'images/donate.jpg' |
1345 | Binary files images/donate.jpg 1970-01-01 00:00:00 +0000 and images/donate.jpg 2010-12-08 01:56:31 +0000 differ |
1346 | === added file 'images/footer_logo.gif' |
1347 | Binary files images/footer_logo.gif 1970-01-01 00:00:00 +0000 and images/footer_logo.gif 2010-12-08 01:56:31 +0000 differ |
1348 | === added file 'images/header_bg.jpg' |
1349 | Binary files images/header_bg.jpg 1970-01-01 00:00:00 +0000 and images/header_bg.jpg 2010-12-08 01:56:31 +0000 differ |
1350 | === added file 'images/home_arrow.gif' |
1351 | Binary files images/home_arrow.gif 1970-01-01 00:00:00 +0000 and images/home_arrow.gif 2010-12-08 01:56:31 +0000 differ |
1352 | === added file 'images/icon1.png' |
1353 | Binary files images/icon1.png 1970-01-01 00:00:00 +0000 and images/icon1.png 2010-12-08 01:56:31 +0000 differ |
1354 | === added file 'images/icon2.png' |
1355 | Binary files images/icon2.png 1970-01-01 00:00:00 +0000 and images/icon2.png 2010-12-08 01:56:31 +0000 differ |
1356 | === added file 'images/icon3.png' |
1357 | Binary files images/icon3.png 1970-01-01 00:00:00 +0000 and images/icon3.png 2010-12-08 01:56:31 +0000 differ |
1358 | === added file 'images/list_arrow.gif' |
1359 | Binary files images/list_arrow.gif 1970-01-01 00:00:00 +0000 and images/list_arrow.gif 2010-12-08 01:56:31 +0000 differ |
1360 | === added file 'images/logo - Copy.png' |
1361 | Binary files images/logo - Copy.png 1970-01-01 00:00:00 +0000 and images/logo - Copy.png 2010-12-08 01:56:31 +0000 differ |
1362 | === added file 'images/logo.png' |
1363 | Binary files images/logo.png 1970-01-01 00:00:00 +0000 and images/logo.png 2010-12-08 01:56:31 +0000 differ |
1364 | === added file 'images/logo2.png' |
1365 | Binary files images/logo2.png 1970-01-01 00:00:00 +0000 and images/logo2.png 2010-12-08 01:56:31 +0000 differ |
1366 | === added file 'images/phone_arrows.png' |
1367 | Binary files images/phone_arrows.png 1970-01-01 00:00:00 +0000 and images/phone_arrows.png 2010-12-08 01:56:31 +0000 differ |
1368 | === added file 'images/read_more_bg.gif' |
1369 | Binary files images/read_more_bg.gif 1970-01-01 00:00:00 +0000 and images/read_more_bg.gif 2010-12-08 01:56:31 +0000 differ |
1370 | === added file 'images/screenshot.gif' |
1371 | Binary files images/screenshot.gif 1970-01-01 00:00:00 +0000 and images/screenshot.gif 2010-12-08 01:56:31 +0000 differ |
1372 | === added file 'images/services.gif' |
1373 | Binary files images/services.gif 1970-01-01 00:00:00 +0000 and images/services.gif 2010-12-08 01:56:31 +0000 differ |
1374 | === added file 'images/subtitle1.gif' |
1375 | Binary files images/subtitle1.gif 1970-01-01 00:00:00 +0000 and images/subtitle1.gif 2010-12-08 01:56:31 +0000 differ |
1376 | === added directory 'images/tabs' |
1377 | === added file 'images/tabs/tab-bar.png' |
1378 | Binary files images/tabs/tab-bar.png 1970-01-01 00:00:00 +0000 and images/tabs/tab-bar.png 2010-12-08 01:56:31 +0000 differ |
1379 | === added file 'images/tabs/tab-left-ie6.png' |
1380 | Binary files images/tabs/tab-left-ie6.png 1970-01-01 00:00:00 +0000 and images/tabs/tab-left-ie6.png 2010-12-08 01:56:31 +0000 differ |
1381 | === added file 'images/tabs/tab-left.png' |
1382 | Binary files images/tabs/tab-left.png 1970-01-01 00:00:00 +0000 and images/tabs/tab-left.png 2010-12-08 01:56:31 +0000 differ |
1383 | === added file 'images/tabs/tab-right-ie6.png' |
1384 | Binary files images/tabs/tab-right-ie6.png 1970-01-01 00:00:00 +0000 and images/tabs/tab-right-ie6.png 2010-12-08 01:56:31 +0000 differ |
1385 | === added file 'images/tabs/tab-right.png' |
1386 | Binary files images/tabs/tab-right.png 1970-01-01 00:00:00 +0000 and images/tabs/tab-right.png 2010-12-08 01:56:31 +0000 differ |
1387 | === added file 'images/tabs/tab-secondary-bg.png' |
1388 | Binary files images/tabs/tab-secondary-bg.png 1970-01-01 00:00:00 +0000 and images/tabs/tab-secondary-bg.png 2010-12-08 01:56:31 +0000 differ |
1389 | === added file 'images/tabs/tab-secondary.png' |
1390 | Binary files images/tabs/tab-secondary.png 1970-01-01 00:00:00 +0000 and images/tabs/tab-secondary.png 2010-12-08 01:56:31 +0000 differ |
1391 | === added file 'logo.png' |
1392 | Binary files logo.png 1970-01-01 00:00:00 +0000 and logo.png 2010-12-08 01:56:31 +0000 differ |
1393 | === renamed file 'logo.png' => 'logo.png.moved' |
1394 | === added directory 'sass' |
1395 | === added file 'sass/_custom.sass' |
1396 | --- sass/_custom.sass 1970-01-01 00:00:00 +0000 |
1397 | +++ sass/_custom.sass 2010-12-08 01:56:31 +0000 |
1398 | @@ -0,0 +1,8 @@ |
1399 | +// Custom |
1400 | +// ------ |
1401 | +// This file is used to define custom overrides and |
1402 | +// style changes to be used for building your theme. |
1403 | + |
1404 | +// Import variables and mixins to be used. |
1405 | +@import _variables.sass |
1406 | +@import _mixins.sass |
1407 | \ No newline at end of file |
1408 | |
1409 | === added file 'sass/_mixins.sass' |
1410 | --- sass/_mixins.sass 1970-01-01 00:00:00 +0000 |
1411 | +++ sass/_mixins.sass 2010-12-08 01:56:31 +0000 |
1412 | @@ -0,0 +1,24 @@ |
1413 | +// Mixins |
1414 | +// ------ |
1415 | +// Mixins allow you to define styles that can be re-used |
1416 | +// throughout the stylesheet without needing to resort to |
1417 | +// non-semantic classes like .float-left. Mixins can also |
1418 | +// contain full CSS rules, and anything else allowed |
1419 | +// elsewhere in a Sass document. They can even take |
1420 | +// arguments which allows you to produce a wide variety |
1421 | +// of styles with very few mixins. |
1422 | +// |
1423 | +// For complete documentation: |
1424 | +// http://sass-lang.com/docs/yardoc/file.SASS_REFERENCE.html#mixins |
1425 | + |
1426 | +// Import variables for use in Mixins. |
1427 | +@import _variables.sass |
1428 | + |
1429 | +// Rounded corners mixin. |
1430 | +@mixin rounded_corners($top: 10px, $right: 10px, $bottom: $top, $left: $right) |
1431 | + border-radius: $top $right $bottom $left |
1432 | + -moz-border-radius: $top $right $bottom $left |
1433 | + -webkit-border-top-left-radius: $top |
1434 | + -webkit-border-top-right-radius: $right |
1435 | + -webkit-border-bottom-left-radius: $bottom |
1436 | + -webkit-border-bottom-right-radius: $left |
1437 | |
1438 | === added file 'sass/_variables.sass' |
1439 | --- sass/_variables.sass 1970-01-01 00:00:00 +0000 |
1440 | +++ sass/_variables.sass 2010-12-08 01:56:31 +0000 |
1441 | @@ -0,0 +1,16 @@ |
1442 | +// Variables |
1443 | +// --------- |
1444 | +// Use the same color all over the place? Need to do |
1445 | +// some math with height and width and text size? |
1446 | +// Sass supports variables as well as basic math |
1447 | +// operations and many useful functions. |
1448 | +// |
1449 | +// For complete documentation: |
1450 | +// http://sass-lang.com/docs/yardoc/file.SASS_REFERENCE.html#variables_ |
1451 | +// |
1452 | +// Available functions: |
1453 | +// http://sass-lang.com/docs/yardoc/Sass/Script/Functions.html |
1454 | + |
1455 | +// Sidebar widths. |
1456 | +$first_sidebar_width: 190px |
1457 | +$second_sidebar_width: 200px |
1458 | |
1459 | === added file 'sass/default.sass' |
1460 | --- sass/default.sass 1970-01-01 00:00:00 +0000 |
1461 | +++ sass/default.sass 2010-12-08 01:56:31 +0000 |
1462 | @@ -0,0 +1,140 @@ |
1463 | +/* About Default Styles |
1464 | + * --------------------- |
1465 | + * default.css is used to establish general rules, browser reset, or admin user interface styles. |
1466 | + * |
1467 | + * Browser Reset |
1468 | + * ------------- |
1469 | + * For a more complete reset, go to http://developer.yahoo.com/yui/reset/ |
1470 | + |
1471 | +* |
1472 | + margin: 0 |
1473 | + padding: 0 |
1474 | + |
1475 | +/* Clear Floats Without Structural Markup |
1476 | + * --------------------------------------- |
1477 | + * http://www.positioniseverything.net/easyclearing.html |
1478 | + |
1479 | +.clearfix |
1480 | + display: inline-block |
1481 | + &:after |
1482 | + content: "." |
1483 | + display: block |
1484 | + height: 0 |
1485 | + clear: both |
1486 | + visibility: hidden |
1487 | + |
1488 | +/* Hides from IE-mac \ |
1489 | +* html .clearfix |
1490 | + height: 1% |
1491 | + |
1492 | +.clearfix |
1493 | + display: block |
1494 | + |
1495 | +/* End hide from IE-mac |
1496 | + |
1497 | +/* clear classes |
1498 | +.clearleft, .clearl, .cleft |
1499 | + clear: left |
1500 | + |
1501 | +.clearright, .clearr, .cright |
1502 | + clear: right |
1503 | + |
1504 | +.clear, .clearboth, .clearall |
1505 | + clear: both |
1506 | + |
1507 | +/* Float classes |
1508 | +.floatleft, .fleft, .floatl |
1509 | + float: left |
1510 | + margin: 0 10px 5px 0 |
1511 | + |
1512 | +.floatright, .fright, .floatr |
1513 | + float: right |
1514 | + margin: 0 0 5px 10px |
1515 | + |
1516 | +/* "Skip to Main Content" link |
1517 | + * --------------------------- |
1518 | + * This link useful for both visually impaired people and those with mobility impairments |
1519 | + * who cannot use a mouse. http://www.webaim.org/techniques/css/invisiblecontent/ |
1520 | + |
1521 | +#skip a |
1522 | + &:link, &:hover, &:visited |
1523 | + position: absolute |
1524 | + left: -10000px |
1525 | + top: auto |
1526 | + width: 1px |
1527 | + height: 1px |
1528 | + overflow: hidden |
1529 | + &:active, &:focus |
1530 | + position: static |
1531 | + width: auto |
1532 | + height: auto |
1533 | + |
1534 | +/* bug fix with views 2 edit links. |
1535 | +div.view div.views-admin-links |
1536 | + width: auto |
1537 | + |
1538 | +/* Rollover edit links for blocks. |
1539 | +div.block |
1540 | + position: relative |
1541 | + .edit |
1542 | + display: none |
1543 | + position: absolute |
1544 | + right: -20px |
1545 | + top: -5px |
1546 | + z-index: 40 |
1547 | + padding: 3px 8px 0 |
1548 | + font-size: 10px |
1549 | + line-height: 16px |
1550 | + background-color: white |
1551 | + border: 1px solid #cccccc |
1552 | + /*let's get fancy! |
1553 | + -moz-border-radius: 3px |
1554 | + -webkit-border-radius: 3px |
1555 | + -moz-box-shadow: 0 1px 3px #888888 |
1556 | + -webkit-box-shadow: -1px 1px 2px #666666 |
1557 | + a |
1558 | + display: block |
1559 | + border: 0 |
1560 | + padding: 0 |
1561 | + margin: 0 |
1562 | + &:hover .edit |
1563 | + display: block |
1564 | + |
1565 | +/* Wireframe styles. |
1566 | +.with-wireframes |
1567 | + #header, |
1568 | + #content-top, |
1569 | + #content-top>*, |
1570 | + #content-header, |
1571 | + #content-header>*, |
1572 | + #content-area, |
1573 | + #content-area>*, |
1574 | + #content-bottom, |
1575 | + #content-bottom>*, |
1576 | + #primary, |
1577 | + #secondary, |
1578 | + #sidebar-left-inner, |
1579 | + #sidebar-right-inner, |
1580 | + .block |
1581 | + padding: 2px |
1582 | + border: 1px solid #bbbbbb |
1583 | + .node |
1584 | + border-bottom: 1px solid #bbbbbb |
1585 | + margin-bottom: 10px |
1586 | + .block |
1587 | + margin-bottom: 3px |
1588 | + #content-top, |
1589 | + #content-header, |
1590 | + #content-area, |
1591 | + #content-bottom |
1592 | + margin: 0 3px 3px |
1593 | + #footer |
1594 | + margin-top: 3px |
1595 | + padding: 2px |
1596 | + border: 1px solid #cccccc |
1597 | + &.with-navigation |
1598 | + #content, |
1599 | + .sidebar |
1600 | + margin-top: 50px |
1601 | + #navigation |
1602 | + height: 50px |
1603 | |
1604 | === added file 'sass/ie6.sass' |
1605 | --- sass/ie6.sass 1970-01-01 00:00:00 +0000 |
1606 | +++ sass/ie6.sass 2010-12-08 01:56:31 +0000 |
1607 | @@ -0,0 +1,51 @@ |
1608 | +/* Yes, we all hate IE6. |
1609 | + |
1610 | +/* Fix the admin page in ie6. |
1611 | +div.admin |
1612 | + .left, |
1613 | + .right |
1614 | + width: 46% |
1615 | + |
1616 | +/* Tabs CSS - IE 5 and 6 don't support PNGs with alpha transparency. |
1617 | +ul.primary, |
1618 | +ul.secondary |
1619 | + width: 100% |
1620 | + width: auto |
1621 | + li a, |
1622 | + li a .tab |
1623 | + display: inline |
1624 | + display: inline-block |
1625 | + |
1626 | +ul.primary |
1627 | + li |
1628 | + a |
1629 | + background: url(../images/tabs/tab-left-ie6.png) no-repeat left -38px |
1630 | + .tab |
1631 | + background: url(../images/tabs/tab-right-ie6.png) no-repeat right -38px |
1632 | + &:hover |
1633 | + cursor: pointer |
1634 | + color: #555555 |
1635 | + text-decoration: none |
1636 | + background-position: left -76px |
1637 | + .tab |
1638 | + background-position: right -76px |
1639 | + &.active |
1640 | + a, a:hover |
1641 | + background: url(../images/tabs/tab-left-ie6.png) no-repeat left 0 |
1642 | + .tab |
1643 | + background: url(../images/tabs/tab-right-ie6.png) no-repeat right 0 |
1644 | + |
1645 | +ul.secondary |
1646 | + li |
1647 | + a |
1648 | + &:hover |
1649 | + cursor: pointer |
1650 | + color: #555555 |
1651 | + text-decoration: none |
1652 | + |
1653 | +/* Drupal admin tables |
1654 | +#content tr.even, |
1655 | +#content tr.odd |
1656 | + th, |
1657 | + td |
1658 | + border-bottom: 1px solid #cccccc |
1659 | |
1660 | === added file 'sass/ie7.sass' |
1661 | --- sass/ie7.sass 1970-01-01 00:00:00 +0000 |
1662 | +++ sass/ie7.sass 2010-12-08 01:56:31 +0000 |
1663 | @@ -0,0 +1,17 @@ |
1664 | +/* Yes, we all hate IE7 too. |
1665 | + |
1666 | +/* Drupal admin tables. |
1667 | +#content tr.even, |
1668 | +#content tr.odd |
1669 | + th, |
1670 | + td |
1671 | + border-bottom: 1px solid #cccccc |
1672 | + |
1673 | +/* Minor fix for primary and secondary tabs in IE |
1674 | +ul |
1675 | + .primary, |
1676 | + .secondary |
1677 | + li a:hover |
1678 | + cursor: pointer |
1679 | + color: #555555 |
1680 | + text-decoration: none |
1681 | |
1682 | === added file 'sass/layout.sass' |
1683 | --- sass/layout.sass 1970-01-01 00:00:00 +0000 |
1684 | +++ sass/layout.sass 2010-12-08 01:56:31 +0000 |
1685 | @@ -0,0 +1,97 @@ |
1686 | +// Import mixins and variables for use in sass document. |
1687 | +@import _variables.sass |
1688 | +@import _mixins.sass |
1689 | + |
1690 | +/* Layout |
1691 | + * ------ |
1692 | + * Using a negative margin technique, adapted from ZEN. The page is loaded by this order: |
1693 | + * |
1694 | + * 1. Header |
1695 | + * 2. Content |
1696 | + * 3. Navigation menus |
1697 | + * 4. Sidebar Left |
1698 | + * 5. Sideabr Right |
1699 | + |
1700 | +/* remove 'auto' and the width to switch to a fluid width |
1701 | +#page |
1702 | + width: 960px |
1703 | + margin: 0 auto |
1704 | + |
1705 | +/* Layout rules. (Disclaimer: do not change if you're not sure you know what you're doing.) |
1706 | +#content |
1707 | + float: left |
1708 | + width: 100% |
1709 | + margin-right: -100% |
1710 | + padding: 0 |
1711 | + |
1712 | +.sidebar |
1713 | + float: left |
1714 | + |
1715 | +#sidebar-second |
1716 | + float: right |
1717 | + |
1718 | +#footer |
1719 | + float: none |
1720 | + clear: both |
1721 | + |
1722 | +/* Layout Helpers |
1723 | +#header, |
1724 | +#footer, |
1725 | +.mission, |
1726 | +.breadcrumb, |
1727 | +.node |
1728 | + clear: both |
1729 | + |
1730 | +/* Sidebars width |
1731 | + * -------------- |
1732 | + * Changing the width of the sidebars is dead easy, just change the |
1733 | + * values below corresponding to the sidebar you want to modify. |
1734 | + * Make sure you keep negative values as negative values. |
1735 | + * For example, if I want to increase the width of the left sidebar |
1736 | + * to 300px, I would have to change each '190' to '300'. |
1737 | + |
1738 | +// Left value. |
1739 | +.two-sidebars, |
1740 | +.sidebar-left |
1741 | + .center |
1742 | + margin-left: $first_sidebar_width |
1743 | + |
1744 | +// Left value & negative left value. |
1745 | +#sidebar-first |
1746 | + width: 190px |
1747 | + margin-right: -$first_sidebar_width |
1748 | + |
1749 | +.two-sidebars, |
1750 | +.sidebar-right |
1751 | + .center |
1752 | + margin-right: $second_sidebar_width |
1753 | + |
1754 | +// Right value. |
1755 | +#sidebar-second |
1756 | + width: $second_sidebar_width |
1757 | + |
1758 | +/* Columns Inner |
1759 | + * ------------- |
1760 | + * You can change the padding inside the columns without changing the |
1761 | + * width of them by just usinbg the INNER div of each column |
1762 | +.inner |
1763 | + padding: 0 |
1764 | + |
1765 | +/* Navigation styles |
1766 | + * ----------------- |
1767 | + * The navigation is loaded after the content, so we need to make space |
1768 | + * for it, equal to its height, so if you change the height of the navigation, |
1769 | + * remember to adapt the margin top of the content and sidebars. |
1770 | +#navigation |
1771 | + float: left |
1772 | + margin-left: 0 |
1773 | + margin-right: -100% |
1774 | + padding: 0 |
1775 | + width: 100% |
1776 | + height: 40px |
1777 | + |
1778 | +// Navigation height. |
1779 | +.with-navigation |
1780 | + #content, |
1781 | + .sidebar |
1782 | + margin-top: 40px |
1783 | |
1784 | === added file 'sass/print.sass' |
1785 | --- sass/print.sass 1970-01-01 00:00:00 +0000 |
1786 | +++ sass/print.sass 2010-12-08 01:56:31 +0000 |
1787 | @@ -0,0 +1,38 @@ |
1788 | +/* Use this stylesheet for print styles only. |
1789 | +* |
1790 | + background-color: transparent |
1791 | + |
1792 | +.sidebar, |
1793 | +#navigation, |
1794 | +#header-region, |
1795 | +#search-theme-form, |
1796 | +#footer, |
1797 | +.breadcrumb, |
1798 | +.tabs, |
1799 | +.feed-icon, |
1800 | +.links |
1801 | + display: none |
1802 | + |
1803 | +#page |
1804 | + width: 100% |
1805 | + |
1806 | +#content, |
1807 | +#content #content-inner, |
1808 | +.content, |
1809 | +.title |
1810 | + margin: 20px 0 |
1811 | + width: auto |
1812 | + |
1813 | +a |
1814 | + &:hover, |
1815 | + &:active, |
1816 | + &:link, |
1817 | + &:visited |
1818 | + color: black |
1819 | + |
1820 | +/* CSS2 selector to add visible href after links. |
1821 | +#content a |
1822 | + &:link:after, &:visited:after |
1823 | + content: " (" attr(href) ") " |
1824 | + font-size: 0.8em |
1825 | + font-weight: normal |
1826 | |
1827 | === added file 'sass/style.sass' |
1828 | --- sass/style.sass 1970-01-01 00:00:00 +0000 |
1829 | +++ sass/style.sass 2010-12-08 01:56:31 +0000 |
1830 | @@ -0,0 +1,163 @@ |
1831 | +/* Font styles. |
1832 | +body |
1833 | + margin: 0 |
1834 | + /* Setting up font size, leading and font family |
1835 | + * http://www.markboulton.co.uk/journal/comments/five-simple-steps-to-better-typography |
1836 | + font: 13px / 1.5em "Helvetica Neue", helvetica, Arial, sans-serif |
1837 | + |
1838 | +/* Links |
1839 | +a |
1840 | + &:link, &:visited |
1841 | + color: blue |
1842 | + text-decoration: none |
1843 | + |
1844 | +a |
1845 | + &:hover, &:active |
1846 | + color: red |
1847 | + text-decoration: underline |
1848 | + |
1849 | +/* Titles. |
1850 | + |
1851 | +h1, h2, h3, h4, h5, h6 |
1852 | + line-height: 1.3em |
1853 | + |
1854 | +h1 |
1855 | + font-size: 2.2em |
1856 | + font-weight: 300 |
1857 | + padding: 0 0 0.5em |
1858 | + margin: 0 |
1859 | + |
1860 | +h2 |
1861 | + font-size: 1.8em |
1862 | + font-weight: 300 |
1863 | + margin-bottom: 0.75em |
1864 | + |
1865 | +h3 |
1866 | + font-size: 1.4em |
1867 | + margin-bottom: 1em |
1868 | + |
1869 | +h4 |
1870 | + font-size: 1.2em |
1871 | + margin-bottom: 0.8em |
1872 | + |
1873 | +h5 |
1874 | + font-size: 1.1em |
1875 | + font-weight: 600 |
1876 | + margin-bottom: 0 |
1877 | + |
1878 | +h6 |
1879 | + font-size: 1em |
1880 | + font-weight: bold |
1881 | + |
1882 | +/* Paragraph styles. |
1883 | +p |
1884 | + margin: 0 0 1em 0 |
1885 | + |
1886 | +/* List styles. |
1887 | +ul, ol |
1888 | + margin-left: 0 |
1889 | + padding-left: 2em |
1890 | + |
1891 | +/* Table styles. |
1892 | +table |
1893 | + width: 99% |
1894 | + |
1895 | +tr.even, |
1896 | +tr.odd |
1897 | + td |
1898 | + padding: 10px 5px |
1899 | + |
1900 | +tr.odd |
1901 | + background-color: white |
1902 | + |
1903 | +/* Code. |
1904 | +pre, code, tt |
1905 | + font: 1em "andale mono", "lucida console", monospace |
1906 | + line-height: 1.5 |
1907 | + |
1908 | +pre |
1909 | + background-color: #efefef |
1910 | + display: block |
1911 | + padding: 5px |
1912 | + margin: 5px 0 |
1913 | + border: 1px solid #aaaaaa |
1914 | + |
1915 | +/* List styles. |
1916 | +ul |
1917 | + list-style-type: disc |
1918 | + ul |
1919 | + list-style-type: circle |
1920 | + ul |
1921 | + list-style-type: square |
1922 | + ul |
1923 | + list-style-type: circle |
1924 | + |
1925 | +ol |
1926 | + list-style-type: decimal |
1927 | + ol |
1928 | + list-style-type: lower-alpha |
1929 | + ol |
1930 | + list-style-type: decimal |
1931 | + |
1932 | +/* Abbreviation. |
1933 | +abbr |
1934 | + border-bottom: 1px dotted #666666 |
1935 | + cursor: help |
1936 | + white-space: nowrap |
1937 | + |
1938 | +/* UI improvments. |
1939 | +#edit-title |
1940 | + font-size: 24px |
1941 | + width: 98% |
1942 | + |
1943 | +#system-themes-form img |
1944 | + width: 100px |
1945 | + |
1946 | +.form-item .description |
1947 | + font-style: italic |
1948 | + line-height: 1.2em |
1949 | + font-size: 0.8em |
1950 | + margin-top: 5px |
1951 | + color: #777777 |
1952 | + |
1953 | +#edit-delete |
1954 | + color: #cc0000 |
1955 | + |
1956 | +/* Console, style from slate theme. |
1957 | +div.messages |
1958 | + padding: 9px |
1959 | + margin: 1em 0 |
1960 | + color: #003366 |
1961 | + background: #bbddff |
1962 | + border: 1px solid #aaccee |
1963 | + |
1964 | +div.warning |
1965 | + color: #884400 |
1966 | + background: #ffee66 |
1967 | + border-color: #eedd55 |
1968 | + |
1969 | +div.error |
1970 | + color: white |
1971 | + background: #ee6633 |
1972 | + border-color: #dd5522 |
1973 | + |
1974 | +div.status |
1975 | + color: #336600 |
1976 | + background: #ccff88 |
1977 | + border-color: #bbee77 |
1978 | + |
1979 | +/* Region Colors. delete when starting a new theme. |
1980 | +#header, #footer |
1981 | + background: #efefef |
1982 | + |
1983 | +#sidebar-first |
1984 | + background: #e7edff |
1985 | + |
1986 | +#sidebar-second |
1987 | + background: #ffd075 |
1988 | + |
1989 | +#navigation |
1990 | + background: #feffa5 |
1991 | + |
1992 | +// Import custom styles. |
1993 | +@import _custom.sass |
1994 | \ No newline at end of file |
1995 | |
1996 | === added file 'sass/tabs.sass' |
1997 | --- sass/tabs.sass 1970-01-01 00:00:00 +0000 |
1998 | +++ sass/tabs.sass 2010-12-08 01:56:31 +0000 |
1999 | @@ -0,0 +1,92 @@ |
2000 | +/* Tabs CSS |
2001 | + * -------- |
2002 | + * Adds styles for the primary and secondary tabs. |
2003 | + * |
2004 | + * Compare this with default CSS found in the system module's stylesheet (a copy |
2005 | + * of which is in drupal5-reference.css, line 510.) |
2006 | + |
2007 | +div.tabs |
2008 | + margin: 0 0 5px 0 |
2009 | + |
2010 | +ul.primary, ul.secondary |
2011 | + width: 99% |
2012 | + |
2013 | +ul.primary |
2014 | + margin: 0 |
2015 | + padding: 0 0 0 10px |
2016 | + border-width: 0 |
2017 | + list-style: none |
2018 | + white-space: nowrap |
2019 | + line-height: normal |
2020 | + background: url(../images/tabs/tab-bar.png) repeat-x left bottom |
2021 | + li |
2022 | + float: left |
2023 | + margin: 0 |
2024 | + padding: 0 |
2025 | + &.active |
2026 | + a, a:hover |
2027 | + border-width: 0 |
2028 | + color: black |
2029 | + background-color: transparent |
2030 | + background: url(../images/tabs/tab-left.png) no-repeat left 0 |
2031 | + .tab |
2032 | + background: url(../images/tabs/tab-right.png) no-repeat right 0 |
2033 | + a |
2034 | + display: block |
2035 | + height: 24px |
2036 | + margin: 0 |
2037 | + padding: 0 0 0 5px |
2038 | + border-width: 0 |
2039 | + font-weigh: bold |
2040 | + text-decoration: none |
2041 | + color: #777777 |
2042 | + background-color: transparent |
2043 | + background: url(../images/tabs/tab-left.png) no-repeat left -38px |
2044 | + &:hover |
2045 | + border-width: 0 |
2046 | + background-color: transparent |
2047 | + background: url(../images/tabs/tab-left.png) no-repeat left -76px |
2048 | + .tab |
2049 | + background: url(../images/tabs/tab-right.png) no-repeat right -76px |
2050 | + .tab |
2051 | + display: block |
2052 | + height: 20px |
2053 | + margin: 0 |
2054 | + padding: 4px 13px 0 6px |
2055 | + border-width: 0 |
2056 | + line-height: 20px |
2057 | + background: url(../images/tabs/tab-right.png) no-repeat right -38px |
2058 | + |
2059 | +ul.secondary |
2060 | + margin: 0 |
2061 | + padding: 0 0 0 5px |
2062 | + border-bottom: 1px solid silver |
2063 | + list-style: none |
2064 | + white-space: nowrap |
2065 | + background: url(../images/tabs/tab-secondary-bg.png) repeat-x left bottom |
2066 | + li |
2067 | + float: left |
2068 | + margin: 0 5px 0 0 |
2069 | + padding: 5px 0 |
2070 | + border-right: none |
2071 | + a |
2072 | + display: block |
2073 | + height: 24px |
2074 | + margin: 0 |
2075 | + padding: 0 |
2076 | + border: 1px solid silver |
2077 | + text-decoration: none |
2078 | + color: #777777 |
2079 | + background: url(../images/tabs/tab-secondary.png) repeat-x left -56px |
2080 | + .active, .active:hover |
2081 | + border: 1px solid silver |
2082 | + color: black |
2083 | + background: url(../images/tabs/tab-secondary.png) repeat-x left top |
2084 | + &:hover |
2085 | + background: url(../images/tabs/tab-secondary.png) repeat-x left bottom |
2086 | + .tab |
2087 | + display: block |
2088 | + height: 18px |
2089 | + margin: 0 |
2090 | + padding: 3px 8px |
2091 | + line-height: 18px |
2092 | |
2093 | === added file 'template.php' |
2094 | --- template.php 1970-01-01 00:00:00 +0000 |
2095 | +++ template.php 2010-12-08 01:56:31 +0000 |
2096 | @@ -0,0 +1,426 @@ |
2097 | +<?php |
2098 | + |
2099 | +// Auto-rebuild the theme registry during theme development. |
2100 | +if (theme_get_setting('basic_rebuild_registry')) { |
2101 | + drupal_rebuild_theme_registry(); |
2102 | +} |
2103 | + |
2104 | +// Add Zen Tabs styles |
2105 | +if (theme_get_setting('basic_zen_tabs')) { |
2106 | + drupal_add_css( drupal_get_path('theme', 'basic') .'/css/tabs.css', 'theme', 'screen'); |
2107 | +} |
2108 | + |
2109 | +/* |
2110 | + * This function creates the body classes that are relative to each page |
2111 | + * |
2112 | + * @param $vars |
2113 | + * A sequential array of variables to pass to the theme template. |
2114 | + * @param $hook |
2115 | + * The name of the theme function being called ("page" in this case.) |
2116 | + */ |
2117 | + |
2118 | +function basic_preprocess_page(&$vars, $hook) { |
2119 | + |
2120 | + // Don't display empty help from node_help(). |
2121 | + if ($vars['help'] == "<div class=\"help\"><p></p>\n</div>") { |
2122 | + $vars['help'] = ''; |
2123 | + } |
2124 | + |
2125 | + // Classes for body element. Allows advanced theming based on context |
2126 | + // (home page, node of certain type, etc.) |
2127 | + $body_classes = array($vars['body_classes']); |
2128 | + if (user_access('administer blocks')) { |
2129 | + $body_classes[] = 'admin'; |
2130 | + } |
2131 | + if (theme_get_setting('basic_wireframe')) { |
2132 | + $body_classes[] = 'with-wireframes'; // Optionally add the wireframes style. |
2133 | + } |
2134 | + if (!empty($vars['primary_links']) or !empty($vars['secondary_links'])) { |
2135 | + $body_classes[] = 'with-navigation'; |
2136 | + } |
2137 | + if (!empty($vars['secondary_links'])) { |
2138 | + $body_classes[] = 'with-secondary'; |
2139 | + } |
2140 | + if (module_exists('taxonomy') && $vars['node']->nid) { |
2141 | + foreach (taxonomy_node_get_terms($vars['node']) as $term) { |
2142 | + $body_classes[] = 'tax-' . eregi_replace('[^a-z0-9]', '-', $term->name); |
2143 | + } |
2144 | + } |
2145 | + if (!$vars['is_front']) { |
2146 | + // Add unique classes for each page and website section |
2147 | + $path = drupal_get_path_alias($_GET['q']); |
2148 | + list($section, ) = explode('/', $path, 2); |
2149 | + $body_classes[] = basic_id_safe('page-'. $path); |
2150 | + $body_classes[] = basic_id_safe('section-'. $section); |
2151 | + |
2152 | + if (arg(0) == 'node') { |
2153 | + if (arg(1) == 'add') { |
2154 | + if ($section == 'node') { |
2155 | + array_pop($body_classes); // Remove 'section-node' |
2156 | + } |
2157 | + $body_classes[] = 'section-node-add'; // Add 'section-node-add' |
2158 | + } |
2159 | + elseif (is_numeric(arg(1)) && (arg(2) == 'edit' || arg(2) == 'delete')) { |
2160 | + if ($section == 'node') { |
2161 | + array_pop($body_classes); // Remove 'section-node' |
2162 | + } |
2163 | + $body_classes[] = 'section-node-'. arg(2); // Add 'section-node-edit' or 'section-node-delete' |
2164 | + } |
2165 | + } |
2166 | + } |
2167 | + /* // Check what the user's browser is and add it as a body class |
2168 | + // DEACTIVATED - Only works if page cache is deactivated |
2169 | + $user_agent = $_SERVER['HTTP_USER_AGENT']; |
2170 | + if($user_agent) { |
2171 | + if (strpos($user_agent, 'MSIE')) { |
2172 | + $body_classes[] = 'browser-ie'; |
2173 | + } else if (strpos($user_agent, 'MSIE 6.0')) { |
2174 | + $body_classes[] = 'browser-ie6'; |
2175 | + } else if (strpos($user_agent, 'MSIE 7.0')) { |
2176 | + $body_classes[] = 'browser-ie7'; |
2177 | + } else if (strpos($user_agent, 'MSIE 8.0')) { |
2178 | + $body_classes[] = 'browser-ie8'; |
2179 | + } else if (strpos($user_agent, 'Firefox/2')) { |
2180 | + $body_classes[] = 'browser-firefox2'; |
2181 | + } else if (strpos($user_agent, 'Firefox/3')) { |
2182 | + $body_classes[] = 'browser-firefox3'; |
2183 | + }else if (strpos($user_agent, 'Safari')) { |
2184 | + $body_classes[] = 'browser-safari'; |
2185 | + } else if (strpos($user_agent, 'Opera')) { |
2186 | + $body_classes[] = 'browser-opera'; |
2187 | + } |
2188 | + } |
2189 | + |
2190 | + /* Add template suggestions based on content type |
2191 | + * You can use a different page template depending on the |
2192 | + * content type or the node ID |
2193 | + * For example, if you wish to have a different page template |
2194 | + * for the story content type, just create a page template called |
2195 | + * page-type-story.tpl.php |
2196 | + * For a specific node, use the node ID in the name of the page template |
2197 | + * like this : page-node-22.tpl.php (if the node ID is 22) |
2198 | + */ |
2199 | + |
2200 | + if ($vars['node']->type != "") { |
2201 | + $vars['template_files'][] = "page-type-" . $vars['node']->type; |
2202 | + } |
2203 | + if ($vars['node']->nid != "") { |
2204 | + $vars['template_files'][] = "page-node-" . $vars['node']->nid; |
2205 | + } |
2206 | + $vars['body_classes'] = implode(' ', $body_classes); // Concatenate with spaces |
2207 | +} |
2208 | + |
2209 | +/* |
2210 | + * This function creates the NODES classes, like 'node-unpublished' for nodes |
2211 | + * that are not published, or 'node-mine' for node posted by the connected user... |
2212 | + * |
2213 | + * @param $vars |
2214 | + * A sequential array of variables to pass to the theme template. |
2215 | + * @param $hook |
2216 | + * The name of the theme function being called ("node" in this case.) |
2217 | + */ |
2218 | + |
2219 | +function basic_preprocess_node(&$vars, $hook) { |
2220 | + // Special classes for nodes |
2221 | + $classes = array('node'); |
2222 | + if ($vars['sticky']) { |
2223 | + $classes[] = 'sticky'; |
2224 | + } |
2225 | + // support for Skinr Module |
2226 | + if (module_exists('skinr')) { |
2227 | + $classes[] = $vars['skinr']; |
2228 | + } |
2229 | + if (!$vars['status']) { |
2230 | + $classes[] = 'node-unpublished'; |
2231 | + $vars['unpublished'] = TRUE; |
2232 | + } |
2233 | + else { |
2234 | + $vars['unpublished'] = FALSE; |
2235 | + } |
2236 | + if ($vars['uid'] && $vars['uid'] == $GLOBALS['user']->uid) { |
2237 | + $classes[] = 'node-mine'; // Node is authored by current user. |
2238 | + } |
2239 | + if ($vars['teaser']) { |
2240 | + $classes[] = 'node-teaser'; // Node is displayed as teaser. |
2241 | + } |
2242 | + $classes[] = 'clearfix'; |
2243 | + |
2244 | + // Class for node type: "node-type-page", "node-type-story", "node-type-my-custom-type", etc. |
2245 | + $classes[] = basic_id_safe('node-type-' . $vars['type']); |
2246 | + $vars['classes'] = implode(' ', $classes); // Concatenate with spaces |
2247 | +} |
2248 | + |
2249 | +function basic_preprocess_comment_wrapper(&$vars) { |
2250 | + $classes = array(); |
2251 | + $classes[] = 'comment-wrapper'; |
2252 | + |
2253 | + // Provide skinr support. |
2254 | + if (module_exists('skinr')) { |
2255 | + $classes[] = $vars['skinr']; |
2256 | + } |
2257 | + $vars['classes'] = implode(' ', $classes); |
2258 | +} |
2259 | + |
2260 | + |
2261 | +/* |
2262 | + * This function create the EDIT LINKS for blocks and menus blocks. |
2263 | + * When overing a block (except in IE6), some links appear to edit |
2264 | + * or configure the block. You can then edit the block, and once you are |
2265 | + * done, brought back to the first page. |
2266 | + * |
2267 | + * @param $vars |
2268 | + * A sequential array of variables to pass to the theme template. |
2269 | + * @param $hook |
2270 | + * The name of the theme function being called ("block" in this case.) |
2271 | + */ |
2272 | + |
2273 | +function basic_preprocess_block(&$vars, $hook) { |
2274 | + $block = $vars['block']; |
2275 | + |
2276 | + // special block classes |
2277 | + $classes = array('block'); |
2278 | + $classes[] = basic_id_safe('block-' . $vars['block']->module); |
2279 | + $classes[] = basic_id_safe('block-' . $vars['block']->region); |
2280 | + $classes[] = basic_id_safe('block-id-' . $vars['block']->bid); |
2281 | + $classes[] = 'clearfix'; |
2282 | + |
2283 | + // support for Skinr Module |
2284 | + if (module_exists('skinr')) { |
2285 | + $classes[] = $vars['skinr']; |
2286 | + } |
2287 | + |
2288 | + $vars['block_classes'] = implode(' ', $classes); // Concatenate with spaces |
2289 | + |
2290 | + if (theme_get_setting('basic_block_editing') && user_access('administer blocks')) { |
2291 | + // Display 'edit block' for custom blocks. |
2292 | + if ($block->module == 'block') { |
2293 | + $edit_links[] = l('<span>' . t('edit block') . '</span>', 'admin/build/block/configure/' . $block->module . '/' . $block->delta, |
2294 | + array( |
2295 | + 'attributes' => array( |
2296 | + 'title' => t('edit the content of this block'), |
2297 | + 'class' => 'block-edit', |
2298 | + ), |
2299 | + 'query' => drupal_get_destination(), |
2300 | + 'html' => TRUE, |
2301 | + ) |
2302 | + ); |
2303 | + } |
2304 | + // Display 'configure' for other blocks. |
2305 | + else { |
2306 | + $edit_links[] = l('<span>' . t('configure') . '</span>', 'admin/build/block/configure/' . $block->module . '/' . $block->delta, |
2307 | + array( |
2308 | + 'attributes' => array( |
2309 | + 'title' => t('configure this block'), |
2310 | + 'class' => 'block-config', |
2311 | + ), |
2312 | + 'query' => drupal_get_destination(), |
2313 | + 'html' => TRUE, |
2314 | + ) |
2315 | + ); |
2316 | + } |
2317 | + // Display 'edit menu' for Menu blocks. |
2318 | + if (($block->module == 'menu' || ($block->module == 'user' && $block->delta == 1)) && user_access('administer menu')) { |
2319 | + $menu_name = ($block->module == 'user') ? 'navigation' : $block->delta; |
2320 | + $edit_links[] = l('<span>' . t('edit menu') . '</span>', 'admin/build/menu-customize/' . $menu_name, |
2321 | + array( |
2322 | + 'attributes' => array( |
2323 | + 'title' => t('edit the menu that defines this block'), |
2324 | + 'class' => 'block-edit-menu', |
2325 | + ), |
2326 | + 'query' => drupal_get_destination(), |
2327 | + 'html' => TRUE, |
2328 | + ) |
2329 | + ); |
2330 | + } |
2331 | + // Display 'edit menu' for Menu block blocks. |
2332 | + elseif ($block->module == 'menu_block' && user_access('administer menu')) { |
2333 | + list($menu_name, ) = split(':', variable_get("menu_block_{$block->delta}_parent", 'navigation:0')); |
2334 | + $edit_links[] = l('<span>' . t('edit menu') . '</span>', 'admin/build/menu-customize/' . $menu_name, |
2335 | + array( |
2336 | + 'attributes' => array( |
2337 | + 'title' => t('edit the menu that defines this block'), |
2338 | + 'class' => 'block-edit-menu', |
2339 | + ), |
2340 | + 'query' => drupal_get_destination(), |
2341 | + 'html' => TRUE, |
2342 | + ) |
2343 | + ); |
2344 | + } |
2345 | + $vars['edit_links_array'] = $edit_links; |
2346 | + $vars['edit_links'] = '<div class="edit">' . implode(' ', $edit_links) . '</div>'; |
2347 | + } |
2348 | + } |
2349 | + |
2350 | +/* |
2351 | + * Override or insert PHPTemplate variables into the block templates. |
2352 | + * |
2353 | + * @param $vars |
2354 | + * An array of variables to pass to the theme template. |
2355 | + * @param $hook |
2356 | + * The name of the template being rendered ("comment" in this case.) |
2357 | + */ |
2358 | + |
2359 | +function basic_preprocess_comment(&$vars, $hook) { |
2360 | + // Add an "unpublished" flag. |
2361 | + $vars['unpublished'] = ($vars['comment']->status == COMMENT_NOT_PUBLISHED); |
2362 | + |
2363 | + // If comment subjects are disabled, don't display them. |
2364 | + if (variable_get('comment_subject_field_' . $vars['node']->type, 1) == 0) { |
2365 | + $vars['title'] = ''; |
2366 | + } |
2367 | + |
2368 | + // Special classes for comments. |
2369 | + $classes = array('comment'); |
2370 | + if ($vars['comment']->new) { |
2371 | + $classes[] = 'comment-new'; |
2372 | + } |
2373 | + $classes[] = $vars['status']; |
2374 | + $classes[] = $vars['zebra']; |
2375 | + if ($vars['id'] == 1) { |
2376 | + $classes[] = 'first'; |
2377 | + } |
2378 | + if ($vars['id'] == $vars['node']->comment_count) { |
2379 | + $classes[] = 'last'; |
2380 | + } |
2381 | + if ($vars['comment']->uid == 0) { |
2382 | + // Comment is by an anonymous user. |
2383 | + $classes[] = 'comment-by-anon'; |
2384 | + } |
2385 | + else { |
2386 | + if ($vars['comment']->uid == $vars['node']->uid) { |
2387 | + // Comment is by the node author. |
2388 | + $classes[] = 'comment-by-author'; |
2389 | + } |
2390 | + if ($vars['comment']->uid == $GLOBALS['user']->uid) { |
2391 | + // Comment was posted by current user. |
2392 | + $classes[] = 'comment-mine'; |
2393 | + } |
2394 | + } |
2395 | + $vars['classes'] = implode(' ', $classes); |
2396 | +} |
2397 | + |
2398 | +/* |
2399 | + * Customize the PRIMARY and SECONDARY LINKS, to allow the admin tabs to work on all browsers |
2400 | + * An implementation of theme_menu_item_link() |
2401 | + * |
2402 | + * @param $link |
2403 | + * array The menu item to render. |
2404 | + * @return |
2405 | + * string The rendered menu item. |
2406 | + */ |
2407 | + |
2408 | +function basic_menu_item_link($link) { |
2409 | + if (empty($link['localized_options'])) { |
2410 | + $link['localized_options'] = array(); |
2411 | + } |
2412 | + |
2413 | + // If an item is a LOCAL TASK, render it as a tab |
2414 | + if ($link['type'] & MENU_IS_LOCAL_TASK) { |
2415 | + $link['title'] = '<span class="tab">' . check_plain($link['title']) . '</span>'; |
2416 | + $link['localized_options']['html'] = TRUE; |
2417 | + } |
2418 | + |
2419 | + return l($link['title'], $link['href'], $link['localized_options']); |
2420 | +} |
2421 | + |
2422 | + |
2423 | +/* |
2424 | + * Duplicate of theme_menu_local_tasks() but adds clear-block to tabs. |
2425 | + */ |
2426 | + |
2427 | +function basic_menu_local_tasks() { |
2428 | + $output = ''; |
2429 | + if ($primary = menu_primary_local_tasks()) { |
2430 | + if(menu_secondary_local_tasks()) { |
2431 | + $output .= '<ul class="tabs primary with-secondary clearfix">' . $primary . '</ul>'; |
2432 | + } |
2433 | + else { |
2434 | + $output .= '<ul class="tabs primary clearfix">' . $primary . '</ul>'; |
2435 | + } |
2436 | + } |
2437 | + if ($secondary = menu_secondary_local_tasks()) { |
2438 | + $output .= '<ul class="tabs secondary clearfix">' . $secondary . '</ul>'; |
2439 | + } |
2440 | + return $output; |
2441 | +} |
2442 | + |
2443 | +/* |
2444 | + * Add custom classes to menu item |
2445 | + */ |
2446 | + |
2447 | +function basic_menu_item($link, $has_children, $menu = '', $in_active_trail = FALSE, $extra_class = NULL) { |
2448 | + $class = ($menu ? 'expanded' : ($has_children ? 'collapsed' : 'leaf')); |
2449 | + if (!empty($extra_class)) { |
2450 | + $class .= ' '. $extra_class; |
2451 | + } |
2452 | + if ($in_active_trail) { |
2453 | + $class .= ' active-trail'; |
2454 | + } |
2455 | +#New line added to get unique classes for each menu item |
2456 | + $css_class = basic_id_safe(str_replace(' ', '_', strip_tags($link))); |
2457 | + return '<li class="'. $class . ' ' . $css_class . '">' . $link . $menu ."</li>\n"; |
2458 | +} |
2459 | + |
2460 | +/* |
2461 | + * Converts a string to a suitable html ID attribute. |
2462 | + * |
2463 | + * http://www.w3.org/TR/html4/struct/global.html#h-7.5.2 specifies what makes a |
2464 | + * valid ID attribute in HTML. This function: |
2465 | + * |
2466 | + * - Ensure an ID starts with an alpha character by optionally adding an 'n'. |
2467 | + * - Replaces any character except A-Z, numbers, and underscores with dashes. |
2468 | + * - Converts entire string to lowercase. |
2469 | + * |
2470 | + * @param $string |
2471 | + * The string |
2472 | + * @return |
2473 | + * The converted string |
2474 | + */ |
2475 | + |
2476 | +function basic_id_safe($string) { |
2477 | + // Replace with dashes anything that isn't A-Z, numbers, dashes, or underscores. |
2478 | + $string = strtolower(preg_replace('/[^a-zA-Z0-9_-]+/', '-', $string)); |
2479 | + // If the first character is not a-z, add 'n' in front. |
2480 | + if (!ctype_lower($string{0})) { // Don't use ctype_alpha since its locale aware. |
2481 | + $string = 'id'. $string; |
2482 | + } |
2483 | + return $string; |
2484 | +} |
2485 | + |
2486 | +/** |
2487 | +* Return a themed breadcrumb trail. |
2488 | +* |
2489 | +* @param $breadcrumb |
2490 | +* An array containing the breadcrumb links. |
2491 | +* @return |
2492 | +* A string containing the breadcrumb output. |
2493 | +*/ |
2494 | +function basic_breadcrumb($breadcrumb) { |
2495 | + // Determine if we are to display the breadcrumb. |
2496 | + $show_breadcrumb = theme_get_setting('basic_breadcrumb'); |
2497 | + if ($show_breadcrumb == 'yes' || $show_breadcrumb == 'admin' && arg(0) == 'admin') { |
2498 | + |
2499 | + // Optionally get rid of the homepage link. |
2500 | + $show_breadcrumb_home = theme_get_setting('basic_breadcrumb_home'); |
2501 | + if (!$show_breadcrumb_home) { |
2502 | + array_shift($breadcrumb); |
2503 | + } |
2504 | + |
2505 | + // Return the breadcrumb with separators. |
2506 | + if (!empty($breadcrumb)) { |
2507 | + $breadcrumb_separator = theme_get_setting('basic_breadcrumb_separator'); |
2508 | + $trailing_separator = $title = ''; |
2509 | + if (theme_get_setting('basic_breadcrumb_title')) { |
2510 | + if ($title = drupal_get_title()) { |
2511 | + $trailing_separator = $breadcrumb_separator; |
2512 | + } |
2513 | + } |
2514 | + elseif (theme_get_setting('basic_breadcrumb_trailing')) { |
2515 | + $trailing_separator = $breadcrumb_separator; |
2516 | + } |
2517 | + return '<div class="breadcrumb">' . implode($breadcrumb_separator, $breadcrumb) . "$trailing_separator$title</div>"; |
2518 | + } |
2519 | + } |
2520 | + // Otherwise, return an empty string. |
2521 | + return ''; |
2522 | +} |
2523 | \ No newline at end of file |
2524 | |
2525 | === added directory 'templates' |
2526 | === added file 'templates/block.tpl.php' |
2527 | --- templates/block.tpl.php 1970-01-01 00:00:00 +0000 |
2528 | +++ templates/block.tpl.php 2010-12-08 01:56:31 +0000 |
2529 | @@ -0,0 +1,15 @@ |
2530 | +<div id="block-<?php print $block->module .'-'. $block->delta ?>" class="<?php print $block_classes . ' ' . $block_zebra; ?>"> |
2531 | + <div class="block-inner"> |
2532 | + |
2533 | + <?php if (!empty($block->subject)): ?> |
2534 | + <h3 class="title block-title"><?php print $block->subject; ?></h3> |
2535 | + <?php endif; ?> |
2536 | + |
2537 | + <div class="content"> |
2538 | + <?php print $block->content; ?> |
2539 | + </div> |
2540 | + |
2541 | + <?php print $edit_links; ?> |
2542 | + |
2543 | + </div> <!-- /block-inner --> |
2544 | +</div> <!-- /block --> |
2545 | \ No newline at end of file |
2546 | |
2547 | === added file 'templates/comment-wrapper.tpl.php' |
2548 | --- templates/comment-wrapper.tpl.php 1970-01-01 00:00:00 +0000 |
2549 | +++ templates/comment-wrapper.tpl.php 2010-12-08 01:56:31 +0000 |
2550 | @@ -0,0 +1,10 @@ |
2551 | +<?php if ($content): ?> |
2552 | + <div id="comments" class="<?php print $classes; ?>"> |
2553 | + <?php if ($node->comment_count != 0): ?> |
2554 | + <h2 id="comments-title"> |
2555 | + <?php print t('Comments'); ?> |
2556 | + </h2> |
2557 | + <?php endif; ?> |
2558 | + <?php print $content; ?> |
2559 | + </div> |
2560 | +<?php endif; ?> |
2561 | \ No newline at end of file |
2562 | |
2563 | === added file 'templates/comment.tpl.php' |
2564 | --- templates/comment.tpl.php 1970-01-01 00:00:00 +0000 |
2565 | +++ templates/comment.tpl.php 2010-12-08 01:56:31 +0000 |
2566 | @@ -0,0 +1,34 @@ |
2567 | +<div class="<?php print $classes .' '. $zebra; ?> clearfix"> |
2568 | + <div class="comment-inner"> |
2569 | + |
2570 | + <?php if ($title): ?> |
2571 | + <h3 class="title"><?php print $title ?></h3> |
2572 | + <?php endif; ?> |
2573 | + |
2574 | + <?php if ($new) : ?> |
2575 | + <span class="new"><?php print drupal_ucfirst($new); ?></span> |
2576 | + <?php endif; ?> |
2577 | + |
2578 | + <?php print $picture; ?> |
2579 | + |
2580 | + <div class="submitted"> |
2581 | + <?php print $submitted; ?> |
2582 | + </div> |
2583 | + |
2584 | + <div class="content"> |
2585 | + <?php print $content ?> |
2586 | + <?php if ($signature): ?> |
2587 | + <div class="user-signature clearfix"> |
2588 | + <?php print $signature; ?> |
2589 | + </div> |
2590 | + <?php endif; ?> |
2591 | + </div> |
2592 | + |
2593 | + <?php if ($links): ?> |
2594 | + <div class="links"> |
2595 | + <?php print $links; ?> |
2596 | + </div> |
2597 | + <?php endif; ?> |
2598 | + |
2599 | + </div> <!-- /comment-inner --> |
2600 | +</div> <!-- /comment --> |
2601 | \ No newline at end of file |
2602 | |
2603 | === added file 'templates/node.tpl.php' |
2604 | --- templates/node.tpl.php 1970-01-01 00:00:00 +0000 |
2605 | +++ templates/node.tpl.php 2010-12-08 01:56:31 +0000 |
2606 | @@ -0,0 +1,27 @@ |
2607 | +<div class="node <?php print $classes; ?>" id="node-<?php print $node->nid; ?>"> |
2608 | + <div class="node-inner"> |
2609 | + |
2610 | + <?php if (!$page): ?> |
2611 | + <h2 class="title"><a href="<?php print $node_url; ?>"><?php print $title; ?></a></h2> |
2612 | + <?php endif; ?> |
2613 | + |
2614 | + <?php print $picture; ?> |
2615 | + |
2616 | + <?php if ($submitted): ?> |
2617 | + <span class="submitted"><?php print $submitted; ?></span> |
2618 | + <?php endif; ?> |
2619 | + |
2620 | + <div class="content"> |
2621 | + <?php print $content; ?> |
2622 | + </div> |
2623 | + |
2624 | + <?php if ($terms): ?> |
2625 | + <div class="taxonomy"><?php print $terms; ?></div> |
2626 | + <?php endif;?> |
2627 | + |
2628 | + <?php if ($links): ?> |
2629 | + <div class="links"> <?php print $links; ?></div> |
2630 | + <?php endif; ?> |
2631 | + |
2632 | + </div> <!-- /node-inner --> |
2633 | +</div> <!-- /node--> |
2634 | \ No newline at end of file |
2635 | |
2636 | === added file 'templates/page.tpl.php' |
2637 | --- templates/page.tpl.php 1970-01-01 00:00:00 +0000 |
2638 | +++ templates/page.tpl.php 2010-12-08 01:56:31 +0000 |
2639 | @@ -0,0 +1,134 @@ |
2640 | +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" |
2641 | + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> |
2642 | +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php print $language->language ?>" lang="<?php print $language->language ?>" dir="<?php print $language->dir ?>"> |
2643 | + <head> |
2644 | + |
2645 | + <title><?php print $head_title; ?></title> |
2646 | + <?php print $head; ?> |
2647 | + <?php print $styles; ?> |
2648 | + <!--[if lte IE 6]><style type="text/css" media="all">@import "<?php print $base_path . path_to_theme() ?>/css/ie6.css"</style><![endif]--> |
2649 | + <!--[if IE 7]><style type="text/css" media="all">@import "<?php print $base_path . path_to_theme() ?>/css/ie7.css"</style><![endif]--> |
2650 | + <?php print $scripts; ?> |
2651 | + </head> |
2652 | + |
2653 | + <body class="<?php print $body_classes; ?>"> |
2654 | + <div id="skip"><a href="#content"><?php print t('Skip to Content'); ?></a> <a href="#navigation"><?php print t('Skip to Navigation'); ?></a></div> |
2655 | + <div id="page"> |
2656 | + |
2657 | + <!-- ______________________ HEADER _______________________ --> |
2658 | + |
2659 | + <div id="header"> |
2660 | + <div id="logo"> |
2661 | + <a href="/index.php"><img width="289" height="100" border="0" title="" alt="" src="themes/basic/images/logo2.png"></a> |
2662 | + </div> |
2663 | + <div class="top_phone"> |
2664 | + <img width="49" height="32" class="left" title="" alt="" src="themes/basic/images/phone_arrows.png"> |
2665 | + <div class="phone_text"> |
2666 | + The Open Source<br>Democracy Foundation |
2667 | + </div> |
2668 | + </div> |
2669 | + <div id="menu_tab"> |
2670 | + <ul class="menu"> |
2671 | + <li><a class="nav nav_selected" id="home_link" href="/index.php">Home</a></li> |
2672 | + <li><a class="nav" id="home_link" href="/wp">News</a></li> |
2673 | + <li><a class="nav" id="about_link" href="/about.php">About</a></li> |
2674 | + <!--li><a target="new" id='updates_link' href="http://www.r-pac.org/blog" class="nav">Updates</a></li--> |
2675 | + |
2676 | + <li><a class="nav" id="action_link" href="/action.php">Action</a></li> |
2677 | + <!--li><a href="/policy.php" id='policy_link' class="nav">Policy</a></li--> |
2678 | + <li><a class="nav" id="help_link" href="/volunteer.php">Volunteer</a></li> |
2679 | + <li><a class="nav" id="contact_link" href="/contact.php">Contact</a></li> |
2680 | + </ul> |
2681 | + </div> |
2682 | + </div><!-- Header --> |
2683 | + |
2684 | + <!-- ______________________ MAIN _______________________ --> |
2685 | + |
2686 | + <div id="main" class="clearfix"> |
2687 | + |
2688 | + <div id="content"> |
2689 | + <div id="content-inner" class="inner column center"> |
2690 | + |
2691 | + <?php if ($content_top): ?> |
2692 | + <div id="content-top"> |
2693 | + <?php print $content_top; ?> |
2694 | + </div> <!-- /#content-top --> |
2695 | + <?php endif; ?> |
2696 | + |
2697 | + <?php if ($breadcrumb || $title || $mission || $messages || $help || $tabs): ?> |
2698 | + <div id="content-header"> |
2699 | + |
2700 | + <?php print $breadcrumb; ?> |
2701 | + |
2702 | + <?php if ($title): ?> |
2703 | + <h1 class="title"><?php print $title; ?></h1> |
2704 | + <?php endif; ?> |
2705 | + |
2706 | + <?php if ($mission): ?> |
2707 | + <div id="mission"><?php print $mission; ?></div> |
2708 | + <?php endif; ?> |
2709 | + |
2710 | + <?php print $messages; ?> |
2711 | + |
2712 | + <?php print $help; ?> |
2713 | + |
2714 | + <?php if ($tabs): ?> |
2715 | + <div class="tabs"><?php print $tabs; ?></div> |
2716 | + <?php endif; ?> |
2717 | + |
2718 | + </div> <!-- /#content-header --> |
2719 | + <?php endif; ?> |
2720 | + |
2721 | + <div id="content-area"> |
2722 | + <?php print $content; ?> |
2723 | + </div> <!-- /#content-area --> |
2724 | + |
2725 | + <?php print $feed_icons; ?> |
2726 | + |
2727 | + <?php if ($content_bottom): ?> |
2728 | + <div id="content-bottom"> |
2729 | + <?php print $content_bottom; ?> |
2730 | + </div><!-- /#content-bottom --> |
2731 | + <?php endif; ?> |
2732 | + |
2733 | + </div> |
2734 | + </div> <!-- /content-inner /content --> |
2735 | + |
2736 | + <?php if (!empty($primary_links) || !empty($secondary_links)): ?> |
2737 | + <div id="navigation" class="menu <?php if (!empty($primary_links)) { print "with-main-menu"; } if (!empty($secondary_links)) { print " with-sub-menu"; } ?>"> |
2738 | + <?php if (!empty($primary_links)){ print theme('links', $primary_links, array('id' => 'primary', 'class' => 'links main-menu')); } ?> |
2739 | + <?php if (!empty($secondary_links)){ print theme('links', $secondary_links, array('id' => 'secondary', 'class' => 'links sub-menu')); } ?> |
2740 | + </div> <!-- /navigation --> |
2741 | + <?php endif; ?> |
2742 | + |
2743 | + <?php if ($left): ?> |
2744 | + <div id="sidebar-first" class="column sidebar first"> |
2745 | + <div id="sidebar-first-inner" class="inner"> |
2746 | + <?php print $left; ?> |
2747 | + </div> |
2748 | + </div> |
2749 | + <?php endif; ?> <!-- /sidebar-left --> |
2750 | + |
2751 | + <?php if ($right): ?> |
2752 | + <div id="sidebar-second" class="column sidebar second"> |
2753 | + <div id="sidebar-second-inner" class="inner"> |
2754 | + <?php print $right; ?> |
2755 | + </div> |
2756 | + </div> |
2757 | + <?php endif; ?> <!-- /sidebar-second --> |
2758 | + |
2759 | + </div> <!-- /main --> |
2760 | + |
2761 | + <!-- ______________________ FOOTER _______________________ --> |
2762 | + |
2763 | + <?php if(!empty($footer_message) || !empty($footer_block)): ?> |
2764 | + <div id="footer"> |
2765 | + <?php print $footer_message; ?> |
2766 | + <?php print $footer_block; ?> |
2767 | + </div> <!-- /footer --> |
2768 | + <?php endif; ?> |
2769 | + |
2770 | + </div> <!-- /page --> |
2771 | + <?php print $closure; ?> |
2772 | + </body> |
2773 | +</html> |
2774 | \ No newline at end of file |
2775 | |
2776 | === added file 'theme-settings.php' |
2777 | --- theme-settings.php 1970-01-01 00:00:00 +0000 |
2778 | +++ theme-settings.php 2010-12-08 01:56:31 +0000 |
2779 | @@ -0,0 +1,158 @@ |
2780 | +<?php |
2781 | + |
2782 | +function basic_settings($saved_settings, $subtheme_defaults = array()) { |
2783 | + |
2784 | + // Get the default values from the .info file. |
2785 | + $defaults = basic_theme_get_default_settings('basic'); |
2786 | + |
2787 | + // Merge the saved variables and their default values. |
2788 | + $settings = array_merge($defaults, $saved_settings); |
2789 | + |
2790 | + /* |
2791 | + * Create the form using Forms API |
2792 | + */ |
2793 | + |
2794 | + $form['basic_zen_tabs'] = array( |
2795 | + '#type' => 'checkbox', |
2796 | + '#title' => t('Use Zen Tabs'), |
2797 | + '#default_value' => $settings['basic_zen_tabs'], |
2798 | + '#description' => t('Replace the default tabs by the Zen Tabs.'), |
2799 | + '#prefix' => '<strong>' . t('Zen Tabs:') . '</strong>', |
2800 | + ); |
2801 | + |
2802 | + $form['basic_breadcrumb'] = array( |
2803 | + '#type' => 'fieldset', |
2804 | + '#title' => t('Breadcrumb settings'), |
2805 | + '#attributes' => array('id' => 'basic-breadcrumb'), |
2806 | + ); |
2807 | + $form['basic_breadcrumb']['basic_breadcrumb'] = array( |
2808 | + '#type' => 'select', |
2809 | + '#title' => t('Display breadcrumb'), |
2810 | + '#default_value' => $settings['basic_breadcrumb'], |
2811 | + '#options' => array( |
2812 | + 'yes' => t('Yes'), |
2813 | + 'admin' => t('Only in admin section'), |
2814 | + 'no' => t('No'), |
2815 | + ), |
2816 | + ); |
2817 | + $form['basic_breadcrumb']['basic_breadcrumb_separator'] = array( |
2818 | + '#type' => 'textfield', |
2819 | + '#title' => t('Breadcrumb separator'), |
2820 | + '#description' => t('Text only. Don’t forget to include spaces.'), |
2821 | + '#default_value' => $settings['basic_breadcrumb_separator'], |
2822 | + '#size' => 5, |
2823 | + '#maxlength' => 10, |
2824 | + '#prefix' => '<div id="div-basic-breadcrumb-collapse">', // jquery hook to show/hide optional widgets |
2825 | + ); |
2826 | + $form['basic_breadcrumb']['basic_breadcrumb_home'] = array( |
2827 | + '#type' => 'checkbox', |
2828 | + '#title' => t('Show home page link in breadcrumb'), |
2829 | + '#default_value' => $settings['basic_breadcrumb_home'], |
2830 | + ); |
2831 | + $form['basic_breadcrumb']['basic_breadcrumb_trailing'] = array( |
2832 | + '#type' => 'checkbox', |
2833 | + '#title' => t('Append a separator to the end of the breadcrumb'), |
2834 | + '#default_value' => $settings['basic_breadcrumb_trailing'], |
2835 | + '#description' => t('Useful when the breadcrumb is placed just before the title.'), |
2836 | + ); |
2837 | + $form['basic_breadcrumb']['basic_breadcrumb_title'] = array( |
2838 | + '#type' => 'checkbox', |
2839 | + '#title' => t('Append the content title to the end of the breadcrumb'), |
2840 | + '#default_value' => $settings['basic_breadcrumb_title'], |
2841 | + '#description' => t('Useful when the breadcrumb is not placed just before the title.'), |
2842 | + '#suffix' => '</div>', // #div-zen-breadcrumb |
2843 | + ); |
2844 | + |
2845 | + $form['basic_wireframe'] = array( |
2846 | + '#type' => 'checkbox', |
2847 | + '#title' => t('Display borders around main layout elements'), |
2848 | + '#default_value' => $settings['basic_wireframe'], |
2849 | + '#description' => t('<a href="!link">Wireframes</a> are useful when prototyping a website.', array('!link' => 'http://www.boxesandarrows.com/view/html_wireframes_and_prototypes_all_gain_and_no_pain')), |
2850 | + '#prefix' => '<strong>' . t('Wireframes:') . '</strong>', |
2851 | + ); |
2852 | + |
2853 | + $form['basic_block_editing'] = array( |
2854 | + '#type' => 'checkbox', |
2855 | + '#title' => t('Show block editing on hover'), |
2856 | + '#description' => t('When hovering over a block, privileged users will see block editing links.'), |
2857 | + '#default_value' => $settings['basic_block_editing'], |
2858 | + '#prefix' => '<strong>' . t('Block Edit Links:') . '</strong>', |
2859 | + ); |
2860 | + |
2861 | + $form['themedev']['basic_rebuild_registry'] = array( |
2862 | + '#type' => 'checkbox', |
2863 | + '#title' => t('Rebuild theme registry on every page.'), |
2864 | + '#default_value' => $settings['basic_rebuild_registry'], |
2865 | + '#description' => t('During theme development, it can be very useful to continuously <a href="!link">rebuild the theme registry</a>. WARNING: this is a huge performance penalty and must be turned off on production websites.', array('!link' => 'http://drupal.org/node/173880#theme-registry')), |
2866 | + '#prefix' => '<div id="div-basic-registry"><strong>' . t('Theme registry:') . '</strong>', |
2867 | + '#suffix' => '</div>', |
2868 | + ); |
2869 | + |
2870 | + // Return the form |
2871 | + return $form; |
2872 | +} |
2873 | + |
2874 | + |
2875 | +function _basic_theme(&$existing, $type, $theme, $path) { |
2876 | + // Each theme has two possible preprocess functions that can act on a hook. |
2877 | + // This function applies to every hook. |
2878 | + $functions[0] = $theme . '_preprocess'; |
2879 | + // Inspect the preprocess functions for every hook in the theme registry. |
2880 | + // @TODO: When PHP 5 becomes required (Basic 7.x), use the following faster |
2881 | + // implementation: foreach ($existing AS $hook => &$value) {} |
2882 | + foreach (array_keys($existing) AS $hook) { |
2883 | + // Each theme has two possible preprocess functions that can act on a hook. |
2884 | + // This function only applies to this hook. |
2885 | + $functions[1] = $theme . '_preprocess_' . $hook; |
2886 | + foreach ($functions AS $key => $function) { |
2887 | + // Add any functions that are not already in the registry. |
2888 | + if (function_exists($function) && !in_array($function, $existing[$hook]['preprocess functions'])) { |
2889 | + // We add the preprocess function to the end of the existing list. |
2890 | + $existing[$hook]['preprocess functions'][] = $function; |
2891 | + } |
2892 | + } |
2893 | + } |
2894 | + |
2895 | + // Since we are rebuilding the theme registry and the theme settings' default |
2896 | + // values may have changed, make sure they are saved in the database properly. |
2897 | + basic_theme_get_default_settings($theme); |
2898 | + |
2899 | + // If we are auto-rebuilding the theme registry, warn about feature. |
2900 | + if (theme_get_setting('basic_rebuild_registry')) { |
2901 | + drupal_set_message(t('The theme registry has been rebuilt. <a href="!link">Turn off</a> this feature on production websites.', array('!link' => base_path() . 'admin/build/themes/settings/' . $GLOBALS['theme'])), 'warning'); |
2902 | + } |
2903 | + |
2904 | + // Since we modify the $existing cache directly, return nothing. |
2905 | + return array(); |
2906 | +} |
2907 | + |
2908 | + |
2909 | +function basic_theme_get_default_settings($theme) { |
2910 | + $themes = list_themes(); |
2911 | + |
2912 | + // Get the default values from the .info file. |
2913 | + $defaults = !empty($themes[$theme]->info['settings']) ? $themes[$theme]->info['settings'] : array(); |
2914 | + |
2915 | + if (!empty($defaults)) { |
2916 | + // Get the theme settings saved in the database. |
2917 | + $settings = theme_get_settings($theme); |
2918 | + // Don't save the toggle_node_info_ variables. |
2919 | + if (module_exists('node')) { |
2920 | + foreach (node_get_types() as $type => $name) { |
2921 | + unset($settings['toggle_node_info_' . $type]); |
2922 | + } |
2923 | + } |
2924 | + // Save default theme settings. |
2925 | + variable_set( |
2926 | + str_replace('/', '_', 'theme_' . $theme . '_settings'), |
2927 | + array_merge($defaults, $settings) |
2928 | + ); |
2929 | + // If the active theme has been loaded, force refresh of Drupal internals. |
2930 | + if (!empty($GLOBALS['theme_key'])) { |
2931 | + theme_get_setting('', TRUE); |
2932 | + } |
2933 | + } |
2934 | + |
2935 | + // Return the default settings. |
2936 | + return $defaults; |
2937 | +} |
Looks awesome. I think it's great to get something in /drupal to start working with.
Being I'm no drupal genius, Moparx, can you bless this?
~ Andrew