From b5bf9246b2aca264798980aa681cf08c284254dc Mon Sep 17 00:00:00 2001 From: Ulf Gebhardt Date: Sun, 25 Aug 2019 20:18:27 +0200 Subject: [PATCH] persons rough rendering + click functionality --- .../page/default_page/default_page.php | 43 +++++++++++++++++- .../page/default_page/js/default_page.js | 11 ++++- .../page/default_page/tpl/content_persons.tpl | 45 ------------------- .../page/default_page/tpl/person_badge.tpl | 1 + .../page/default_page/tpl/person_details.tpl | 18 ++++++++ .../page/default_page/tpl/person_img.tpl | 10 +++++ .../page/default_page/tpl/persons_row.tpl | 4 ++ 7 files changed, 85 insertions(+), 47 deletions(-) delete mode 100644 wecker_manufaktur/page/default_page/tpl/content_persons.tpl create mode 100644 wecker_manufaktur/page/default_page/tpl/person_badge.tpl create mode 100644 wecker_manufaktur/page/default_page/tpl/person_details.tpl create mode 100644 wecker_manufaktur/page/default_page/tpl/person_img.tpl create mode 100644 wecker_manufaktur/page/default_page/tpl/persons_row.tpl diff --git a/wecker_manufaktur/page/default_page/default_page.php b/wecker_manufaktur/page/default_page/default_page.php index 6f39fd8..955529c 100644 --- a/wecker_manufaktur/page/default_page/default_page.php +++ b/wecker_manufaktur/page/default_page/default_page.php @@ -16,6 +16,46 @@ class default_page implements \SYSTEM\PAGE\DefaultPage { new PPAGE('default_page/css/default_page.scss') ))); } + + private static function getPersons(){ + $result = ''; + + $column_counter = 0; + $_content_persons_imgs = ''; + $_content_persons_details = ''; + + $persons = \SQL\SELECT_PERSONS::QQ(); + $person_badges = \SQL\SELECT_PERSON_BADGES::QA(); // This part we filter phpside due to performance. + while($row = $persons->next()){ + + $badges = array_filter($person_badges, function($v)use($row){return $v['person'] == $row['id'];}); + $row['badges'] = ''; + foreach($badges as $badge){ + $row['badges'] .= \SYSTEM\PAGE\replace::replaceFile((new PPAGE('default_page/tpl/person_badge.tpl'))->SERVERPATH(),$badge); + } + + $_content_persons_imgs .= \SYSTEM\PAGE\replace::replaceFile((new PPAGE('default_page/tpl/person_img.tpl'))->SERVERPATH(),$row); + $_content_persons_details .= \SYSTEM\PAGE\replace::replaceFile((new PPAGE('default_page/tpl/person_details.tpl'))->SERVERPATH(),$row); + + // Insert full row and start a new row + if($column_counter++ === 2){ + $result .= \SYSTEM\PAGE\replace::replaceFile((new PPAGE('default_page/tpl/persons_row.tpl'))->SERVERPATH(), + array( '_content_persons_imgs' => $_content_persons_imgs, + '_content_persons_details' => $_content_persons_details)); + $column_counter = 0; + $_content_persons_imgs = ''; + $_content_persons_details = ''; + } + } + // Insert incomplete rows + if($column_counter != 0){ + $result .= \SYSTEM\PAGE\replace::replaceFile((new PPAGE('default_page/tpl/persons_row.tpl'))->SERVERPATH(), + array( '_content_persons_imgs' => $_content_persons_imgs, + '_content_persons_details' => $_content_persons_details)); + } + + return $result; + } public function html($_escaped_fragment_ = null){ $vars = array(); @@ -23,7 +63,8 @@ class default_page implements \SYSTEM\PAGE\DefaultPage { if(!$_escaped_fragment_){ $vars['js'] = self::js();} $vars['css'] = self::css(); - $vars['_content_persons'] = \SYSTEM\PAGE\replace::replaceFile((new PPAGE('default_page/tpl/content_persons.tpl'))->SERVERPATH()); + //$vars['_content_persons'] = \SYSTEM\PAGE\replace::replaceFile((new PPAGE('default_page/tpl/content_persons.tpl'))->SERVERPATH()); + $vars['_content_persons'] = self::getPersons(); $vars = array_merge($vars, \SYSTEM\PAGE\text::tag('wecker_manufaktur')); return \SYSTEM\PAGE\replace::replaceFile((new PPAGE('default_page/tpl/default_page.tpl'))->SERVERPATH(), $vars); } diff --git a/wecker_manufaktur/page/default_page/js/default_page.js b/wecker_manufaktur/page/default_page/js/default_page.js index fb963ae..73ecd38 100644 --- a/wecker_manufaktur/page/default_page/js/default_page.js +++ b/wecker_manufaktur/page/default_page/js/default_page.js @@ -1,3 +1,12 @@ $(document).ready(function() { - new SYSTEM('./api.php',1,'start'); + //new SYSTEM('./api.php',1,'start'); + $('.person-link').click(function(e){ + e.preventDefault(); + $person = $(this).attr('person'); + $isHidden = $('#person-details-'+$person).hasClass('d-none'); + $('.person-details').addClass('d-none'); + if($isHidden){ + $('#person-details-'+$person).removeClass('d-none'); + } + }) }); \ No newline at end of file diff --git a/wecker_manufaktur/page/default_page/tpl/content_persons.tpl b/wecker_manufaktur/page/default_page/tpl/content_persons.tpl deleted file mode 100644 index 3cd90f2..0000000 --- a/wecker_manufaktur/page/default_page/tpl/content_persons.tpl +++ /dev/null @@ -1,45 +0,0 @@ -
-
-
- Cinque Terre -
-
- Peter Zwegat -
-
-
-
- - - - - - - - - - - - - -
Talente - Primary - Secondary - Success - Danger - Warning - Info - Light - Dark -
Kurzinfo - Peter Zwegat wuchs in Berlin-Pankow auf. Seine Eltern verließen mit ihm und seinen beiden Geschwistern die DDR, als er 10 Jahre alt war.[1] Nach einer Ausbildung zum Verwaltungsbeamten studierte er von 1970 bis 1974 Sozialpädagogik an einer Fachhochschule und schloss als Diplom-Sozialpädagoge ab. Von 1974 bis 1987 war er im Sozial- und Gesundheitswesen bzw. in der Jugendhilfe beim Land Berlin beschäftigt. - -1987 wechselte er zum gemeinnützigen Verein Dienstleistung für Arbeitnehmer und Betriebe, einer Schuldner- und Insolvenzberatungsstelle im Bezirk Kreuzberg, wo er bis 2018 Geschäftsführer und Vorstandsvorsitzender war. Seitdem führt er keine Beratungen mehr durch.[2] - -2017/2018 war Zwegat als Lebensberater beim Berliner Start-up „my better life“ tätig.[3][2] - -Zwegat ist seit 2006 mit Liane Scholze liiert, die eine Beratungsagentur in Berlin führt und mit der er gemeinsam ein Ratgeberbuch veröffentlichte. Medienberichten zufolge hat er zwei Kinder.[1] Am 25. Dezember 2011 heirateten sie auf Sansibar.[4] -
ProjektePETER
-
-
-
\ No newline at end of file diff --git a/wecker_manufaktur/page/default_page/tpl/person_badge.tpl b/wecker_manufaktur/page/default_page/tpl/person_badge.tpl new file mode 100644 index 0000000..1976276 --- /dev/null +++ b/wecker_manufaktur/page/default_page/tpl/person_badge.tpl @@ -0,0 +1 @@ +${badge} \ No newline at end of file diff --git a/wecker_manufaktur/page/default_page/tpl/person_details.tpl b/wecker_manufaktur/page/default_page/tpl/person_details.tpl new file mode 100644 index 0000000..92d81f9 --- /dev/null +++ b/wecker_manufaktur/page/default_page/tpl/person_details.tpl @@ -0,0 +1,18 @@ +
+
+ + + + + + + + + + + + + +
Talente${badges}
Kurzinfo${info}
ProjekteTODO
+
+
\ No newline at end of file diff --git a/wecker_manufaktur/page/default_page/tpl/person_img.tpl b/wecker_manufaktur/page/default_page/tpl/person_img.tpl new file mode 100644 index 0000000..8d32052 --- /dev/null +++ b/wecker_manufaktur/page/default_page/tpl/person_img.tpl @@ -0,0 +1,10 @@ +
+ +
+ ${name} +
+
+ ${name} +
+
+
\ No newline at end of file diff --git a/wecker_manufaktur/page/default_page/tpl/persons_row.tpl b/wecker_manufaktur/page/default_page/tpl/persons_row.tpl new file mode 100644 index 0000000..0087370 --- /dev/null +++ b/wecker_manufaktur/page/default_page/tpl/persons_row.tpl @@ -0,0 +1,4 @@ +
+ ${_content_persons_imgs} + ${_content_persons_details} +
\ No newline at end of file