diff --git a/core/includes/theme.inc b/core/includes/theme.inc
index 34e1ee5..4c0fbaa 100644
--- a/core/includes/theme.inc
+++ b/core/includes/theme.inc
@@ -2254,7 +2254,7 @@ function _theme_table_cell($cell, $header = FALSE) {
$output = "
$data | ";
}
else {
- $output = "$data | ";
+ $output = "$data";
}
return $output;
diff --git a/core/themes/seven/style.css b/core/themes/seven/style.css
index 380aec8..0117642 100644
--- a/core/themes/seven/style.css
+++ b/core/themes/seven/style.css
@@ -1014,3 +1014,97 @@ div.add-or-remove-shortcuts {
-moz-border-radius: 8px;
border-radius: 8px;
}
+
+/* Responsive Tables */
+
+
+ul.admin-list.tabley li {
+ position: relative;
+ padding-left: 0;
+ padding-top: 9px;
+ background: none; /* LTR */
+ list-style-type: none;
+ list-style-image: none;
+}
+
+ul.admin-list.tabley > li > span:first-child {
+ float: left;
+ padding: 10px 10px 10px 0;
+}
+ul.admin-list.tabley .links.inline {
+ display: block;
+ text-align: right;
+}
+ul.admin-list.tabley .links.inline li {
+ border: 0 none;
+}
+
+ul.admin-list.tabley .tabley-header {
+ display: none;
+}
+
+@media screen and (min-width: 730px) {
+ ul.admin-list.tabley > li {
+ position: relative;
+ padding-left: 30px; /* LTR */
+ padding-top: 9px;
+ border-top: 1px solid #ccc;
+ margin-left: 0; /* LTR */
+ margin-bottom: 10px;
+ background: url(images/list-item.png) no-repeat 0 11px; /* LTR */
+ list-style-type: none;
+ list-style-image: none;
+ }
+
+ ul.admin-list.tabley > li > span:after,
+ ul.admin-list.tabley > li > span:before {
+ content: ""!important;
+ }
+
+ ul.admin-list.tabley {
+ display: table;
+ width: 100%;
+ }
+ ul.admin-list.tabley > li,
+ ul.admin-list.tabley .tabley-header {
+ background: none;
+ display: table-row;
+ background: none repeat scroll 0 0 #F3F4EE;
+ border-color: #BEBFB9;
+ border-style: solid;
+ border-width: 0 1px;
+ }
+ ul.admin-list.tabley > li:nth-child(even) {
+ background: #FFF;
+ }
+ ul.admin-list.tabley > li > span,
+ ul.admin-list.tabley > li > span:first-child {
+ display: table-cell;
+ border: 0 none;
+ color: #000000;
+ padding: 8px 10px;
+ vertical-align: middle;
+ }
+ ul.admin-list.tabley .form-type-checkbox, ul.admin-list .links {
+ display: block;
+ }
+}
+
+/* PAGE SPECIFIC STUFF */
+/*admin/content*/
+ul.admin-list > li > span:after {
+ content: " ";
+}
+
+#node-admin-content ul.admin-list > li > span:nth-child(2) {
+ display: block;
+}
+#node-admin-content ul.admin-list > li > span:nth-child(3):before {
+ content: "An ";
+}
+#node-admin-content ul.admin-list > li > span:nth-child(4):before {
+ content: " by ";
+}
+#node-admin-content ul.admin-list > li > span:nth-child(5):after {
+ content: " on ";
+}
\ No newline at end of file
diff --git a/core/themes/seven/template.php b/core/themes/seven/template.php
index d47f57a..194d074 100644
--- a/core/themes/seven/template.php
+++ b/core/themes/seven/template.php
@@ -59,6 +59,131 @@ function seven_node_add_list($variables) {
return $output;
}
+function seven_table($variables) {
+ $header = $variables['header'];
+ $rows = $variables['rows'];
+ $attributes = $variables['attributes'];
+ $caption = $variables['caption'];
+ $colgroups = $variables['colgroups'];
+ $sticky = $variables['sticky'];
+ $empty = $variables['empty'];
+
+ $output = '\n";
+
+ if (isset($caption)) {
+ $output .= '' . $caption . "\n";
+ }
+
+ // Format the table columns:
+ if (count($colgroups)) {
+ foreach ($colgroups as $number => $colgroup) {
+ $attributes = array();
+
+ // Check if we're dealing with a simple or complex column
+ if (isset($colgroup['data'])) {
+ foreach ($colgroup as $key => $value) {
+ if ($key == 'data') {
+ $cols = $value;
+ }
+ else {
+ $attributes[$key] = $value;
+ }
+ }
+ }
+ else {
+ $cols = $colgroup;
+ }
+
+ // Build colgroup
+ if (is_array($cols) && count($cols)) {
+ $output .= ' ';
+ $i = 0;
+ foreach ($cols as $col) {
+ $output .= ' ';
+ }
+ $output .= " \n";
+ }
+ else {
+ $output .= ' \n";
+ }
+ }
+ }
+
+ // Add the 'empty' row message if available.
+ if (!count($rows) && $empty) {
+ $header_count = 0;
+ foreach ($header as $header_cell) {
+ if (is_array($header_cell)) {
+ $header_count += isset($header_cell['colspan']) ? $header_cell['colspan'] : 1;
+ }
+ else {
+ $header_count++;
+ }
+ }
+ $rows[] = array(array('data' => $empty, 'colspan' => $header_count, 'class' => array('empty', 'message')));
+ }
+
+ // Format the table header:
+ if (count($header)) {
+ $ts = tablesort_init($header);
+ // HTML requires that the thead tag has tr tags in it followed by tbody
+ // tags. Using ternary operator to check and see if we have any rows.
+ $output .= (count($rows) ? ' - ');
+ foreach ($header as $cell) {
+ $cell = tablesort_header($cell, $header, $ts);
+ $output .= '' . _theme_table_cell($cell, TRUE) . '';
+ }
+ // Using ternary operator to close the tags based on whether or not there are rows
+ $output .= (count($rows) ? "
\n" : "\n");
+ }
+ else {
+ $ts = array();
+ }
+
+ // Format the table rows:
+ if (count($rows)) {
+ $flip = array('even' => 'odd', 'odd' => 'even');
+ $class = 'even';
+ foreach ($rows as $number => $row) {
+ $attributes = array();
+
+ // Check if we're dealing with a simple or complex row
+ if (isset($row['data'])) {
+ foreach ($row as $key => $value) {
+ if ($key == 'data') {
+ $cells = $value;
+ }
+ else {
+ $attributes[$key] = $value;
+ }
+ }
+ }
+ else {
+ $cells = $row;
+ }
+ if (count($cells)) {
+ // Add odd/even class
+ if (empty($row['no_striping'])) {
+ $class = $flip[$class];
+ $attributes['class'][] = $class;
+ }
+
+ // Build row
+ $output .= ' - ';
+ $i = 0;
+ foreach ($cells as $cell) {
+ $cell = tablesort_cell($cell, $header, $ts, $i++);
+ $output .= _theme_table_cell($cell);
+ }
+ $output .= "
\n";
+ }
+ }
+ }
+
+ $output .= "
\n";
+ return $output;
+}
+
/**
* Overrides theme_admin_block_content().
*