From 2e181ce62884e821731d1fe86998070e82427e10 Mon Sep 17 00:00:00 2001 From: Ulf Gebhardt Date: Mon, 24 Jul 2017 11:27:25 +0200 Subject: [PATCH] updated lib git reference, included all subrepos, fixed git & startpage git infos --- lib/git | 2 +- sai/modules/saimod_sys_git/saimod_sys_git.php | 44 ++++++++++++------- .../saimod_sys_git/tpl/saimod_sys_git.tpl | 18 +++++--- .../tpl/saimod_sys_git_panel.tpl | 10 +++++ .../saistart_sys_sai/saistart_sys_sai.php | 13 +++++- .../saistart_sys_sai/tpl/content_loggedin.tpl | 3 +- 6 files changed, 63 insertions(+), 27 deletions(-) create mode 100644 sai/modules/saimod_sys_git/tpl/saimod_sys_git_panel.tpl diff --git a/lib/git b/lib/git index f9b9a5a..c0b6ba4 160000 --- a/lib/git +++ b/lib/git @@ -1 +1 @@ -Subproject commit f9b9a5ad101b15e95094560b8c48064a4147b7b7 +Subproject commit c0b6ba477ddef31f20b1363256e0a87c1c93b06e diff --git a/sai/modules/saimod_sys_git/saimod_sys_git.php b/sai/modules/saimod_sys_git/saimod_sys_git.php index c37be9b..87ca79b 100644 --- a/sai/modules/saimod_sys_git/saimod_sys_git.php +++ b/sai/modules/saimod_sys_git/saimod_sys_git.php @@ -22,7 +22,7 @@ class saimod_sys_git extends \SYSTEM\SAI\SaiModule { */ public static function sai_mod__SYSTEM_SAI_saimod_sys_git(){ $vars = \SYSTEM\PAGE\text::tag(\SYSTEM\SQL\system_text::TAG_SAI_GIT); - $vars = array_merge($vars,self::getGitInfo()); + $vars['panels'] = self::getGitInfo(); return \SYSTEM\PAGE\replace::replaceFile((new \SYSTEM\PSAI('modules/saimod_sys_git/tpl/saimod_sys_git.tpl'))->SERVERPATH(), $vars);} /** @@ -32,24 +32,34 @@ class saimod_sys_git extends \SYSTEM\SAI\SaiModule { */ public static function getGitInfo(){ \LIB\lib_git::php(); - $result = array('git_project' => '', 'git_system' => ''); - try{ - $repo = \GIT\Git::open(\SYSTEM\CONFIG\config::get(\SYSTEM\CONFIG\config_ids::SYS_CONFIG_PATH_BASEPATH)); - $result['git_project'] = ''.$repo->run('rev-parse --short HEAD').'
'; - $result['git_project'] .= $repo->run('log -1 --pretty=%B'); - - } catch (\Exception $ex) { - $result['git_project'] = $ex->getMessage(); + $gits = array(array('title' => \SYSTEM\CONFIG\config::get(\SYSTEM\CONFIG\config_ids::SYS_SAI_CONFIG_PROJECT), 'path' => \SYSTEM\CONFIG\config::get(\SYSTEM\CONFIG\config_ids::SYS_CONFIG_PATH_BASEPATH)), + );//array('title' => 'Current SYSTEM Version', 'path' => \SYSTEM\CONFIG\config::get(\SYSTEM\CONFIG\config_ids::SYS_CONFIG_PATH_BASEPATH).\SYSTEM\CONFIG\config::get(\SYSTEM\CONFIG\config_ids::SYS_CONFIG_PATH_SYSTEMPATHREL))); + $result = ''; + + $i = 0; + while($i < count($gits)){ + $git = $gits[$i]; + try{ + $repo = \GIT\Git::open($git['path']); + $git['git_project'] = $repo->run('ls-remote --get-url').'

'; + $git['git_project'] .= nl2br(htmlentities($repo->run('log --date=relative --graph -3'))); + + $subs = explode("\n",$repo->run('config --file .gitmodules --get-regexp path')); + foreach($subs as $sub){ + if($sub == ''){ + continue;} + $gits[] = array('title' => $git['title'].'/'.explode('.',$sub)[1], + 'path' => $git['path'].preg_replace('/\s+/', '', explode('path ',$sub)[1]).'/'); + //echo $git['title'].'/'.explode('.',$sub)[1].' - '.$git['path'].preg_replace('/\s+/', '', explode('path ',$sub)[1]).'/
'; + } + + } catch (\Exception $ex) { + $git['git_project'] = 'Error: '.$git['path'].' '.$ex->getMessage(); + } + $i++; + $result .= \SYSTEM\PAGE\replace::replaceFile((new \SYSTEM\PSAI('modules/saimod_sys_git/tpl/saimod_sys_git_panel.tpl'))->SERVERPATH(), $git); } - try{ - $repo = \GIT\Git::open(\SYSTEM\CONFIG\config::get(\SYSTEM\CONFIG\config_ids::SYS_CONFIG_PATH_BASEPATH).\SYSTEM\CONFIG\config::get(\SYSTEM\CONFIG\config_ids::SYS_CONFIG_PATH_SYSTEMPATHREL)); - $result['git_system'] .= '
  • '; - $result['git_system'] = ''.$repo->run('rev-parse --short HEAD').'
    '; - $result['git_system'] .= $repo->run('log -1 --pretty=%B'); - } catch (\Exception $ex) { - $result['git_system'] = $ex->getMessage(); - } return $result; } diff --git a/sai/modules/saimod_sys_git/tpl/saimod_sys_git.tpl b/sai/modules/saimod_sys_git/tpl/saimod_sys_git.tpl index 6a7b19b..22c0abc 100644 --- a/sai/modules/saimod_sys_git/tpl/saimod_sys_git.tpl +++ b/sai/modules/saimod_sys_git/tpl/saimod_sys_git.tpl @@ -1,5 +1,13 @@ -

    ${sai_git_title}

    -
    -Current Project Version: ${git_project} -
    -Current SYSTEM Version: ${git_system} \ No newline at end of file +
    +
    +

      ${sai_git_title}

    +
    +
    +
    +
    +
    +
    +
    +
    + ${panels} +
    \ No newline at end of file diff --git a/sai/modules/saimod_sys_git/tpl/saimod_sys_git_panel.tpl b/sai/modules/saimod_sys_git/tpl/saimod_sys_git_panel.tpl new file mode 100644 index 0000000..83ad510 --- /dev/null +++ b/sai/modules/saimod_sys_git/tpl/saimod_sys_git_panel.tpl @@ -0,0 +1,10 @@ +
    +
    +
    ${title}
    +
    +
    + ${git_project} +
    +
    +
    +
    \ No newline at end of file diff --git a/sai/modules/saistart_sys_sai/saistart_sys_sai.php b/sai/modules/saistart_sys_sai/saistart_sys_sai.php index c9553b1..2293431 100644 --- a/sai/modules/saistart_sys_sai/saistart_sys_sai.php +++ b/sai/modules/saistart_sys_sai/saistart_sys_sai.php @@ -43,10 +43,19 @@ class saistart_sys_sai extends \SYSTEM\SAI\SaiModule { $stat['perc'] = round($stat['state_closed'] / ($stat['state_open']+$stat['state_closed']),2)*100; $vars['userstats'] .= \SYSTEM\PAGE\replace::replaceFile((new \SYSTEM\PSAI('modules/saimod_sys_todo/tpl/todo_stats_users_entry.tpl'))->SERVERPATH(), $stat); } + + \LIB\lib_git::php(); + try{ + $repo = \GIT\Git::open(\SYSTEM\CONFIG\config::get(\SYSTEM\CONFIG\config_ids::SYS_CONFIG_PATH_BASEPATH)); + $vars['git'] = $repo->run('ls-remote --get-url').'

    '; + $vars['git'] .= nl2br(htmlentities($repo->run('log --date=relative -1'))); + } catch (\Exception $ex) { + $vars['git'] = 'Error: '.$ex->getMessage(); + } + $vars = array_merge( $vars, \SYSTEM\SAI\saimod_sys_todo::statistics(), - \SYSTEM\PAGE\text::tag(\SYSTEM\SQL\system_text::TAG_SAI_START), - \SYSTEM\SAI\saimod_sys_git::getGitInfo()); + \SYSTEM\PAGE\text::tag(\SYSTEM\SQL\system_text::TAG_SAI_START)); return \SYSTEM\PAGE\replace::replaceFile((new \SYSTEM\PSAI('modules/saistart_sys_sai/tpl/content_loggedin.tpl'))->SERVERPATH(), $vars); } diff --git a/sai/modules/saistart_sys_sai/tpl/content_loggedin.tpl b/sai/modules/saistart_sys_sai/tpl/content_loggedin.tpl index 9a5ce25..068a7b7 100644 --- a/sai/modules/saistart_sys_sai/tpl/content_loggedin.tpl +++ b/sai/modules/saistart_sys_sai/tpl/content_loggedin.tpl @@ -85,8 +85,7 @@
    - Current Project Version: ${git_project}
    - Current SYSTEM Version: ${git_system} + ${git}