FINAL suepr merge step : added all modules to this super repos
This commit is contained in:
339
sites/all/themes/contrid/tao/LICENSE.txt
Normal file
339
sites/all/themes/contrid/tao/LICENSE.txt
Normal file
@@ -0,0 +1,339 @@
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
Version 2, June 1991
|
||||
|
||||
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
Preamble
|
||||
|
||||
The licenses for most software are designed to take away your
|
||||
freedom to share and change it. By contrast, the GNU General Public
|
||||
License is intended to guarantee your freedom to share and change free
|
||||
software--to make sure the software is free for all its users. This
|
||||
General Public License applies to most of the Free Software
|
||||
Foundation's software and to any other program whose authors commit to
|
||||
using it. (Some other Free Software Foundation software is covered by
|
||||
the GNU Lesser General Public License instead.) You can apply it to
|
||||
your programs, too.
|
||||
|
||||
When we speak of free software, we are referring to freedom, not
|
||||
price. Our General Public Licenses are designed to make sure that you
|
||||
have the freedom to distribute copies of free software (and charge for
|
||||
this service if you wish), that you receive source code or can get it
|
||||
if you want it, that you can change the software or use pieces of it
|
||||
in new free programs; and that you know you can do these things.
|
||||
|
||||
To protect your rights, we need to make restrictions that forbid
|
||||
anyone to deny you these rights or to ask you to surrender the rights.
|
||||
These restrictions translate to certain responsibilities for you if you
|
||||
distribute copies of the software, or if you modify it.
|
||||
|
||||
For example, if you distribute copies of such a program, whether
|
||||
gratis or for a fee, you must give the recipients all the rights that
|
||||
you have. You must make sure that they, too, receive or can get the
|
||||
source code. And you must show them these terms so they know their
|
||||
rights.
|
||||
|
||||
We protect your rights with two steps: (1) copyright the software, and
|
||||
(2) offer you this license which gives you legal permission to copy,
|
||||
distribute and/or modify the software.
|
||||
|
||||
Also, for each author's protection and ours, we want to make certain
|
||||
that everyone understands that there is no warranty for this free
|
||||
software. If the software is modified by someone else and passed on, we
|
||||
want its recipients to know that what they have is not the original, so
|
||||
that any problems introduced by others will not reflect on the original
|
||||
authors' reputations.
|
||||
|
||||
Finally, any free program is threatened constantly by software
|
||||
patents. We wish to avoid the danger that redistributors of a free
|
||||
program will individually obtain patent licenses, in effect making the
|
||||
program proprietary. To prevent this, we have made it clear that any
|
||||
patent must be licensed for everyone's free use or not licensed at all.
|
||||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow.
|
||||
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
0. This License applies to any program or other work which contains
|
||||
a notice placed by the copyright holder saying it may be distributed
|
||||
under the terms of this General Public License. The "Program", below,
|
||||
refers to any such program or work, and a "work based on the Program"
|
||||
means either the Program or any derivative work under copyright law:
|
||||
that is to say, a work containing the Program or a portion of it,
|
||||
either verbatim or with modifications and/or translated into another
|
||||
language. (Hereinafter, translation is included without limitation in
|
||||
the term "modification".) Each licensee is addressed as "you".
|
||||
|
||||
Activities other than copying, distribution and modification are not
|
||||
covered by this License; they are outside its scope. The act of
|
||||
running the Program is not restricted, and the output from the Program
|
||||
is covered only if its contents constitute a work based on the
|
||||
Program (independent of having been made by running the Program).
|
||||
Whether that is true depends on what the Program does.
|
||||
|
||||
1. You may copy and distribute verbatim copies of the Program's
|
||||
source code as you receive it, in any medium, provided that you
|
||||
conspicuously and appropriately publish on each copy an appropriate
|
||||
copyright notice and disclaimer of warranty; keep intact all the
|
||||
notices that refer to this License and to the absence of any warranty;
|
||||
and give any other recipients of the Program a copy of this License
|
||||
along with the Program.
|
||||
|
||||
You may charge a fee for the physical act of transferring a copy, and
|
||||
you may at your option offer warranty protection in exchange for a fee.
|
||||
|
||||
2. You may modify your copy or copies of the Program or any portion
|
||||
of it, thus forming a work based on the Program, and copy and
|
||||
distribute such modifications or work under the terms of Section 1
|
||||
above, provided that you also meet all of these conditions:
|
||||
|
||||
a) You must cause the modified files to carry prominent notices
|
||||
stating that you changed the files and the date of any change.
|
||||
|
||||
b) You must cause any work that you distribute or publish, that in
|
||||
whole or in part contains or is derived from the Program or any
|
||||
part thereof, to be licensed as a whole at no charge to all third
|
||||
parties under the terms of this License.
|
||||
|
||||
c) If the modified program normally reads commands interactively
|
||||
when run, you must cause it, when started running for such
|
||||
interactive use in the most ordinary way, to print or display an
|
||||
announcement including an appropriate copyright notice and a
|
||||
notice that there is no warranty (or else, saying that you provide
|
||||
a warranty) and that users may redistribute the program under
|
||||
these conditions, and telling the user how to view a copy of this
|
||||
License. (Exception: if the Program itself is interactive but
|
||||
does not normally print such an announcement, your work based on
|
||||
the Program is not required to print an announcement.)
|
||||
|
||||
These requirements apply to the modified work as a whole. If
|
||||
identifiable sections of that work are not derived from the Program,
|
||||
and can be reasonably considered independent and separate works in
|
||||
themselves, then this License, and its terms, do not apply to those
|
||||
sections when you distribute them as separate works. But when you
|
||||
distribute the same sections as part of a whole which is a work based
|
||||
on the Program, the distribution of the whole must be on the terms of
|
||||
this License, whose permissions for other licensees extend to the
|
||||
entire whole, and thus to each and every part regardless of who wrote it.
|
||||
|
||||
Thus, it is not the intent of this section to claim rights or contest
|
||||
your rights to work written entirely by you; rather, the intent is to
|
||||
exercise the right to control the distribution of derivative or
|
||||
collective works based on the Program.
|
||||
|
||||
In addition, mere aggregation of another work not based on the Program
|
||||
with the Program (or with a work based on the Program) on a volume of
|
||||
a storage or distribution medium does not bring the other work under
|
||||
the scope of this License.
|
||||
|
||||
3. You may copy and distribute the Program (or a work based on it,
|
||||
under Section 2) in object code or executable form under the terms of
|
||||
Sections 1 and 2 above provided that you also do one of the following:
|
||||
|
||||
a) Accompany it with the complete corresponding machine-readable
|
||||
source code, which must be distributed under the terms of Sections
|
||||
1 and 2 above on a medium customarily used for software interchange; or,
|
||||
|
||||
b) Accompany it with a written offer, valid for at least three
|
||||
years, to give any third party, for a charge no more than your
|
||||
cost of physically performing source distribution, a complete
|
||||
machine-readable copy of the corresponding source code, to be
|
||||
distributed under the terms of Sections 1 and 2 above on a medium
|
||||
customarily used for software interchange; or,
|
||||
|
||||
c) Accompany it with the information you received as to the offer
|
||||
to distribute corresponding source code. (This alternative is
|
||||
allowed only for noncommercial distribution and only if you
|
||||
received the program in object code or executable form with such
|
||||
an offer, in accord with Subsection b above.)
|
||||
|
||||
The source code for a work means the preferred form of the work for
|
||||
making modifications to it. For an executable work, complete source
|
||||
code means all the source code for all modules it contains, plus any
|
||||
associated interface definition files, plus the scripts used to
|
||||
control compilation and installation of the executable. However, as a
|
||||
special exception, the source code distributed need not include
|
||||
anything that is normally distributed (in either source or binary
|
||||
form) with the major components (compiler, kernel, and so on) of the
|
||||
operating system on which the executable runs, unless that component
|
||||
itself accompanies the executable.
|
||||
|
||||
If distribution of executable or object code is made by offering
|
||||
access to copy from a designated place, then offering equivalent
|
||||
access to copy the source code from the same place counts as
|
||||
distribution of the source code, even though third parties are not
|
||||
compelled to copy the source along with the object code.
|
||||
|
||||
4. You may not copy, modify, sublicense, or distribute the Program
|
||||
except as expressly provided under this License. Any attempt
|
||||
otherwise to copy, modify, sublicense or distribute the Program is
|
||||
void, and will automatically terminate your rights under this License.
|
||||
However, parties who have received copies, or rights, from you under
|
||||
this License will not have their licenses terminated so long as such
|
||||
parties remain in full compliance.
|
||||
|
||||
5. You are not required to accept this License, since you have not
|
||||
signed it. However, nothing else grants you permission to modify or
|
||||
distribute the Program or its derivative works. These actions are
|
||||
prohibited by law if you do not accept this License. Therefore, by
|
||||
modifying or distributing the Program (or any work based on the
|
||||
Program), you indicate your acceptance of this License to do so, and
|
||||
all its terms and conditions for copying, distributing or modifying
|
||||
the Program or works based on it.
|
||||
|
||||
6. Each time you redistribute the Program (or any work based on the
|
||||
Program), the recipient automatically receives a license from the
|
||||
original licensor to copy, distribute or modify the Program subject to
|
||||
these terms and conditions. You may not impose any further
|
||||
restrictions on the recipients' exercise of the rights granted herein.
|
||||
You are not responsible for enforcing compliance by third parties to
|
||||
this License.
|
||||
|
||||
7. If, as a consequence of a court judgment or allegation of patent
|
||||
infringement or for any other reason (not limited to patent issues),
|
||||
conditions are imposed on you (whether by court order, agreement or
|
||||
otherwise) that contradict the conditions of this License, they do not
|
||||
excuse you from the conditions of this License. If you cannot
|
||||
distribute so as to satisfy simultaneously your obligations under this
|
||||
License and any other pertinent obligations, then as a consequence you
|
||||
may not distribute the Program at all. For example, if a patent
|
||||
license would not permit royalty-free redistribution of the Program by
|
||||
all those who receive copies directly or indirectly through you, then
|
||||
the only way you could satisfy both it and this License would be to
|
||||
refrain entirely from distribution of the Program.
|
||||
|
||||
If any portion of this section is held invalid or unenforceable under
|
||||
any particular circumstance, the balance of the section is intended to
|
||||
apply and the section as a whole is intended to apply in other
|
||||
circumstances.
|
||||
|
||||
It is not the purpose of this section to induce you to infringe any
|
||||
patents or other property right claims or to contest validity of any
|
||||
such claims; this section has the sole purpose of protecting the
|
||||
integrity of the free software distribution system, which is
|
||||
implemented by public license practices. Many people have made
|
||||
generous contributions to the wide range of software distributed
|
||||
through that system in reliance on consistent application of that
|
||||
system; it is up to the author/donor to decide if he or she is willing
|
||||
to distribute software through any other system and a licensee cannot
|
||||
impose that choice.
|
||||
|
||||
This section is intended to make thoroughly clear what is believed to
|
||||
be a consequence of the rest of this License.
|
||||
|
||||
8. If the distribution and/or use of the Program is restricted in
|
||||
certain countries either by patents or by copyrighted interfaces, the
|
||||
original copyright holder who places the Program under this License
|
||||
may add an explicit geographical distribution limitation excluding
|
||||
those countries, so that distribution is permitted only in or among
|
||||
countries not thus excluded. In such case, this License incorporates
|
||||
the limitation as if written in the body of this License.
|
||||
|
||||
9. The Free Software Foundation may publish revised and/or new versions
|
||||
of the General Public License from time to time. Such new versions will
|
||||
be similar in spirit to the present version, but may differ in detail to
|
||||
address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the Program
|
||||
specifies a version number of this License which applies to it and "any
|
||||
later version", you have the option of following the terms and conditions
|
||||
either of that version or of any later version published by the Free
|
||||
Software Foundation. If the Program does not specify a version number of
|
||||
this License, you may choose any version ever published by the Free Software
|
||||
Foundation.
|
||||
|
||||
10. If you wish to incorporate parts of the Program into other free
|
||||
programs whose distribution conditions are different, write to the author
|
||||
to ask for permission. For software which is copyrighted by the Free
|
||||
Software Foundation, write to the Free Software Foundation; we sometimes
|
||||
make exceptions for this. Our decision will be guided by the two goals
|
||||
of preserving the free status of all derivatives of our free software and
|
||||
of promoting the sharing and reuse of software generally.
|
||||
|
||||
NO WARRANTY
|
||||
|
||||
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
|
||||
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
||||
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
|
||||
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
|
||||
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
|
||||
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
|
||||
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
|
||||
REPAIR OR CORRECTION.
|
||||
|
||||
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
|
||||
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
|
||||
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
|
||||
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
|
||||
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
|
||||
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
||||
POSSIBILITY OF SUCH DAMAGES.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
How to Apply These Terms to Your New Programs
|
||||
|
||||
If you develop a new program, and you want it to be of the greatest
|
||||
possible use to the public, the best way to achieve this is to make it
|
||||
free software which everyone can redistribute and change under these terms.
|
||||
|
||||
To do so, attach the following notices to the program. It is safest
|
||||
to attach them to the start of each source file to most effectively
|
||||
convey the exclusion of warranty; and each file should have at least
|
||||
the "copyright" line and a pointer to where the full notice is found.
|
||||
|
||||
<one line to give the program's name and a brief idea of what it does.>
|
||||
Copyright (C) <year> <name of author>
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License along
|
||||
with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
If the program is interactive, make it output a short notice like this
|
||||
when it starts in an interactive mode:
|
||||
|
||||
Gnomovision version 69, Copyright (C) year name of author
|
||||
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||
This is free software, and you are welcome to redistribute it
|
||||
under certain conditions; type `show c' for details.
|
||||
|
||||
The hypothetical commands `show w' and `show c' should show the appropriate
|
||||
parts of the General Public License. Of course, the commands you use may
|
||||
be called something other than `show w' and `show c'; they could even be
|
||||
mouse-clicks or menu items--whatever suits your program.
|
||||
|
||||
You should also get your employer (if you work as a programmer) or your
|
||||
school, if any, to sign a "copyright disclaimer" for the program, if
|
||||
necessary. Here is a sample; alter the names:
|
||||
|
||||
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
|
||||
`Gnomovision' (which makes passes at compilers) written by James Hacker.
|
||||
|
||||
<signature of Ty Coon>, 1 April 1989
|
||||
Ty Coon, President of Vice
|
||||
|
||||
This General Public License does not permit incorporating your program into
|
||||
proprietary programs. If your program is a subroutine library, you may
|
||||
consider it more useful to permit linking proprietary applications with the
|
||||
library. If this is what you want to do, use the GNU Lesser General
|
||||
Public License instead of this License.
|
163
sites/all/themes/contrid/tao/README.md
Normal file
163
sites/all/themes/contrid/tao/README.md
Normal file
@@ -0,0 +1,163 @@
|
||||
Current state of Tao for Drupal 7
|
||||
---------------------------------
|
||||
Many of the concepts in Tao for Drupal 6.x have been addressed by the theme
|
||||
layer of Drupal 7 in one way or another. As a result, various parts of Tao have
|
||||
been refactored and other parts are up in the air conceptually.
|
||||
|
||||
### Key changes
|
||||
|
||||
- $vars['attr'] is deprecated in templating and preprocessors. Use the D7 core
|
||||
handling through $attributes_array and $classes_array instead.
|
||||
- Custom js for fieldset collapsibility is deprecated. Tao now uses the default
|
||||
D7 js for fieldset collapsing.
|
||||
- theme_form_element() in D7 properly marks form elements with their types.
|
||||
|
||||
### @TODO / still concepting
|
||||
|
||||
- Future of tao-based print-friendly stack.
|
||||
- Fully update README once all major changes are stabilized.
|
||||
|
||||
|
||||
Tao
|
||||
---
|
||||
Tao is a base theme for Drupal that is all about going with the flow. It is not
|
||||
meant for general-purpose use, but instead takes care of several tasks so that
|
||||
sub-themes can get on with their job:
|
||||
|
||||
- Aggressive resets of not only browser default styles but Drupal core defaults
|
||||
- Unification of several template families into a single consistent format (e.g.
|
||||
node.tpl.php, block.tpl.php, etc.)
|
||||
- Theme overrides of several core annoyances (fieldsets, pagers)
|
||||
- On-screen print stylesheet display and framework for further customized print
|
||||
styling
|
||||
|
||||
Tao makes several assumptions about how you, the themer, would like to work with
|
||||
Drupal and the theme system:
|
||||
|
||||
- Minimize template overrides and leverage preprocessors as much as possible
|
||||
- Preference for generalized styling over exceptions and particular design of
|
||||
one-off elements
|
||||
- High degree of control over CSS, particularly selector specificity
|
||||
|
||||
|
||||
Overview for subthemers
|
||||
-----------------------
|
||||
The following is a comprehensive list of things to know about Tao as a
|
||||
subthemer.
|
||||
|
||||
|
||||
### Alterations to core markup
|
||||
|
||||
Tao leaves most core element markup alone. When things don't make sense,
|
||||
however, it makes changes and aggressive ones at that. Here's a list of things
|
||||
to expect:
|
||||
|
||||
- `theme('fieldset')`
|
||||
|
||||
The `fieldset` element in core has been retained but with additional markup
|
||||
for simpler theming. The `legend` element contains a sub-element `span` that
|
||||
can be positioned properly across browsers and the main contents of the
|
||||
fieldset follow other object templates with a `.fieldset-content` div.
|
||||
|
||||
- `theme('form_element')`
|
||||
|
||||
To distinguish between different instances of the `.form-item` wrapper, Tao
|
||||
adds a `.form-item-labeled` class to labeled items and `.form-item-option` to
|
||||
checkboxes and radios.
|
||||
|
||||
- `theme('pager')`
|
||||
|
||||
All numeric page links are grouped together into a `ul.pager-list` set.
|
||||
Next/previous links are grouped together under `ul.pager-links`.
|
||||
|
||||
- `theme('username')`
|
||||
|
||||
All username instances are wrapped in an `a.username` or `span.username`.
|
||||
|
||||
|
||||
### Attributes and the `$attr` variable
|
||||
|
||||
The `$vars['attr']` variable is the standard way for adding any HTML attribute
|
||||
to the major containing element of the corresponding template. The
|
||||
`drupal_attributes($attr)` is used in each template to render attributes. For
|
||||
example, to add a class to a node, you would add the following to your
|
||||
subtheme's node preprocessor:
|
||||
|
||||
$vars['attr']['class'] .= ' myclass';
|
||||
|
||||
|
||||
### CSS resets & removal
|
||||
|
||||
Tao implements an aggressive `reset.css` but also strips out the inclusion of
|
||||
many of the CSS files included in core with the exception of `colors.css` and
|
||||
`locale.css` (see `tao.info` for the specifics). Tao reimplements and
|
||||
consolidates Drupal core CSS styles in a way that will not affect a
|
||||
typographical or other strict grid in `drupal.css` that can be overridden by
|
||||
sub themes for even greater control.
|
||||
|
||||
Tao does not remove any contrib CSS added from other module directories, e.g.
|
||||
`sites/all/modules` or `profiles/myprofile/modules`.
|
||||
|
||||
**Note:** The main reason for the stripping of core CSS is to achieve consistent
|
||||
typography and grid layout. Many styles in Drupal core add inconsistent
|
||||
`padding`, `line-height`, and `font-size` adjustments to elements, making it
|
||||
extremely costly to hunt down individual instances and correct them.
|
||||
|
||||
|
||||
### Print preview
|
||||
|
||||
Tao allows a site's print stylesheets to be previewed by checking whether
|
||||
`$_GET['print']` is set. For example, to preview a node's print stylesheets, you
|
||||
would go to `http://example.com/node/5?print`. Other niceties related to print,
|
||||
like support for full expansion of a book tree on print, has been added.
|
||||
|
||||
|
||||
### Say no to `media='all'`
|
||||
|
||||
Tao does not use the `all` key for any of its stylesheets and expects that you
|
||||
will not either. Be specific - if the stylesheet is for the screen, or for
|
||||
print, say so. Any stylesheet overrides your subtheme provides should use the
|
||||
same media key as the one in `tao.info` for the stylesheet that is being
|
||||
overridden.
|
||||
|
||||
|
||||
### Stylesheets
|
||||
|
||||
- `reset.css` provides browser CSS style resets and core styling resets.
|
||||
Override this in your subtheme only if you need to add or omit certain reset
|
||||
styles.
|
||||
- drupal.css` reimplements core CSS styles that are functionally important
|
||||
without allowing any modifications to a typographical or layout grid.
|
||||
- `base.css` provides very basic structural, non-aesthetic styling for many
|
||||
elements. See inline comments for more information.
|
||||
- `print.css` is a default print stylesheet. Override this in your subtheme to
|
||||
alter print styling entirely.
|
||||
|
||||
|
||||
### Template unification
|
||||
|
||||
All of the following theme functions go through the exact same template in Tao
|
||||
(with the exception of `node` and `fieldset` which go through slightly modified
|
||||
versions for better usability and compatibility with contrib modules):
|
||||
|
||||
- `theme('block')`
|
||||
- `theme('box')`
|
||||
- `theme('comment')`
|
||||
- `theme('fieldset')`
|
||||
- `theme('node')`
|
||||
|
||||
The template is designed to follow a strict pattern. Each element is classed as
|
||||
such:
|
||||
|
||||
[theme_hook]-[element_type]
|
||||
|
||||
with the name of its hook and then the type of wrapping element within the
|
||||
template. For example, for a node, the following elements are provided:
|
||||
`.node-title`, `.node-content`, `.node-links` etc. For comments, the
|
||||
corresponding classes would be `.comment-title`, `.comment-content`,
|
||||
`.comment-links` and so on.
|
||||
|
||||
|
||||
Maintainer
|
||||
----------
|
||||
- yhahn (Young Hahn)
|
9
sites/all/themes/contrid/tao/base-rtl.css
Normal file
9
sites/all/themes/contrid/tao/base-rtl.css
Normal file
@@ -0,0 +1,9 @@
|
||||
ul.links li,
|
||||
ul.links li a { float:right; }
|
||||
|
||||
.prose pre,
|
||||
.prose blockquote,
|
||||
.prose div.codeblock { border-width:1px 5px 1px 1px; }
|
||||
|
||||
.prose ol li,
|
||||
.prose ul li { margin:0px 20px 0px 0px; }
|
172
sites/all/themes/contrid/tao/base.css
Normal file
172
sites/all/themes/contrid/tao/base.css
Normal file
@@ -0,0 +1,172 @@
|
||||
/**
|
||||
* Base styles.
|
||||
* Provides sensible defaults for everything to save you time. Override
|
||||
* with an empty stylesheet to start over from scratch.
|
||||
*/
|
||||
|
||||
/**
|
||||
* Skip navigation ====================================================
|
||||
*/
|
||||
#skip-link {
|
||||
position:absolute;
|
||||
display:block;
|
||||
}
|
||||
|
||||
#skip-link a,
|
||||
#skip-link a:link,
|
||||
#skip-link a:visited {
|
||||
position:absolute;
|
||||
display:block;
|
||||
left:-10000px;
|
||||
width:1px;
|
||||
height:1px;
|
||||
}
|
||||
|
||||
#skip-link a:hover,
|
||||
#skip-link a:active,
|
||||
#skip-link a:focus {
|
||||
position:static;
|
||||
width:auto;
|
||||
height:auto;
|
||||
}
|
||||
|
||||
/**
|
||||
* Page width limiter =================================================
|
||||
*
|
||||
* Can be nested within major structural elements to allow full-width
|
||||
* bleeds combined with a fixed page width. Set a width on this in your
|
||||
* theme to get a consistent page width on major elements.
|
||||
*/
|
||||
.limiter { margin:0px auto; }
|
||||
|
||||
/**
|
||||
* Links ==============================================================
|
||||
*
|
||||
* Any ul.links are given a horizontal tab-like formatting.
|
||||
*/
|
||||
ul.links li,
|
||||
ul.links li a { float:left; }
|
||||
|
||||
ul.links.inline,
|
||||
ul.links.inline li,
|
||||
ul.links.inline li a {
|
||||
float:none;
|
||||
display:inline;
|
||||
}
|
||||
|
||||
/**
|
||||
* Prose ==============================================================
|
||||
*
|
||||
* By default, any text which is suspected to have gone through an
|
||||
* input filter is given the 'prose' class. We want to format it with
|
||||
* readability and nice defaults in mind.
|
||||
*/
|
||||
.prose { line-height:20px; }
|
||||
|
||||
.prose h1,
|
||||
.prose h2,
|
||||
.prose h3,
|
||||
.prose h4,
|
||||
.prose h5,
|
||||
.prose h6,
|
||||
.prose p,
|
||||
.prose ul,
|
||||
.prose ol,
|
||||
.prose pre,
|
||||
.prose div.codeblock,
|
||||
.prose blockquote { margin: 0px 0px 20px; }
|
||||
|
||||
.prose h1,
|
||||
.prose h2,
|
||||
.prose h3,
|
||||
.prose h4,
|
||||
.prose h5,
|
||||
.prose h6 { font-weight:bold; }
|
||||
.prose h1 { font-size:18px; }
|
||||
.prose h2 { font-size:15px; }
|
||||
|
||||
.prose pre,
|
||||
.prose code,
|
||||
.prose div.codeblock {
|
||||
font-size:11px;
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
.prose pre,
|
||||
.prose blockquote,
|
||||
.prose div.codeblock {
|
||||
line-height:20px;
|
||||
background:#f8f8f8;
|
||||
padding:4px 9px;
|
||||
border:1px solid #eee;
|
||||
border-left:5px solid #eee;
|
||||
}
|
||||
|
||||
.prose ol li,
|
||||
.prose ul li {
|
||||
display:list-item;
|
||||
margin:0px 0px 0px 30px;
|
||||
padding:0px;
|
||||
}
|
||||
|
||||
.prose ol li { list-style:decimal; }
|
||||
|
||||
.prose ul li { list-style:disc; }
|
||||
|
||||
.prose img { display:block; }
|
||||
|
||||
/* Excluding Drupal structures */
|
||||
.prose .links,
|
||||
.prose .links li,
|
||||
.prose .item-list ul,
|
||||
.prose .item-list li {
|
||||
margin:0px;
|
||||
padding:0px;
|
||||
list-style:none;
|
||||
}
|
||||
|
||||
/**
|
||||
* Tables =============================================================
|
||||
*/
|
||||
table {
|
||||
width:100%;
|
||||
margin:0px 0px 20px;
|
||||
}
|
||||
|
||||
table th,
|
||||
table td { vertical-align:middle; }
|
||||
|
||||
/**
|
||||
* Forms ==============================================================
|
||||
*/
|
||||
input.form-text,
|
||||
select,
|
||||
textarea { border:1px solid #ccc; }
|
||||
|
||||
input.form-submit,
|
||||
label { font-weight:bold; }
|
||||
|
||||
input.form-submit { cursor:pointer; }
|
||||
|
||||
input.form-radio,
|
||||
input.form-checkbox { vertical-align:middle; }
|
||||
|
||||
.form-item .description,
|
||||
.description {
|
||||
color:#666;
|
||||
font-size:11px;
|
||||
}
|
||||
|
||||
fieldset.collapsible .fieldset-title { cursor:pointer; }
|
||||
html.js fieldset.collapsed .fieldset-content { display:none; }
|
||||
|
||||
/**
|
||||
* Views ==============================================================
|
||||
*/
|
||||
table.grid-2 td { width:50%; }
|
||||
table.grid-3 td { width:33.3%; }
|
||||
table.grid-4 td { width:25%; }
|
||||
table.grid-5 td { width:20%; }
|
||||
table.grid-6 td { width:16.6%; }
|
||||
table.grid-7 td { width:14.2%; }
|
||||
table.grid-8 td { width:12.5%; }
|
50
sites/all/themes/contrid/tao/drupal-rtl.css
Normal file
50
sites/all/themes/contrid/tao/drupal-rtl.css
Normal file
@@ -0,0 +1,50 @@
|
||||
/**
|
||||
* system/system.css ==================================================
|
||||
*/
|
||||
.more-link,
|
||||
.more-help-link { text-align:left; }
|
||||
|
||||
dl.multiselect dt,
|
||||
dl.multiselect dd { float:right; }
|
||||
|
||||
html.js input.throbbing { background-position:0% 50%; }
|
||||
|
||||
div.teaser-button-wrapper {
|
||||
float:left;
|
||||
padding-right:0px;
|
||||
padding-left:5px;
|
||||
}
|
||||
|
||||
.teaser-checkbox div.form-item {
|
||||
float:left;
|
||||
margin-right:0px;
|
||||
margin-left:5px;
|
||||
}
|
||||
|
||||
.progress .percentage { float:left; }
|
||||
.progess-disabled { float:right; }
|
||||
.ahah-progress { float:right; }
|
||||
.ahah-progress .throbber { float:right; }
|
||||
|
||||
.draggable a.tabledrag-handle {
|
||||
float: right;
|
||||
margin-right:auto;
|
||||
margin-left:10px;
|
||||
}
|
||||
|
||||
/**
|
||||
* update/update.css ==================================================
|
||||
*/
|
||||
.update .version-status { float:left; }
|
||||
.update .version-status .icon {
|
||||
padding-left:auto;
|
||||
padding-right:10px;
|
||||
}
|
||||
|
||||
/**
|
||||
* user/user.css ======================================================
|
||||
*/
|
||||
#permissions td.permission {
|
||||
padding-left:auto;
|
||||
padding-right:20px;
|
||||
}
|
394
sites/all/themes/contrid/tao/drupal.css
Normal file
394
sites/all/themes/contrid/tao/drupal.css
Normal file
@@ -0,0 +1,394 @@
|
||||
/**
|
||||
* block/block.css ====================================================
|
||||
*/
|
||||
#blocks td.region { font-weight:bold; }
|
||||
|
||||
#blocks tr.region-message {
|
||||
font-weight:normal;
|
||||
color:#999;
|
||||
}
|
||||
|
||||
#blocks tr.region-populated {
|
||||
display:none;
|
||||
}
|
||||
|
||||
/**
|
||||
* openid/openid.css ==================================================
|
||||
*/
|
||||
div#edit-openid-identifier-wrapper { display:block; }
|
||||
|
||||
html.js #user-login-form div.form-item-openid-identifier,
|
||||
html.js #user-login div.form-item-openid-identifier { display:none; }
|
||||
|
||||
html.js #user-login-form li.openid-link,
|
||||
html.js #user-login li.openid-link { display:block; }
|
||||
|
||||
#user-login-form li.openid-link,
|
||||
#user-login-form li.user-link,
|
||||
#user-login li.openid-link,
|
||||
#user-login li.user-link { display:none; }
|
||||
|
||||
/**
|
||||
* system/system-behavior.css =========================================
|
||||
*/
|
||||
|
||||
/**
|
||||
* Password strength indicator
|
||||
*/
|
||||
.password-strength {
|
||||
width:200px;
|
||||
float:right; /*LTR*/
|
||||
}
|
||||
|
||||
.password-strength-title { display:inline; }
|
||||
|
||||
.password-strength-text {
|
||||
float:right; /*LTR*/
|
||||
font-weight:bold;
|
||||
}
|
||||
|
||||
.password-indicator {
|
||||
background-color:#ccc;
|
||||
height:5px;
|
||||
width:100%;
|
||||
}
|
||||
|
||||
.password-indicator div {
|
||||
height:100%;
|
||||
width:0%;
|
||||
background-color:#4c6;
|
||||
}
|
||||
|
||||
/**
|
||||
* Password confirmation checker
|
||||
*/
|
||||
div.password-confirm { visibility: hidden; }
|
||||
|
||||
.container-inline div,
|
||||
.container-inline label { display:inline; }
|
||||
|
||||
.container-inline .fieldset-wrapper { display:block; }
|
||||
|
||||
.nowrap { white-space:nowrap; }
|
||||
|
||||
html.js .js-hide { display:none; }
|
||||
|
||||
.element-hidden { display:none; }
|
||||
|
||||
.element-invisible {
|
||||
position:absolute !important;
|
||||
clip:rect(1px 1px 1px 1px); /* IE6, IE7 */
|
||||
clip:rect(1px, 1px, 1px, 1px);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* system/system.css ==================================================
|
||||
*/
|
||||
body.drag { cursor:move; }
|
||||
th.active img { display:inline; }
|
||||
|
||||
td.active { background-color:#ddd; }
|
||||
|
||||
td.checkbox,
|
||||
th.checkbox { text-align:center; }
|
||||
|
||||
thead th { text-align:auto; }
|
||||
|
||||
.error { color:#e55; }
|
||||
.warning { color:#e09010; }
|
||||
.ok { color:#008000; }
|
||||
|
||||
div.error { border:1px solid #d77; }
|
||||
div.warning { border:1px solid #f0c020; }
|
||||
div.ok { border:1px solid #00aa00; }
|
||||
|
||||
div.error,
|
||||
tr.error {
|
||||
background:#fcc;
|
||||
color:#200;
|
||||
}
|
||||
|
||||
div.warning,
|
||||
tr.warning {
|
||||
background:#ffd;
|
||||
color:#220;
|
||||
}
|
||||
|
||||
div.ok,
|
||||
tr.ok {
|
||||
background:#dfd;
|
||||
color:#020;
|
||||
}
|
||||
|
||||
.form-item input.error,
|
||||
.form-item textarea.error,
|
||||
.form-item select.error {
|
||||
border-style:solid;
|
||||
border-color:red;
|
||||
}
|
||||
|
||||
.form-item label {
|
||||
display:block;
|
||||
font-weight:bold;
|
||||
}
|
||||
|
||||
.form-item label.option {
|
||||
display:inline;
|
||||
font-weight:normal;
|
||||
}
|
||||
|
||||
.marker,
|
||||
.form-required { color:#f00; }
|
||||
|
||||
.more-link,
|
||||
.more-help-link { text-align:right; }
|
||||
|
||||
.nowrap { white-space:nowrap; }
|
||||
|
||||
.item-list .pager {
|
||||
clear:both;
|
||||
text-align:center;
|
||||
}
|
||||
|
||||
.item-list .pager li { display:inline; }
|
||||
|
||||
.pager-current { font-weight:bold; }
|
||||
|
||||
dl.multiselect dt,
|
||||
dl.multiselect dd { float:left; }
|
||||
|
||||
dl.multiselect dd.b,
|
||||
dl.multiselect dd.b .form-item,
|
||||
dl.multiselect dd.b select { width:14em; }
|
||||
|
||||
dl.multiselect dd.a,
|
||||
dl.multiselect dd.a .form-item { width:8em; }
|
||||
|
||||
.container-inline div,
|
||||
.container-inline label { display:inline; }
|
||||
|
||||
/**
|
||||
* Autocomplete styles
|
||||
*/
|
||||
#autocomplete {
|
||||
position:absolute;
|
||||
border:1px solid;
|
||||
overflow:hidden;
|
||||
z-index:100;
|
||||
}
|
||||
|
||||
#autocomplete li {
|
||||
background:#fff;
|
||||
color:#000;
|
||||
white-space:pre;
|
||||
cursor:default;
|
||||
}
|
||||
|
||||
#autocomplete li.selected {
|
||||
background:#0072b9;
|
||||
color:#fff;
|
||||
}
|
||||
|
||||
/**
|
||||
* Animated throbber
|
||||
*/
|
||||
html.js input.throbbing { background:transparent url(drupal/throbber.gif) 100% 50% no-repeat; }
|
||||
|
||||
/**
|
||||
* Resizable text areas
|
||||
*/
|
||||
.form-textarea-wrapper textarea {
|
||||
width: 100%;
|
||||
display: block;
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.resizable textarea { resize:vertical; }
|
||||
|
||||
/**
|
||||
* Table drag and drop.
|
||||
*/
|
||||
.draggable a.tabledrag-handle {
|
||||
cursor:move;
|
||||
float:left;
|
||||
margin-right:10px;
|
||||
text-decoration:none;
|
||||
}
|
||||
|
||||
a.tabledrag-handle:hover { text-decoration:none; }
|
||||
|
||||
a.tabledrag-handle .handle {
|
||||
height:20px;
|
||||
width:20px;
|
||||
background:url(drupal/draggable.png) 0px 0px no-repeat;
|
||||
}
|
||||
|
||||
a.tabledrag-handle-hover .handle { background-position:0px -20px; }
|
||||
|
||||
div.indentation {
|
||||
width:20px;
|
||||
height:20px;
|
||||
float:left; /* LTR */
|
||||
}
|
||||
|
||||
div.tree-child { background:url(drupal/tree.png) no-repeat 10px 50%; }
|
||||
div.tree-child-last { background:url(drupal/tree-bottom.png) no-repeat 10px 50%; }
|
||||
div.tree-child-horizontal { background:url(drupal/tree.png) no-repeat -10px 50%; }
|
||||
|
||||
/**
|
||||
* Teaser splitter
|
||||
*/
|
||||
.joined + .grippie {
|
||||
height:5px;
|
||||
margin-bottom:-2px;
|
||||
}
|
||||
|
||||
/* Keeps inner content contained in Opera 9. */
|
||||
.teaser-checkbox { padding-top:1px; }
|
||||
|
||||
div.teaser-button-wrapper {
|
||||
float:right;
|
||||
padding-right:5px;
|
||||
}
|
||||
|
||||
.teaser-checkbox div.form-item {
|
||||
float:right;
|
||||
margin-right:5px;
|
||||
}
|
||||
|
||||
textarea.teaser { display:none; }
|
||||
html.js .no-js { display:none; }
|
||||
|
||||
/*
|
||||
** Progressbar styles
|
||||
*/
|
||||
.progress { font-weight:bold; }
|
||||
|
||||
.progress .bar {
|
||||
background:#fff url(drupal/progress.gif);
|
||||
border:1px solid #035;
|
||||
height:18px;
|
||||
}
|
||||
|
||||
.progress .filled {
|
||||
background:#07b;
|
||||
height:18px;
|
||||
width:0%;
|
||||
}
|
||||
|
||||
.progress .percentage { float:right; }
|
||||
.progress-disabled { float:left; }
|
||||
.ahah-progress { float:left; }
|
||||
|
||||
.ahah-progress .throbber {
|
||||
width:20px;
|
||||
height:20px;
|
||||
background:transparent url(drupal/throbber.gif) 50% 50% no-repeat;
|
||||
float:left;
|
||||
}
|
||||
|
||||
.ahah-progress-bar { width:16em; }
|
||||
|
||||
/**
|
||||
* Formatting for welcome page
|
||||
*/
|
||||
#first-time strong { display:block; }
|
||||
|
||||
/**
|
||||
* To be used with tableselect.js
|
||||
*/
|
||||
tr.selected td { background:#ffc; }
|
||||
|
||||
/**
|
||||
* Floating header for tableheader.js
|
||||
*/
|
||||
table.sticky-header {
|
||||
margin-top:0px;
|
||||
background:#fff;
|
||||
}
|
||||
|
||||
/**
|
||||
* Installation clean URLs
|
||||
*/
|
||||
#clean-url.install { display:none; }
|
||||
|
||||
/**
|
||||
* For anything you want to hide on page load when JS is enabled, so
|
||||
* that you can use the JS to control visibility and avoid flicker.
|
||||
*/
|
||||
html.js .js-hide { display:none; }
|
||||
|
||||
/**
|
||||
* Styles for the system modules page (admin/build/modules)
|
||||
*/
|
||||
#system-modules div.incompatible,
|
||||
#system-themes-form div.incompatible { font-weight:bold; }
|
||||
|
||||
/**
|
||||
* Markup free clearing
|
||||
* Details: http://perishablepress.com/press/2009/12/06/new-clearfix-hack
|
||||
*/
|
||||
.clearfix:after {
|
||||
content: ".";
|
||||
display: block;
|
||||
height: 0;
|
||||
clear: both;
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
* html .clearfix { height: 1%; } /* IE6 */
|
||||
|
||||
*:first-child + html .clearfix { min-height: 1%; } /* IE7 */
|
||||
|
||||
/**
|
||||
* update/update.css ==================================================
|
||||
*/
|
||||
.update .project,
|
||||
.update table.version-recommended-strong .version-title { font-weight:bold; }
|
||||
|
||||
.update .version-status { float:right; }
|
||||
.update .version-status .icon { padding-left:10px; }
|
||||
.update .version-date { white-space:nowrap; }
|
||||
|
||||
.update tr.error .version-recommended { background: #fdd; }
|
||||
.update tr.warning .version-recommended { background: #ffe; }
|
||||
|
||||
.current-version,
|
||||
.new-version { direction: ltr; /* Note: version numbers should always be LTR. */ }
|
||||
|
||||
.update tr.unknown { background: #ddd; }
|
||||
.update table.version-security .version-title { color: #910; }
|
||||
|
||||
.update .security-error {
|
||||
font-weight: bold;
|
||||
color: #910;
|
||||
}
|
||||
|
||||
/**
|
||||
* user/user.css ======================================================
|
||||
*/
|
||||
#permissions td.module { font-weight: bold; }
|
||||
#permissions td.permission { padding-left:20px; }
|
||||
|
||||
/**
|
||||
* misc/vertical-tabs.css =============================================
|
||||
*/
|
||||
.vertical-tabs { padding-left:200px; }
|
||||
|
||||
.vertical-tabs .vertical-tabs-list {
|
||||
float:left;
|
||||
width:200px;
|
||||
margin-left:-200px;
|
||||
}
|
||||
|
||||
.vertical-tabs .vertical-tabs-panes .vertical-tabs-pane {
|
||||
margin:0px;
|
||||
padding:0px;
|
||||
border:0px;
|
||||
}
|
||||
|
||||
.vertical-tabs .vertical-tabs-panes .vertical-tabs-pane legend { display:none; }
|
||||
.vertical-tabs .vertical-tabs-list .summary { display:block; }
|
BIN
sites/all/themes/contrid/tao/drupal/draggable.png
Normal file
BIN
sites/all/themes/contrid/tao/drupal/draggable.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 300 B |
BIN
sites/all/themes/contrid/tao/drupal/progress.gif
Normal file
BIN
sites/all/themes/contrid/tao/drupal/progress.gif
Normal file
Binary file not shown.
After Width: | Height: | Size: 790 B |
BIN
sites/all/themes/contrid/tao/drupal/throbber.gif
Normal file
BIN
sites/all/themes/contrid/tao/drupal/throbber.gif
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.4 KiB |
BIN
sites/all/themes/contrid/tao/drupal/tree-bottom.png
Normal file
BIN
sites/all/themes/contrid/tao/drupal/tree-bottom.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 976 B |
BIN
sites/all/themes/contrid/tao/drupal/tree.png
Normal file
BIN
sites/all/themes/contrid/tao/drupal/tree.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 979 B |
65
sites/all/themes/contrid/tao/reset-rtl.css
Normal file
65
sites/all/themes/contrid/tao/reset-rtl.css
Normal file
@@ -0,0 +1,65 @@
|
||||
html,
|
||||
body,
|
||||
div,
|
||||
span,
|
||||
applet,
|
||||
object,
|
||||
iframe,
|
||||
h1,
|
||||
h2,
|
||||
h3,
|
||||
h4,
|
||||
h5,
|
||||
h6,
|
||||
p,
|
||||
blockquote,
|
||||
pre,
|
||||
a,
|
||||
abbr,
|
||||
acronym,
|
||||
address,
|
||||
big,
|
||||
cite,
|
||||
code,
|
||||
del,
|
||||
dfn,
|
||||
em,
|
||||
font,
|
||||
img,
|
||||
ins,
|
||||
kbd,
|
||||
q,
|
||||
s,
|
||||
samp,
|
||||
small,
|
||||
strike,
|
||||
strong,
|
||||
sub,
|
||||
sup,
|
||||
tt,
|
||||
var,
|
||||
b,
|
||||
u,
|
||||
i,
|
||||
center,
|
||||
dl,
|
||||
dt,
|
||||
dd,
|
||||
ol,
|
||||
ul,
|
||||
li,
|
||||
fieldset,
|
||||
form,
|
||||
input,
|
||||
select,
|
||||
textarea,
|
||||
label,
|
||||
legend,
|
||||
table,
|
||||
caption,
|
||||
tbody,
|
||||
tfoot,
|
||||
thead,
|
||||
tr,
|
||||
th,
|
||||
td { direction:rtl; }
|
119
sites/all/themes/contrid/tao/reset.css
Normal file
119
sites/all/themes/contrid/tao/reset.css
Normal file
@@ -0,0 +1,119 @@
|
||||
/**
|
||||
* Reset ==============================================================
|
||||
* Based on http://meyerweb.com/eric/tools/css/reset
|
||||
*/
|
||||
|
||||
html,
|
||||
body,
|
||||
div,
|
||||
span,
|
||||
applet,
|
||||
object,
|
||||
iframe,
|
||||
h1,
|
||||
h2,
|
||||
h3,
|
||||
h4,
|
||||
h5,
|
||||
h6,
|
||||
p,
|
||||
blockquote,
|
||||
pre,
|
||||
a,
|
||||
abbr,
|
||||
acronym,
|
||||
address,
|
||||
big,
|
||||
cite,
|
||||
code,
|
||||
del,
|
||||
dfn,
|
||||
em,
|
||||
font,
|
||||
img,
|
||||
ins,
|
||||
kbd,
|
||||
q,
|
||||
s,
|
||||
samp,
|
||||
small,
|
||||
strike,
|
||||
strong,
|
||||
sub,
|
||||
sup,
|
||||
tt,
|
||||
var,
|
||||
b,
|
||||
u,
|
||||
i,
|
||||
center,
|
||||
dl,
|
||||
dt,
|
||||
dd,
|
||||
ol,
|
||||
ul,
|
||||
li,
|
||||
fieldset,
|
||||
form,
|
||||
input,
|
||||
select,
|
||||
textarea,
|
||||
label,
|
||||
legend,
|
||||
table,
|
||||
caption,
|
||||
tbody,
|
||||
tfoot,
|
||||
thead,
|
||||
tr,
|
||||
th,
|
||||
td {
|
||||
margin:0px;
|
||||
padding:0px;
|
||||
border:0px;
|
||||
outline:0px;
|
||||
font-size:100%;
|
||||
vertical-align:baseline;
|
||||
background:transparent;
|
||||
line-height:inherit;
|
||||
}
|
||||
|
||||
ol,
|
||||
ul,
|
||||
ul,
|
||||
ul li { list-style:none; }
|
||||
|
||||
blockquote,
|
||||
q { quotes:none; }
|
||||
|
||||
blockquote:before,
|
||||
blockquote:after,
|
||||
q:before,
|
||||
q:after {
|
||||
content:'';
|
||||
content:none;
|
||||
}
|
||||
|
||||
/* remember to define focus styles! */
|
||||
:focus { outline:0px; }
|
||||
|
||||
/* remember to highlight inserts somehow! */
|
||||
ins { text-decoration:none; }
|
||||
del { text-decoration:line-through; }
|
||||
|
||||
/* tables still need 'cellspacing="0"' in the markup */
|
||||
table {
|
||||
border-collapse:collapse;
|
||||
border-spacing:0px;
|
||||
}
|
||||
|
||||
/**
|
||||
* Font reset =========================================================
|
||||
*
|
||||
* Specifically targets form elements which browsers oftentimes give
|
||||
* special treatment.
|
||||
*/
|
||||
input,
|
||||
select,
|
||||
textarea,
|
||||
body { font: 13px/20px "Helvetica Neue",Helvetica,Arial,sans-serif; }
|
BIN
sites/all/themes/contrid/tao/screenshot.png
Normal file
BIN
sites/all/themes/contrid/tao/screenshot.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 265 B |
29
sites/all/themes/contrid/tao/tao.info
Normal file
29
sites/all/themes/contrid/tao/tao.info
Normal file
@@ -0,0 +1,29 @@
|
||||
core = 7.x
|
||||
description = Tao is a base theme that is all about going with the flow. It takes care of key reset and utility tasks so that sub-themes can get on with their job.
|
||||
engine = phptemplate
|
||||
name = Tao
|
||||
|
||||
; Regions =====================================================================
|
||||
|
||||
regions[sidebar_first] = Sidebar first
|
||||
regions[sidebar_second] = Sidebar second
|
||||
regions[content] = Content
|
||||
regions[header] = Header
|
||||
regions[help] = Help
|
||||
regions[footer] = Footer
|
||||
regions[page_top] = Page top
|
||||
regions[page_bottom] = Page bottom
|
||||
regions[highlighted] = Highlighted
|
||||
|
||||
; Stylesheets =================================================================
|
||||
|
||||
stylesheets[all][] = reset.css
|
||||
stylesheets[all][] = base.css
|
||||
stylesheets[screen][] = drupal.css
|
||||
|
||||
; Information added by drupal.org packaging script on 2011-09-21
|
||||
version = "7.x-3.0-beta4"
|
||||
core = "7.x"
|
||||
project = "tao"
|
||||
datestamp = "1316616407"
|
||||
|
477
sites/all/themes/contrid/tao/template.php
Normal file
477
sites/all/themes/contrid/tao/template.php
Normal file
@@ -0,0 +1,477 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Implements hook_css_alter().
|
||||
* @TODO: Once http://drupal.org/node/901062 is resolved, determine whether
|
||||
* this can be implemented in the .info file instead.
|
||||
*
|
||||
* Omitted:
|
||||
* - color.css
|
||||
* - contextual.css
|
||||
* - dashboard.css
|
||||
* - field_ui.css
|
||||
* - image.css
|
||||
* - locale.css
|
||||
* - shortcut.css
|
||||
* - simpletest.css
|
||||
* - toolbar.css
|
||||
*/
|
||||
function tao_css_alter(&$css) {
|
||||
$exclude = array(
|
||||
'misc/vertical-tabs.css' => FALSE,
|
||||
'modules/aggregator/aggregator.css' => FALSE,
|
||||
'modules/block/block.css' => FALSE,
|
||||
'modules/book/book.css' => FALSE,
|
||||
'modules/comment/comment.css' => FALSE,
|
||||
'modules/dblog/dblog.css' => FALSE,
|
||||
'modules/file/file.css' => FALSE,
|
||||
'modules/filter/filter.css' => FALSE,
|
||||
'modules/forum/forum.css' => FALSE,
|
||||
'modules/help/help.css' => FALSE,
|
||||
'modules/menu/menu.css' => FALSE,
|
||||
'modules/node/node.css' => FALSE,
|
||||
'modules/openid/openid.css' => FALSE,
|
||||
'modules/poll/poll.css' => FALSE,
|
||||
'modules/profile/profile.css' => FALSE,
|
||||
'modules/search/search.css' => FALSE,
|
||||
'modules/statistics/statistics.css' => FALSE,
|
||||
'modules/syslog/syslog.css' => FALSE,
|
||||
'modules/system/admin.css' => FALSE,
|
||||
'modules/system/maintenance.css' => FALSE,
|
||||
'modules/system/system.css' => FALSE,
|
||||
'modules/system/system.admin.css' => FALSE,
|
||||
'modules/system/system.base.css' => FALSE,
|
||||
'modules/system/system.maintenance.css' => FALSE,
|
||||
'modules/system/system.menus.css' => FALSE,
|
||||
'modules/system/system.messages.css' => FALSE,
|
||||
'modules/system/system.theme.css' => FALSE,
|
||||
'modules/taxonomy/taxonomy.css' => FALSE,
|
||||
'modules/tracker/tracker.css' => FALSE,
|
||||
'modules/update/update.css' => FALSE,
|
||||
'modules/user/user.css' => FALSE,
|
||||
);
|
||||
$css = array_diff_key($css, $exclude);
|
||||
}
|
||||
|
||||
/**
|
||||
* Implementation of hook_theme().
|
||||
*/
|
||||
function tao_theme() {
|
||||
$items = array();
|
||||
|
||||
// Consolidate a variety of theme functions under a single template type.
|
||||
$items['block'] = array(
|
||||
'arguments' => array('block' => NULL),
|
||||
'template' => 'object',
|
||||
'path' => drupal_get_path('theme', 'tao') .'/templates',
|
||||
);
|
||||
$items['comment'] = array(
|
||||
'arguments' => array('comment' => NULL, 'node' => NULL, 'links' => array()),
|
||||
'template' => 'object',
|
||||
'path' => drupal_get_path('theme', 'tao') .'/templates',
|
||||
);
|
||||
$items['node'] = array(
|
||||
'arguments' => array('node' => NULL, 'teaser' => FALSE, 'page' => FALSE),
|
||||
'template' => 'node',
|
||||
'path' => drupal_get_path('theme', 'tao') .'/templates',
|
||||
);
|
||||
$items['fieldset'] = array(
|
||||
'arguments' => array('element' => array()),
|
||||
'template' => 'fieldset',
|
||||
'path' => drupal_get_path('theme', 'tao') .'/templates',
|
||||
);
|
||||
|
||||
// Split out pager list into separate theme function.
|
||||
$items['pager_list'] = array('arguments' => array(
|
||||
'tags' => array(),
|
||||
'limit' => 10,
|
||||
'element' => 0,
|
||||
'parameters' => array(),
|
||||
'quantity' => 9,
|
||||
));
|
||||
|
||||
return $items;
|
||||
}
|
||||
|
||||
/**
|
||||
* Preprocess functions ===============================================
|
||||
*/
|
||||
function tao_preprocess_html(&$vars) {
|
||||
$vars['classes_array'][] = 'tao';
|
||||
}
|
||||
|
||||
/**
|
||||
* Implementation of preprocess_page().
|
||||
*/
|
||||
function tao_preprocess_page(&$vars) {
|
||||
// Split primary and secondary local tasks
|
||||
$vars['primary_local_tasks'] = menu_primary_local_tasks();
|
||||
$vars['secondary_local_tasks'] = menu_secondary_local_tasks();
|
||||
|
||||
// Link site name to frontpage
|
||||
$vars['site_name'] = l($vars['site_name'], '<front>');
|
||||
}
|
||||
|
||||
/**
|
||||
* Implementation of preprocess_block().
|
||||
*/
|
||||
function tao_preprocess_block(&$vars) {
|
||||
$vars['hook'] = 'block';
|
||||
|
||||
$vars['attributes_array']['id'] = $vars['block_html_id'];
|
||||
|
||||
$vars['title_attributes_array']['class'][] = 'block-title';
|
||||
$vars['title_attributes_array']['class'][] = 'clearfix';
|
||||
|
||||
$vars['content_attributes_array']['class'][] = 'block-content';
|
||||
$vars['content_attributes_array']['class'][] = 'clearfix';
|
||||
if ($vars['block']->module == 'block') {
|
||||
$vars['content_attributes_array']['class'][] = 'prose';
|
||||
}
|
||||
|
||||
$vars['title'] = !empty($vars['block']->subject) ? $vars['block']->subject : '';
|
||||
|
||||
// In D7 the page content may be served as a block. Replace the generic
|
||||
// 'block' class from the page content with a more specific class that can
|
||||
// be used to distinguish this block from others.
|
||||
// Subthemes can easily override this behavior in an implementation of
|
||||
// preprocess_block().
|
||||
if ($vars['block']->module === 'system' && $vars['block']->delta === 'main') {
|
||||
$vars['classes_array'] = array_diff($vars['classes_array'], array('block'));
|
||||
$vars['classes_array'][] = 'block-page-content';
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Implementation of preprocess_node().
|
||||
*/
|
||||
function tao_preprocess_node(&$vars) {
|
||||
$vars['hook'] = 'node';
|
||||
|
||||
$vars['attributes_array']['id'] = "node-{$vars['node']->nid}";
|
||||
|
||||
$vars['title_attributes_array']['class'][] = 'node-title';
|
||||
$vars['title_attributes_array']['class'][] = 'clearfix';
|
||||
|
||||
$vars['content_attributes_array']['class'][] = 'node-content';
|
||||
$vars['content_attributes_array']['class'][] = 'clearfix';
|
||||
$vars['content_attributes_array']['class'][] = 'prose';
|
||||
|
||||
if (isset($vars['content']['links'])) {
|
||||
$vars['links'] = $vars['content']['links'];
|
||||
unset($vars['content']['links']);
|
||||
}
|
||||
|
||||
if (isset($vars['content']['comments'])) {
|
||||
$vars['post_object']['comments'] = $vars['content']['comments'];
|
||||
unset($vars['content']['comments']);
|
||||
}
|
||||
|
||||
if ($vars['display_submitted']) {
|
||||
$vars['submitted'] = t('Submitted by !username on !datetime', array(
|
||||
'!username' => $vars['name'],
|
||||
'!datetime' => $vars['date'],
|
||||
));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Implementation of preprocess_comment().
|
||||
*/
|
||||
function tao_preprocess_comment(&$vars) {
|
||||
$vars['hook'] = 'comment';
|
||||
|
||||
$vars['title_attributes_array']['class'][] = 'comment-title';
|
||||
$vars['title_attributes_array']['class'][] = 'clearfix';
|
||||
|
||||
$vars['content_attributes_array']['class'][] = 'comment-content';
|
||||
$vars['content_attributes_array']['class'][] = 'clearfix';
|
||||
|
||||
$vars['submitted'] = t('Submitted by !username on !datetime', array(
|
||||
'!username' => $vars['author'],
|
||||
'!datetime' => $vars['created'],
|
||||
));
|
||||
|
||||
if (isset($vars['content']['links'])) {
|
||||
$vars['links'] = $vars['content']['links'];
|
||||
unset($vars['content']['links']);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Implementation of preprocess_fieldset().
|
||||
*/
|
||||
function tao_preprocess_fieldset(&$vars) {
|
||||
$element = $vars['element'];
|
||||
_form_set_class($element, array('form-wrapper'));
|
||||
$vars['attributes'] = isset($element['#attributes']) ? $element['#attributes'] : array();
|
||||
$vars['attributes']['class'][] = 'fieldset';
|
||||
if (!empty($element['#title'])) {
|
||||
$vars['attributes']['class'][] = 'titled';
|
||||
}
|
||||
if (!empty($element['#id'])) {
|
||||
$vars['attributes']['id'] = $element['#id'];
|
||||
}
|
||||
|
||||
$description = !empty($element['#description']) ? "<div class='description'>{$element['#description']}</div>" : '';
|
||||
$children = !empty($element['#children']) ? $element['#children'] : '';
|
||||
$value = !empty($element['#value']) ? $element['#value'] : '';
|
||||
$vars['content'] = $description . $children . $value;
|
||||
$vars['title'] = !empty($element['#title']) ? $element['#title'] : '';
|
||||
$vars['hook'] = 'fieldset';
|
||||
}
|
||||
|
||||
/**
|
||||
* Implementation of preprocess_field().
|
||||
*/
|
||||
function tao_preprocess_field(&$vars) {
|
||||
// Add prose class to long text fields.
|
||||
if ($vars['element']['#field_type'] === 'text_with_summary') {
|
||||
$vars['classes_array'][] = 'prose';
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Function overrides =================================================
|
||||
*/
|
||||
|
||||
/**
|
||||
* Override of theme('textarea').
|
||||
* Deprecate misc/textarea.js in favor of using the 'resize' CSS3 property.
|
||||
*/
|
||||
function tao_textarea($variables) {
|
||||
$element = $variables['element'];
|
||||
$element['#attributes']['name'] = $element['#name'];
|
||||
$element['#attributes']['id'] = $element['#id'];
|
||||
$element['#attributes']['cols'] = $element['#cols'];
|
||||
$element['#attributes']['rows'] = $element['#rows'];
|
||||
_form_set_class($element, array('form-textarea'));
|
||||
|
||||
$wrapper_attributes = array(
|
||||
'class' => array('form-textarea-wrapper'),
|
||||
);
|
||||
|
||||
// Add resizable behavior.
|
||||
if (!empty($element['#resizable'])) {
|
||||
$wrapper_attributes['class'][] = 'resizable';
|
||||
}
|
||||
|
||||
$output = '<div' . drupal_attributes($wrapper_attributes) . '>';
|
||||
$output .= '<textarea' . drupal_attributes($element['#attributes']) . '>' . check_plain($element['#value']) . '</textarea>';
|
||||
$output .= '</div>';
|
||||
return $output;
|
||||
}
|
||||
|
||||
/**
|
||||
* Override of theme_pager().
|
||||
* Easily one of the most obnoxious theming jobs in Drupal core.
|
||||
* Goals: consolidate functionality into less than 5 functions and
|
||||
* ensure the markup will not conflict with major other styles
|
||||
* (theme_item_list() in particular).
|
||||
*/
|
||||
function tao_pager($vars) {
|
||||
$tags = $vars['tags'];
|
||||
$element = $vars['element'];
|
||||
$parameters = $vars['parameters'];
|
||||
$quantity = $vars['quantity'];
|
||||
$pager_list = theme('pager_list', $vars);
|
||||
|
||||
$links = array();
|
||||
$links['pager-first'] = theme('pager_first', array(
|
||||
'text' => (isset($tags[0]) ? $tags[0] : t('First')),
|
||||
'element' => $element,
|
||||
'parameters' => $parameters
|
||||
));
|
||||
$links['pager-previous'] = theme('pager_previous', array(
|
||||
'text' => (isset($tags[1]) ? $tags[1] : t('Prev')),
|
||||
'element' => $element,
|
||||
'interval' => 1,
|
||||
'parameters' => $parameters
|
||||
));
|
||||
$links['pager-next'] = theme('pager_next', array(
|
||||
'text' => (isset($tags[3]) ? $tags[3] : t('Next')),
|
||||
'element' => $element,
|
||||
'interval' => 1,
|
||||
'parameters' => $parameters
|
||||
));
|
||||
$links['pager-last'] = theme('pager_last', array(
|
||||
'text' => (isset($tags[4]) ? $tags[4] : t('Last')),
|
||||
'element' => $element,
|
||||
'parameters' => $parameters
|
||||
));
|
||||
$links = array_filter($links);
|
||||
$pager_links = theme('links', array(
|
||||
'links' => $links,
|
||||
'attributes' => array('class' => 'links pager pager-links')
|
||||
));
|
||||
if ($pager_list) {
|
||||
return "<div class='pager clearfix'>$pager_list $pager_links</div>";
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Split out page list generation into its own function.
|
||||
*/
|
||||
function tao_pager_list($vars) {
|
||||
$tags = $vars['tags'];
|
||||
$element = $vars['element'];
|
||||
$parameters = $vars['parameters'];
|
||||
$quantity = $vars['quantity'];
|
||||
|
||||
global $pager_page_array, $pager_total;
|
||||
if ($pager_total[$element] > 1) {
|
||||
// Calculate various markers within this pager piece:
|
||||
// Middle is used to "center" pages around the current page.
|
||||
$pager_middle = ceil($quantity / 2);
|
||||
// current is the page we are currently paged to
|
||||
$pager_current = $pager_page_array[$element] + 1;
|
||||
// first is the first page listed by this pager piece (re quantity)
|
||||
$pager_first = $pager_current - $pager_middle + 1;
|
||||
// last is the last page listed by this pager piece (re quantity)
|
||||
$pager_last = $pager_current + $quantity - $pager_middle;
|
||||
// max is the maximum page number
|
||||
$pager_max = $pager_total[$element];
|
||||
// End of marker calculations.
|
||||
|
||||
// Prepare for generation loop.
|
||||
$i = $pager_first;
|
||||
if ($pager_last > $pager_max) {
|
||||
// Adjust "center" if at end of query.
|
||||
$i = $i + ($pager_max - $pager_last);
|
||||
$pager_last = $pager_max;
|
||||
}
|
||||
if ($i <= 0) {
|
||||
// Adjust "center" if at start of query.
|
||||
$pager_last = $pager_last + (1 - $i);
|
||||
$i = 1;
|
||||
}
|
||||
// End of generation loop preparation.
|
||||
|
||||
$links = array();
|
||||
|
||||
// When there is more than one page, create the pager list.
|
||||
if ($i != $pager_max) {
|
||||
// Now generate the actual pager piece.
|
||||
for ($i; $i <= $pager_last && $i <= $pager_max; $i++) {
|
||||
if ($i < $pager_current) {
|
||||
$links["$i pager-item"] = theme('pager_previous', array(
|
||||
'text' => $i,
|
||||
'element' => $element,
|
||||
'interval' => ($pager_current - $i),
|
||||
'parameters' => $parameters
|
||||
));
|
||||
}
|
||||
if ($i == $pager_current) {
|
||||
$links["$i pager-current"] = array('title' => $i);
|
||||
}
|
||||
if ($i > $pager_current) {
|
||||
$links["$i pager-item"] = theme('pager_next', array(
|
||||
'text' => $i,
|
||||
'element' => $element,
|
||||
'interval' => ($i - $pager_current),
|
||||
'parameters' => $parameters
|
||||
));
|
||||
}
|
||||
}
|
||||
return theme('links', array(
|
||||
'links' => $links,
|
||||
'attributes' => array('class' => 'links pager pager-list')
|
||||
));
|
||||
}
|
||||
}
|
||||
return '';
|
||||
}
|
||||
|
||||
/**
|
||||
* Return an array suitable for theme_links() rather than marked up HTML link.
|
||||
*/
|
||||
function tao_pager_link($vars) {
|
||||
$text = $vars['text'];
|
||||
$page_new = $vars['page_new'];
|
||||
$element = $vars['element'];
|
||||
$parameters = $vars['parameters'];
|
||||
$attributes = $vars['attributes'];
|
||||
|
||||
$page = isset($_GET['page']) ? $_GET['page'] : '';
|
||||
if ($new_page = implode(',', pager_load_array($page_new[$element], $element, explode(',', $page)))) {
|
||||
$parameters['page'] = $new_page;
|
||||
}
|
||||
|
||||
$query = array();
|
||||
if (count($parameters)) {
|
||||
$query = drupal_get_query_parameters($parameters, array());
|
||||
}
|
||||
if ($query_pager = pager_get_query_parameters()) {
|
||||
$query = array_merge($query, $query_pager);
|
||||
}
|
||||
|
||||
// Set each pager link title
|
||||
if (!isset($attributes['title'])) {
|
||||
static $titles = NULL;
|
||||
if (!isset($titles)) {
|
||||
$titles = array(
|
||||
t('« first') => t('Go to first page'),
|
||||
t('‹ previous') => t('Go to previous page'),
|
||||
t('next ›') => t('Go to next page'),
|
||||
t('last »') => t('Go to last page'),
|
||||
);
|
||||
}
|
||||
if (isset($titles[$text])) {
|
||||
$attributes['title'] = $titles[$text];
|
||||
}
|
||||
else if (is_numeric($text)) {
|
||||
$attributes['title'] = t('Go to page @number', array('@number' => $text));
|
||||
}
|
||||
}
|
||||
|
||||
return array(
|
||||
'title' => $text,
|
||||
'href' => $_GET['q'],
|
||||
'attributes' => $attributes,
|
||||
'query' => count($query) ? $query : NULL,
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Override of theme_views_mini_pager().
|
||||
*/
|
||||
function tao_views_mini_pager($vars) {
|
||||
$tags = $vars['tags'];
|
||||
$quantity = $vars['quantity'];
|
||||
$element = $vars['element'];
|
||||
$parameters = $vars['parameters'];
|
||||
|
||||
global $pager_page_array, $pager_total;
|
||||
|
||||
// Calculate various markers within this pager piece:
|
||||
// Middle is used to "center" pages around the current page.
|
||||
$pager_middle = ceil($quantity / 2);
|
||||
// current is the page we are currently paged to
|
||||
$pager_current = $pager_page_array[$element] + 1;
|
||||
// max is the maximum page number
|
||||
$pager_max = $pager_total[$element];
|
||||
// End of marker calculations.
|
||||
|
||||
$links = array();
|
||||
if ($pager_total[$element] > 1) {
|
||||
$links['pager-previous'] = theme('pager_previous', array(
|
||||
'text' => (isset($tags[1]) ? $tags[1] : t('Prev')),
|
||||
'element' => $element,
|
||||
'interval' => 1,
|
||||
'parameters' => $parameters
|
||||
));
|
||||
$links['pager-current'] = array(
|
||||
'title' => t('@current of @max', array(
|
||||
'@current' => $pager_current,
|
||||
'@max' => $pager_max)
|
||||
)
|
||||
);
|
||||
$links['pager-next'] = theme('pager_next', array(
|
||||
'text' => (isset($tags[3]) ? $tags[3] : t('Next')),
|
||||
'element' => $element,
|
||||
'interval' => 1,
|
||||
'parameters' => $parameters
|
||||
));
|
||||
return theme('links', array('links' => $links, 'attributes' => array('class' => array('links', 'pager', 'views-mini-pager'))));
|
||||
}
|
||||
}
|
8
sites/all/themes/contrid/tao/templates/fieldset.tpl.php
Normal file
8
sites/all/themes/contrid/tao/templates/fieldset.tpl.php
Normal file
@@ -0,0 +1,8 @@
|
||||
<fieldset <?php if (!empty($attributes)) print drupal_attributes($attributes) ?>>
|
||||
<?php if (!empty($title)): ?>
|
||||
<legend><span class='<?php print $hook ?>-title fieldset-legend'><?php print $title ?></span></legend>
|
||||
<?php endif; ?>
|
||||
<?php if (!empty($content)): ?>
|
||||
<div class='<?php print $hook ?>-content fieldset-wrapper clearfix'><?php print $content ?></div>
|
||||
<?php endif; ?>
|
||||
</fieldset>
|
32
sites/all/themes/contrid/tao/templates/node.tpl.php
Normal file
32
sites/all/themes/contrid/tao/templates/node.tpl.php
Normal file
@@ -0,0 +1,32 @@
|
||||
<?php if (!empty($pre_object)) print render($pre_object) ?>
|
||||
|
||||
<div class='<?php print $classes ?> clearfix' <?php print ($attributes) ?>>
|
||||
<?php if (!empty($title_prefix)) print render($title_prefix); ?>
|
||||
|
||||
<?php if (!$page && !empty($title)): ?>
|
||||
<h2 <?php if (!empty($title_attributes)) print $title_attributes ?>>
|
||||
<?php if (!empty($new)): ?><span class='new'><?php print $new ?></span><?php endif; ?>
|
||||
<a href="<?php print $node_url ?>"><?php print $title ?></a>
|
||||
</h2>
|
||||
<?php endif; ?>
|
||||
|
||||
<?php if (!empty($title_suffix)) print render($title_suffix); ?>
|
||||
|
||||
<?php if (!empty($submitted)): ?>
|
||||
<div class='<?php print $hook ?>-submitted clearfix'><?php print $submitted ?></div>
|
||||
<?php endif; ?>
|
||||
|
||||
<?php if (!empty($content)): ?>
|
||||
<div class='<?php print $hook ?>-content clearfix <?php if (!empty($is_prose)) print 'prose' ?>'>
|
||||
<?php print render($content) ?>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
|
||||
<?php if (!empty($links)): ?>
|
||||
<div class='<?php print $hook ?>-links clearfix'>
|
||||
<?php print render($links) ?>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
|
||||
<?php if (!empty($post_object)) print render($post_object) ?>
|
28
sites/all/themes/contrid/tao/templates/object.tpl.php
Normal file
28
sites/all/themes/contrid/tao/templates/object.tpl.php
Normal file
@@ -0,0 +1,28 @@
|
||||
<?php if (!empty($pre_object)) print render($pre_object) ?>
|
||||
|
||||
<div class='<?php print $classes ?> clearfix' <?php print ($attributes) ?>>
|
||||
<?php if (!empty($title_prefix)) print render($title_prefix); ?>
|
||||
|
||||
<?php if (!empty($title)): ?>
|
||||
<h2 <?php if (!empty($title_attributes)) print $title_attributes ?>>
|
||||
<?php if (!empty($new)): ?><span class='new'><?php print $new ?></span><?php endif; ?>
|
||||
<?php print $title ?>
|
||||
</h2>
|
||||
<?php endif; ?>
|
||||
|
||||
<?php if (!empty($title_suffix)) print render($title_suffix); ?>
|
||||
|
||||
<?php if (!empty($submitted)): ?>
|
||||
<div class='<?php print $hook ?>-submitted clearfix'><?php print $submitted ?></div>
|
||||
<?php endif; ?>
|
||||
|
||||
<?php if (!empty($content)): ?>
|
||||
<div <?php print $content_attributes; ?>><?php print render($content) ?></div>
|
||||
<?php endif; ?>
|
||||
|
||||
<?php if (!empty($links)): ?>
|
||||
<div class='<?php print $hook ?>-links clearfix'><?php print render($links) ?></div>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
|
||||
<?php if (!empty($post_object)) print render($post_object) ?>
|
59
sites/all/themes/contrid/tao/templates/page.tpl.php
Normal file
59
sites/all/themes/contrid/tao/templates/page.tpl.php
Normal file
@@ -0,0 +1,59 @@
|
||||
<?php if ($page['help'] || ($show_messages && $messages)): ?>
|
||||
<div id='console'><div class='limiter clearfix'>
|
||||
<?php print render($page['help']); ?>
|
||||
<?php if ($show_messages && $messages): print $messages; endif; ?>
|
||||
</div></div>
|
||||
<?php endif; ?>
|
||||
|
||||
<?php if ($page['header']): ?>
|
||||
<div id='header'><div class='limiter clearfix'>
|
||||
<?php print render($page['header']); ?>
|
||||
</div></div>
|
||||
<?php endif; ?>
|
||||
|
||||
<div id='branding'><div class='limiter clearfix'>
|
||||
<?php if ($site_name): ?><h1 class='site-name'><?php print $site_name ?></h1><?php endif; ?>
|
||||
</div></div>
|
||||
|
||||
<div id='navigation'><div class='limiter clearfix'>
|
||||
<?php if (isset($main_menu)) : ?>
|
||||
<?php print theme('links', array('links' => $main_menu, 'attributes' => array('class' => 'links main-menu'))) ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($secondary_menu)) : ?>
|
||||
<?php print theme('links', array('links' => $secondary_menu, 'attributes' => array('class' => 'links secondary-menu'))) ?>
|
||||
<?php endif; ?>
|
||||
</div></div>
|
||||
|
||||
<?php if ($page['highlighted']): ?>
|
||||
<div id='highlighted'><div class='limiter clearfix'>
|
||||
<?php print render($page['highlighted']); ?>
|
||||
</div></div>
|
||||
<?php endif; ?>
|
||||
|
||||
<div id='page'><div class='limiter clearfix'>
|
||||
|
||||
<?php if ($page['sidebar_first']): ?>
|
||||
<div id='left' class='clearfix'><?php print render($page['sidebar_first']) ?></div>
|
||||
<?php endif; ?>
|
||||
|
||||
<div id='main-content' class='clearfix'>
|
||||
<?php if ($breadcrumb) print $breadcrumb; ?>
|
||||
<?php print render($title_prefix); ?>
|
||||
<?php if ($title): ?><h1 class='page-title'><?php print $title ?></h1><?php endif; ?>
|
||||
<?php print render($title_suffix); ?>
|
||||
<?php if ($primary_local_tasks): ?><ul class='links clearfix'><?php print render($primary_local_tasks) ?></ul><?php endif; ?>
|
||||
<?php if ($secondary_local_tasks): ?><ul class='links clearfix'><?php print render($secondary_local_tasks) ?></ul><?php endif; ?>
|
||||
<?php if ($action_links): ?><ul class='links clearfix'><?php print render($action_links); ?></ul><?php endif; ?>
|
||||
<div id='content' class='clearfix'><?php print render($page['content']) ?></div>
|
||||
</div>
|
||||
|
||||
<?php if ($page['sidebar_second']): ?>
|
||||
<div id='right' class='clearfix'><?php print render($page['sidebar_second']) ?></div>
|
||||
<?php endif; ?>
|
||||
|
||||
</div></div>
|
||||
|
||||
<div id="footer"><div class='limiter clearfix'>
|
||||
<?php print $feed_icons ?>
|
||||
<?php print render($page['footer']) ?>
|
||||
</div></div>
|
@@ -0,0 +1,29 @@
|
||||
<?php
|
||||
reset($rows);
|
||||
$gridsize = count($rows[0]);
|
||||
?>
|
||||
<?php if (!empty($title)) : ?>
|
||||
<h3 class='grid-title'><?php print $title; ?></h3>
|
||||
<?php endif; ?>
|
||||
<table class="views-view-grid grid-<?php print $gridsize ?>">
|
||||
<tbody>
|
||||
<?php foreach ($rows as $row_number => $columns): ?>
|
||||
<?php
|
||||
$row_class = 'row-' . ($row_number + 1);
|
||||
if ($row_number == 0 && count($rows) > 1) {
|
||||
$row_class .= ' row-first';
|
||||
}
|
||||
elseif (count($rows) == ($row_number + 1)) {
|
||||
$row_class .= ' row-last';
|
||||
}
|
||||
?>
|
||||
<tr class="<?php print $row_class; ?>">
|
||||
<?php foreach ($columns as $column_number => $item): ?>
|
||||
<td class="<?php print 'col-'. ($column_number + 1); ?>">
|
||||
<div class='grid-item'><?php print $item; ?></div>
|
||||
</td>
|
||||
<?php endforeach; ?>
|
||||
</tr>
|
||||
<?php endforeach; ?>
|
||||
</tbody>
|
||||
</table>
|
Reference in New Issue
Block a user