Remove broken Material theme (will re-add as a WIP pull request)
This commit is contained in:
parent
ead3c1fde9
commit
639341bbeb
12 changed files with 0 additions and 834 deletions
|
@ -1,77 +0,0 @@
|
|||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Shimmie2;
|
||||
|
||||
class CustomHomeTheme extends HomeTheme
|
||||
{
|
||||
public function display_page(Page $page, string $sitename, string $base_href, string $theme_name, string $body): void
|
||||
{
|
||||
$page->set_mode(PageMode::DATA);
|
||||
$page->add_auto_html_headers();
|
||||
$hh = $page->get_all_html_headers();
|
||||
$page->set_data(
|
||||
<<<EOD
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>$sitename</title>
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="//fonts.googleapis.com/css?family=Roboto:regular,bold,italic,thin,light,bolditalic,black,medium&lang=en">
|
||||
<link rel="stylesheet" href="//fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
|
||||
<link rel="stylesheet" href="{$base_href}/themes/{$theme_name}/material.min.css" rel="stylesheet">
|
||||
$hh
|
||||
<script type="text/javascript" src="{$base_href}/themes/{$theme_name}/material.min.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
$body
|
||||
</body>
|
||||
</html>
|
||||
EOD
|
||||
);
|
||||
}
|
||||
|
||||
public function build_body(string $sitename, string $main_links, string $main_text, string $contact_link, $num_comma, string $counter_text): string
|
||||
{
|
||||
$message_html = empty($main_text) ? "" : "<div class='space' id='message'>$main_text</div>";
|
||||
$counter_html = empty($counter_text) ? "" : "<div class='mdl-typography--text-center' id='counter'>$counter_text</div>";
|
||||
$contact_link = empty($contact_link) ? "" : "<br><a href='mailto:$contact_link'>Contact</a> -";
|
||||
$main_links_html = empty($main_links) ? "" : preg_replace('/data-clink-sel="" /', '', preg_replace('/shm-clink/', 'mdl-navigation__link', $main_links));
|
||||
$search_html = "
|
||||
<div class='mdl-grid'>
|
||||
<div class='mdl-layout-spacer'></div>
|
||||
<div class='mdl-cell mdl-cell--4-col'>
|
||||
<form class='mdl-typography--text-center' action='".make_link("post/list")."' method='GET'>
|
||||
<div class='mdl-textfield mdl-js-textfield'>
|
||||
<input id='search' name='search' size='30' type='search' value='' class='autocomplete_tags mdl-textfield__input' autocomplete='off' />
|
||||
<input type='hidden' name='q' value='/post/list'>
|
||||
<label class='mdl-textfield__label' for='search'>Search</label>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div class='mdl-layout-spacer'></div>
|
||||
</div>
|
||||
";
|
||||
return "
|
||||
<div class='mdl-layout mdl-js-layout mdl-layout--fixed-drawer vertical-center'>
|
||||
<div class='mdl-layout__drawer'>
|
||||
<span class='mdl-layout-title'>$sitename</span>
|
||||
<nav class='mdl-navigation'>
|
||||
$main_links_html
|
||||
</nav>
|
||||
</div>
|
||||
<main class='mdl-layout__content'>
|
||||
<div class='page-content'>
|
||||
<h2 class='mdl-typography--text-center'><a style='text-decoration: none;' href='".make_link()."'><span>$sitename</span></a></h2>
|
||||
$search_html
|
||||
$message_html
|
||||
$counter_html
|
||||
<div class='mdl-typography--text-center' id='foot'>
|
||||
<p>$contact_link Serving $num_comma posts - Running <a href='https://code.shishnet.org/shimmie2/'>Shimmie</a>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
</div>";
|
||||
}
|
||||
}
|
9
themes/material/material.min.css
vendored
9
themes/material/material.min.css
vendored
File diff suppressed because one or more lines are too long
10
themes/material/material.min.js
vendored
10
themes/material/material.min.js
vendored
File diff suppressed because one or more lines are too long
|
@ -1,212 +0,0 @@
|
|||
|
||||
Apache License
|
||||
Version 2.0, January 2004
|
||||
http://www.apache.org/licenses/
|
||||
|
||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||
|
||||
1. Definitions.
|
||||
|
||||
"License" shall mean the terms and conditions for use, reproduction,
|
||||
and distribution as defined by Sections 1 through 9 of this document.
|
||||
|
||||
"Licensor" shall mean the copyright owner or entity authorized by
|
||||
the copyright owner that is granting the License.
|
||||
|
||||
"Legal Entity" shall mean the union of the acting entity and all
|
||||
other entities that control, are controlled by, or are under common
|
||||
control with that entity. For the purposes of this definition,
|
||||
"control" means (i) the power, direct or indirect, to cause the
|
||||
direction or management of such entity, whether by contract or
|
||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||
|
||||
"You" (or "Your") shall mean an individual or Legal Entity
|
||||
exercising permissions granted by this License.
|
||||
|
||||
"Source" form shall mean the preferred form for making modifications,
|
||||
including but not limited to software source code, documentation
|
||||
source, and configuration files.
|
||||
|
||||
"Object" form shall mean any form resulting from mechanical
|
||||
transformation or translation of a Source form, including but
|
||||
not limited to compiled object code, generated documentation,
|
||||
and conversions to other media types.
|
||||
|
||||
"Work" shall mean the work of authorship, whether in Source or
|
||||
Object form, made available under the License, as indicated by a
|
||||
copyright notice that is included in or attached to the work
|
||||
(an example is provided in the Appendix below).
|
||||
|
||||
"Derivative Works" shall mean any work, whether in Source or Object
|
||||
form, that is based on (or derived from) the Work and for which the
|
||||
editorial revisions, annotations, elaborations, or other modifications
|
||||
represent, as a whole, an original work of authorship. For the purposes
|
||||
of this License, Derivative Works shall not include works that remain
|
||||
separable from, or merely link (or bind by name) to the interfaces of,
|
||||
the Work and Derivative Works thereof.
|
||||
|
||||
"Contribution" shall mean any work of authorship, including
|
||||
the original version of the Work and any modifications or additions
|
||||
to that Work or Derivative Works thereof, that is intentionally
|
||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||
or by an individual or Legal Entity authorized to submit on behalf of
|
||||
the copyright owner. For the purposes of this definition, "submitted"
|
||||
means any form of electronic, verbal, or written communication sent
|
||||
to the Licensor or its representatives, including but not limited to
|
||||
communication on electronic mailing lists, source code control systems,
|
||||
and issue tracking systems that are managed by, or on behalf of, the
|
||||
Licensor for the purpose of discussing and improving the Work, but
|
||||
excluding communication that is conspicuously marked or otherwise
|
||||
designated in writing by the copyright owner as "Not a Contribution."
|
||||
|
||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||
on behalf of whom a Contribution has been received by Licensor and
|
||||
subsequently incorporated within the Work.
|
||||
|
||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
copyright license to reproduce, prepare Derivative Works of,
|
||||
publicly display, publicly perform, sublicense, and distribute the
|
||||
Work and such Derivative Works in Source or Object form.
|
||||
|
||||
3. Grant of Patent License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
(except as stated in this section) patent license to make, have made,
|
||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||
where such license applies only to those patent claims licensable
|
||||
by such Contributor that are necessarily infringed by their
|
||||
Contribution(s) alone or by combination of their Contribution(s)
|
||||
with the Work to which such Contribution(s) was submitted. If You
|
||||
institute patent litigation against any entity (including a
|
||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||
or a Contribution incorporated within the Work constitutes direct
|
||||
or contributory patent infringement, then any patent licenses
|
||||
granted to You under this License for that Work shall terminate
|
||||
as of the date such litigation is filed.
|
||||
|
||||
4. Redistribution. You may reproduce and distribute copies of the
|
||||
Work or Derivative Works thereof in any medium, with or without
|
||||
modifications, and in Source or Object form, provided that You
|
||||
meet the following conditions:
|
||||
|
||||
(a) You must give any other recipients of the Work or
|
||||
Derivative Works a copy of this License; and
|
||||
|
||||
(b) You must cause any modified files to carry prominent notices
|
||||
stating that You changed the files; and
|
||||
|
||||
(c) You must retain, in the Source form of any Derivative Works
|
||||
that You distribute, all copyright, patent, trademark, and
|
||||
attribution notices from the Source form of the Work,
|
||||
excluding those notices that do not pertain to any part of
|
||||
the Derivative Works; and
|
||||
|
||||
(d) If the Work includes a "NOTICE" text file as part of its
|
||||
distribution, then any Derivative Works that You distribute must
|
||||
include a readable copy of the attribution notices contained
|
||||
within such NOTICE file, excluding those notices that do not
|
||||
pertain to any part of the Derivative Works, in at least one
|
||||
of the following places: within a NOTICE text file distributed
|
||||
as part of the Derivative Works; within the Source form or
|
||||
documentation, if provided along with the Derivative Works; or,
|
||||
within a display generated by the Derivative Works, if and
|
||||
wherever such third-party notices normally appear. The contents
|
||||
of the NOTICE file are for informational purposes only and
|
||||
do not modify the License. You may add Your own attribution
|
||||
notices within Derivative Works that You distribute, alongside
|
||||
or as an addendum to the NOTICE text from the Work, provided
|
||||
that such additional attribution notices cannot be construed
|
||||
as modifying the License.
|
||||
|
||||
You may add Your own copyright statement to Your modifications and
|
||||
may provide additional or different license terms and conditions
|
||||
for use, reproduction, or distribution of Your modifications, or
|
||||
for any such Derivative Works as a whole, provided Your use,
|
||||
reproduction, and distribution of the Work otherwise complies with
|
||||
the conditions stated in this License.
|
||||
|
||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||
any Contribution intentionally submitted for inclusion in the Work
|
||||
by You to the Licensor shall be under the terms and conditions of
|
||||
this License, without any additional terms or conditions.
|
||||
Notwithstanding the above, nothing herein shall supersede or modify
|
||||
the terms of any separate license agreement you may have executed
|
||||
with Licensor regarding such Contributions.
|
||||
|
||||
6. Trademarks. This License does not grant permission to use the trade
|
||||
names, trademarks, service marks, or product names of the Licensor,
|
||||
except as required for reasonable and customary use in describing the
|
||||
origin of the Work and reproducing the content of the NOTICE file.
|
||||
|
||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||
agreed to in writing, Licensor provides the Work (and each
|
||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
implied, including, without limitation, any warranties or conditions
|
||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||
appropriateness of using or redistributing the Work and assume any
|
||||
risks associated with Your exercise of permissions under this License.
|
||||
|
||||
8. Limitation of Liability. In no event and under no legal theory,
|
||||
whether in tort (including negligence), contract, or otherwise,
|
||||
unless required by applicable law (such as deliberate and grossly
|
||||
negligent acts) or agreed to in writing, shall any Contributor be
|
||||
liable to You for damages, including any direct, indirect, special,
|
||||
incidental, or consequential damages of any character arising as a
|
||||
result of this License or out of the use or inability to use the
|
||||
Work (including but not limited to damages for loss of goodwill,
|
||||
work stoppage, computer failure or malfunction, or any and all
|
||||
other commercial damages or losses), even if such Contributor
|
||||
has been advised of the possibility of such damages.
|
||||
|
||||
9. Accepting Warranty or Additional Liability. While redistributing
|
||||
the Work or Derivative Works thereof, You may choose to offer,
|
||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||
or other liability obligations and/or rights consistent with this
|
||||
License. However, in accepting such obligations, You may act only
|
||||
on Your own behalf and on Your sole responsibility, not on behalf
|
||||
of any other Contributor, and only if You agree to indemnify,
|
||||
defend, and hold each Contributor harmless for any liability
|
||||
incurred by, or claims asserted against, such Contributor by reason
|
||||
of your accepting any such warranty or additional liability.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
APPENDIX: How to apply the Apache License to your work.
|
||||
|
||||
To apply the Apache License to your work, attach the following
|
||||
boilerplate notice, with the fields enclosed by brackets "[]"
|
||||
replaced with your own identifying information. (Don't include
|
||||
the brackets!) The text should be enclosed in the appropriate
|
||||
comment syntax for the file format. We also recommend that a
|
||||
file or class name and description of purpose be included on the
|
||||
same "printed page" as the copyright notice for easier
|
||||
identification within third-party archives.
|
||||
|
||||
Copyright 2015 Google Inc
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
All code in any directories or sub-directories that end with *.html or
|
||||
*.css is licensed under the Creative Commons Attribution International
|
||||
4.0 License, which full text can be found here:
|
||||
https://creativecommons.org/licenses/by/4.0/legalcode.
|
||||
|
||||
As an exception to this license, all html or css that is generated by
|
||||
the software at the direction of the user is copyright the user. The
|
||||
user has full ownership and control over such content, including
|
||||
whether and how they wish to license it.
|
|
@ -1,278 +0,0 @@
|
|||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Shimmie2;
|
||||
|
||||
class Page extends BasePage
|
||||
{
|
||||
public function render()
|
||||
{
|
||||
global $config;
|
||||
|
||||
// list($nav_links, $sub_links) = $this->get_nav_links();
|
||||
$theme_name = $config->get_string(SetupConfig::THEME, 'material');
|
||||
$site_name = $config->get_string(SetupConfig::TITLE);
|
||||
$data_href = get_base_href();
|
||||
// $main_page = $config->get_string(SetupConfig::MAIN_PAGE);
|
||||
$contact_link = contact_link();
|
||||
$site_link = make_link();
|
||||
$header_html = $this->get_all_html_headers();
|
||||
|
||||
$left_block_html = "";
|
||||
$main_block_html = "";
|
||||
$head_block_html = "";
|
||||
$sub_block_html = "";
|
||||
$drawer_block_html = ""; //use exampled in user.theme.php & view.theme.php
|
||||
$toolbar_block_html = ""; // not used at this point
|
||||
$subtoolbar_block_html = ""; // use exampled in user.theme.php
|
||||
// $navigation = "";
|
||||
|
||||
$h_search = "
|
||||
<div class='mdl-textfield mdl-js-textfield mdl-textfield--expandable
|
||||
mdl-textfield--floating-label mdl-textfield--align-right'>
|
||||
<form action='".make_link()."' method='GET'>
|
||||
<label class='mdl-button mdl-js-button mdl-button--icon'
|
||||
for='waterfall-exp'>
|
||||
<i class='material-icons'>search</i>
|
||||
</label>
|
||||
<div class='mdl-textfield__expandable-holder'>
|
||||
<input id='waterfall-exp' class='autocomplete_tags mdl-textfield__input' name='search' type='text' placeholder='Search' value='' />
|
||||
<input type='hidden' name='q' value='/post/list'>
|
||||
<input type='submit' value='Find' style='display: none;' />
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
";
|
||||
|
||||
foreach ($this->blocks as $block) {
|
||||
switch ($block->section) {
|
||||
case "toolbar":
|
||||
$toolbar_block_html .= $this->get_html($block, "toolbar");
|
||||
break;
|
||||
case "subtoolbar":
|
||||
$subtoolbar_block_html .= $this->get_html($block, "subtoolbar");
|
||||
break;
|
||||
case "left":
|
||||
if ($block->header == "Navigation") {
|
||||
$subtoolbar_block_html = $this->rework_navigation($block);
|
||||
break;
|
||||
}
|
||||
// $left_block_html .= $block->get_html(true);
|
||||
$left_block_html .= $this->get_html($block, "full", true, "left-blocks nav-card mdl-cell--4-col-tablet");
|
||||
break;
|
||||
case "head":
|
||||
$head_block_html .= $this->get_html($block, "third", true, "nav-card head-blocks");
|
||||
break;
|
||||
case "drawer":
|
||||
$drawer_block_html .= $this->get_html($block, "full", true, "nav-card drawer-blocks");
|
||||
break;
|
||||
case "main":
|
||||
// $main_block_html .= $block->get_html(false);
|
||||
$main_block_html .= $this->get_html($block, "main", true, "");
|
||||
break;
|
||||
case "subheading":
|
||||
// $sub_block_html .= $block->body;
|
||||
$sub_block_html .= $this->get_html($block, "third", true, "nav-card");
|
||||
break;
|
||||
default:
|
||||
print "<p>error: {$block->header} using an unknown section ({$block->section})";
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
$debug = get_debug_info();
|
||||
|
||||
$contact = empty($contact_link) ? "" : "<br><a href='$contact_link'>Contact</a>";
|
||||
/*$subheading = empty($this->subheading) ? "" : "<div id='subtitle'>{$this->subheading}</div>";
|
||||
|
||||
$wrapper = "";
|
||||
if(strlen($this->heading) > 100) {
|
||||
$wrapper = ' style="height: 3em; overflow: auto;"';
|
||||
}
|
||||
*/
|
||||
|
||||
$flash_html = $this->flash ? "<b id='flash'>".nl2br(html_escape(implode("\n", $this->flash)))."</b>" : "";
|
||||
|
||||
print <<<EOD
|
||||
<!doctype html>
|
||||
<html class="no-js" lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>{$this->title}</title>
|
||||
<link rel="stylesheet" href="//fonts.googleapis.com/css?family=Roboto:regular,bold,italic,thin,light,bolditalic,black,medium&lang=en">
|
||||
<link rel="stylesheet" href="//fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
|
||||
<link rel="stylesheet" href="{$data_href}/themes/{$theme_name}/material.min.css" rel="stylesheet">
|
||||
$header_html
|
||||
<script type="text/javascript" src="{$data_href}/themes/{$theme_name}/material.min.js"></script>
|
||||
<script type="text/javascript" src="{$data_href}/themes/{$theme_name}/script0.js?v1"></script>
|
||||
<!-- having conflicts this ensures the screens will not remain hidden \while the layout is adjusted -->
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<div class="mdl-layout mdl-js-layout mdl-layout--fixed-header">
|
||||
<header class="mdl-layout__header mdl-layout__header--waterfall">
|
||||
<!-- Top row, always visible -->
|
||||
<div class="mdl-layout__header-row ">
|
||||
<!-- Title -->
|
||||
<span class="mdl-layout-title">
|
||||
<a class="mdl-logo" href="{$site_link}">{$site_name}</a>
|
||||
</span>
|
||||
<div class="mdl-layout-spacer"></div>
|
||||
$h_search
|
||||
{$toolbar_block_html}
|
||||
<button id="menu-left-col-menu"
|
||||
class="mdl-button mdl-js-button mdl-button--icon">
|
||||
<i class="material-icons">more_vert</i>
|
||||
</button>
|
||||
</div>
|
||||
<!-- Bottom row, not visible on scroll -->
|
||||
<div class="mdl-layout__header-row">
|
||||
<div class="mdl-layout-spacer"></div>
|
||||
<!-- Navigation -->
|
||||
{$subtoolbar_block_html}
|
||||
</div>
|
||||
</header>
|
||||
<div class="mdl-layout__drawer">
|
||||
<span class="mdl-layout-title">Drawer</span>
|
||||
<div class="mdl-grid">
|
||||
$drawer_block_html
|
||||
</div>
|
||||
<nav class="mdl-navigation">
|
||||
<a class="mdl-navigation__link" href="https://code.shishnet.org/shimmie2/">Shimmie ©</a>
|
||||
</nav>
|
||||
</div>
|
||||
<main class="mdl-layout__content">
|
||||
<div class="mdl-grid">
|
||||
<div class="mdl-cell mdl-cell--12-col mdl-grid ">
|
||||
$head_block_html
|
||||
$sub_block_html
|
||||
</div>
|
||||
</div>
|
||||
<div id="main-grid" class="mdl-grid">
|
||||
<div id="left-block" class="mdl-cell mdl-cell--4-col mdl-cell--8-col-tablet mdl-cell--4-col-phone mdl-color--grey-200">
|
||||
<script>
|
||||
document.getElementById("left-block").style.display="none";
|
||||
</script>
|
||||
<div id="left-blk-content" class="mdl-cell mdl-cell--12-col mdl-grid">
|
||||
<!-- Start Left Block -->
|
||||
$left_block_html
|
||||
</div>
|
||||
</div>
|
||||
<div id="main-block" class="mdl-cell mdl-shadow--2dp mdl-cell--8-col mdl-cell--8-col-tablet mdl-color--grey-200 mdl-grid">
|
||||
<script>
|
||||
document.getElementById("main-block").style.display="none";
|
||||
</script>
|
||||
<!-- Start art Block -->
|
||||
<article class="mdl-cell mdl-cell--12-col mdl-cell--top">
|
||||
$flash_html
|
||||
$main_block_html
|
||||
</article>
|
||||
</div>
|
||||
</div>
|
||||
<footer class="mdl-mini-footer">
|
||||
$debug
|
||||
$contact
|
||||
</footer>
|
||||
</main>
|
||||
</div>
|
||||
|
||||
<ul class="mdl-menu mdl-menu--bottom-right mdl-js-menu mdl-js-ripple-effect"
|
||||
for="menu-left-col-menu">
|
||||
<li id="layout-top" class="mdl-menu__item">Layout Top</li>
|
||||
<li id="layout-right" class="mdl-menu__item">Layout Right</li>
|
||||
<li id="layout-bottom" class="mdl-menu__item">Layout Bottom</li>
|
||||
<li id="layout-left" class="mdl-menu__item">Layout Left</li>
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
||||
EOD;
|
||||
}
|
||||
|
||||
public function rework_navigation(Block $block): string
|
||||
{
|
||||
// $h = $block->header;
|
||||
$b = $block->body;
|
||||
$i = $block->id;
|
||||
|
||||
$dom = new \DomDocument();
|
||||
$dom->loadHTML($b);
|
||||
// $output = [];
|
||||
$html = "<section id='$i'>\n<nav class='mdl-navigation'>\n";
|
||||
foreach ($dom->getElementsByTagName('a') as $item) {
|
||||
$item->setAttribute('class', 'mdl-navigation__link');
|
||||
$html .= $dom->saveHTML($item);
|
||||
// $output[] = array (
|
||||
// ,'str' => $dom->saveHTML($item)
|
||||
// // ,'href' => $item->getAttribute('href')
|
||||
// // ,'anchorText' => $item->nodeValue
|
||||
// );
|
||||
}
|
||||
$html .= "</nav>\n</section>\n";
|
||||
return $html;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the HTML for this block. from core
|
||||
*/
|
||||
public function get_html(Block $block, string $section="main", bool $hidable=false, string $extra_class=""): string
|
||||
{
|
||||
$h = $block->header;
|
||||
$b = $block->body;
|
||||
$i = $block->id;//blotter extention id has `!`
|
||||
|
||||
if ($section == "toolbar") {
|
||||
$html = "<section id='$i'>\n<nav class='mdl-navigation'>\n";
|
||||
if (!empty($b)) {
|
||||
$html .= "$b";
|
||||
}
|
||||
$html .= "</nav>\n</section>\n";
|
||||
return $html;
|
||||
}
|
||||
if ($section == "subtoolbar") {
|
||||
$html = "<section id='$i'>\n<nav class='mdl-navigation'>\n";
|
||||
if (!empty($b)) {
|
||||
$html .= "$b";
|
||||
}
|
||||
$html .= "</nav>\n</section>\n";
|
||||
return $html;
|
||||
}
|
||||
if ($section == "full") {
|
||||
$html = "<div class='mdl-card mdl-shadow--4dp mdl-cell mdl-cell--12-col $extra_class'><section id='$i'>";
|
||||
$h_toggler = $hidable ? " shm-toggler" : "";
|
||||
if (!empty($h)) {
|
||||
$html .="<div class='mdl-card__title'><h3 data-toggle-sel='#$i' class='mdl-card__title-text $h_toggler'>$h</h3></div>";
|
||||
}
|
||||
if (!empty($b)) {
|
||||
$html .="<div class='mdl-card__supporting-text blockbody'>$b</div>";
|
||||
}
|
||||
$html .= "</section></div>\n";
|
||||
return $html;
|
||||
}
|
||||
if ($section == "third") {
|
||||
$html = "<div class='mdl-card mdl-shadow--4dp mdl-cell mdl-cell--4-col $extra_class'><section id='$i'>";
|
||||
$h_toggler = $hidable ? " shm-toggler" : "";
|
||||
if (!empty($h)) {
|
||||
$html .="<div class='mdl-card__title'><h3 data-toggle-sel='#$i' class='mdl-card__title-text $h_toggler'>$h</h3></div>";
|
||||
}
|
||||
if (!empty($b)) {
|
||||
$html .="<div class='mdl-card__supporting-text blockbody'>$b</div>";
|
||||
}
|
||||
$html .= "</section></div>\n";
|
||||
return $html;
|
||||
}
|
||||
$html = "<section id='$i'>";
|
||||
$h_toggler = $hidable ? " shm-toggler" : "";
|
||||
if (!empty($h)) {
|
||||
$html .= "<h3 data-toggle-sel='#$i' class='$h_toggler'>$h</h3>";
|
||||
}
|
||||
if (!empty($b)) {
|
||||
$html .= "<div class='blockbody'>$b</div>";
|
||||
}
|
||||
$html .= "</section>\n";
|
||||
return $html;
|
||||
}
|
||||
}
|
|
@ -1,95 +0,0 @@
|
|||
$(function(){
|
||||
$( "#layout-top" ).click(function() {
|
||||
leftAddFullSize("top");
|
||||
});
|
||||
|
||||
$( "#layout-right" ).click(function() {
|
||||
leftAddSideSize("right");
|
||||
});
|
||||
|
||||
$( "#layout-bottom" ).click(function() {
|
||||
leftAddFullSize("bottom");
|
||||
});
|
||||
|
||||
$( "#layout-left" ).click(function() {
|
||||
leftAddSideSize("left");
|
||||
});
|
||||
|
||||
function leftAddSideSize(layout_type){
|
||||
$("#left-block").removeClass (function (index, css) {
|
||||
return (css.match (/(^|\s)mdl-cell--\S+/g) || []).join(' ');
|
||||
}).addClass("mdl-cell--4-col mdl-cell--8-col-tablet mdl-cell--4-col-phone");
|
||||
|
||||
$(".left-blocks").removeClass (function (index, css) {
|
||||
return (css.match (/(^|\s)mdl-cell--\S+/g) || []).join(' ');
|
||||
}).addClass("mdl-cell--12-col mdl-cell--4-col-tablet");
|
||||
|
||||
$("#main-block").removeClass (function (index, css) {
|
||||
return (css.match (/(^|\s)mdl-cell--\S+/g) || []).join(' ');
|
||||
}).addClass("mdl-cell--8-col mdl-cell--8-col-tablet");
|
||||
|
||||
if(layout_type == "right"){
|
||||
$("#left-block").appendTo("#main-grid")
|
||||
} else {
|
||||
$("#left-block").prependTo("#main-grid")
|
||||
}
|
||||
Cookies.set("ui-layout-type", layout_type, {path: '/', expires: 365});
|
||||
zoom("width");
|
||||
}
|
||||
|
||||
function leftAddFullSize(layout_type){
|
||||
$("#left-block").removeClass (function (index, css) {
|
||||
return (css.match (/(^|\s)mdl-cell--\S+/g) || []).join(' ');
|
||||
}).addClass("mdl-cell--12-col");
|
||||
|
||||
$(".left-blocks").removeClass (function (index, css) {
|
||||
return (css.match (/(^|\s)mdl-cell--\S+/g) || []).join(' ');
|
||||
}).addClass("mdl-cell--4-col");
|
||||
|
||||
$("#main-block").removeClass (function (index, css) {
|
||||
return (css.match (/(^|\s)mdl-cell--\S+/g) || []).join(' ');
|
||||
}).addClass("mdl-cell--12-col");
|
||||
|
||||
if(layout_type == "bottom"){
|
||||
$("#left-block").appendTo("#main-grid")
|
||||
} else {
|
||||
$("#left-block").prependTo("#main-grid")
|
||||
}
|
||||
Cookies.set("ui-layout-type", layout_type, {path: '/', expires: 365});
|
||||
zoom("width");
|
||||
}
|
||||
current_layout = Cookies.get("layout-type");
|
||||
if (current_layout != null) {
|
||||
if(current_layout =="top" || current_layout == "bottom"){
|
||||
leftAddFullSize(current_layout);
|
||||
} else {
|
||||
leftAddSideSize(current_layout);
|
||||
}
|
||||
}
|
||||
$('#main-block, #left-block').show();
|
||||
});
|
||||
|
||||
|
||||
function zoom(zoom_type) {
|
||||
var img = $('.shm-main-image');
|
||||
if(zoom_type == "full") {
|
||||
img.css('max-width', img.data('width') + 'px');
|
||||
img.css('max-height', img.data('height') + 'px');
|
||||
}
|
||||
if(zoom_type == "width") {
|
||||
img.css('max-width', ($( "#main-block" ).width()) + 'px');
|
||||
img.css('max-height', img.data('height') + 'px');
|
||||
}
|
||||
if(zoom_type == "height") {
|
||||
img.css('max-width', img.data('width') + 'px');
|
||||
img.css('max-height', (window.innerHeight * 0.95) + 'px');
|
||||
}
|
||||
if(zoom_type == "both") {
|
||||
img.css('max-width', '95%');
|
||||
img.css('max-height', (window.innerHeight * 0.95) + 'px');
|
||||
}
|
||||
|
||||
$(".shm-zoomer").val(zoom_type);
|
||||
|
||||
Cookies.set("ui-image-zoom", zoom_type, {path: '/', expires: 365});
|
||||
}
|
|
@ -1,17 +0,0 @@
|
|||
.nav-card{
|
||||
min-height: 3em;
|
||||
}
|
||||
TABLE.tag_list {
|
||||
border-collapse: collapse;
|
||||
}
|
||||
TABLE.tag_list>THEAD {
|
||||
display: none;
|
||||
}
|
||||
TABLE.tag_list>TBODY>TR>TD {
|
||||
display: inline;
|
||||
padding: 0;
|
||||
line-height: 1em;
|
||||
}
|
||||
TABLE.tag_list>TBODY>TR>TD:after {
|
||||
content: " ";
|
||||
}
|
|
@ -1,9 +0,0 @@
|
|||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Shimmie2;
|
||||
|
||||
class Themelet extends BaseThemelet
|
||||
{
|
||||
}
|
|
@ -1,16 +0,0 @@
|
|||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Shimmie2;
|
||||
|
||||
class CustomUploadTheme extends UploadTheme
|
||||
{
|
||||
// public function display_block(Page $page) {
|
||||
// $page->add_block(new Block("Upload", $this->build_upload_block(), "left", 20));
|
||||
// }
|
||||
//
|
||||
// public function display_full(Page $page) {
|
||||
// $page->add_block(new Block("Upload", "Disk nearly full, uploads disabled", "left", 20));
|
||||
// }
|
||||
}
|
|
@ -1,36 +0,0 @@
|
|||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Shimmie2;
|
||||
|
||||
class CustomUserPageTheme extends UserPageTheme
|
||||
{
|
||||
public function display_user_block(Page $page, User $user, $parts)
|
||||
{
|
||||
$h_name = html_escape($user->name);
|
||||
$html = " | ";
|
||||
foreach ($parts as $part) {
|
||||
$html .= "<a href='{$part["link"]}'>{$part["name"]}</a> | ";
|
||||
}
|
||||
$page->add_block(new Block("Logged in as $h_name", $html, "drawer", 90));
|
||||
}
|
||||
|
||||
public function display_login_block(Page $page)
|
||||
{
|
||||
global $config;
|
||||
$html = "
|
||||
<form action='".make_link("user_admin/login")."' method='POST'>
|
||||
<table summary='Login Form' align='center'>
|
||||
<tr><td width='70'>Name</td><td width='70'><input type='text' name='user'></td></tr>
|
||||
<tr><td>Password</td><td><input type='password' name='pass'></td></tr>
|
||||
<tr><td colspan='2'><input type='submit' name='gobu' value='Log In'></td></tr>
|
||||
</table>
|
||||
</form>
|
||||
";
|
||||
if ($config->get_bool("login_signup_enabled")) {
|
||||
$html .= "<small><a href='".make_link("user_admin/create")."'>Create Account</a></small>";
|
||||
}
|
||||
$page->add_block(new Block("Login", $html, "head", 90));
|
||||
}
|
||||
}
|
|
@ -1,75 +0,0 @@
|
|||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Shimmie2;
|
||||
|
||||
class CustomViewImageTheme extends ViewImageTheme
|
||||
{
|
||||
/*
|
||||
* Build a page showing $image and some info about it
|
||||
*/
|
||||
public function display_page(Image $image, $editor_parts)
|
||||
{
|
||||
global $page;
|
||||
$page->set_heading(html_escape($image->get_tag_list()));
|
||||
$page->add_block(new Block(null, $this->build_pin($image), "subtoolbar", 0));
|
||||
$page->add_block(new Block(null, $this->build_info($image, $editor_parts), "left", 20));
|
||||
}
|
||||
|
||||
public function display_admin_block(Page $page, $parts)
|
||||
{
|
||||
if (count($parts) > 0) {
|
||||
$page->add_block(new Block("Post Controls", join("<br>", $parts), "drawer", 50));
|
||||
}
|
||||
}
|
||||
|
||||
protected function build_pin(Image $image): string
|
||||
{
|
||||
if (isset($_GET['search'])) {
|
||||
$query = "search=".url_escape($_GET['search']);
|
||||
} else {
|
||||
$query = null;
|
||||
}
|
||||
|
||||
$h_prev = '<a id="prevlink" class="mdl-navigation__link mdl-js-ripple-effect" href="'.make_link("post/prev/{$image->id}", $query).'">Prev</a>';
|
||||
$h_index = "<a class='mdl-navigation__link mdl-js-ripple-effect' href='".make_link()."'>Current</a>";
|
||||
$h_next = '<a id="nextlink" class="mdl-navigation__link mdl-js-ripple-effect" href="'.make_link("post/next/{$image->id}", $query).'">Next</a>';
|
||||
|
||||
return $h_prev.$h_index.$h_next;
|
||||
}
|
||||
|
||||
|
||||
protected function build_info(Image $image, $editor_parts): string
|
||||
{
|
||||
global $user;
|
||||
|
||||
if (count($editor_parts) == 0) {
|
||||
return ($image->is_locked() ? "<br>[Post Locked]" : "");
|
||||
}
|
||||
|
||||
$html = make_form(make_link("post/set"))."
|
||||
<input type='hidden' name='image_id' value='{$image->id}'>
|
||||
<table style='' class='image_info form'>
|
||||
";
|
||||
foreach ($editor_parts as $part) {
|
||||
$html .= $part;
|
||||
}
|
||||
if (
|
||||
(!$image->is_locked() || $user->can(Permissions::EDIT_IMAGE_LOCK)) &&
|
||||
$user->can(Permissions::EDIT_IMAGE_TAG)
|
||||
) {
|
||||
$html .= "
|
||||
<tr><td colspan='4'>
|
||||
<input class='view' type='button' value='Edit' onclick='$(\".view\").hide(); $(\".edit\").show();'>
|
||||
<input class='edit' type='submit' value='Set'>
|
||||
</td></tr>
|
||||
";
|
||||
}
|
||||
$html .= "
|
||||
</table>
|
||||
</form>
|
||||
";
|
||||
return $html;
|
||||
}
|
||||
}
|
Reference in a new issue