From 1c4b79d196199cccd4ba914e1a72950d9fdc12dd Mon Sep 17 00:00:00 2001 From: Ulf Gebhardt Date: Mon, 26 Aug 2019 14:14:25 +0200 Subject: [PATCH] tpl adjustments and default_page.php for calculations --- .../page/default_page/default_page.php | 105 ++++++++++++++---- .../page/default_page/js/default_page.js | 29 +++++ .../{person_badge.tpl => content_badge.tpl} | 0 .../page/default_page/tpl/content_row.tpl | 4 + .../page/default_page/tpl/person_details.tpl | 2 +- .../page/default_page/tpl/person_img.tpl | 2 +- .../page/default_page/tpl/person_project.tpl | 1 + .../page/default_page/tpl/persons_row.tpl | 4 - .../page/default_page/tpl/project_details.tpl | 26 +++++ .../page/default_page/tpl/project_img.tpl | 10 ++ .../page/default_page/tpl/project_person.tpl | 3 + 11 files changed, 161 insertions(+), 25 deletions(-) rename wecker_manufaktur/page/default_page/tpl/{person_badge.tpl => content_badge.tpl} (100%) create mode 100644 wecker_manufaktur/page/default_page/tpl/content_row.tpl create mode 100644 wecker_manufaktur/page/default_page/tpl/person_project.tpl delete mode 100644 wecker_manufaktur/page/default_page/tpl/persons_row.tpl create mode 100644 wecker_manufaktur/page/default_page/tpl/project_details.tpl create mode 100644 wecker_manufaktur/page/default_page/tpl/project_img.tpl create mode 100644 wecker_manufaktur/page/default_page/tpl/project_person.tpl diff --git a/wecker_manufaktur/page/default_page/default_page.php b/wecker_manufaktur/page/default_page/default_page.php index 955529c..91abcbf 100644 --- a/wecker_manufaktur/page/default_page/default_page.php +++ b/wecker_manufaktur/page/default_page/default_page.php @@ -20,38 +20,105 @@ class default_page implements \SYSTEM\PAGE\DefaultPage { private static function getPersons(){ $result = ''; - $column_counter = 0; - $_content_persons_imgs = ''; - $_content_persons_details = ''; + $column_counter = 0; + $_content_imgs = ''; + $_content_details = ''; - $persons = \SQL\SELECT_PERSONS::QQ(); - $person_badges = \SQL\SELECT_PERSON_BADGES::QA(); // This part we filter phpside due to performance. + $persons = \SQL\SELECT_PERSONS::QQ(); + $person_badges = \SQL\SELECT_PERSON_BADGES::QA(); // This part we filter phpside due to performance. + $person_projects= \SQL\SELECT_PERSON_PROJECTS::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); + $row['badges'] .= \SYSTEM\PAGE\replace::replaceFile((new PPAGE('default_page/tpl/content_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); + $projects = array_filter($person_projects, function($v)use($row){return $v['person'] == $row['id'];}); + $row['projects'] = ''; + foreach($projects as $project){ + $project['link'] = $project['visible'] != 1 ? $project['website'] : '#project-'.$project['project']; + $project['target'] = $project['visible'] != 1 ? '_blank' : ''; + $row['projects'] .= \SYSTEM\PAGE\replace::replaceFile((new PPAGE('default_page/tpl/person_project.tpl'))->SERVERPATH(),$project); + $row['projects'] .= ', '; + } + $row['projects'] = substr($row['projects'],0,-2); + + $_content_imgs .= \SYSTEM\PAGE\replace::replaceFile((new PPAGE('default_page/tpl/person_img.tpl'))->SERVERPATH(),$row); + $_content_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 = ''; + $result .= \SYSTEM\PAGE\replace::replaceFile((new PPAGE('default_page/tpl/content_row.tpl'))->SERVERPATH(), + array( '_content_imgs' => $_content_imgs, + '_content_details' => $_content_details)); + $column_counter = 0; + $_content_imgs = ''; + $_content_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)); + $result .= \SYSTEM\PAGE\replace::replaceFile((new PPAGE('default_page/tpl/content_row.tpl'))->SERVERPATH(), + array( '_content_imgs' => $_content_imgs, + '_content_details' => $_content_details)); + } + + return $result; + } + + private static function getProjects(){ + $result = ''; + + $column_counter = 0; + $_content_imgs = ''; + $_content_details = ''; + + $projects = \SQL\SELECT_PROJECTS::QQ(); + $project_focus = \SQL\SELECT_PROJECT_FOCUS::QA(); // This part we filter phpside due to performance. + $project_type = \SQL\SELECT_PROJECT_TYPE::QA(); // This part we filter phpside due to performance. + $project_persons= \SQL\SELECT_PROJECT_PERSONS::QA();// This part we filter phpside due to performance. + while($row = $projects->next()){ + + $focus = array_filter($project_focus, function($v)use($row){return $v['project'] == $row['id'];}); + $row['focus'] = ''; + foreach($focus as $f){ + $f['badge'] = $f['focus']; + $row['focus'] .= \SYSTEM\PAGE\replace::replaceFile((new PPAGE('default_page/tpl/content_badge.tpl'))->SERVERPATH(),$f); + } + + $type = array_filter($project_type, function($v)use($row){return $v['project'] == $row['id'];}); + $row['type'] = ''; + foreach($type as $t){ + $t['badge'] = $t['type']; + $row['type'] .= \SYSTEM\PAGE\replace::replaceFile((new PPAGE('default_page/tpl/content_badge.tpl'))->SERVERPATH(),$t); + } + + $persons = array_filter($project_persons, function($v)use($row){return $v['project'] == $row['id'];}); + $row['persons'] = ''; + foreach($persons as $person){ + $row['persons'] .= \SYSTEM\PAGE\replace::replaceFile((new PPAGE('default_page/tpl/project_person.tpl'))->SERVERPATH(),$person); + } + + $_content_imgs .= \SYSTEM\PAGE\replace::replaceFile((new PPAGE('default_page/tpl/project_img.tpl'))->SERVERPATH(),$row); + $_content_details .= \SYSTEM\PAGE\replace::replaceFile((new PPAGE('default_page/tpl/project_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/content_row.tpl'))->SERVERPATH(), + array( '_content_imgs' => $_content_imgs, + '_content_details' => $_content_details)); + $column_counter = 0; + $_content_imgs = ''; + $_content_details = ''; + } + } + // Insert incomplete rows + if($column_counter != 0){ + $result .= \SYSTEM\PAGE\replace::replaceFile((new PPAGE('default_page/tpl/content_row.tpl'))->SERVERPATH(), + array( '_content_imgs' => $_content_imgs, + '_content_details' => $_content_details)); } return $result; @@ -63,8 +130,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'] = self::getPersons(); + $vars['_content_persons'] = self::getPersons(); + $vars['_content_projects'] = self::getProjects(); $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 73ecd38..f16b065 100644 --- a/wecker_manufaktur/page/default_page/js/default_page.js +++ b/wecker_manufaktur/page/default_page/js/default_page.js @@ -1,5 +1,6 @@ $(document).ready(function() { //new SYSTEM('./api.php',1,'start'); + $('.person-link').click(function(e){ e.preventDefault(); $person = $(this).attr('person'); @@ -9,4 +10,32 @@ $(document).ready(function() { $('#person-details-'+$person).removeClass('d-none'); } }) + + $('.person-project-link').click(function(e){ + $project = $(this).attr('project'); + $isHidden = $('#project-details-'+$project).hasClass('d-none'); + $('.project-details').addClass('d-none'); + if($isHidden){ + $('#project-details-'+$project).removeClass('d-none'); + } + }) + + $('.project-link').click(function(e){ + e.preventDefault(); + $project = $(this).attr('project'); + $isHidden = $('#project-details-'+$project).hasClass('d-none'); + $('.project-details').addClass('d-none'); + if($isHidden){ + $('#project-details-'+$project).removeClass('d-none'); + } + }) + + $('.project-person-link').click(function(e){ + $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/person_badge.tpl b/wecker_manufaktur/page/default_page/tpl/content_badge.tpl similarity index 100% rename from wecker_manufaktur/page/default_page/tpl/person_badge.tpl rename to wecker_manufaktur/page/default_page/tpl/content_badge.tpl diff --git a/wecker_manufaktur/page/default_page/tpl/content_row.tpl b/wecker_manufaktur/page/default_page/tpl/content_row.tpl new file mode 100644 index 0000000..2ba508b --- /dev/null +++ b/wecker_manufaktur/page/default_page/tpl/content_row.tpl @@ -0,0 +1,4 @@ +
+ ${_content_imgs} + ${_content_details} +
\ 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 index 92d81f9..c09283a 100644 --- a/wecker_manufaktur/page/default_page/tpl/person_details.tpl +++ b/wecker_manufaktur/page/default_page/tpl/person_details.tpl @@ -11,7 +11,7 @@ Projekte - TODO + ${projects} diff --git a/wecker_manufaktur/page/default_page/tpl/person_img.tpl b/wecker_manufaktur/page/default_page/tpl/person_img.tpl index 8d32052..184acb9 100644 --- a/wecker_manufaktur/page/default_page/tpl/person_img.tpl +++ b/wecker_manufaktur/page/default_page/tpl/person_img.tpl @@ -1,5 +1,5 @@
- +
${name}
diff --git a/wecker_manufaktur/page/default_page/tpl/person_project.tpl b/wecker_manufaktur/page/default_page/tpl/person_project.tpl new file mode 100644 index 0000000..9520f9b --- /dev/null +++ b/wecker_manufaktur/page/default_page/tpl/person_project.tpl @@ -0,0 +1 @@ +
${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 deleted file mode 100644 index 0087370..0000000 --- a/wecker_manufaktur/page/default_page/tpl/persons_row.tpl +++ /dev/null @@ -1,4 +0,0 @@ -
- ${_content_persons_imgs} - ${_content_persons_details} -
\ No newline at end of file diff --git a/wecker_manufaktur/page/default_page/tpl/project_details.tpl b/wecker_manufaktur/page/default_page/tpl/project_details.tpl new file mode 100644 index 0000000..0aeb6c3 --- /dev/null +++ b/wecker_manufaktur/page/default_page/tpl/project_details.tpl @@ -0,0 +1,26 @@ +
+
+ + + + + + + + + + + + + + + + + + + + + +
Fokus${focus}
Typ${type}
Kurzinfo${info}
Beteiligte${persons}
Website${website}
+
+
\ No newline at end of file diff --git a/wecker_manufaktur/page/default_page/tpl/project_img.tpl b/wecker_manufaktur/page/default_page/tpl/project_img.tpl new file mode 100644 index 0000000..d0675bc --- /dev/null +++ b/wecker_manufaktur/page/default_page/tpl/project_img.tpl @@ -0,0 +1,10 @@ + \ No newline at end of file diff --git a/wecker_manufaktur/page/default_page/tpl/project_person.tpl b/wecker_manufaktur/page/default_page/tpl/project_person.tpl new file mode 100644 index 0000000..a11e5a1 --- /dev/null +++ b/wecker_manufaktur/page/default_page/tpl/project_person.tpl @@ -0,0 +1,3 @@ + + ${name} + \ No newline at end of file