Bearsampp 2026.9.23
Loading...
Searching...
No Matches
class.tpl.app.git.php
Go to the documentation of this file.
1<?php
2/*
3 * Copyright (c) 2021-2026 Bearsampp
4 * License: GNU General Public License version 3 or later; see LICENSE.txt
5 * Author: bear
6 * Website: https://bearsampp.com
7 * Github: https://github.com/Bearsampp
8 */
9
18{
19 // Constants for menu and action identifiers
20 const MENU = 'git';
21 const MENU_REPOS = 'gitRepos';
22
23 const ACTION_REFRESH_REPOS = 'refreshGitRepos';
24 const ACTION_REFRESH_REPOS_STARTUP = 'refreshGitReposStartup';
25
36 public static function process()
37 {
38 global $bearsamppLang;
39
40 return TplApp::getMenu($bearsamppLang->getValue(Lang::GIT), self::MENU, get_called_class());
41 }
42
54 public static function getMenuGit()
55 {
56 global $bearsamppLang, $bearsamppTools, $bearsamppRoot;
57
58 $tplRepos = TplApp::getMenu($bearsamppLang->getValue(Lang::REPOS), self::MENU_REPOS, get_called_class());
59 $emptyRepos = count(explode(PHP_EOL, $tplRepos[TplApp::SECTION_CONTENT])) == 2;
60 $isScanStartup = $bearsamppTools->getGit()->isScanStartup();
61
62 $tplRefreshRepos = TplApp::getActionMulti(
63 self::ACTION_REFRESH_REPOS,
64 null,
66 false,
67 get_called_class()
68 );
69 $tplRefreshReposStartup = TplApp::getActionMulti(
70 self::ACTION_REFRESH_REPOS_STARTUP,
71 array($isScanStartup ? Config::DISABLED : Config::ENABLED),
72 array($bearsamppLang->getValue(Lang::MENU_SCAN_REPOS_STARTUP), $isScanStartup ? TplAestan::GLYPH_CHECK : ''),
73 false,
74 get_called_class()
75 );
76
77 /* get path for git gui */
78 $gitgui = Path::getModuleSymlinkPath($bearsamppTools->getGit()) . '/cmd';
79
83 null,
84 $bearsamppTools->getPowerShell()->getTabTitleGit(),
86 null
87 ) . PHP_EOL .
90 $gitgui . '/git-gui',
92 ) . PHP_EOL .
93 TplAestan::getItemSeparator() . PHP_EOL .
94
95 // Items
96 (!$emptyRepos ? $tplRepos[TplApp::SECTION_CALL] . PHP_EOL : '') .
97 $tplRefreshRepos[TplApp::SECTION_CALL] . PHP_EOL .
98 $tplRefreshReposStartup[TplApp::SECTION_CALL] . PHP_EOL .
99
100 // Actions
101 (!$emptyRepos ? $tplRepos[TplApp::SECTION_CONTENT] . PHP_EOL : PHP_EOL) .
102 $tplRefreshRepos[TplApp::SECTION_CONTENT] . PHP_EOL .
103 $tplRefreshReposStartup[TplApp::SECTION_CONTENT];
104 }
105
116 public static function getMenuGitRepos()
117 {
118 global $bearsamppTools;
119 $result = '';
120
121 foreach ($bearsamppTools->getGit()->findRepos() as $repo) {
123 basename($repo),
125 null,
126 $bearsamppTools->getPowerShell()->getTabTitleGit($repo),
127 $repo,
128 null
129 ) . PHP_EOL;
130 }
131
132 return $result;
133 }
134
143 public static function getActionRefreshGitRepos()
144 {
147 }
148
159 public static function getActionRefreshGitReposStartup($scanStartup)
160 {
161 return TplApp::getActionRun(Action::REFRESH_REPOS_STARTUP, array(ActionRefreshRepos::GIT, $scanStartup)) . PHP_EOL .
163 }
164}
$result
global $bearsamppLang
global $bearsamppRoot
const REFRESH_REPOS
const REFRESH_REPOS_STARTUP
const DISABLED
const ENABLED
const MENU_SCAN_REPOS_STARTUP
const REPOS
const GITGUI
const GIT_CONSOLE
const GIT
const MENU_REFRESH_REPOS
static getWwwPath($aetrayPath=false)
static getModuleSymlinkPath($module)
static getItemPowerShell($caption, $glyph, $id=null, $title=null, $initDir=null, $command=null)
static getItemExe($caption, $exe, $glyph, $params=null)
static getItemSeparator()
const ACTION_REFRESH_REPOS_STARTUP
static getActionRefreshGitRepos()
const ACTION_REFRESH_REPOS
static getActionRefreshGitReposStartup($scanStartup)
static getMenuGit()
static getMenuGitRepos()
static getActionMulti($action, $args=array(), $item=array(), $disabled=false, $class=false)
static getMenu($caption, $menu, $class)
static getActionRun($action, $args=array(), $item=array(), $waitUntilTerminated=true)
const SECTION_CALL
const SECTION_CONTENT