initial commit

This commit is contained in:
Ulf Gebhardt 2015-12-06 06:47:58 +01:00
parent 69a4dd068c
commit b22c617b7f
39 changed files with 548 additions and 0 deletions

View File

@ -0,0 +1,2 @@
<?php
class api_demo_basic extends \SYSTEM\API\api_system {}

View File

@ -0,0 +1,3 @@
<?php
SYSTEM\autoload::registerFolder(dirname(__FILE__),'');
//SYSTEM\autoload::registerFolder(dirname(__FILE__).'/elements','');

View File

@ -0,0 +1,2 @@
<?php
\SYSTEM\autoload::registerFolder(dirname(__FILE__));

View File

@ -0,0 +1,3 @@
<?php
\SYSTEM\autoload::registerFolder(dirname(__FILE__),'');
\SYSTEM\FILES\files::registerFolder(dirname(__FILE__).'/img/','img','*.*');

View File

@ -0,0 +1,8 @@
<?php
SYSTEM\autoload::registerFolder(dirname(__FILE__),'');
SYSTEM\autoload::registerFolder(dirname(__FILE__).'/default_page','');
SYSTEM\autoload::registerFolder(dirname(__FILE__).'/default_start','');
SYSTEM\autoload::registerFolder(dirname(__FILE__).'/default_blog','');
SYSTEM\autoload::registerFolder(dirname(__FILE__).'/default_impressum','');

View File

@ -0,0 +1,16 @@
.menu_btn {
margin-right: 20px;
padding: 10px;
max-width: 100px;
text-decoration: none;
color: white;
border: #666666 1px solid;
background: #666666;
}
.menu_btn:hover{
background: #cc3333;
color: white;
text-decoration: none;
}

View File

@ -0,0 +1,70 @@
<?php
class default_blog extends SYSTEM\PAGE\Page {
private $tag = NULL;
private $id = NULL;
public function __construct($tag,$id) {
$this->tag = $tag;
$this->id = $id;
}
public static function js(){
return array( \SYSTEM\WEBPATH(new PPAGE(),'default_blog/js/default_blog.js'));
}
public static function css(){
return array( \SYSTEM\WEBPATH(new PPAGE(),'default_blog/css/default_blog.css'));}
private static function time_elapsed_string($ptime){
$etime = time() - $ptime;
if ($etime < 1){
return '0 seconds';}
$a = array( 12 * 30 * 24 * 60 * 60 => 'Jahr(en)',
30 * 24 * 60 * 60 => 'Monat(en)',
24 * 60 * 60 => 'Tag(en)',
60 * 60 => 'Stunde(n)',
60 => 'Minute(n)',
1 => 'Sekunden');
foreach ($a as $secs => $str){
$d = $etime / $secs;
if ($d >= 1){
$r = round($d);
return $r . ' ' . $str . ($r > 1 ? '' : '') . ' ';}
}
}
public static function get_content($default,$tag = null,$id = null){
if($id){
$text = \DBD\MRECHEL_GET_TEXT_ID::Q1(array($id));
$text['published'] = date_format(new DateTime($text['time_edit']), 'd.m.Y H:i');
return SYSTEM\PAGE\replace::replaceFile(SYSTEM\SERVERPATH(new PPAGE(),'default_blog/tpl/article.tpl'), $text);
} elseif($tag) {
$result = '';
$texts = \DBD\MRECHEL_GET_TEXT_TAG::QQ(array($tag));
while($row = $texts->next()){
$row['ago'] = self::time_elapsed_string(strtotime($row['time_edit']));
$result .= SYSTEM\PAGE\replace::replaceFile(SYSTEM\SERVERPATH(new PPAGE(),'default_blog/tpl/article_bulletin.tpl'), $row);}
return $result;
}
//new \SYSTEM\LOG\WARNING('No Text found on id: '.$id.' tag: '.$tag);
$text = \DBD\MRECHEL_GET_TEXT_ID::Q1(array($default));
return SYSTEM\PAGE\replace::replaceFile(SYSTEM\SERVERPATH(new PPAGE(),'default_blog/tpl/article.tpl'), $text);
}
public static function get_menu($menu){
$result = '';
$texts = \DBD\MRECHEL_GET_TEXT_TAG::QQ(array($menu));
while($row = $texts->next()){
$result .= SYSTEM\PAGE\replace::replaceFile(SYSTEM\SERVERPATH(new PPAGE(),'default_blog/tpl/menu.tpl'), $row);}
return $result;
}
public function html(){
$vars = array();
$vars['blog_menu'] = $this->get_menu('blog_menu');
$vars['blog_content'] = self::get_content('mrechel_default_blog',$this->tag,$this->id);
$vars = array_merge($vars, \SYSTEM\PAGE\text::tag('mrechel'),
\SYSTEM\PAGE\text::tag('webcraft'),
\SYSTEM\PAGE\text::tag('blog'));
return SYSTEM\PAGE\replace::replaceFile(SYSTEM\SERVERPATH(new PPAGE(),'default_blog/tpl/default_blog.tpl'), $vars);
}
}

View File

@ -0,0 +1,3 @@
function init_blog(){
twttr.widgets.load();
}

View File

@ -0,0 +1,15 @@
<div style="border: #666666 solid 3px; padding: 10px; margin-top: 20px; margin-bottom: 10px;">
<p style="float: right;">Eingestellt am&nbsp;${published}&nbsp;Uhr</p>
<h3>${id}</h3>
<br>
${text}
</div>
<!--twitter-->
<a href="https://twitter.com/share" class="twitter-share-button" data-via="MichaelaRechel">Tweet</a>
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
<!--facebook-->
<div class="fb-share-button" data-href="http://mojotrollz.eu/web2/test/mrechel/#!blog;tag.dummy;id.${id}" data-layout="button_count"></div>
<a href="#!blog;tag.blog" style="float: right;">Zurück zum Blog</a>

View File

@ -0,0 +1,20 @@
<div style="border-bottom: #666666 1px solid; margin-top: 20px; max-height: 220px; overflow-x: hidden">
<a href="#!blog;tag.dummy;id.${id}">
<table style="width: 90%;">
<tr>
<td style="padding: 10px;">
<a href="#!blog;tag.dummy;id.${id}"><p>${id}</p></a>
</td>
<td style="text-align: right;">
<p>Eingestellt vor&nbsp;${ago}</p>
</td>
</tr>
<tr>
<td style=" padding: 10px;">
${text}
</td>
</tr>
</table>
</a>
</div>

View File

@ -0,0 +1,5 @@
<div id="blog_main">
Themen:&nbsp;${blog_menu}
<hr>
${blog_content}
</div>

View File

@ -0,0 +1,3 @@
<a class="menu_btn" href="#!blog;tag.${text}">${text}</a>

View File

@ -0,0 +1,11 @@
<?php
class default_impressum extends \SYSTEM\PAGE\Page {
public function html(){
$vars = array();
$vars['impressum'] = \SYSTEM\PAGE\text::get('impressum');
return SYSTEM\PAGE\replace::replaceFile(SYSTEM\SERVERPATH(new PPAGE(),'default_impressum/tpl/impressum.tpl'), $vars);
}
public static function js(){
return array( \SYSTEM\WEBPATH(new PPAGE(),'default_impressum/js/default_impressum.js'));
}
}

View File

@ -0,0 +1,3 @@
function init_impressum(){
$('#modal_text').modal('show');
}

View File

@ -0,0 +1 @@
<div>${impressum}</div>

View File

@ -0,0 +1,76 @@
body {
}
#headbanner_frame {
width: 55%;
max-height: 35%;
margin: auto;
background: white;
}
#headbanner {
font-family: fantasy;
padding-left: 25px;
box-shadow: 0 0px 0px 0px white, 0 0px 0px 0px white, 5px 0 5px -4px rgba(102, 102, 102, 0.8), -5px 0 5px -5px rgba(102, 102, 102, 0.8);
}
#menu {
width: 100%;
background: #cc3333;
}
#menu_content {
font-family: Arial;
font-size: 16pt;
width: 90%;
margin: auto;
text-align: center;
text-decoration: none;
color: white;
}
#menu_content a:visited{
text-decoration: none;
color: white;
}
#menu_content a:hover{
text-decoration: none;
text-shadow: 1px 0px white;
}
#menu_content a:link{
text-decoration: none;
color: white;
}
#content {
background: white;
width: 55%;
padding: 25px;
margin: auto;
color: #666666;
box-shadow: 0 0px 0px 0px white, 0 0px 0px 0px white, 5px 0 5px -4px rgba(102, 102, 102, 0.8), -5px 0 5px -5px rgba(102, 102, 102, 0.8);
}
#footer {
height: 20px;
position: fixed;
bottom: 0px;
left: 0;
right: 0;
text-align: center;
width: 100%;
background: #666666;
color: white;
}
#footer a:link{
text-decoration: none;
color: white;
}
#footer a:visited{
text-decoration: none;
color: white;
}

View File

@ -0,0 +1,24 @@
<?php
class default_page extends \SYSTEM\PAGE\Page {
private static function js(){
return \SYSTEM\HTML\html::script(\LIB\lib_jquery::js()).
\SYSTEM\HTML\html::script(\LIB\lib_bootstrap::js()).
\SYSTEM\HTML\html::script(\LIB\lib_system::js()).
\SYSTEM\HTML\html::script(\SYSTEM\WEBPATH(new PPAGE(),'default_page/js/default_page.js'));
}
private static function css(){
return \SYSTEM\HTML\html::link(\LIB\lib_bootstrap::css()).
\SYSTEM\HTML\html::link(\SYSTEM\WEBPATH(new PPAGE(),'default_page/css/default_page.css'));
}
public function html($_escaped_fragment_ = null){
$vars = array();
$vars['js'] = '';
if(!$_escaped_fragment_){
$vars['js'] = self::js();}
$vars['css'] = self::css();
$vars = array_merge($vars, \SYSTEM\PAGE\text::tag('demo_basic'));
return SYSTEM\PAGE\replace::replaceFile(SYSTEM\SERVERPATH(new PPAGE(),'default_page/tpl/default_page.tpl'), $vars);
}
}

View File

@ -0,0 +1,5 @@
$(document).ready(function() {
new SYSTEM('./api.php',1,'start');
$('#impressum').click(function(){
$('#modal_text').modal('show');});
});

View File

@ -0,0 +1,72 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="Herzlich Willkommen bei Michaela Rechel - Fachkunde und Verkaufstraining für Bäckereien. Lesen Sie hier über mein Programm oder durchstöbern Sie meinen Blog nach den neuesten Trends in der Backbranche.">
<meta name="keywords" content="Bäckerei, Backen, Verkaufstraining, Seminare, Fortbilung, Hygiene">
<meta name="author" content="Webcraft-Media.de">
<meta name="fragment" content="!start">
<title>michaela rechel</title>
${css}
${js}
<link rel="shortcut icon" href="./api.php?call=files&amp;cat=img&amp;id=favicon.png" type="image/x-icon" />
</head>
<body style="background: #cccccc; padding-top: 10px;">
<div id="fb-root"></div>
<script>(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/de_DE/sdk.js#xfbml=1&version=v2.3";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
<div class="modal fade" id="modal_text" style="" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-body" id="modaltext"></div>
<div class="modal-footer">
<button type="button" class="btn" data-dismiss="modal" id="edit_close">Close</button>
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div><!-- /.modal -->
<div id="headbanner_frame">
<div id="headbanner" style="background: url(./api.php?call=files&cat=img&id=head.jpg)no-repeat; background-size: cover;">
${mrechel_contact}
</div>
</div>
<div id="menu">
<div id="menu_content">
<a href="#!start">${menu_start}</a>&nbsp;&nbsp-
&nbsp;<a href="#!product_1">${menu_product_1}</a>&nbsp-
&nbsp;<a href="#!product_2">${menu_product_2}</a>&nbsp-
&nbsp;<a href="#!about">${menu_about}</a>&nbsp-
&nbsp;<a href="#!blog;tag.blog">${menu_blog}</a>
</div>
</div>
<div id="content"></div>
<div style="position: fixed; right: 100px; bottom: 50px; padding: 30px; text-align: center;">
<div class="fb-like" data-href="https://www.facebook.com/pages/Michaela-Rechel-Beratung-und-Seminare-f%C3%BCr-B%C3%A4ckereien/1495333794045545?fref=ts" data-layout="box_count" data-action="like" data-show-faces="true" data-share="false"></div>
<br>
<br>
<div data-type="xing/share" data-counter="top" data-lang="de"></div>
<script>
;(function (d, s) {
var x = d.createElement(s),
s = d.getElementsByTagName(s)[0];
x.src = "https://www.xing-share.com/plugins/share.js";
s.parentNode.insertBefore(x, s);
})(document, "script");
</script>
<br>
<br>
<div><a href="https://twitter.com/share" class="twitter-share-button" data-via="MichaelaRechel" data-size="large">Tweet</a></div>
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
</div>
<div id="footer">
<a href="#!start(impressum)" id="impressum">Impressum</a>&nbsp;
</div>
</body>
</html>

View File

@ -0,0 +1 @@
<a href="#!start">${menu_start}</a>&nbsp;&nbsp-&nbsp;&nbsp;

View File

@ -0,0 +1,5 @@
#start_main{
width: 100%;
background: white;
}

View File

@ -0,0 +1,21 @@
<?php
class default_start extends SYSTEM\PAGE\Page {
private $tag = NULL;
private $id = NULL;
public function __construct($tag,$id) {
$this->tag = $tag;
$this->id = $id;
}
public static function js(){
return array( \SYSTEM\WEBPATH(new PPAGE(),'default_start/js/default_start.js'));
}
public static function css(){
return array( \SYSTEM\WEBPATH(new PPAGE(),'default_start/css/default_start.css'));}
public function html(){
$vars = array();
$vars = array_merge($vars, \SYSTEM\PAGE\text::tag('demo_basic'));
return SYSTEM\PAGE\replace::replaceFile(SYSTEM\SERVERPATH(new PPAGE(),'default_start/tpl/default_start.tpl'), $vars);
}
}

View File

@ -0,0 +1,3 @@
function init_start(){
}

View File

@ -0,0 +1,3 @@
<div id="start_main">
${start_content}
</div>

View File

@ -0,0 +1,3 @@
${text}
<br>
<br>

View File

@ -0,0 +1,19 @@
<?php
class page_demo_basic extends \SYSTEM\API\api_default {
public static function get_apigroup(){
return 1;}
public static function get_class($params = null){
return self::class;}
public static function default_page($_escaped_fragment_ = null){
return (new default_page())->html($_escaped_fragment_);}
public static function page_start($tag = null, $id = null){
return (new default_start($tag,$id))->html();}
public static function page_blog($tag = null, $id = null){
return (new default_blog($tag,$id))->html();}
public static function page_impressum(){
return (new default_impressum(''))->html();}
}

5
demo_basic/path/PLIB.php Normal file
View File

@ -0,0 +1,5 @@
<?php
class PLIB extends \SYSTEM\PATH {
public static function getPath(){
return \SYSTEM\C_ROOT.'lib/'.\SYSTEM\C_SUBPATH;}
}

View File

@ -0,0 +1,5 @@
<?php
class PPAGE extends \SYSTEM\PATH {
public static function getPath(){
return \SYSTEM\C_ROOT.'demo_basic/page/'.\SYSTEM\C_SUBPATH;}
}

5
demo_basic/path/PSAI.php Normal file
View File

@ -0,0 +1,5 @@
<?php
class PSAI extends \SYSTEM\PATH {
public static function getPath(){
return \SYSTEM\C_ROOT.'demo_basic/sai/'.\SYSTEM\C_SUBPATH;}
}

5
demo_basic/path/PSQL.php Normal file
View File

@ -0,0 +1,5 @@
<?php
class PSQL extends \SYSTEM\PATH {
public static function getPath(){
return \SYSTEM\C_ROOT.'demo_basic/sql/'.\SYSTEM\C_SUBPATH;}
}

View File

@ -0,0 +1,2 @@
<?php
SYSTEM\autoload::registerFolder(dirname(__FILE__),'');

View File

@ -0,0 +1,2 @@
<?php
//require_once dirname(__FILE__).'/saimod_*/autoload.inc';

View File

@ -0,0 +1,11 @@
<?php
namespace SQL;
class DATA_DEMO_BASIC extends \SYSTEM\DB\QI {
public static function get_class(){return \get_class();}
public static function files_mysql(){
return array( \SYSTEM\SERVERPATH(new \PSQL(),'/mysql/system_page.sql')/*,
\SYSTEM\SERVERPATH(new \PSQL(),'/mysql/system_api.sql'),
\SYSTEM\SERVERPATH(new \PSQL(),'/mysql/system_text.sql'),
\SYSTEM\SERVERPATH(new \PSQL(),'/mysql/system_cron.sql')*/);
}
}

View File

@ -0,0 +1,4 @@
<?php
\SYSTEM\autoload::registerFolder(dirname(__FILE__),'SQL');
\SYSTEM\SQL\setup::register('SQL\\DATA_DEMO_BASIC');

View File

@ -0,0 +1,14 @@
INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (200, 0, 2, 11, 'newserver', 'address', 'STRING');
INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (205, 0, 2, 11, 'vote', 'server', 'INT');
-- SAIMOD
INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (5011, 42, 2, 5000, 'visible', 'visible', 'INT');
INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (5010, 42, 2, 5000, 'visible', 'id', 'INT');
INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (5008, 42, 2, 5000, 'del', 'id', 'INT');
INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (5005, 42, 2, 5000, 'save', 'description', 'STRING');
INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (5004, 42, 2, 5000, 'save', 'version', 'INT');
INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (5003, 42, 2, 5000, 'save', 'url', 'STRING');
INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (5002, 42, 2, 5000, 'save', 'name', 'STRING');
INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (5001, 42, 2, 5000, 'save', 'id', 'INT');
INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (5000, 42, 0, 0, '_SAI_saimod_mojotrollz_servers', 'action', NULL);

View File

@ -0,0 +1 @@
INSERT INTO `system_cron` (`class`, `min`, `hour`, `day`, `day_week`, `month`, `last_run`, `status`) VALUES ('cron_calculate_votes', 0, 0, 1, 0, 0, NULL, 0);

View File

@ -0,0 +1,2 @@
INSERT INTO `system_page` (`id`, `group`, `name`, `state`, `parent_id`, `login`, `type`, `div`, `url`, `func`, `php_class`) VALUES (10, 1, 'start', 'start', -1, 0, 0, '#content', './?page=start', 'init_start', 'default_start');
INSERT INTO `system_page` (`id`, `group`, `name`, `state`, `parent_id`, `login`, `type`, `div`, `url`, `func`, `php_class`) VALUES (15, 1, 'impressum', 'impressum', -1, 0, 0, '#content', './?page=impressum', 'init_impressum', 'default_impressum');

File diff suppressed because one or more lines are too long

2
lib/autoload.inc Normal file
View File

@ -0,0 +1,2 @@
<?php
require_once dirname(__FILE__).'/system/autoload.inc';