diff options
author | Thomas Lange <code@nerdmind.de> | 2021-06-17 22:00:39 +0200 |
---|---|---|
committer | Thomas Lange <code@nerdmind.de> | 2021-06-17 22:00:39 +0200 |
commit | 5555624546ea48d6327700f32b80848e0662dc90 (patch) | |
tree | 47d61fb756a6cb008aaf33586d292fcfe43da2a1 /theme/admin/html | |
parent | 91d8a28c664afa5378735bcd0efe068dd74d589f (diff) | |
parent | 0a2614cb69fc732c2115ef2f0c356f39f602d311 (diff) | |
download | blog-5555624546ea48d6327700f32b80848e0662dc90.tar.gz blog-5555624546ea48d6327700f32b80848e0662dc90.tar.xz blog-5555624546ea48d6327700f32b80848e0662dc90.zip |
Merge branch 'master' into 'optimization'optimization
Diffstat (limited to 'theme/admin/html')
27 files changed, 765 insertions, 0 deletions
diff --git a/theme/admin/html/403.php b/theme/admin/html/403.php new file mode 100644 index 0000000..7f23212 --- /dev/null +++ b/theme/admin/html/403.php @@ -0,0 +1,4 @@ +<main id="main-content"> +<h1><i class="fa fa-exclamation-triangle"></i><?=$Language->text('403_heading_text')?></h1> +<p><?=$Language->text('403_heading_desc')?></p> +</main> diff --git a/theme/admin/html/404.php b/theme/admin/html/404.php new file mode 100644 index 0000000..7fb06d8 --- /dev/null +++ b/theme/admin/html/404.php @@ -0,0 +1,4 @@ +<main id="main-content"> +<h1><i class="fa fa-exclamation-triangle"></i><?=$Language->text('404_heading_text')?></h1> +<p><?=$Language->text('404_heading_desc')?></p> +</main> diff --git a/theme/admin/html/auth.php b/theme/admin/html/auth.php new file mode 100644 index 0000000..45b7e14 --- /dev/null +++ b/theme/admin/html/auth.php @@ -0,0 +1,38 @@ +<main id="main-content"> +<h1><i class="fa fa-sign-in"></i><?=$Language->text('authentication_text')?></h1> +<p><?=$Language->text('authentication_desc')?></p> + +<?php if($FORM['INFO']): ?> + <div id="message-list-wrapper"> + <ul id="message-list"> + <?php foreach($FORM['INFO'] as $message): ?> + <li><?=$message?></li> + <?php endforeach ?> + </ul> + </div> +<?php endif ?> + +<form action="" method="POST"> + <input type="hidden" name="token" value="<?=$FORM['TOKEN']?>" /> + + <div class="form-grid two-columns"> + <label for="form_username"> + <i class="fa fa-user-secret"></i><?=$Language->text('label_username')?></label> + + <div class="form-grid-item"> + <input id="form_username" name="username" value="<?=escapeHTML($FORM['DATA']['USERNAME'])?>" /> + </div> + + <label for="form_password"> + <i class="fa fa-key"></i><?=$Language->text('label_password')?></label> + + <div class="form-grid-item"> + <input type="password" id="form_password" name="password" /> + </div> + </div> + + <div class="form-border-box background padding nobordertop"> + <input type="submit" name="auth" value="<?=$Language->text('login')?>" /> + </div> +</form> +</main> diff --git a/theme/admin/html/database.php b/theme/admin/html/database.php new file mode 100644 index 0000000..da41e68 --- /dev/null +++ b/theme/admin/html/database.php @@ -0,0 +1,32 @@ +<main id="main-content"> +<h1><i class="fa fa-database"></i><?=$Language->text('overview_database_text')?></h1> +<p><?=$Language->text('overview_database_desc')?></p> + +<?php if($FORM['INFO']): ?> + <div id="message-list-wrapper"> + <ul id="message-list"> + <?php foreach($FORM['INFO'] as $message): ?> + <li><?=$message?></li> + <?php endforeach ?> + </ul> + </div> +<?php endif ?> + +<form action="" method="POST"> + <input type="hidden" name="token" value="<?=$FORM['TOKEN']?>" /> + + <div class="form-border-box"> + <textarea id="content-editor" placeholder="<?=$Language->text('database_warning')?>" name="command"><?=escapeHTML($FORM['COMMAND'])?></textarea> + </div> + +<?php if($FORM['RESULT']): ?> + <div class="form-border-box background padding"> + <pre id="database-result"><?=escapeHTML($FORM['RESULT'])?></pre> + </div> +<?php endif; ?> + + <div class="form-border-box background padding"> + <input id="insert-button" type="submit" name="execute" value="Execute" /> + </div> +</form> +</main> diff --git a/theme/admin/html/home.php b/theme/admin/html/home.php new file mode 100644 index 0000000..5331fa8 --- /dev/null +++ b/theme/admin/html/home.php @@ -0,0 +1,47 @@ +<main id="main-content"> +<h1><i class="fa fa-dashboard"></i><?=$Language->text('overview_dashboard_text')?></h1> +<p><?=$Language->text('overview_dashboard_desc')?></p> + +<h2><i class="fa fa-newspaper-o"></i><?=$Language->text('last_post')?></h2> +<p> + <strong><?=$Language->text('posts')?>:</strong> <?=$COUNT['POST']?> + | <a href="<?=Application::getAdminURL('post/insert.php')?>"><?=$Language->text('insert')?></a> + | <a href="<?=Application::getAdminURL('post/search.php')?>"><?=$Language->text('search')?></a> +</p> +<?php if(!empty($LAST['POST'])): ?> + <div class="item-container post"> + <?=$LAST['POST']?> + </div> +<?php else: ?> + <p><em><?=$Language->text('home_no_posts')?></em></p> +<?php endif; ?> + +<h2><i class="fa fa-file-text-o"></i><?=$Language->text('last_page')?></h2> +<p> + <strong><?=$Language->text('pages')?>:</strong> <?=$COUNT['PAGE']?> + | <a href="<?=Application::getAdminURL('page/insert.php')?>"><?=$Language->text('insert')?></a> + | <a href="<?=Application::getAdminURL('page/search.php')?>"><?=$Language->text('search')?></a> +</p> + +<?php if(!empty($LAST['PAGE'])): ?> + <div class="item-container page"> + <?=$LAST['PAGE']?> + </div> +<?php else: ?> + <p><em><?=$Language->text('home_no_pages')?></em></p> +<?php endif; ?> + +<h2><i class="fa fa-user"></i><?=$Language->text('last_user')?></h2> +<p> + <strong><?=$Language->text('users')?>:</strong> <?=$COUNT['USER']?> + | <a href="<?=Application::getAdminURL('user/insert.php')?>"><?=$Language->text('insert')?></a> +</p> + +<?php if(!empty($LAST['USER'])): ?> + <div class="item-container user"> + <?=$LAST['USER']?> + </div> +<?php else: ?> + <p><em><?=$Language->text('home_no_users')?></em></p> +<?php endif; ?> +</main> diff --git a/theme/admin/html/main.php b/theme/admin/html/main.php new file mode 100644 index 0000000..699a742 --- /dev/null +++ b/theme/admin/html/main.php @@ -0,0 +1,52 @@ +<!DOCTYPE html> +<html lang="<?=$BLOGMETA['LANG']?>"> +<head> + <meta charset="UTF-8" /> + <meta name="referrer" content="origin-when-crossorigin" /> + <meta name="viewport" content="width=device-width, initial-scale=1" /> + <link rel="stylesheet" href="<?=Application::getTemplateURL('rsrc/css/main.css')?>" /> + <script defer src="<?=Application::getTemplateURL('rsrc/main.js')?>"></script> + <title><?=escapeHTML($NAME)?> | Administration</title> +</head> +<body> + <header id="main-header"> + <div class="header-line"> + <div class="header-content"> + <a href="<?=Application::getURL()?>"> + <img id="header-logo" src="<?=Application::getTemplateURL('rsrc/icon-public-domain.svg')?>" alt="Administration" /> + </a> + <div id="header-text">Administration</div> + <div id="header-desc">PHP7 blogging application by <span>Nerdmind</span>!</div> + </div> + </div> + <div class="header-line"> + <div class="header-content"> + <nav id="main-navi"> + <ul> + <?php if(Application::isAuthenticated()): ?> + <li><a href="<?=Application::getAdminURL()?>" title="<?=$Language->text('overview_dashboard_text')?>"><i class="fa fa-dashboard"></i><span>Dashboard</span></a></li> + <li><a href="<?=Application::getAdminURL('post/')?>" title="<?=$Language->text('post_overview')?>"><i class="fa fa-newspaper-o"></i><span><?=$Language->text('posts')?></span></a></li> + <li><a href="<?=Application::getAdminURL('page/')?>" title="<?=$Language->text('page_overview')?>"><i class="fa fa-file-text-o"></i><span><?=$Language->text('pages')?></span></a></li> + <li><a href="<?=Application::getAdminURL('user/')?>" title="<?=$Language->text('user_overview')?>"><i class="fa fa-user"></i><span><?=$Language->text('users')?></span></a></li> + <li><a href="<?=Application::getAdminURL('database.php')?>" title="<?=$Language->text('overview_database_text')?>"><i class="fa fa-database"></i><span><?=$Language->text('overview_database_text')?></span></a></li> + <li><a href="<?=Application::getAdminURL('auth.php?action=logout&token='.Application::getSecurityToken())?>"><i class="fa fa-sign-out"></i><span><?=$Language->text('logout')?></span></a></li> + <?php else: ?> + <li><a href="<?=Application::getAdminURL('auth.php')?>"><i class="fa fa-sign-in"></i><span><?=$Language->text('login')?></span></a></li> + <?php endif; ?> + </ul> + </nav> + </div> + </div> + </header> + + <?=$HTML?> + + <footer id="main-footer"> + <ul> + <li><i class="fa fa-github-square"></i><a href="https://github.com/Nerdmind/Blog/releases" target="_blank">Releases</a></li> + <li><i class="fa fa-book"></i><a href="https://github.com/Nerdmind/Blog/wiki" target="_blank">Documentation</a></li> + <li><i class="fa fa-bug"></i><a href="https://github.com/Nerdmind/Blog/issues">Bugreport</a></li> + </ul> + </footer> +</body> +</html> diff --git a/theme/admin/html/page/delete.php b/theme/admin/html/page/delete.php new file mode 100644 index 0000000..006090e --- /dev/null +++ b/theme/admin/html/page/delete.php @@ -0,0 +1,6 @@ +<main id="main-content"> +<h1><i class="fa fa-trash-o"></i><?=$Language->text('delete_page')?></h1> +<p><?=$Language->text('delete_page_desc')?></p> + +<?=$HTML?> +</main> diff --git a/theme/admin/html/page/form.php b/theme/admin/html/page/form.php new file mode 100644 index 0000000..eee61bf --- /dev/null +++ b/theme/admin/html/page/form.php @@ -0,0 +1,104 @@ +<?php if($FORM['INFO']): ?> + <div id="message-list-wrapper"> + <ul id="message-list"> + <?php foreach($FORM['INFO'] as $message): ?> + <li><?=$message?></li> + <?php endforeach ?> + </ul> + </div> +<?php endif ?> + +<form action="" method="POST"> + <input type="hidden" name="token" value="<?=$FORM['TOKEN']?>" /> + +<?php if($FORM['TYPE'] !== 'DELETE'): ?> + <div class="form-grid"> + <label for="form_id"> + <i class="fa fa-database"></i>ID</label> + + <div class="form-grid-item"> + <input<?=($FORM['TYPE'] === 'UPDATE') ? ' disabled="disabled"' : '';?> id="form_id" name="id" type="number" placeholder="AUTO_INCREMENT" value="<?=escapeHTML($FORM['DATA']['ID'])?>" /> + </div> + + <label for="form_user"> + <i class="fa fa-user"></i><?=$Language->text('label_user')?></label> + + <div class="form-grid-item"> + <select id="form_user" name="user"> + <?php foreach($FORM['USER_LIST'] as $user): ?> + <option value="<?=$user['ID']?>"<?=($FORM['DATA']['USER'] === $user['ID']) ? ' selected' : '' ?>><?=escapeHTML($user['FULLNAME'])?> [<?=$user['USERNAME']?>]</option> + <?php endforeach; ?> + </select> + </div> + + <label for="form_name"> + <i class="fa fa-file-text-o"></i><?=$Language->text('label_name')?></label> + + <div class="form-grid-item"> + <input id="form_name" name="name" value="<?=escapeHTML($FORM['DATA']['NAME'])?>" /> + </div> + + <label for="form_slug"> + <i class="fa fa-link"></i><?=$Language->text('label_slug')?></label> + + <div class="form-grid-item"> + <input id="form_slug" name="slug" value="<?=escapeHTML($FORM['DATA']['SLUG'])?>" /> + </div> + + <label for="form_time_insert"> + <i class="fa fa-clock-o"></i><?=$Language->text('label_insert')?></label> + + <div class="form-grid-item"> + <input id="form_time_insert" name="time_insert" placeholder="YYYY-MM-DD HH:II:SS" value="<?=escapeHTML($FORM['DATA']['TIME_INSERT'])?>" /> + </div> + + <label for="form_time_update"> + <i class="fa fa-clock-o"></i><?=$Language->text('label_update')?></label> + + <div class="form-grid-item"> + <input id="form_time_update" name="time_update" placeholder="<?=escapeHTML($FORM['DATA']['TIME_UPDATE'] ? $FORM['DATA']['TIME_UPDATE'] : 'CURRENT_TIMESTAMP')?>" value="" /> + </div> + </div> + + <div id="content-editor-wrapper" class="form-border-box"> + <div id="button-list-wrapper"> + <ul id="markdown-list" class="button-list markdown"> + <li data-markdown="bold" class="fa fa-bold" title="<?=$Language->text('markdown_bold')?>"></li> + <li data-markdown="italic" class="fa fa-italic" title="<?=$Language->text('markdown_italic')?>"></li> + <li data-markdown="heading" class="fa fa-header" title="<?=$Language->text('markdown_heading')?>"></li> + <li data-markdown="link" class="fa fa-link" title="<?=$Language->text('markdown_link')?>"></li> + <li data-markdown="image" class="fa fa-picture-o" title="<?=$Language->text('markdown_image')?>"></li> + <li data-markdown="code" class="fa fa-code" title="<?=$Language->text('markdown_code')?>"></li> + <li data-markdown="quote" class="fa fa-quote-right" title="<?=$Language->text('markdown_quote')?>"></li> + <li data-markdown="list_ul" class="fa fa-list-ul" title="<?=$Language->text('markdown_list_ul')?>"></li> + <li data-markdown="list_ol" class="fa fa-list-ol" title="<?=$Language->text('markdown_list_ol')?>"></li> + </ul> + </div> + <textarea id="content-editor" name="body" placeholder="[…]"><?=escapeHTML($FORM['DATA']['BODY'])?></textarea> + </div> + <div id="emoticon-list-wrapper" class="form-border-box background padding"> + <ul id="emoticon-list" class="button-list emoticons"> + <?php foreach(getUnicodeEmoticons() as $emoticon => $explanation):?> + <li data-emoticon="<?=$emoticon?>" title="<?=$explanation?>"><?=$emoticon?></li> + <?php endforeach; ?> + </ul> + </div> + <div class="form-border-box background padding"> + <input id="form_argv" name="argv" maxlength="250" placeholder="[ARGUMENT_ONE=foo|ARGUMENT_TWO=bar …]" value="<?=escapeHTML($FORM['DATA']['ARGV'])?>" /> + </div> +<?php else: ?> + <div class="form-border-box background padding"> + <?=$HTML?> + </div> +<?php endif; ?> + + <div class="form-border-box background padding"> + <?php if($FORM['TYPE'] === 'INSERT'): ?> + <input id="insert-button" type="submit" name="insert" value="<?=$Language->text('insert')?>" /> + <?php elseif($FORM['TYPE'] === 'UPDATE'): ?> + <input id="update-button" type="submit" name="update" value="<?=$Language->text('update')?>" /> + <?php elseif($FORM['TYPE'] === 'DELETE'): ?> + <input id="delete-button" type="submit" name="delete" value="<?=$Language->text('delete')?>" data-text="<?=$Language->text('sure')?>" /> + <?php endif; ?> + </div> +</form> diff --git a/theme/admin/html/page/index.php b/theme/admin/html/page/index.php new file mode 100644 index 0000000..bdc7f94 --- /dev/null +++ b/theme/admin/html/page/index.php @@ -0,0 +1,16 @@ +<main id="main-content" class="wide"> +<h1><i class="fa fa-file-text-o"></i><?=$Language->text('page_overview')?></h1> +<p class="actions-before"><?=$Language->text('overview_page_desc')?></p> +<ul class="actions"> + <li><a href="<?=Application::getAdminURL('page/insert.php')?>" title="<?=$Language->text('insert_page')?>"><i class="fa fa-pencil-square-o"></i><?=$Language->text('insert')?></a></li> + <li><a href="<?=Application::getAdminURL('page/search.php')?>" title="<?=$Language->text('search_page')?>"><i class="fa fa-search"></i><?=$Language->text('search')?></a></li> +</ul> + +<div class="item-container page grid"> + <?php foreach($LIST['PAGES'] as $page): ?> + <?php echo $page; ?> + <?php endforeach; ?> +</div> + +<?=$PAGINATION['HTML']?> +</main> diff --git a/theme/admin/html/page/insert.php b/theme/admin/html/page/insert.php new file mode 100644 index 0000000..a77e47f --- /dev/null +++ b/theme/admin/html/page/insert.php @@ -0,0 +1,6 @@ +<main id="main-content"> +<h1><i class="fa fa-pencil-square-o"></i><?=$Language->text('insert_page')?></h1> +<p><?=$Language->text('insert_page_desc')?></p> + +<?=$HTML?> +</main> diff --git a/theme/admin/html/page/item.php b/theme/admin/html/page/item.php new file mode 100644 index 0000000..c61984c --- /dev/null +++ b/theme/admin/html/page/item.php @@ -0,0 +1,32 @@ +<article class="item"> + <header> + <h2><i class="fa fa-file-text-o"></i><?=escapeHTML($PAGE['ATTR']['NAME'])?></h2> + <div> + <span class="brackets item-id">#<?=$PAGE['ATTR']['ID']?></span> + <a class="brackets" href="<?=Application::getAdminURL("user/update.php?id={$USER['ATTR']['ID']}")?>" title="<?=$Language->text('update_user')?>"><?=escapeHTML($USER['ATTR']['FULLNAME'])?></a> + <time class="brackets" datetime="<?=$PAGE['ATTR']['TIME_INSERT']?>"><?=parseDatetime($PAGE['ATTR']['TIME_INSERT'], $Language->text('date_format'))?></time> + </div> + </header> + <blockquote cite="<?=$PAGE['URL']?>"> + <?php if(isset($PAGE['FILE']['LIST'][0])): ?> + <img class="item-image" src="<?=$PAGE['FILE']['LIST'][0]?>" alt="" /> + <?php endif; ?> + <p><?=excerpt($PAGE['BODY']['HTML']())?></p> + </blockquote> + + <?php if($PAGE['ARGV']): ?> + <ul class="arguments"> + <?php foreach($PAGE['ARGV'] as $argument => $value): ?> + <li><strong><?=$argument?>:</strong> <span><?=escapeHTML($value)?></span></li> + <?php endforeach; ?> + </ul> + <?php endif; ?> + + <footer> + <ul> + <li><a href="<?=$PAGE['URL']?>" target="_blank" title="<?=$Language->text('select_page')?>"><i class="fa fa-external-link"></i><span class="hidden"><?=$Language->text('select_page')?></span></a></li> + <li><a href="<?=Application::getAdminURL("page/update.php?id={$PAGE['ATTR']['ID']}")?>" title="<?=$Language->text('update_page')?>"><i class="fa fa-pencil-square-o"></i><span class="hidden"><?=$Language->text('update_page')?></span></a></li> + <li><a href="<?=Application::getAdminURL("page/delete.php?id={$PAGE['ATTR']['ID']}")?>" title="<?=$Language->text('delete_page')?>"><i class="fa fa-trash-o"></i><span class="hidden"><?=$Language->text('delete_page')?></span></a></li> + </ul> + </footer> +</article> diff --git a/theme/admin/html/page/search.php b/theme/admin/html/page/search.php new file mode 100644 index 0000000..145b0f9 --- /dev/null +++ b/theme/admin/html/page/search.php @@ -0,0 +1,19 @@ +<main id="main-content" <?=!$PAGES ?: 'class="wide"'?>> +<h1><i class="fa fa-search"></i><?=$Language->text('title_page_search')?></h1> +<p><?=$Language->text('search_page_desc')?></p> + +<form id="search-form" method="GET"> + <div class="form-border-box background padding"> + <input id="search-text" type="search" name="q" placeholder="<?=$Language->text('placeholder_search')?>" value="<?=escapeHTML($QUERY)?>" /> + </div> + <div class="form-border-box background padding"> + <input id="update-button" type="submit" value="<?=$Language->text('search')?>" /> + </div> +</form> + +<div class="item-container post grid"> + <?php foreach($PAGES as $page): ?> + <?php echo $page; ?> + <?php endforeach; ?> +</div> +</main> diff --git a/theme/admin/html/page/update.php b/theme/admin/html/page/update.php new file mode 100644 index 0000000..ce51d2a --- /dev/null +++ b/theme/admin/html/page/update.php @@ -0,0 +1,6 @@ +<main id="main-content"> +<h1><i class="fa fa-pencil-square-o"></i><?=$Language->text('update_page')?></h1> +<p><?=$Language->text('update_page_desc')?></p> + +<?=$HTML?> +</main> diff --git a/theme/admin/html/pagination.php b/theme/admin/html/pagination.php new file mode 100644 index 0000000..70720b6 --- /dev/null +++ b/theme/admin/html/pagination.php @@ -0,0 +1,30 @@ +<div id="site-navi"> + <?php if($THIS > 1): ?> + <div><a id="prev-site" href="<?=sprintf($HREF, $THIS-1)?>"><i class="fa fa-arrow-left"></i></a></div> + <?php else: ?> + <div><a class="disabled"><i class="fa fa-arrow-left"></i></a></div> + <?php endif; ?> + + <div> + <ol> + <?php + for($current = 1; $current <= $LAST; ++$current) { + $class = ''; + $href = sprintf($HREF, $current); + + if($current === $THIS) { + $class = ' class="active"'; + } + + echo "<li{$class}><a href=\"{$href}\">{$current}</a></li>"; + } + ?> + </ol> + </div> + + <?php if($THIS < $LAST): ?> + <div><a id="next-site" href="<?=sprintf($HREF, $THIS+1)?>"><i class="fa fa-arrow-right"></i></a></div> + <?php else: ?> + <div><a class="disabled"><i class="fa fa-arrow-right"></i></a></div> + <?php endif; ?> +</div> diff --git a/theme/admin/html/post/delete.php b/theme/admin/html/post/delete.php new file mode 100644 index 0000000..ed82197 --- /dev/null +++ b/theme/admin/html/post/delete.php @@ -0,0 +1,6 @@ +<main id="main-content"> +<h1><i class="fa fa-trash-o"></i><?=$Language->text('delete_post')?></h1> +<p><?=$Language->text('delete_post_desc')?></p> + +<?=$HTML?> +</main> diff --git a/theme/admin/html/post/form.php b/theme/admin/html/post/form.php new file mode 100644 index 0000000..58ac122 --- /dev/null +++ b/theme/admin/html/post/form.php @@ -0,0 +1,104 @@ +<?php if($FORM['INFO']): ?> + <div id="message-list-wrapper"> + <ul id="message-list"> + <?php foreach($FORM['INFO'] as $message): ?> + <li><?=$message?></li> + <?php endforeach ?> + </ul> + </div> +<?php endif ?> + +<form action="" method="POST"> + <input type="hidden" name="token" value="<?=$FORM['TOKEN']?>" /> + +<?php if($FORM['TYPE'] !== 'DELETE'): ?> + <div class="form-grid"> + <label for="form_id"> + <i class="fa fa-database"></i>ID</label> + + <div class="form-grid-item"> + <input<?=($FORM['TYPE'] === 'UPDATE') ? ' disabled="disabled"' : '';?> id="form_id" name="id" type="number" placeholder="AUTO_INCREMENT" value="<?=escapeHTML($FORM['DATA']['ID'])?>" /> + </div> + + <label for="form_user"> + <i class="fa fa-user"></i><?=$Language->text('label_user')?></label> + + <div class="form-grid-item"> + <select id="form_user" name="user"> + <?php foreach($FORM['USER_LIST'] as $user): ?> + <option value="<?=$user['ID']?>"<?=($FORM['DATA']['USER'] === $user['ID']) ? ' selected' : '' ?>><?=escapeHTML($user['FULLNAME'])?> [<?=$user['USERNAME']?>]</option> + <?php endforeach; ?> + </select> + </div> + + <label for="form_name"> + <i class="fa fa-newspaper-o"></i><?=$Language->text('label_name')?></label> + + <div class="form-grid-item"> + <input id="form_name" name="name" value="<?=escapeHTML($FORM['DATA']['NAME'])?>" /> + </div> + + <label for="form_slug"> + <i class="fa fa-link"></i><?=$Language->text('label_slug')?></label> + + <div class="form-grid-item"> + <input id="form_slug" name="slug" value="<?=escapeHTML($FORM['DATA']['SLUG'])?>" /> + </div> + + <label for="form_time_insert"> + <i class="fa fa-clock-o"></i><?=$Language->text('label_insert')?></label> + + <div class="form-grid-item"> + <input id="form_time_insert" name="time_insert" placeholder="YYYY-MM-DD HH:II:SS" value="<?=escapeHTML($FORM['DATA']['TIME_INSERT'])?>" /> + </div> + + <label for="form_time_update"> + <i class="fa fa-clock-o"></i><?=$Language->text('label_update')?></label> + + <div class="form-grid-item"> + <input id="form_time_update" name="time_update" placeholder="<?=escapeHTML($FORM['DATA']['TIME_UPDATE'] ? $FORM['DATA']['TIME_UPDATE'] : 'CURRENT_TIMESTAMP')?>" value="" /> + </div> + </div> + + <div id="content-editor-wrapper" class="form-border-box"> + <div id="button-list-wrapper"> + <ul id="markdown-list" class="button-list markdown"> + <li data-markdown="bold" class="fa fa-bold" title="<?=$Language->text('markdown_bold')?>"></li> + <li data-markdown="italic" class="fa fa-italic" title="<?=$Language->text('markdown_italic')?>"></li> + <li data-markdown="heading" class="fa fa-header" title="<?=$Language->text('markdown_heading')?>"></li> + <li data-markdown="link" class="fa fa-link" title="<?=$Language->text('markdown_link')?>"></li> + <li data-markdown="image" class="fa fa-picture-o" title="<?=$Language->text('markdown_image')?>"></li> + <li data-markdown="code" class="fa fa-code" title="<?=$Language->text('markdown_code')?>"></li> + <li data-markdown="quote" class="fa fa-quote-right" title="<?=$Language->text('markdown_quote')?>"></li> + <li data-markdown="list_ul" class="fa fa-list-ul" title="<?=$Language->text('markdown_list_ul')?>"></li> + <li data-markdown="list_ol" class="fa fa-list-ol" title="<?=$Language->text('markdown_list_ol')?>"></li> + </ul> + </div> + <textarea id="content-editor" name="body" placeholder="[…]"><?=escapeHTML($FORM['DATA']['BODY'])?></textarea> + </div> + <div id="emoticon-list-wrapper" class="form-border-box background padding"> + <ul id="emoticon-list" class="button-list emoticons"> + <?php foreach(getUnicodeEmoticons() as $emoticon => $explanation):?> + <li data-emoticon="<?=$emoticon?>" title="<?=$explanation?>"><?=$emoticon?></li> + <?php endforeach; ?> + </ul> + </div> + <div class="form-border-box background padding"> + <input id="form_argv" name="argv" maxlength="250" placeholder="[ARGUMENT_ONE=foo|ARGUMENT_TWO=bar …]" value="<?=escapeHTML($FORM['DATA']['ARGV'])?>" /> + </div> +<?php else: ?> + <div class="form-border-box background padding"> + <?=$HTML?> + </div> +<?php endif; ?> + + <div class="form-border-box background padding"> + <?php if($FORM['TYPE'] === 'INSERT'): ?> + <input id="insert-button" type="submit" name="insert" value="<?=$Language->text('insert')?>" /> + <?php elseif($FORM['TYPE'] === 'UPDATE'): ?> + <input id="update-button" type="submit" name="update" value="<?=$Language->text('update')?>" /> + <?php elseif($FORM['TYPE'] === 'DELETE'): ?> + <input id="delete-button" type="submit" name="delete" value="<?=$Language->text('delete')?>" data-text="<?=$Language->text('sure')?>" /> + <?php endif; ?> + </div> +</form> diff --git a/theme/admin/html/post/index.php b/theme/admin/html/post/index.php new file mode 100644 index 0000000..83dd5dc --- /dev/null +++ b/theme/admin/html/post/index.php @@ -0,0 +1,16 @@ +<main id="main-content" class="wide"> +<h1><i class="fa fa-newspaper-o"></i><?=$Language->text('post_overview')?></h1> +<p class="actions-before"><?=$Language->text('overview_post_desc')?></p> +<ul class="actions"> + <li><a href="<?=Application::getAdminURL('post/insert.php')?>" title="<?=$Language->text('insert_post')?>"><i class="fa fa-pencil-square-o"></i><?=$Language->text('insert')?></a></li> + <li><a href="<?=Application::getAdminURL('post/search.php')?>" title="<?=$Language->text('search_post')?>"><i class="fa fa-search"></i><?=$Language->text('search')?></a></li> +</ul> + +<div class="item-container post grid"> + <?php foreach($LIST['POSTS'] as $post): ?> + <?php echo $post; ?> + <?php endforeach; ?> +</div> + +<?=$PAGINATION['HTML']?> +</main> diff --git a/theme/admin/html/post/insert.php b/theme/admin/html/post/insert.php new file mode 100644 index 0000000..9b7c588 --- /dev/null +++ b/theme/admin/html/post/insert.php @@ -0,0 +1,6 @@ +<main id="main-content"> +<h1><i class="fa fa-pencil-square-o"></i><?=$Language->text('insert_post')?></h1> +<p><?=$Language->text('insert_post_desc')?></p> + +<?=$HTML?> +</main> diff --git a/theme/admin/html/post/item.php b/theme/admin/html/post/item.php new file mode 100644 index 0000000..ae06752 --- /dev/null +++ b/theme/admin/html/post/item.php @@ -0,0 +1,32 @@ +<article class="item"> + <header> + <h2><i class="fa fa-newspaper-o"></i><?=escapeHTML($POST['ATTR']['NAME'])?></h2> + <div> + <span class="brackets item-id">#<?=$POST['ATTR']['ID']?></span> + <a class="brackets" href="<?=Application::getAdminURL("user/update.php?id={$USER['ATTR']['ID']}")?>" title="<?=$Language->text('update_user')?>"><?=escapeHTML($USER['ATTR']['FULLNAME'])?></a> + <time class="brackets" datetime="<?=$POST['ATTR']['TIME_INSERT']?>"><?=parseDatetime($POST['ATTR']['TIME_INSERT'], $Language->text('date_format'))?></time> + </div> + </header> + <blockquote cite="<?=$POST['URL']?>"> + <?php if(isset($POST['FILE']['LIST'][0])): ?> + <img class="item-image" src="<?=$POST['FILE']['LIST'][0]?>" alt="" /> + <?php endif; ?> + <p><?=excerpt($POST['BODY']['HTML']())?></p> + </blockquote> + + <?php if($POST['ARGV']): ?> + <ul class="arguments"> + <?php foreach($POST['ARGV'] as $argument => $value): ?> + <li><strong><?=$argument?>:</strong> <span><?=escapeHTML($value)?></span></li> + <?php endforeach; ?> + </ul> + <?php endif; ?> + + <footer> + <ul> + <li><a href="<?=$POST['URL']?>" target="_blank" title="<?=$Language->text('select_post')?>"><i class="fa fa-external-link"></i><span class="hidden"><?=$Language->text('select_post')?></span></a></li> + <li><a href="<?=Application::getAdminURL("post/update.php?id={$POST['ATTR']['ID']}")?>" title="<?=$Language->text('update_post')?>"><i class="fa fa-pencil-square-o"></i><span class="hidden"><?=$Language->text('update_post')?></span></a></li> + <li><a href="<?=Application::getAdminURL("post/delete.php?id={$POST['ATTR']['ID']}")?>" title="<?=$Language->text('delete_post')?>"><i class="fa fa-trash-o"></i><span class="hidden"><?=$Language->text('delete_post')?></span></a></li> + </ul> + </footer> +</article> diff --git a/theme/admin/html/post/search.php b/theme/admin/html/post/search.php new file mode 100644 index 0000000..00bd016 --- /dev/null +++ b/theme/admin/html/post/search.php @@ -0,0 +1,19 @@ +<main id="main-content" <?=!$POSTS ?: 'class="wide"'?>> +<h1><i class="fa fa-search"></i><?=$Language->text('title_post_search')?></h1> +<p><?=$Language->text('search_post_desc')?></p> + +<form id="search-form" method="GET"> + <div class="form-border-box background padding"> + <input id="search-text" type="search" name="q" placeholder="<?=$Language->text('placeholder_search')?>" value="<?=escapeHTML($QUERY)?>" /> + </div> + <div class="form-border-box background padding"> + <input id="update-button" type="submit" value="<?=$Language->text('search')?>" /> + </div> +</form> + +<div class="item-container post grid"> + <?php foreach($POSTS as $post): ?> + <?php echo $post; ?> + <?php endforeach; ?> +</div> +</main> diff --git a/theme/admin/html/post/update.php b/theme/admin/html/post/update.php new file mode 100644 index 0000000..aa3835d --- /dev/null +++ b/theme/admin/html/post/update.php @@ -0,0 +1,6 @@ +<main id="main-content"> +<h1><i class="fa fa-pencil-square-o"></i><?=$Language->text('update_post')?></h1> +<p><?=$Language->text('update_post_desc')?></p> + +<?=$HTML?> +</main> diff --git a/theme/admin/html/user/delete.php b/theme/admin/html/user/delete.php new file mode 100644 index 0000000..b500a12 --- /dev/null +++ b/theme/admin/html/user/delete.php @@ -0,0 +1,8 @@ +<main id="main-content"> +<h1><i class="fa fa-trash-o"></i><?=$Language->text('delete_user')?></h1> +<p><?=$Language->text('delete_user_desc')?></p> + +<p class="red"><?=$Language->text('delete_user_warning')?></p> + +<?=$HTML?> +</main> diff --git a/theme/admin/html/user/form.php b/theme/admin/html/user/form.php new file mode 100644 index 0000000..7e370e5 --- /dev/null +++ b/theme/admin/html/user/form.php @@ -0,0 +1,114 @@ +<?php if($FORM['INFO']): ?> + <div id="message-list-wrapper"> + <ul id="message-list"> + <?php foreach($FORM['INFO'] as $message): ?> + <li><?=$message?></li> + <?php endforeach ?> + </ul> + </div> +<?php endif ?> + +<form action="" method="POST"> + <input type="hidden" name="token" value="<?=$FORM['TOKEN']?>" /> + +<?php if($FORM['TYPE'] !== 'DELETE'): ?> + <div class="form-grid"> + <label for="form_id"> + <i class="fa fa-database"></i>ID</label> + + <div class="form-grid-item"> + <input<?=($FORM['TYPE'] === 'UPDATE') ? ' disabled="disabled"' : '';?> id="form_id" name="id" type="number" placeholder="AUTO_INCREMENT" value="<?=escapeHTML($FORM['DATA']['ID'])?>" /> + </div> + + <label for="form_password"> + <i class="fa fa-key"></i><?=$Language->text('label_password')?></label> + + <div class="form-grid-item"> + <input id="form_password" name="password" placeholder="NO CHANGE" type="password" /> + </div> + + <label for="form_fullname"> + <i class="fa fa-user"></i><?=$Language->text('label_fullname')?></label> + + <div class="form-grid-item"> + <input id="form_fullname" name="fullname" value="<?=escapeHTML($FORM['DATA']['FULLNAME'])?>" /> + </div> + + <label for="form_mailaddr"> + <i class="fa fa-envelope-o"></i><?=$Language->text('label_mailaddr')?></label> + + <div class="form-grid-item"> + <input id="form_mailaddr" name="mailaddr" value="<?=escapeHTML($FORM['DATA']['MAILADDR'])?>" /> + </div> + + <label for="form_username"> + <i class="fa fa-user-secret"></i><?=$Language->text('label_username')?></label> + + <div class="form-grid-item"> + <input id="form_username" name="username" value="<?=escapeHTML($FORM['DATA']['USERNAME'])?>" /> + </div> + + <label for="form_slug"> + <i class="fa fa-link"></i><?=$Language->text('label_slug')?></label> + + <div class="form-grid-item"> + <input id="form_slug" name="slug" value="<?=escapeHTML($FORM['DATA']['SLUG'])?>" /> + </div> + + <label for="form_time_insert"> + <i class="fa fa-clock-o"></i><?=$Language->text('label_insert')?></label> + + <div class="form-grid-item"> + <input id="form_time_insert" name="time_insert" placeholder="YYYY-MM-DD HH:II:SS" value="<?=escapeHTML($FORM['DATA']['TIME_INSERT'])?>" /> + </div> + + <label for="form_time_update"> + <i class="fa fa-clock-o"></i><?=$Language->text('label_update')?></label> + + <div class="form-grid-item"> + <input id="form_time_update" name="time_update" placeholder="<?=escapeHTML($FORM['DATA']['TIME_UPDATE'] ? $FORM['DATA']['TIME_UPDATE'] : 'CURRENT_TIMESTAMP')?>" value="" /> + </div> + </div> + + <div id="content-editor-wrapper" class="form-border-box"> + <div id="button-list-wrapper"> + <ul id="markdown-list" class="button-list markdown"> + <li data-markdown="bold" class="fa fa-bold" title="<?=$Language->text('markdown_bold')?>"></li> + <li data-markdown="italic" class="fa fa-italic" title="<?=$Language->text('markdown_italic')?>"></li> + <li data-markdown="heading" class="fa fa-header" title="<?=$Language->text('markdown_heading')?>"></li> + <li data-markdown="link" class="fa fa-link" title="<?=$Language->text('markdown_link')?>"></li> + <li data-markdown="image" class="fa fa-picture-o" title="<?=$Language->text('markdown_image')?>"></li> + <li data-markdown="code" class="fa fa-code" title="<?=$Language->text('markdown_code')?>"></li> + <li data-markdown="quote" class="fa fa-quote-right" title="<?=$Language->text('markdown_quote')?>"></li> + <li data-markdown="list_ul" class="fa fa-list-ul" title="<?=$Language->text('markdown_list_ul')?>"></li> + <li data-markdown="list_ol" class="fa fa-list-ol" title="<?=$Language->text('markdown_list_ol')?>"></li> + </ul> + </div> + <textarea id="content-editor" name="body" placeholder="[…]"><?=escapeHTML($FORM['DATA']['BODY'])?></textarea> + </div> + <div id="emoticon-list-wrapper" class="form-border-box background padding"> + <ul id="emoticon-list" class="button-list emoticons"> + <?php foreach(getUnicodeEmoticons() as $emoticon => $explanation):?> + <li data-emoticon="<?=$emoticon?>" title="<?=$explanation?>"><?=$emoticon?></li> + <?php endforeach; ?> + </ul> + </div> + <div class="form-border-box background padding"> + <input id="form_argv" name="argv" maxlength="250" placeholder="[ARGUMENT_ONE=foo|ARGUMENT_TWO=bar …]" value="<?=escapeHTML($FORM['DATA']['ARGV'])?>" /> + </div> +<?php else: ?> + <div class="form-border-box background padding"> + <?=$HTML?> + </div> +<?php endif; ?> + + <div class="form-border-box background padding"> + <?php if($FORM['TYPE'] === 'INSERT'): ?> + <input id="insert-button" type="submit" name="insert" value="<?=$Language->text('insert')?>" /> + <?php elseif($FORM['TYPE'] === 'UPDATE'): ?> + <input id="update-button" type="submit" name="update" value="<?=$Language->text('update')?>" /> + <?php elseif($FORM['TYPE'] === 'DELETE'): ?> + <input id="delete-button" type="submit" name="delete" value="<?=$Language->text('delete')?>" data-text="<?=$Language->text('sure')?>" /> + <?php endif; ?> + </div> +</form> diff --git a/theme/admin/html/user/index.php b/theme/admin/html/user/index.php new file mode 100644 index 0000000..7e1d794 --- /dev/null +++ b/theme/admin/html/user/index.php @@ -0,0 +1,15 @@ +<main id="main-content"> +<h1><i class="fa fa-user"></i><?=$Language->text('user_overview')?></h1> +<p class="actions-before"><?=$Language->text('overview_user_desc')?></p> +<ul class="actions"> + <li><a href="<?=Application::getAdminURL('user/insert.php')?>" title="<?=$Language->text('insert_user')?>"><i class="fa fa-pencil-square-o"></i><?=$Language->text('insert')?></a></li> +</ul> + +<div class="item-container user"> + <?php foreach($LIST['USERS'] as $user): ?> + <?php echo $user; ?> + <?php endforeach; ?> +</div> + +<?=$PAGINATION['HTML']?> +</main> diff --git a/theme/admin/html/user/insert.php b/theme/admin/html/user/insert.php new file mode 100644 index 0000000..7c7aba2 --- /dev/null +++ b/theme/admin/html/user/insert.php @@ -0,0 +1,6 @@ +<main id="main-content"> +<h1><i class="fa fa-pencil-square-o"></i><?=$Language->text('insert_user')?></h1> +<p><?=$Language->text('insert_user_desc')?></p> + +<?=$HTML?> +</main> diff --git a/theme/admin/html/user/item.php b/theme/admin/html/user/item.php new file mode 100644 index 0000000..ae16637 --- /dev/null +++ b/theme/admin/html/user/item.php @@ -0,0 +1,31 @@ +<article class="item"> + <header> + <h2><i class="fa fa-user"></i><?=escapeHTML($USER['ATTR']['FULLNAME'])?></h2> + <div> + <span class="brackets item-id">#<?=$USER['ATTR']['ID']?></span> + <time class="brackets" datetime="<?=$USER['ATTR']['TIME_INSERT']?>"><?=parseDatetime($USER['ATTR']['TIME_INSERT'], $Language->text('date_format'))?></time> + </div> + </header> + <blockquote cite="<?=$USER['URL']?>"> + <?php if(isset($USER['FILE']['LIST'][0])): ?> + <img class="item-image" src="<?=$USER['FILE']['LIST'][0]?>" alt="" /> + <?php endif; ?> + <p><?=excerpt($USER['BODY']['HTML']())?></p> + </blockquote> + + <?php if($USER['ARGV']): ?> + <ul class="arguments"> + <?php foreach($USER['ARGV'] as $argument => $value): ?> + <li><strong><?=$argument?>:</strong> <span><?=escapeHTML($value)?></span></li> + <?php endforeach; ?> + </ul> + <?php endif; ?> + + <footer> + <ul> + <li><a href="<?=$USER['URL']?>" target="_blank" title="<?=$Language->text('select_user')?>"><i class="fa fa-external-link"></i><span class="hidden"><?=$Language->text('select_user')?></span></a></li> + <li><a href="<?=Application::getAdminURL("user/update.php?id={$USER['ATTR']['ID']}")?>" title="<?=$Language->text('update_user')?>"><i class="fa fa-pencil-square-o"></i><span class="hidden"><?=$Language->text('update_user')?></span></a></li> + <li><a href="<?=Application::getAdminURL("user/delete.php?id={$USER['ATTR']['ID']}")?>" title="<?=$Language->text('delete_user')?>"><i class="fa fa-trash-o"></i><span class="hidden"><?=$Language->text('delete_user')?></span></a></li> + </ul> + </footer> +</article> diff --git a/theme/admin/html/user/update.php b/theme/admin/html/user/update.php new file mode 100644 index 0000000..ad12677 --- /dev/null +++ b/theme/admin/html/user/update.php @@ -0,0 +1,6 @@ +<main id="main-content"> +<h1><i class="fa fa-pencil-square-o"></i><?=$Language->text('update_user')?></h1> +<p><?=$Language->text('update_user_desc')?></p> + +<?=$HTML?> +</main> |