#397 basic project

This commit is contained in:
Ulf Gebhardt 2017-08-16 21:33:02 +02:00
parent 9382616121
commit 6387a31142
40 changed files with 464 additions and 62 deletions

3
.htaccess Normal file
View File

@ -0,0 +1,3 @@
RewriteEngine On
RewriteRule ^files/([^/]+)/([^/]+)$ api.php?call=files&cat=$1&id=$2 [L]
RewriteRule ^cache/([^/]+)/([^/]+)$ api.php?call=cache&id=$1&ident=$2 [L]

9
api.php Normal file
View File

@ -0,0 +1,9 @@
<?php
require_once 'lib/autoload.inc'; //SYSTEM Classes
require_once 'buergerkandidaten/autoload.inc'; //Project Classes
require_once '/home/web/web/config/get_config.php';
\SYSTEM\system::start(\WEBCRAFT\get_config(dirname(__FILE__)));
echo \SYSTEM\API\api::run('\SYSTEM\API\verify','api_buergerkandidaten',array_merge($_POST,$_GET));
new \SYSTEM\LOG\COUNTER("API was called sucessfully.");

View File

@ -0,0 +1,2 @@
<?php
class api_buergerkandidaten 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,9 @@
<?php
require_once dirname(__FILE__).'/path/autoload.inc';
require_once dirname(__FILE__).'/page/autoload.inc';
require_once dirname(__FILE__).'/files/autoload.inc';
require_once dirname(__FILE__).'/api/autoload.inc';
require_once dirname(__FILE__).'/sql/autoload.inc';
require_once dirname(__FILE__).'/sai/autoload.inc';
require_once dirname(__FILE__).'/cron/autoload.inc';
require_once dirname(__FILE__).'/config/autoload.inc';

View File

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

View File

@ -0,0 +1,4 @@
<?php
class config_ids extends \SYSTEM\CONFIG\config_ids {
const WEBCRAFT_BILLING_TOKEN = 1000;
}

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,3 @@
*
*/
!.gitignore

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

View File

@ -0,0 +1,5 @@
<?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_impressum');

View File

@ -0,0 +1,16 @@
<?php
class default_impressum implements \SYSTEM\PAGE\Page {
public static function title(){
return \SYSTEM\PAGE\text::get('title_impressum');}
public static function meta(){
return \SYSTEM\PAGE\text::tag('meta_impressum');}
public function html(){
$vars = array();
$vars['impressum'] = \SYSTEM\PAGE\text::get('webcraft_imprint');
return SYSTEM\PAGE\replace::replaceFile((new PPAGE('default_impressum/tpl/impressum.tpl'))->SERVERPATH(), $vars);
}
public static function js(){
return array( new PPAGE('default_impressum/js/default_impressum.js'));
}
public static function css(){return array();}
}

View File

@ -0,0 +1,2 @@
function init_impressum(){
}

View File

@ -0,0 +1,14 @@
<div class="row">
<div class="col-md-12 padding0">
<div class="panel panel-default panel-default margin-bottom0">
<div class="panel-heading">
<h4 class="panel-title">
<i class="glyphicon glyphicon-user"></i>&nbsp;&nbsp;Impressum
</h4>
</div>
<div class="panel-body">
${impressum}
</div>
</div>
</div>
</div>

View File

@ -0,0 +1,19 @@
#footer-right {
text-align: right;
}
#content-row {
margin-bottom: 0;
}
.padding0 {
padding: 0 !important;
}
.margin-bottom0 {
margin-bottom: 0 !important;
}
.nav {
font-size: 18px;
}

View File

@ -0,0 +1,28 @@
<?php
class default_page implements \SYSTEM\PAGE\DefaultPage {
public static function js(){
return \SYSTEM\HTML\html::script(\SYSTEM\CACHE\cache_js::minify(array(
\LIB\lib_jquery::js(),
\LIB\lib_bootstrap::js(),
\LIB\lib_system::js(),
new PPAGE('default_page/js/default_page.js')
)));
}
public static function css(){
return \SYSTEM\HTML\html::link(\LIB\lib_bootstrap::css()->WEBPATH(false)).
\SYSTEM\HTML\html::link(\SYSTEM\CACHE\cache_css::minify(array(
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((new PPAGE('default_page/tpl/default_page.tpl'))->SERVERPATH(), $vars);
}
}

View File

@ -0,0 +1,3 @@
$(document).ready(function() {
new SYSTEM('./api.php',1,'start');
});

View File

@ -0,0 +1,56 @@
<!DOCTYPE html>
<html lang="de">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="fragment" content="!">
<meta name="description" content="${meta_start_description}">
<meta name="keywords" content="${meta_start_keywords}">
<meta name="author" content="${meta_start_author}">
<link rel="shortcut icon" href="./files/img/favicon.png" type="image/x-icon"/>
<title>${title_start}</title>
<style>
#head-div{
height: 150px;
background: url('./files/img/logo_buergerkandidaten.jpg') no-repeat;
background-size: contain;
margin-bottom: 10px;
}
</style>
</head>
<body>
<div class="container">
<div class="row">
<div class="col-md-12 padding0" id="head-div">
</div>
</div>
<div class="row">
<nav class="navbar navbar-default margin0">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed pull-left" data-toggle="collapse" data-target="#menu-collapse" aria-expanded="false" style="margin-left: 5px;">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#" id="menu_start"><span class="glyphicon glyphicon-list hidden-xs"></span>&nbsp;&nbsp;<b>Abstimmen</b></a>
</div>
<div class="collapse navbar-collapse" id="menu-collapse">
<ul class="nav navbar-nav">
<li><a href="#!register" id="menu_anfahrt"><span class="glyphicon glyphicon-user"></span>&nbsp;&nbsp;<b>Registrieren</b></a></li>
</ul>
</div>
</nav>
</div>
<div class="row" id="content-row">
<div class="col-md-12" id="content"></div>
</div>
<div class="row">
<div id="footer-left" class="col-md-3 col-sm-3 col-xs-3 padding0"><a href="#!impressum" title="Impressum">&nbsp;Impressum</a></div>
<div id="footer-right" class="col-md-3 col-sm-3 col-xs-3 pull-right padding0">© 2017 <a href="https://www.webcraft-media.de" title="Webcraft Media Webdesign" target="blank">Webcraft Media&nbsp;</a></div>
</div>
</div>
${css}
${js}
</body>
</html>

View File

@ -0,0 +1,16 @@
<?php
class default_start implements SYSTEM\PAGE\Page {
public static function title(){
return \SYSTEM\PAGE\text::get('title_start');}
public static function meta(){
return \SYSTEM\PAGE\text::tag('meta_start');}
public static function js(){
return array( new PPAGE('default_start/js/default_start.js'));}
public static function css(){
return array( 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((new PPAGE('default_start/tpl/default_start.tpl'))->SERVERPATH(), $vars);
}
}

View File

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

View File

@ -0,0 +1,60 @@
<div class="row">
<div class="col-md-12 padding0">
<div class="panel panel-default panel-success">
<div class="panel-heading">
<h4 class="panel-title">
<i class="glyphicon glyphicon-edit"></i>&nbsp;&nbsp;Aktuelle Abstimmungen
</h4>
</div>
<div class="panel-body">
<div class="row">
<div class="col-md-1">5min</div>
<div class="col-md-8">Title4</div>
<div class="col-md-2">Meine Stimme</div>
<div class="col-md-1"><a href="#!vote;id.1">Mehr <span class="glyphicon glyphicon-chevron-right"></span></a></div>
</div>
<div class="row">
<div class="col-md-1">5day</div>
<div class="col-md-8">Title5</div>
<div class="col-md-2">Meine Stimme</div>
<div class="col-md-1"><a href="#!vote;id.2">Mehr <span class="glyphicon glyphicon-chevron-right"></span></a></div>
</div>
<div class="row">
<div class="col-md-1">5mon</div>
<div class="col-md-8">Title6</div>
<div class="col-md-2">Meine Stimme</div>
<div class="col-md-1"><a href="#!vote;id.3">Mehr <span class="glyphicon glyphicon-chevron-right"></span></a></div>
</div>
</div>
</div>
</div>
<div class="col-md-12 padding0">
<div class="panel panel-default panel-info margin-bottom0">
<div class="panel-heading">
<h4 class="panel-title">
<i class="glyphicon glyphicon-check"></i>&nbsp;&nbsp;Vergangene Abstimmungen
</h4>
</div>
<div class="panel-body">
<div class="row">
<div class="col-md-1">Ergebniss</div>
<div class="col-md-8">Title3</div>
<div class="col-md-2">Meine Stimme</div>
<div class="col-md-1"><a href="#!vote;id.4">Mehr <span class="glyphicon glyphicon-chevron-right"></span></a></div>
</div>
<div class="row">
<div class="col-md-1">Ergebniss</div>
<div class="col-md-8">Title2</div>
<div class="col-md-2">Meine Stimme</div>
<div class="col-md-1"><a href="#!vote;id.5">Mehr <span class="glyphicon glyphicon-chevron-right"></span></a></div>
</div>
<div class="row">
<div class="col-md-1">Ergebniss</div>
<div class="col-md-8">Title1</div>
<div class="col-md-2">Meine Stimme</div>
<div class="col-md-1"><a href="#!vote;id.6">Mehr <span class="glyphicon glyphicon-chevron-right"></span></a></div>
</div>
</div>
</div>
</div>
</div>

View File

@ -0,0 +1,24 @@
<?php
class page_buergerabstimmungen 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 get_default_state() {
return 'start';}
public static function default_page($_escaped_fragment_ = null){
return (new default_page())->html($_escaped_fragment_);}
public static function page_start(){
return (new default_start())->html();}
public static function page_vote($id){
return (new default_vote($id))->html();}
public static function page_register(){
return (new default_register())->html();}
public static function page_impressum(){
return (new default_impressum())->html();}
}

View File

@ -0,0 +1,5 @@
<?php
class PLIB extends \SYSTEM\PATH {
public function __construct($subpath = '') {
parent::__construct(new \SYSTEM\PROOT(), 'lib/', $subpath);}
}

View File

@ -0,0 +1,5 @@
<?php
class PPAGE extends \SYSTEM\PATH {
public function __construct($subpath = '') {
parent::__construct(new \SYSTEM\PROOT(), 'buergerkandidaten/page/', $subpath);}
}

View File

@ -0,0 +1,5 @@
<?php
class PSAI extends \SYSTEM\PATH {
public function __construct($subpath = '') {
parent::__construct(new \SYSTEM\PROOT(), 'buergerkandidaten/sai/', $subpath);}
}

View File

@ -0,0 +1,5 @@
<?php
class PSQL extends \SYSTEM\PATH {
public function __construct($subpath = '') {
parent::__construct(new \SYSTEM\PROOT(), 'buergerkandidaten/sql/', $subpath);}
}

View File

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

View File

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

View File

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

View File

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

View File

@ -0,0 +1 @@
-- REPLACE INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (200, 1, 2, 1, 'vote', 'id', 'UINT0');

View File

@ -0,0 +1,4 @@
REPLACE 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');
REPLACE 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');
-- REPLACE INTO `system_page` (`id`, `group`, `name`, `state`, `parent_id`, `login`, `type`, `div`, `url`, `func`, `php_class`) VALUES (20, 1, 'register', 'register', -1, 0, 0, '#content', './?page=register', 'init_register', 'default_register');
-- REPLACE INTO `system_page` (`id`, `group`, `name`, `state`, `parent_id`, `login`, `type`, `div`, `url`, `func`, `php_class`) VALUES (25, 1, 'vote', 'vote', -1, 0, 0, '#content', './?page=vote&id=${id}', 'init_vote', 'default_vote');

File diff suppressed because one or more lines are too long

65
index.old.php Normal file
View File

@ -0,0 +1,65 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Direktkandidat</title>
<meta name="generator" content="Bluefish 2.2.6" > <meta name="Basisdemokratie" content="Unknown" >
<meta name="date" content="2017-06-17T17:46:53+0200" > <meta
name="copyright" content="Gerhard W. Kugler, Bensheim, Deutschland">
<meta name="keywords" content="Direktkandidat, Bundestagswahl, direkte Demokratie"> <meta name="description"
content=""> <meta name="ROBOTS" content="NOINDEX, NOFOLLOW"> <meta http-equiv="content-type" content="text/htm; charset=UTF-8" > <meta
http-equiv="content-type" content="application/xhtml+xml;
charset=UTF-8"> <meta http-equiv="content-style-type"
content="text/css"> <meta http-equiv="expires" content="0">
<link rel="shortcut icon" href="favicon.ico" type="image/x-icon" />
<link rel="stylesheet" type="text/css" href="formate.css" />
<!--<style type="text/css">
<!--h1 { color:#FFCCDD; background-color:lightblue }-->
<!--body { background-color:rgb(100%,100%,100%) }
<!--p { color:#223; background-color:rgb(100%,100%,100%)}-->
<!--p { color:black; background-color:white}
blockquote { background-color:rgb(100%,100%,100%) }
</style>-->
<meta name="generator" content="Bluefish 2.2.6" >
<meta name="author" content="Gerhard Kugler" >
<meta name="date" content="2017-06-17T17:46:53+0200" >
<meta name="copyright" content="Gerhard W. Kugler, Bensheim, Deutschland">
<meta name="keywords" content="Direktkandidat, Bundestagswahl, direkte Demokratie">
<meta name="description" content="">
<meta name="ROBOTS" content="NOINDEX, NOFOLLOW">
<meta http-equiv="content-type" content="text/htm; charset=UTF-8">
<meta http-equiv="content-type" content="application/xhtml+xml; charset=UTF-8">
<meta http-equiv="content-style-type" content="text/css">
<meta http-equiv="expires" content="0">
</head>
<body>
<!--<p> <IMG class="displayed" src="grouncil01.png" align="left" alt="grouncil"> </p> -->
<p> <IMG class="displayed" src="buerger_logo_kopf.png" align="middle" alt="Buerger-Logo-HP width=70% height=auto"> </p>
<hr>
<!-- <link type="prefetch" href="menu.php" -->
<?php
include("menu.php");
?>
<div id="Inhalt">
<br>
<h1>Ein Direktkandidat f&uuml;r den Wahlkreis Bergstra&szlig;e in den Bundestag</h1>
<br>
<p style="line-height:1.4em;"><b>Seite zur Unterst&uuml;tzung eines partei-unabh&auml;ngigen Direktkandidaten der Bergstra&szlig;e f&uuml;r den Bundestag</b></p>
<br><br>
Aus der Anti-Ceta-Bewegung hat sich bundesweit <a href="http://direktkandidaten.info/" target="_blank">eine Initiative</a> gebildet, die Bundestags-Kandidaten aufstellt und unterst&uuml;tzt, die sich an den Parteien vorbei als Direktkandidaten f&uuml;r den Bundestag bewerben. Das ist laut Wahlgesetz m&ouml;glich. Diese Seite hier ist f&uuml;r den Wahlkreis Bergstra&szlig;e in S&uuml;dhessen (Kreisstadt Heppenheim) da.
<br><br>
Als Einstieg eignet sich das <a href="faq.php">FAQ (h&auml;ufig gestellte Fragen)</a>.
</a>
<br>
</body>
</html>

View File

@ -1,65 +1,9 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Direktkandidat</title>
<meta name="generator" content="Bluefish 2.2.6" > <meta name="Basisdemokratie" content="Unknown" >
<meta name="date" content="2017-06-17T17:46:53+0200" > <meta
name="copyright" content="Gerhard W. Kugler, Bensheim, Deutschland">
<meta name="keywords" content="Direktkandidat, Bundestagswahl, direkte Demokratie"> <meta name="description"
content=""> <meta name="ROBOTS" content="NOINDEX, NOFOLLOW"> <meta http-equiv="content-type" content="text/htm; charset=UTF-8" > <meta
http-equiv="content-type" content="application/xhtml+xml;
charset=UTF-8"> <meta http-equiv="content-style-type"
content="text/css"> <meta http-equiv="expires" content="0">
<link rel="shortcut icon" href="favicon.ico" type="image/x-icon" />
<link rel="stylesheet" type="text/css" href="formate.css" />
<!--<style type="text/css">
<!--h1 { color:#FFCCDD; background-color:lightblue }-->
<!--body { background-color:rgb(100%,100%,100%) }
<!--p { color:#223; background-color:rgb(100%,100%,100%)}-->
<!--p { color:black; background-color:white}
blockquote { background-color:rgb(100%,100%,100%) }
</style>-->
<meta name="generator" content="Bluefish 2.2.6" >
<meta name="author" content="Gerhard Kugler" >
<meta name="date" content="2017-06-17T17:46:53+0200" >
<meta name="copyright" content="Gerhard W. Kugler, Bensheim, Deutschland">
<meta name="keywords" content="Direktkandidat, Bundestagswahl, direkte Demokratie">
<meta name="description" content="">
<meta name="ROBOTS" content="NOINDEX, NOFOLLOW">
<meta http-equiv="content-type" content="text/htm; charset=UTF-8">
<meta http-equiv="content-type" content="application/xhtml+xml; charset=UTF-8">
<meta http-equiv="content-style-type" content="text/css">
<meta http-equiv="expires" content="0">
</head>
<body>
<!--<p> <IMG class="displayed" src="grouncil01.png" align="left" alt="grouncil"> </p> -->
<p> <IMG class="displayed" src="buerger_logo_kopf.png" align="middle" alt="Buerger-Logo-HP width=70% height=auto"> </p>
<hr>
<!-- <link type="prefetch" href="menu.php" -->
<?php
include("menu.php");
?>
require_once 'lib/autoload.inc'; //SYSTEM Classes
require_once 'buergerkandidaten/autoload.inc'; //Project Classes
require_once '/home/web/web/config/get_config.php';
<div id="Inhalt">
<br>
<h1>Ein Direktkandidat f&uuml;r den Wahlkreis Bergstra&szlig;e in den Bundestag</h1>
<br>
<p style="line-height:1.4em;"><b>Seite zur Unterst&uuml;tzung eines partei-unabh&auml;ngigen Direktkandidaten der Bergstra&szlig;e f&uuml;r den Bundestag</b></p>
<br><br>
Aus der Anti-Ceta-Bewegung hat sich bundesweit <a href="http://direktkandidaten.info/" target="_blank">eine Initiative</a> gebildet, die Bundestags-Kandidaten aufstellt und unterst&uuml;tzt, die sich an den Parteien vorbei als Direktkandidaten f&uuml;r den Bundestag bewerben. Das ist laut Wahlgesetz m&ouml;glich. Diese Seite hier ist f&uuml;r den Wahlkreis Bergstra&szlig;e in S&uuml;dhessen (Kreisstadt Heppenheim) da.
<br><br>
Als Einstieg eignet sich das <a href="faq.php">FAQ (h&auml;ufig gestellte Fragen)</a>.
</a>
\SYSTEM\system::start(\WEBCRAFT\get_config(dirname(__FILE__)));
<br>
</body>
</html>
echo \SYSTEM\API\api::run('\SYSTEM\API\verify', 'page_buergerkandidaten', array_merge($_POST,$_GET), 1, false, true);
new \SYSTEM\LOG\COUNTER("Page was called sucessfully.");

2
lib/autoload.inc Normal file
View File

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

8
sai.php Normal file
View File

@ -0,0 +1,8 @@
<?php
require_once 'lib/autoload.inc'; //SYSTEM Classes
require_once 'buergerkandidaten/autoload.inc'; //Project Classes
require_once '/home/web/web/config/get_config.php';
\SYSTEM\system::start(\WEBCRAFT\get_config(dirname(__FILE__)));
echo (new SYSTEM\SAI\saigui())->html();

8
setup.php Normal file
View File

@ -0,0 +1,8 @@
<?php
require_once 'lib/autoload.inc'; //SYSTEM Classes
require_once 'buergerkandidaten/autoload.inc'; //Project Classes
require_once '/home/web/web/config/get_config.php';
\SYSTEM\system::start(\WEBCRAFT\get_config(dirname(__FILE__)));
echo \SYSTEM\SQL\setup::install();