diff options
author | Felipe Figueroa <amenadiel@gmail.com> | 2021-03-25 15:59:15 +0300 |
---|---|---|
committer | Felipe Figueroa <amenadiel@gmail.com> | 2021-03-25 15:59:15 +0300 |
commit | f7b0193500faec8da57a29e907d9cf445b8356a8 (patch) | |
tree | f187fa73533122698940ef09acdbc623e8c67152 | |
parent | ab85b1b8eff0e21f09d7fef3f624c0c89d739193 (diff) |
fixes errors as reported by phpstan
64 files changed, 237 insertions, 258 deletions
diff --git a/.configs/debug.var_dumper.php b/.configs/debug.var_dumper.php deleted file mode 100644 index fd034594..00000000 --- a/.configs/debug.var_dumper.php +++ /dev/null @@ -1,43 +0,0 @@ -<?php - -// declare(strict_types = 1); - -/** - * PHPPgAdmin vv6.0.0-RC8-16-g13de173f - */ - -// to enable debugging middleware and endpoints -// debuggers -use Symfony\Component\VarDumper\Cloner\VarCloner; -use Symfony\Component\VarDumper\Dumper\CliDumper; -use Symfony\Component\VarDumper\Dumper\ContextProvider\CliContextProvider; -use Symfony\Component\VarDumper\Dumper\ContextProvider\SourceContextProvider; -use Symfony\Component\VarDumper\Dumper\HtmlDumper; -use Symfony\Component\VarDumper\Dumper\ServerDumper; -use Symfony\Component\VarDumper\VarDumper; - -if (\class_exists('Symfony\Component\VarDumper\VarDumper')) { - $cloner = new VarCloner(); - $fallbackDumper = \in_array(\PHP_SAPI, ['cli', 'phpdbg'], true) ? new CliDumper() : new HtmlDumper(); - $dumper = new ServerDumper('tcp://127.0.0.1:9912', $fallbackDumper, [ - 'cli' => new CliContextProvider(), - 'source' => new SourceContextProvider(), - ]); - - VarDumper::setHandler(function ($var) use ($cloner, $dumper): void { - $dumper->dump($cloner->cloneVar($var)); - }); -} -if (false && \PHP_SAPI !== 'cli') { - \define('SESSION_SAVE_PATH', \implode(\DIRECTORY_SEPARATOR, [BASE_PATH, 'temp/sessions'])); - \defined('IN_TEST') || \define('IN_TEST', false); - - if (!IN_TEST && \defined('SESSION_SAVE_PATH') - && ( - \is_dir(SESSION_SAVE_PATH) - || \mkdir(SESSION_SAVE_PATH, 0777, true) - ) - ) { - \session_save_path(SESSION_SAVE_PATH); - } -} @@ -56,7 +56,7 @@ update_version: @echo "Current version is " ${VERSION} ;\ echo "Next version is " $(v) ;\ sed -i 's/"version": "$(VERSION)"/"version": "$(v)"/g' composer.json - @${MAKE} composer_update --no-print-directory + composer update --lock mocktag: diff --git a/assets/js/footer_scripts.js b/assets/js/footer_scripts.js index b987b55b..0da8e923 100644 --- a/assets/js/footer_scripts.js +++ b/assets/js/footer_scripts.js @@ -86,7 +86,7 @@ $.ready stateObj.redirect_to ); } - return { jqFn: jQuery.fn, hljsFn: globalThis.hljs }; + return { jqFn: jQuery.fn, hljsFn: globalThis.hljs||{highlightBlock:null} }; }) .then(({ jqFn, hljsFn }) => { diff --git a/composer.json b/composer.json index 5fd18ea6..f24b9cfd 100644 --- a/composer.json +++ b/composer.json @@ -44,7 +44,7 @@ "vimeo/psalm": "^4.6" }, "extra": { - "version": "6.1.3" + "version": "6.1.4" }, "autoload": { "psr-4": { diff --git a/composer.lock b/composer.lock index 61548d5d..ad60acb9 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "df0b12937254bbe1eb88daf2eee1db56", + "content-hash": "222aa2fdc7c0f007e36a2dbb4566b58a", "packages": [ { "name": "adodb/adodb-php", diff --git a/mk_linters.mk b/mk_linters.mk index d20c57f4..69bf8612 100644 --- a/mk_linters.mk +++ b/mk_linters.mk @@ -164,7 +164,7 @@ lint: $(executable) --ignore-fails --exclude vendor src -fixers: lint csfixer dependency_analysis phpcs psalm phpstan +fixers: lint csfixer phpcs psalm phpstan diff --git a/phpstan.neon b/phpstan.neon index 528d407d..b806dc12 100644 --- a/phpstan.neon +++ b/phpstan.neon @@ -27,6 +27,7 @@ parameters: - vendor/* - src/classes/ADO* - src/router.php + reportUnmatchedIgnoredErrors: false treatPhpDocTypesAsCertain: false diff --git a/src/classes/ADORecordSet.php b/src/classes/ADORecordSet.php index 77ea72ab..4ebf3fcd 100644 --- a/src/classes/ADORecordSet.php +++ b/src/classes/ADORecordSet.php @@ -39,7 +39,7 @@ class ADORecordSet extends ADODBRecordsetClass implements Countable, RecordSet * * @param int $fieldoffset * - * @return \the the field + * @return \ADOFieldObject the field */ public function FetchField($fieldoffset = -1): ADOFieldObject { diff --git a/src/classes/ArrayRecordSet.php b/src/classes/ArrayRecordSet.php index f6d0fd46..50def47b 100644 --- a/src/classes/ArrayRecordSet.php +++ b/src/classes/ArrayRecordSet.php @@ -45,7 +45,10 @@ class ArrayRecordSet implements Countable, RecordSet $this->EOF = true; } } - +public function getIterator() +{ + return $this->_array; +} /** * Returns the recordCount. */ diff --git a/src/classes/ContainerUtils.php b/src/classes/ContainerUtils.php index 2b1c00db..f277f746 100644 --- a/src/classes/ContainerUtils.php +++ b/src/classes/ContainerUtils.php @@ -23,8 +23,7 @@ use Slim\Http\Response; * @property string $database * @property bool $DEBUGMODE * @property array $deploy_info - * @property \GuzzleHttp\Client $fcIntranetClient - * @property Messages $flash + * @property Messages $flash * @property bool $IN_TEST * @property Misc $misc * @property Request $request @@ -35,7 +34,7 @@ use Slim\Http\Response; * @property string $THEME_PATH * @property ViewManager $view * - * @method mixed get(string) + * @method mixed get($varname='') */ class ContainerUtils extends Container implements ContainerInterface { diff --git a/src/classes/Misc.php b/src/classes/Misc.php index bed33dc5..be570f12 100644 --- a/src/classes/Misc.php +++ b/src/classes/Misc.php @@ -369,7 +369,7 @@ class Misc // Create a database wrapper class for easy manipulation of the // connection. - $this->_data = new $_type($_connection->conn, $this->container, $server_info); + $this->_data = new $_type($_connection, $this->container, $server_info); $this->_data->platform = $_connection->platform; //$this->_data->getHelpPages(); diff --git a/src/controllers/AggregatesController.php b/src/controllers/AggregatesController.php index c572140b..0be4c556 100644 --- a/src/controllers/AggregatesController.php +++ b/src/controllers/AggregatesController.php @@ -184,7 +184,7 @@ class AggregatesController extends BaseController 'content' => $this->lang['strcreateaggregate'], ], ]; - $this->printNavLinks($navlinks, $this->table_place, \get_defined_vars()); +return $this->printNavLinks($navlinks, $this->table_place, \get_defined_vars()); } /** @@ -676,6 +676,6 @@ class AggregatesController extends BaseController 'content' => $this->lang['strdrop'], ]; - $this->printNavLinks($navlinks, 'aggregates-properties', \get_defined_vars()); +return $this->printNavLinks($navlinks, 'aggregates-properties', \get_defined_vars()); } } diff --git a/src/controllers/AlldbController.php b/src/controllers/AlldbController.php index b74d6cdc..1d525900 100644 --- a/src/controllers/AlldbController.php +++ b/src/controllers/AlldbController.php @@ -238,7 +238,7 @@ class AlldbController extends BaseController 'content' => $this->lang['strcreatedatabase'], ], ]; - $this->printNavLinks($navlinks, $this->table_place, \get_defined_vars()); +return $this->printNavLinks($navlinks, $this->table_place, \get_defined_vars()); } /** diff --git a/src/controllers/BaseController.php b/src/controllers/BaseController.php index 7263a090..b2a79dd7 100644 --- a/src/controllers/BaseController.php +++ b/src/controllers/BaseController.php @@ -256,7 +256,7 @@ class BaseController /** * Produce JSON data for the browser tree. * - * @param \ADORecordSet|\PHPPgAdmin\Interfaces\Recordset + * @param \ADORecordSet|\PHPPgAdmin\Interfaces\RecordSet $_treedata * @param false|string $section * @param bool $print either to return or echo the result * @@ -268,7 +268,21 @@ class BaseController { $tree = $this->_getTreeController(); - return $tree->printTree($_treedata, $attrs, $section, $print); + $parent= $tree->printTree($_treedata, $attrs, $section); + + if ($print) { + if (isset($_REQUEST['children'])) { + $children = $parent; + $parent = ['children' => $children]; + } + + return $this + ->container + ->response + ->withStatus(200) + ->withJson($parent); + } + return $parent; } /** @@ -284,7 +298,12 @@ class BaseController $from = __METHOD__; $html_trail = $this->_getNavbarController(); - return $html_trail->printTrail($trail, $do_print, $from); + return tap( $html_trail->printTrail($trail ),function(?string $html) use ($do_print){ + if($do_print) { + + echo $html; + } + } ); } /** @@ -298,7 +317,12 @@ class BaseController $from = __METHOD__; $footer_controller = $this->_getFooterController(); - return $footer_controller->printNavLinks($navlinks, $place, $env, $do_print, $from); + return tap($footer_controller->printNavLinks($navlinks, $place, $env, $from),function(?string $navLinksHtml) use ($do_print){ + if($do_print) { + + echo $navLinksHtml; + } + } ); } public function printTabs(string $tabs, string $activetab, bool $do_print = true) @@ -306,7 +330,11 @@ class BaseController $from = __METHOD__; $html_trail = $this->_getNavbarController(); - return $html_trail->printTabs($tabs, $activetab, $do_print, $from); + return tap($html_trail->printTabs($tabs, $activetab, false, $from),function(?string $html) use ($do_print){ + if($do_print) { + echo $html; + } + } ); } /** @@ -323,7 +351,11 @@ class BaseController $html_trail = $this->_getNavbarController(); - return $html_trail->printLink($link, $do_print, $from); + return tap($html_trail->printLink($link, $do_print, $from),function(?string $html) use ($do_print){ + if($do_print) { + echo $html; + } + } ); } /** @@ -362,9 +394,7 @@ class BaseController public function printReload($database, $do_print = true) { - $footer_controller = $this->_getFooterController(); - - return $footer_controller->printReload($database, $do_print); + return ''; } /** @@ -413,7 +443,7 @@ class BaseController $title = '' !== $title ? $title : $this->headerTitle(); $header_controller = $this->_getHeaderController(); - return $header_controller->printHeader($title, $script, $do_print, $template); + return $header_controller->printHeader($title, $script, $do_print, $template); } /** @@ -437,7 +467,7 @@ class BaseController { $header_controller = $this->_getHeaderController(); - return $header_controller->printTitle($title, $help, $do_print); + return $header_controller->printTitle($title, $help, $do_print); } /** diff --git a/src/controllers/CastsController.php b/src/controllers/CastsController.php index a5f7b927..ac82dd1a 100644 --- a/src/controllers/CastsController.php +++ b/src/controllers/CastsController.php @@ -93,6 +93,7 @@ class CastsController extends BaseController if (self::isRecordset($casts)) { echo $this->printTable($casts, $columns, $actions, 'casts-casts', $this->lang['strnocasts']); } + return ''; } /** diff --git a/src/controllers/ColpropertiesController.php b/src/controllers/ColpropertiesController.php index 52553f9f..06d4ccaa 100644 --- a/src/controllers/ColpropertiesController.php +++ b/src/controllers/ColpropertiesController.php @@ -66,7 +66,7 @@ class ColpropertiesController extends BaseController * @param string $msg message to display * @param bool $isTable tells if we're showing table properties */ - public function doDefault($msg = '', $isTable = true): void + public function doDefault($msg = '', $isTable = true) { if (!isset($_REQUEST['table']) || empty($_REQUEST['table'])) { $isTable = false; @@ -89,7 +89,9 @@ class ColpropertiesController extends BaseController $this->printTabs('column', 'properties'); $this->printMsg($msg); - if (!empty($_REQUEST['column'])) { + if (empty($_REQUEST['column'])){ + return ''; + } // Get table $tdata = $data->getTable($this->tableName); // Get columns @@ -222,8 +224,9 @@ class ColpropertiesController extends BaseController ]; } - $this->printNavLinks($navlinks, $this->table_place, \get_defined_vars()); - } +return $this->printNavLinks($navlinks, $this->table_place, \get_defined_vars()); + + } /** diff --git a/src/controllers/ConstraintsController.php b/src/controllers/ConstraintsController.php index 4589d2e5..c0a39c0b 100644 --- a/src/controllers/ConstraintsController.php +++ b/src/controllers/ConstraintsController.php @@ -237,7 +237,7 @@ class ConstraintsController extends BaseController 'content' => $this->lang['straddfk'], ], ]; - $this->printNavLinks($navlinks, 'constraints-constraints', \get_defined_vars()); +return $this->printNavLinks($navlinks, 'constraints-constraints', \get_defined_vars()); } /** diff --git a/src/controllers/ConversionsController.php b/src/controllers/ConversionsController.php index 5ebd28c6..cde0b8bd 100644 --- a/src/controllers/ConversionsController.php +++ b/src/controllers/ConversionsController.php @@ -78,6 +78,7 @@ class ConversionsController extends BaseController if (self::isRecordset($conversions)) { echo $this->printTable($conversions, $columns, $actions, 'conversions-conversions', $this->lang['strnoconversions']); } + return ''; } /** diff --git a/src/controllers/DatabaseController.php b/src/controllers/DatabaseController.php index f4842ef6..8bab29f7 100644 --- a/src/controllers/DatabaseController.php +++ b/src/controllers/DatabaseController.php @@ -142,7 +142,7 @@ class DatabaseController extends BaseController echo $output; - $this->printFooter(true, $footer_template); + return $this->printFooter(true, $footer_template); } /** diff --git a/src/controllers/DataexportController.php b/src/controllers/DataexportController.php index d4336b97..42a06509 100644 --- a/src/controllers/DataexportController.php +++ b/src/controllers/DataexportController.php @@ -170,7 +170,7 @@ class DataexportController extends BaseController ) . \PHP_EOL; echo '</form>' . \PHP_EOL; - $this->printFooter(); + return $this->printFooter(); } protected function mimicDumpFeature($format, string $cleanprefix, bool $oids) diff --git a/src/controllers/DisplayController.php b/src/controllers/DisplayController.php index f82a4b11..22574c12 100644 --- a/src/controllers/DisplayController.php +++ b/src/controllers/DisplayController.php @@ -46,7 +46,7 @@ class DisplayController extends BaseController $header_template = 'header.twig'; $browseResult = []; \ob_start(); - +$jsonResult=[]; switch ($this->action) { case 'editrow': $this->view->offsetSet('codemirror', true); @@ -116,7 +116,7 @@ class DisplayController extends BaseController echo $output; - $this->printFooter(true, $footer_template); + return $this->printFooter(true, $footer_template); } /** @@ -124,9 +124,9 @@ class DisplayController extends BaseController * * @param mixed $msg * - * @return (array[]|int)[]|null + * @return (array[]|int)[]|string|null * - * @psalm-return array{draw: int, recordsTotal: int, recordsFiltered: int, data: list<array>}|null + * @psalm-return array{draw: int, recordsTotal: int, recordsFiltered: int, data: list<array>}|string|null */ public function doBrowse($msg = '') { @@ -314,7 +314,7 @@ class DisplayController extends BaseController // Navigation links $navlinks = $this->getBrowseNavLinks($type, $_gets, $page, $subject, $object, $resultset); - $this->printNavLinks($navlinks, 'display-browse', \get_defined_vars()); +return $this->printNavLinks($navlinks, 'display-browse', \get_defined_vars()); } /** @@ -944,9 +944,9 @@ class DisplayController extends BaseController /** * Performs actual edition of row. * - * @return (array[]|int)[]|null + * @return (array[]|int)[]|string|null * - * @psalm-return array{draw: int, recordsTotal: int, recordsFiltered: int, data: list<array>}|null + * @psalm-return array{draw: int, recordsTotal: int, recordsFiltered: int, data: list<array>}|string|null */ public function doEditRow() { @@ -983,7 +983,7 @@ class DisplayController extends BaseController * * @param mixed $confirm */ - public function doDelRow($confirm): void + public function doDelRow($confirm) { $data = $this->misc->getDatabaseAccessor(); @@ -1184,7 +1184,7 @@ class DisplayController extends BaseController } /** - * @return \the + * @return \ADOFieldObject */ private function FetchField(ADORecordSet $ADORecordSet, int $index): ADOFieldObject { diff --git a/src/controllers/DomainsController.php b/src/controllers/DomainsController.php index fc1cfdfb..15c3721e 100644 --- a/src/controllers/DomainsController.php +++ b/src/controllers/DomainsController.php @@ -208,7 +208,7 @@ class DomainsController extends BaseController 'content' => $this->lang['strcreatedomain'], ], ]; - $this->printNavLinks($navlinks, 'domains-domains', \get_defined_vars()); +return $this->printNavLinks($navlinks, 'domains-domains', \get_defined_vars()); } /** @@ -620,7 +620,7 @@ class DomainsController extends BaseController ]; } - $this->printNavLinks($navlinks, 'domains-properties', \get_defined_vars()); +return $this->printNavLinks($navlinks, 'domains-properties', \get_defined_vars()); } /** diff --git a/src/controllers/FulltextController.php b/src/controllers/FulltextController.php index 443320e6..8f94ea59 100644 --- a/src/controllers/FulltextController.php +++ b/src/controllers/FulltextController.php @@ -216,7 +216,7 @@ class FulltextController extends BaseController ], ]; - $this->printNavLinks($navlinks, 'fulltext-fulltext', \get_defined_vars()); +return $this->printNavLinks($navlinks, 'fulltext-fulltext', \get_defined_vars()); } /** @@ -310,7 +310,7 @@ class FulltextController extends BaseController return $this->printTree($items, $attrs, \mb_strtolower($what)); } - public function doDropConfig(bool $confirm): void + public function doDropConfig(bool $confirm) { $data = $this->misc->getDatabaseAccessor(); @@ -354,7 +354,7 @@ class FulltextController extends BaseController } } - public function doDropDict(bool $confirm): void + public function doDropDict(bool $confirm) { $data = $this->misc->getDatabaseAccessor(); @@ -645,7 +645,7 @@ class FulltextController extends BaseController /** * Save the form submission containing changes to a FTS configuration. */ - public function doSaveAlterConfig(): void + public function doSaveAlterConfig() { $data = $this->misc->getDatabaseAccessor(); $status = $data->updateFtsConfiguration($_POST['ftscfg'], $_POST['formComment'], $_POST['formName']); @@ -779,7 +779,7 @@ class FulltextController extends BaseController ], ]; - $this->printNavLinks($navlinks, 'fulltext-viewdicts', \get_defined_vars()); +return $this->printNavLinks($navlinks, 'fulltext-viewdicts', \get_defined_vars()); } /** @@ -788,7 +788,7 @@ class FulltextController extends BaseController * @param mixed $ftscfg * @param mixed $msg */ - public function doViewConfig($ftscfg, $msg = ''): void + public function doViewConfig($ftscfg, $msg = '') { $data = $this->misc->getDatabaseAccessor(); @@ -880,7 +880,7 @@ class FulltextController extends BaseController ], ]; - $this->printNavLinks($navlinks, 'fulltext-viewconfig', \get_defined_vars()); +return $this->printNavLinks($navlinks, 'fulltext-viewconfig', \get_defined_vars()); } /** @@ -1041,7 +1041,7 @@ class FulltextController extends BaseController /** * Actually creates the new FTS dictionary in the database. */ - public function doSaveCreateDict(): void + public function doSaveCreateDict() { $data = $this->misc->getDatabaseAccessor(); @@ -1152,7 +1152,7 @@ class FulltextController extends BaseController /** * Save the form submission containing changes to a FTS dictionary. */ - public function doSaveAlterDict(): void + public function doSaveAlterDict() { $data = $this->misc->getDatabaseAccessor(); @@ -1170,7 +1170,7 @@ class FulltextController extends BaseController * * @param mixed $confirm */ - public function doDropMapping($confirm): void + public function doDropMapping($confirm) { $data = $this->misc->getDatabaseAccessor(); @@ -1348,7 +1348,7 @@ class FulltextController extends BaseController /** * Save the form submission containing changes to a FTS mapping. */ - public function doSaveAlterMapping(): void + public function doSaveAlterMapping() { $data = $this->misc->getDatabaseAccessor(); @@ -1470,7 +1470,7 @@ class FulltextController extends BaseController /** * Save the form submission containing parameters of a new FTS mapping. */ - public function doSaveAddMapping(): void + public function doSaveAddMapping() { $data = $this->misc->getDatabaseAccessor(); diff --git a/src/controllers/FunctionsController.php b/src/controllers/FunctionsController.php index 42932659..f63b53c1 100644 --- a/src/controllers/FunctionsController.php +++ b/src/controllers/FunctionsController.php @@ -99,7 +99,7 @@ class FunctionsController extends BaseController $this->printHeader($this->headerTitle(), null, true, $header_template); $this->printBody(); echo $output; - $this->printFooter(true, $footer_template); + return $this->printFooter(true, $footer_template); } /** @@ -196,7 +196,7 @@ class FunctionsController extends BaseController echo $this->printTable($funcs, $columns, $actions, $this->table_place, $this->lang['strnofunctions']); } - $this->_printNavLinks('functions-functions'); + return $this->_printNavLinks('functions-functions'); } /** @@ -1323,7 +1323,7 @@ class FunctionsController extends BaseController } } - private function _printNavLinks(string $place, string $func_full = ''): void + private function _printNavLinks(string $place, string $func_full = '') { if ('functions-properties' === $place) { $navlinks = [ @@ -1421,10 +1421,10 @@ class FunctionsController extends BaseController ], ]; } else { - return; + return ''; } - $this->printNavLinks($navlinks, $place, \get_defined_vars()); +return $this->printNavLinks($navlinks, $place, \get_defined_vars()); } /** diff --git a/src/controllers/GroupsController.php b/src/controllers/GroupsController.php index 14f306ae..c7354ced 100644 --- a/src/controllers/GroupsController.php +++ b/src/controllers/GroupsController.php @@ -135,7 +135,7 @@ class GroupsController extends BaseController echo $this->printTable($groups, $columns, $actions, 'groups-properties', $this->lang['strnogroups']); } - $this->printNavLinks(['create' => [ +return $this->printNavLinks(['create' => [ 'attr' => [ 'href' => [ 'url' => 'groups', @@ -290,7 +290,7 @@ class GroupsController extends BaseController echo '<input type="hidden" name="action" value="add_member" />' . \PHP_EOL; echo '</form>' . \PHP_EOL; - $this->printNavLinks(['showall' => [ +return $this->printNavLinks(['showall' => [ 'attr' => [ 'href' => [ 'url' => 'groups', diff --git a/src/controllers/HelpController.php b/src/controllers/HelpController.php index fe53103c..eb34c41e 100644 --- a/src/controllers/HelpController.php +++ b/src/controllers/HelpController.php @@ -31,7 +31,7 @@ class HelpController extends BaseController } } - public function doDefault(): void + public function doDefault() { $data = $this->misc->getDatabaseAccessor(); @@ -41,7 +41,7 @@ class HelpController extends BaseController if (\is_array($url)) { $this->doChoosePage($url); - return; + return ''; } if ($url) { @@ -50,11 +50,11 @@ class HelpController extends BaseController $url )); - return; + return ''; } } - $this->doBrowse($this->lang['strinvalidhelppage']); + return $this->doBrowse($this->lang['strinvalidhelppage']); } public function doBrowse($msg = '') @@ -95,10 +95,10 @@ class HelpController extends BaseController echo '</dl>' . \PHP_EOL; - $this->printFooter(); + return $this->printFooter(); } - public function doChoosePage(array $urls): void + public function doChoosePage(array $urls) { $this->printHeader(); $this->printBody(); @@ -116,6 +116,6 @@ class HelpController extends BaseController } echo '</ul>' . \PHP_EOL; - $this->printFooter(); + return $this->printFooter(); } } diff --git a/src/controllers/HistoryController.php b/src/controllers/HistoryController.php index e15c2457..8bcbc618 100644 --- a/src/controllers/HistoryController.php +++ b/src/controllers/HistoryController.php @@ -72,7 +72,7 @@ class HistoryController extends BaseController return $this->printFooter(true, 'footer_sqledit.twig'); } - public function doDefault(): void + public function doDefault() { $data = $this->misc->getDatabaseAccessor(); @@ -82,7 +82,7 @@ class HistoryController extends BaseController echo '<body onload="window.focus();">' . \PHP_EOL; echo '<form action="history" method="post">' . \PHP_EOL; - $this->printConnection('history'); + echo $this->printConnection('history'); echo '</form><br />'; if (!isset($_REQUEST['database'])) { @@ -198,7 +198,7 @@ class HistoryController extends BaseController ]; } - $this->printNavLinks($navlinks, 'history-history', \get_defined_vars()); +return $this->printNavLinks($navlinks, 'history-history', \get_defined_vars()); } public function doDelHistory($qid, bool $confirm): void diff --git a/src/controllers/IndexesController.php b/src/controllers/IndexesController.php index 305892c3..4c2f3b09 100644 --- a/src/controllers/IndexesController.php +++ b/src/controllers/IndexesController.php @@ -93,7 +93,7 @@ class IndexesController extends BaseController return $this->printFooter(); } - public function doDefault(string $msg = ''): void + public function doDefault(string $msg = '') { $data = $this->misc->getDatabaseAccessor(); @@ -202,7 +202,7 @@ class IndexesController extends BaseController echo $this->printTable($indexes, $columns, $actions, 'indexes-indexes', $this->lang['strnoindexes'], $indPre); } - $this->printNavLinks([ +return $this->printNavLinks([ 'create' => [ 'attr' => [ 'href' => [ diff --git a/src/controllers/InfoController.php b/src/controllers/InfoController.php index cb2e41e7..13323ef6 100644 --- a/src/controllers/InfoController.php +++ b/src/controllers/InfoController.php @@ -100,6 +100,7 @@ class InfoController extends BaseController if (0 < $indexstatsio->RecordCount()) { $this->_printIndexstatsio($indexstatsio); } + return ''; } /** diff --git a/src/controllers/LanguagesController.php b/src/controllers/LanguagesController.php index 683a709b..43cc227f 100644 --- a/src/controllers/LanguagesController.php +++ b/src/controllers/LanguagesController.php @@ -31,7 +31,7 @@ class LanguagesController extends BaseController $this->printBody(); $this->doDefault(); - $this->printFooter(); + return $this->printFooter(); } /** @@ -70,6 +70,7 @@ class LanguagesController extends BaseController if (self::isRecordset($languages)) { echo $this->printTable($languages, $columns, $actions, 'languages-languages', $this->lang['strnolanguages']); } + return ''; } /** diff --git a/src/controllers/LoginController.php b/src/controllers/LoginController.php index 1aea6c5d..48fda81d 100644 --- a/src/controllers/LoginController.php +++ b/src/controllers/LoginController.php @@ -50,6 +50,7 @@ class LoginController extends BaseController { if (null === \requestInstance()->getAttribute('route')) { echo $this->doLoginForm(); + return ''; } else { $body = \responseInstance()->getBody(); $body->write($this->doLoginForm()); diff --git a/src/controllers/MaterializedviewsController.php b/src/controllers/MaterializedviewsController.php index bccbea71..32d1aaf7 100644 --- a/src/controllers/MaterializedviewsController.php +++ b/src/controllers/MaterializedviewsController.php @@ -243,7 +243,7 @@ class MaterializedviewsController extends BaseController 'content' => $this->lang['strcreatematviewwiz'], ], ]; - $this->printNavLinks($navlinks, $this->table_place, \get_defined_vars()); +return $this->printNavLinks($navlinks, $this->table_place, \get_defined_vars()); } /** diff --git a/src/controllers/OpclassesController.php b/src/controllers/OpclassesController.php index 4836e3ad..aa5e8094 100644 --- a/src/controllers/OpclassesController.php +++ b/src/controllers/OpclassesController.php @@ -31,7 +31,7 @@ class OpclassesController extends BaseController $this->printBody(); $this->doDefault(); - $this->printFooter(); + return $this->printFooter(); } /** @@ -77,7 +77,7 @@ class OpclassesController extends BaseController if ($opclasses instanceof \PHPPgAdmin\Interfaces\RecordSet) { echo $this->printTable($opclasses, $columns, $actions, 'opclasses-opclasses', $this->lang['strnoopclasses']); - } + }return ''; } /** diff --git a/src/controllers/OperatorsController.php b/src/controllers/OperatorsController.php index 406e8d08..c5e892cf 100644 --- a/src/controllers/OperatorsController.php +++ b/src/controllers/OperatorsController.php @@ -66,7 +66,7 @@ class OperatorsController extends BaseController break; } - $this->printFooter(); + return $this->printFooter(); } /** @@ -171,7 +171,7 @@ class OperatorsController extends BaseController if (self::isRecordset($operators)) { echo $this->printTable($operators, $columns, $actions, 'operators-operators', $this->lang['strnooperators']); } - + return ''; // TODO operators action=create $this->lang['strcreateoperator'] } @@ -270,7 +270,7 @@ class OperatorsController extends BaseController } echo '</table>' . \PHP_EOL; - $this->printNavLinks( +return $this->printNavLinks( [ 'showall' => [ 'attr' => [ diff --git a/src/controllers/PrivilegesController.php b/src/controllers/PrivilegesController.php index f504d703..b38828f7 100644 --- a/src/controllers/PrivilegesController.php +++ b/src/controllers/PrivilegesController.php @@ -81,7 +81,7 @@ class PrivilegesController extends BaseController if (!isset($data->privlist[$subject])) { $this->container->halt('No privileges defined for subject ' . $subject); - return; + return ''; } $object = $_REQUEST[$subject . '_oid'] ?? $_REQUEST[$subject]; @@ -182,10 +182,10 @@ class PrivilegesController extends BaseController $this->lang['strnoprivileges'] ) . \PHP_EOL; } - $this->printGrantLinks(); + return $this->printGrantLinks(); } - public function printGrantLinks(): void + public function printGrantLinks() { $data = $this->misc->getDatabaseAccessor(); $subject = $_REQUEST['subject']; @@ -313,7 +313,7 @@ class PrivilegesController extends BaseController } } - $this->printNavLinks($navlinks, $this->table_place, \get_defined_vars()); +return $this->printNavLinks($navlinks, $this->table_place, \get_defined_vars()); } /** diff --git a/src/controllers/RolesController.php b/src/controllers/RolesController.php index cdb7e6ce..2deb8839 100644 --- a/src/controllers/RolesController.php +++ b/src/controllers/RolesController.php @@ -212,7 +212,8 @@ class RolesController extends BaseController 'content' => $this->lang['strcreaterole'], ], ]; - $this->printNavLinks($navlinks, 'roles-roles', \get_defined_vars()); +return $this->printNavLinks($navlinks, 'roles-roles', \get_defined_vars()); + return ''; } /** @@ -868,7 +869,7 @@ class RolesController extends BaseController ], ]; - $this->printNavLinks($navlinks, 'roles-properties', \get_defined_vars()); +return $this->printNavLinks($navlinks, 'roles-properties', \get_defined_vars()); } /** @@ -948,7 +949,7 @@ class RolesController extends BaseController ) . \PHP_EOL; } - $this->printNavLinks(['changepassword' => [ +return $this->printNavLinks(['changepassword' => [ 'attr' => [ 'href' => [ 'url' => 'roles', diff --git a/src/controllers/RulesController.php b/src/controllers/RulesController.php index 66440834..a9b8ae25 100644 --- a/src/controllers/RulesController.php +++ b/src/controllers/RulesController.php @@ -118,7 +118,7 @@ class RulesController extends BaseController echo $this->printTable($rules, $columns, $actions, 'rules-rules', $this->lang['strnorules']); } - $this->printNavLinks(['create' => [ +return $this->printNavLinks(['create' => [ 'attr' => [ 'href' => [ 'url' => 'rules', diff --git a/src/controllers/SchemasController.php b/src/controllers/SchemasController.php index f3fb9766..e8dbc174 100644 --- a/src/controllers/SchemasController.php +++ b/src/controllers/SchemasController.php @@ -190,7 +190,7 @@ class SchemasController extends BaseController echo $this->printTable($schemas, $columns, $actions, 'schemas-schemas', $this->lang['strnoschemas']); } - $this->printNavLinks(['create' => [ +return $this->printNavLinks(['create' => [ 'attr' => [ 'href' => [ 'url' => 'schemas', diff --git a/src/controllers/SequencesController.php b/src/controllers/SequencesController.php index f6424eb5..f840c19f 100644 --- a/src/controllers/SequencesController.php +++ b/src/controllers/SequencesController.php @@ -196,7 +196,7 @@ class SequencesController extends BaseController echo $this->printTable($sequences, $columns, $actions, 'sequences-sequences', $this->lang['strnosequences']); } - $this->printNavLinks(['create' => [ +return $this->printNavLinks(['create' => [ 'attr' => [ 'href' => [ 'url' => 'sequences', @@ -415,7 +415,7 @@ class SequencesController extends BaseController unset($navlinks['restart']); } - $this->printNavLinks($navlinks, 'sequences-properties', \get_defined_vars()); +return $this->printNavLinks($navlinks, 'sequences-properties', \get_defined_vars()); } else { echo \sprintf( '<p>%s</p>', diff --git a/src/controllers/ServersController.php b/src/controllers/ServersController.php index a1809bd4..b674ac4a 100644 --- a/src/controllers/ServersController.php +++ b/src/controllers/ServersController.php @@ -73,6 +73,7 @@ class ServersController extends BaseController // ddd($server_html); if (null === $route) { echo $server_html; + return ''; } else { $body = $theResponse->getBody(); $body->write($server_html); @@ -171,6 +172,7 @@ class ServersController extends BaseController } $thetable = $this->printTable($servers, $columns, $actions, $this->table_place, $this->lang['strnoobjects'], $svPre); echo $thetable; + return ''; } /** diff --git a/src/controllers/SqlController.php b/src/controllers/SqlController.php index 586c654b..e8324a91 100644 --- a/src/controllers/SqlController.php +++ b/src/controllers/SqlController.php @@ -95,7 +95,7 @@ class SqlController extends BaseController $rs = $this->doDefault(); // echo $body.$trail.$title; - $this->doFooter(true, 'footer_sqledit.twig', $rs); + return $this->doFooter(true, 'footer_sqledit.twig', $rs); } catch (Exception $e) { exit($e->getMessage()); } @@ -125,13 +125,13 @@ class SqlController extends BaseController $data = $this->misc->getDatabaseAccessor(); $_connection = $this->misc->getConnection(); $lang = $this->lang; - $json = []; + /** * This is a callback function to display the result of each separate query. * * @param ADORecordSet $rs The recordset returned by the script execetor */ - $sqlCallback = static function ($query, $rs, $lineno) use ($data, $misc, $lang, $_connection, &$json): void { + $sqlCallback = static function ($query, $rs, $lineno) use ($data, $misc, $lang, $_connection ): void { // Check if $rs is false, if so then there was a fatal error if (false === $rs) { echo \htmlspecialchars($_FILES['script']['name']), ':', $lineno, ': ', \nl2br(\htmlspecialchars($_connection->getLastError())), '<br/>' . \PHP_EOL; @@ -389,7 +389,7 @@ class SqlController extends BaseController ]; } - $this->printNavLinks($navlinks, 'sql-form', \get_defined_vars()); +return $this->printNavLinks($navlinks, 'sql-form', \get_defined_vars()); return $this->printFooter($doBody, $template); } diff --git a/src/controllers/SqleditController.php b/src/controllers/SqleditController.php index b303fd54..7ae25626 100644 --- a/src/controllers/SqleditController.php +++ b/src/controllers/SqleditController.php @@ -79,7 +79,7 @@ class SqleditController extends BaseController $default_html .= '<form action="' . \containerInstance()->subFolder . '/sql" method="post" enctype="multipart/form-data" class="sqlform" id="sqlform" target="detail">'; $default_html .= \PHP_EOL; - $default_html .= $this->printConnection('sql', false); + $default_html .= $this->printConnection('sql'); $default_html .= \PHP_EOL; @@ -155,7 +155,7 @@ class SqleditController extends BaseController $default_html = $this->printTabs('popup', 'find', false); $default_html .= '<form action="database" method="post" target="detail">' . \PHP_EOL; - $default_html .= $this->printConnection('find', false); + $default_html .= $this->printConnection('find'); $default_html .= '<p><input class="focusme" name="term" id="term" value="' . \htmlspecialchars($_REQUEST['term']) . \sprintf( '" size="32" maxlength="%s" />', $data->_maxNameLen diff --git a/src/controllers/TablesController.php b/src/controllers/TablesController.php index ff1c69a7..16361705 100644 --- a/src/controllers/TablesController.php +++ b/src/controllers/TablesController.php @@ -212,7 +212,7 @@ class TablesController extends BaseController 'content' => $this->lang['strcreatetablelike'], ]; } - $this->printNavLinks($navlinks, 'tables-tables', \get_defined_vars()); +return $this->printNavLinks($navlinks, 'tables-tables', \get_defined_vars()); } public function displayJson() @@ -1013,7 +1013,7 @@ class TablesController extends BaseController } if (0 === \count($_POST['show'])) { - $this->doSelectRows(true, $this->lang['strselectneedscol']); + return $this->doSelectRows(true, $this->lang['strselectneedscol']); } else { // Generate query SQL $query = $data->getSelectSQL( diff --git a/src/controllers/TablespacesController.php b/src/controllers/TablespacesController.php index ed119cf4..935bf218 100644 --- a/src/controllers/TablespacesController.php +++ b/src/controllers/TablespacesController.php @@ -153,7 +153,7 @@ class TablespacesController extends BaseController echo $this->printTable($tablespaces, $columns, $actions, 'tablespaces-tablespaces', $this->lang['strnotablespaces']); } - $this->printNavLinks(['create' => [ +return $this->printNavLinks(['create' => [ 'attr' => [ 'href' => [ 'url' => 'tablespaces', diff --git a/src/controllers/TblpropertiesController.php b/src/controllers/TblpropertiesController.php index 3b288a98..126e8040 100644 --- a/src/controllers/TblpropertiesController.php +++ b/src/controllers/TblpropertiesController.php @@ -237,7 +237,7 @@ class TblpropertiesController extends BaseController 'content' => $this->lang['stralter'], ], ]; - $this->printNavLinks($navlinks, 'tblproperties-tblproperties', \get_defined_vars()); +return $this->printNavLinks($navlinks, 'tblproperties-tblproperties', \get_defined_vars()); } /** diff --git a/src/controllers/TreeController.php b/src/controllers/TreeController.php index e7159798..a9ea99c0 100644 --- a/src/controllers/TreeController.php +++ b/src/controllers/TreeController.php @@ -204,18 +204,6 @@ class TreeController extends BaseController } //ddd($parent); - if ($print) { - if (isset($_REQUEST['children'])) { - $children = $parent; - $parent = ['children' => $children]; - } - - return $this - ->container - ->response - ->withStatus(200) - ->withJson($parent); - } return $parent; } diff --git a/src/controllers/TriggersController.php b/src/controllers/TriggersController.php index 42a127d7..27dcee9a 100644 --- a/src/controllers/TriggersController.php +++ b/src/controllers/TriggersController.php @@ -219,7 +219,7 @@ class TriggersController extends BaseController echo $this->printTable($triggers, $columns, $actions, 'triggers-triggers', $this->lang['strnotriggers'], $tgPre); } - $this->printNavLinks(['create' => [ +return $this->printNavLinks(['create' => [ 'attr' => [ 'href' => [ 'url' => 'triggers', diff --git a/src/controllers/TypesController.php b/src/controllers/TypesController.php index ddcde2a3..cf475c19 100644 --- a/src/controllers/TypesController.php +++ b/src/controllers/TypesController.php @@ -208,7 +208,7 @@ class TypesController extends BaseController //if (!$data->hasEnumTypes()) { unset($navlinks['enum']); } - $this->printNavLinks($navlinks, 'types-types', \get_defined_vars()); +return $this->printNavLinks($navlinks, 'types-types', \get_defined_vars()); } /** @@ -350,7 +350,7 @@ class TypesController extends BaseController echo '</table>' . \PHP_EOL; } - $this->printNavLinks(['showall' => [ +return $this->printNavLinks(['showall' => [ 'attr' => [ 'href' => [ 'url' => 'types', diff --git a/src/controllers/UsersController.php b/src/controllers/UsersController.php index 51f9025e..71e162ef 100644 --- a/src/controllers/UsersController.php +++ b/src/controllers/UsersController.php @@ -176,7 +176,7 @@ class UsersController extends BaseController echo $this->printTable($users, $columns, $actions, 'users-users', $this->lang['strnousers']); } - $this->printNavLinks(['create' => [ +return $this->printNavLinks(['create' => [ 'attr' => [ 'href' => [ 'url' => 'users', @@ -240,7 +240,7 @@ class UsersController extends BaseController ) . \PHP_EOL; } - $this->printNavLinks(['changepassword' => [ +return $this->printNavLinks(['changepassword' => [ 'attr' => [ 'href' => [ 'url' => 'users', diff --git a/src/controllers/ViewsController.php b/src/controllers/ViewsController.php index 88b0c456..adc24a1b 100644 --- a/src/controllers/ViewsController.php +++ b/src/controllers/ViewsController.php @@ -243,7 +243,7 @@ class ViewsController extends BaseController 'content' => $this->lang['strcreateviewwiz'], ], ]; - $this->printNavLinks($navlinks, $this->table_place, \get_defined_vars()); +return $this->printNavLinks($navlinks, $this->table_place, \get_defined_vars()); } /** @@ -267,7 +267,7 @@ class ViewsController extends BaseController 'action' => Decorator::redirecturl('redirect', $reqvars, [$this->keystring => Decorator::field('relname')]), 'branch' => Decorator::url('views', $reqvars, ['action' => 'subtree', $this->keystring => Decorator::field('relname')]), ]; - + kdump($attrs); return $this->printTree($views, $attrs, 'views'); } diff --git a/src/database/ADOdbBase.php b/src/database/ADOdbBase.php index 06ccaa6a..a656fa7b 100644 --- a/src/database/ADOdbBase.php +++ b/src/database/ADOdbBase.php @@ -8,6 +8,7 @@ namespace PHPPgAdmin\Database; use ADODB_postgres9; use Exception; +use PHPPgAdmin\Connection; use PHPPgAdmin\ContainerUtils; use PHPPgAdmin\Database\Traits\DatabaseTrait; use PHPPgAdmin\Database\Traits\HasTrait; @@ -58,11 +59,11 @@ class ADOdbBase /** * Base constructor. * - * @param ADODB_postgres9 $conn The connection object + * @param Connection $conn The connection object * @param mixed $container * @param mixed $server_info */ - public function __construct(&$conn, $container, $server_info) + public function __construct(Connection $conn, $container, $server_info) { $this->container = $container; $this->server_info = $server_info; @@ -72,7 +73,8 @@ class ADOdbBase $this->prtrace('instanced connection class'); $this->lastExecutedSql = ''; - $this->conn = $conn; + $this->conn = $conn->conn; + $this->platform=$conn->platform; } /** @@ -692,7 +694,7 @@ class ADOdbBase public function getPlatform() { try { - return $this->conn->platform; + return $this->platform; } catch (Exception $e) { $this->prtrace($e->getMessage()); diff --git a/src/database/Postgres.php b/src/database/Postgres.php index c1ab62c3..f5057d03 100644 --- a/src/database/Postgres.php +++ b/src/database/Postgres.php @@ -6,6 +6,7 @@ namespace PHPPgAdmin\Database; +use PHPPgAdmin\Connection; use PHPPgAdmin\Database\Traits\AggregateTrait; use PHPPgAdmin\Database\Traits\DatabaseTrait; use PHPPgAdmin\Database\Traits\DomainTrait; @@ -74,10 +75,11 @@ class Postgres extends ADOdbBase protected $server_info; - public function __construct(&$conn, $container, $server_info) + public function __construct(Connection $connection, $container, $server_info) { //$this->prtrace('major_version :' . $this->major_version); - $this->conn = $conn; + $this->conn = $connection->conn; + $this->platform=$connection->platform; $this->container = $container; $this->lang = $container->get('lang'); diff --git a/src/database/Postgres96.php b/src/database/Postgres96.php index 566d687e..8f57ba20 100644 --- a/src/database/Postgres96.php +++ b/src/database/Postgres96.php @@ -79,7 +79,7 @@ class Postgres96 extends Postgres * @param string $username The username of the user to create * @param string $password A password for the user * @param bool $createdb boolean Whether or not the user can create databases - * @param bool $createrole boolean Whether or not the user can create other users + * @param bool $createuser boolean Whether or not the user can create other users * @param string $expiry string Format 'YYYY-MM-DD HH:MM:SS'. '' means never expire * @param array $groups The groups to create the user in * @@ -87,7 +87,7 @@ class Postgres96 extends Postgres * * @internal param $group (array) The groups to create the user in */ - public function createUser($username, $password, $createdb, $createrole, $expiry, $groups) + public function createUser($username, $password, $createdb, $createuser, $expiry, $groups) { $enc = $this->_encryptPassword($username, $password); $this->fieldClean($username); @@ -108,7 +108,7 @@ class Postgres96 extends Postgres } $sql .= $createdb ? ' CREATEDB' : ' NOCREATEDB'; - $sql .= $createrole ? ' CREATEROLE' : ' NOCREATEROLE'; + $sql .= $createuser ? ' CREATEROLE' : ' NOCREATEROLE'; if (\is_array($groups) && 0 < \count($groups)) { $sql .= ' IN GROUP "' . \implode('", "', $groups) . '"'; diff --git a/src/database/databasetraits/TableTrait.php b/src/database/databasetraits/TableTrait.php index fb4c7d42..6c6ca7df 100644 --- a/src/database/databasetraits/TableTrait.php +++ b/src/database/databasetraits/TableTrait.php @@ -904,7 +904,7 @@ trait TableTrait $status = $this->beginTransaction(); //dump(['beginTransaction' => $status]); - if (0 !== $status) { + if (0 !== $status || !($tblrs instanceof ADORecordSet)) { $this->rollbackTransaction(); return -1; diff --git a/src/database/databasetraits/ViewTrait.php b/src/database/databasetraits/ViewTrait.php index c22d1650..b532650c 100644 --- a/src/database/databasetraits/ViewTrait.php +++ b/src/database/databasetraits/ViewTrait.php @@ -145,7 +145,7 @@ trait ViewTrait $status = $this->beginTransaction(); - if (0 !== $status) { + if (0 !== $status || !($data instanceof ADORecordSet)) { $this->rollbackTransaction(); return -1; diff --git a/src/interfaces/RecordSet.php b/src/interfaces/RecordSet.php index 5139a72d..9310db75 100644 --- a/src/interfaces/RecordSet.php +++ b/src/interfaces/RecordSet.php @@ -7,8 +7,9 @@ namespace PHPPgAdmin\Interfaces; use ADOFieldObject; +use IteratorAggregate; -interface RecordSet +interface RecordSet extends IteratorAggregate { /** * Returns the recordCount. diff --git a/src/router.php b/src/router.php index 6cfa9318..e0dff244 100644 --- a/src/router.php +++ b/src/router.php @@ -200,7 +200,7 @@ $app->get('[/{path:.*}]', function ( \Slim\Http\Response $response, array $args ) { - return $response->write(\sprintf("We couldn't find a route matching %s", $args['path'] ?: 'index')); + return $this->response->write(\sprintf("We couldn't find a route matching %s", $args['path'] ?: 'index')); }); // Run app diff --git a/src/traits/AdminTrait.php b/src/traits/AdminTrait.php index d4f438be..32bc47f3 100644 --- a/src/traits/AdminTrait.php +++ b/src/traits/AdminTrait.php @@ -7,6 +7,7 @@ namespace PHPPgAdmin\Traits; use IteratorAggregate; +use PHPPgAdmin\ArrayRecordSet; use PHPPgAdmin\Decorators\Decorator; /** @@ -787,8 +788,9 @@ trait AdminTrait echo '</tr>' . \PHP_EOL; echo '</table>' . \PHP_EOL; - // Autovacuum + if($data) { $this->_printAutoVacuumConf($data, $type); + } } /** @@ -933,8 +935,9 @@ trait AdminTrait return [$recluster_help, $reclusterconf]; } - private function _printAutoVacuumConf($data, $type): void + private function _printAutoVacuumConf(\PHPPgAdmin\Database\Postgres $data, $type): void { + if (!$data->hasAutovacuum()) { return; } @@ -1053,15 +1056,15 @@ trait AdminTrait if ('table' === $type) { unset( - $actions['edit']['vars']['schema'], - $actions['delete']['vars']['schema'], + $actions['edit']['attr']['href']['urlvars']['schema'], //$actions['edit']['vars']['schema'], + $actions['delete']['attr']['href']['urlvars']['schema'], //$actions['delete']['vars']['schema'], $columns['namespace'], $columns['relname'] ); } - + if($autovac instanceof ArrayRecordSet) { echo $this->printTable($autovac, $columns, $actions, 'admin-admin', $this->lang['strnovacuumconf']); - + } if (('table' === $type) && (0 === $autovac->RecordCount())) { echo '<br />'; diff --git a/src/traits/ServersTrait.php b/src/traits/ServersTrait.php index ec5ecd75..24236039 100644 --- a/src/traits/ServersTrait.php +++ b/src/traits/ServersTrait.php @@ -96,11 +96,10 @@ trait ServersTrait * databases form the popups windows. * * @param string $the_action an action identifying the purpose of this snipper sql|find|history - * @param mixed $do_print * * @return null|string */ - public function printConnection($the_action, $do_print = true) + public function printConnection($the_action) { $connection_html = '<table class="printconnection" style="width: 100%"><tr><td class="popup_select1">' . \PHP_EOL; @@ -175,10 +174,8 @@ trait ServersTrait $connection_html .= '</td></tr></table>' . \PHP_EOL; - if ($do_print) { - echo $connection_html; - } else { + return $connection_html; - } + } } diff --git a/src/traits/ViewsMatviewsTrait.php b/src/traits/ViewsMatviewsTrait.php index f8f12cad..4619c909 100644 --- a/src/traits/ViewsMatviewsTrait.php +++ b/src/traits/ViewsMatviewsTrait.php @@ -25,6 +25,7 @@ trait ViewsMatviewsTrait $items = $this->adjustTabsForTree($tabs); $reqvars = $this->misc->getRequestVars($this->keystring); + $attrs = [ 'text' => Decorator::field('title'), 'icon' => Decorator::field('icon'), @@ -34,7 +35,6 @@ trait ViewsMatviewsTrait '', Decorator::url( Decorator::field('url'), - Decorator::field('urlvars'), $reqvars, [ 'action' => 'tree', diff --git a/src/xhtml/HTMLController.php b/src/xhtml/HTMLController.php index 2e08a8d1..e4743271 100644 --- a/src/xhtml/HTMLController.php +++ b/src/xhtml/HTMLController.php @@ -118,6 +118,7 @@ class HTMLController if ($do_print) { echo $tag; + return ''; } else { return $tag; } @@ -250,39 +251,5 @@ class HTMLController return $url; } - /** - * Display a list of links. - * - * @param array $links An associative array of links to print. See printLink function for - * the links array format. - * @param string $class an optional HTML class or list of classes seprated by a space - * WARNING: This field is NOT escaped! No user should be able to inject something here, use with care - * @param bool $do_print true to echo, false to return - * @param null|string $from which method is calling this one - * - * @return null|string - */ - protected function printLinksList($links, $class = '', $do_print = true, $from = null) - { - if (null === $from || false === $from) { - $from = __METHOD__; - } - $list_html = "<ul class=\"{$class}\">" . \PHP_EOL; - - foreach ($links as $link) { - if ('PHPPgAdmin\Controller\BaseController::printNavLinks' === $from) { - } - - $list_html .= "\t<li>"; - $list_html .= \str_replace('.php', '', $this->printLink($link, false, $from)); - $list_html .= '</li>' . \PHP_EOL; - } - $list_html .= '</ul>' . \PHP_EOL; - - if ($do_print) { - echo $list_html; - } else { - return $list_html; - } - } + } diff --git a/src/xhtml/HTMLFooterController.php b/src/xhtml/HTMLFooterController.php index 7abdc493..f888257c 100644 --- a/src/xhtml/HTMLFooterController.php +++ b/src/xhtml/HTMLFooterController.php @@ -76,9 +76,10 @@ class HTMLFooterController extends HTMLController if ($doBody) { echo $footer_html; - } else { + return ''; + } return $footer_html; - } + } /** @@ -119,12 +120,11 @@ class HTMLFooterController extends HTMLController * @param array $env - Associative array of defined variables in the scope of the caller. * Allows to give some environnement details to plugins. * and 'browse' is the place inside that code (doBrowse). - * @param bool $do_print if true, print html, if false, return html - * @param mixed $from can either be null, false or the method calling this one + * @param mixed $from can either be null, false or the method calling this one * * @return null|string */ - public function printNavLinks($navlinks, $place, $env, $do_print, $from) + public function printNavLinks($navlinks, $place, $env, $from) { if (null === $from || false === $from) { $from = __METHOD__; @@ -138,11 +138,42 @@ class HTMLFooterController extends HTMLController ]; if (0 < \count($navlinks)) { - if ($do_print) { - $this->printLinksList($navlinks, 'navlink', true, $from); - } else { - return $this->printLinksList($navlinks, 'navlink', false, $from); + + return $this->printLinksList($navlinks, 'navlink', $from); + + } + return ''; + } + /** + * Display a list of links. + * + * @param array $links An associative array of links to print. See printLink function for + * the links array format. + * @param string $class an optional HTML class or list of classes seprated by a space + * WARNING: This field is NOT escaped! No user should be able to inject something here, use with care + * @param null|string $from which method is calling this one + * + * @return null|string + */ + protected function printLinksList($links, $class = '', $from = null) + { + if (null === $from || false === $from) { + $from = __METHOD__; + } + $list_html = "<ul class=\"{$class}\">" . \PHP_EOL; + + foreach ($links as $link) { + if ('PHPPgAdmin\Controller\BaseController::printNavLinks' === $from) { } + + $list_html .= "\t<li>"; + $list_html .= \str_replace('.php', '', $this->printLink($link, false, $from)); + $list_html .= '</li>' . \PHP_EOL; } + $list_html .= '</ul>' . \PHP_EOL; + + + return $list_html; + } } diff --git a/src/xhtml/HTMLNavbarController.php b/src/xhtml/HTMLNavbarController.php index e355945a..b5d00455 100644 --- a/src/xhtml/HTMLNavbarController.php +++ b/src/xhtml/HTMLNavbarController.php @@ -26,7 +26,7 @@ class HTMLNavbarController extends HTMLController { $from = $from ?: __METHOD__; - $trail_html = $this->printTopbar(false, $from); + $trail_html = $this->printTopbar( $from); if (\is_string($trail)) { $subject = $trail; @@ -51,11 +51,7 @@ class HTMLNavbarController extends HTMLController $trail_html .= $containerInstance->view->fetch('components/trail.twig', $viewVars); - if ($do_print) { - echo $trail_html; - - return ''; - } + return $trail_html; } @@ -142,11 +138,9 @@ class HTMLNavbarController extends HTMLController $tabs_html = $this->getContainer()->view->fetch('components/tabs.twig', $viewVars); } - if ($do_print) { - echo $tabs_html; - } else { + return $tabs_html; - } + } /** @@ -220,12 +214,11 @@ class HTMLNavbarController extends HTMLController /** * [printTopbar description]. * - * @param bool $do_print true to print, false to return html - * @param null|mixed $from which method is calling this one + * @param null|mixed $from which method is calling this one * * @return string */ - private function printTopbar($do_print = true, $from = null): ?string + private function printTopbar( $from = null): ?string { $from = $from ?: __METHOD__; @@ -351,11 +344,7 @@ class HTMLNavbarController extends HTMLController $topbar_html .= '</div></div>' . \PHP_EOL; - if ($do_print) { - echo $topbar_html; - - return ''; - } + return $topbar_html; } diff --git a/src/xhtml/HTMLTableController.php b/src/xhtml/HTMLTableController.php index e4ce2194..93ca1f08 100644 --- a/src/xhtml/HTMLTableController.php +++ b/src/xhtml/HTMLTableController.php @@ -356,7 +356,7 @@ class HTMLTableController extends HTMLController if (isset($column['url'])) { $column['url'] = \str_replace(\sprintf('%s%s', $this->container->subFolder, $this->container->subFolder), $this->container->subFolder . '/', $column['url'] ?? ''); $parsedurl = \parse_url($column['url']); - $parsedVars = \implode('&', [$parsedurl['query'] ?? null, $this->printUrlVars($column['vars'], $tabledata->fields, false)]); + $parsedVars = \implode('&', [$parsedurl['query'] ?? null, $this->printUrlVars($column['vars'], $tabledata->fields)]); $column['url'] = $parsedurl['path'] ?? '/'; $tbody_html .= "<a href=\"{$column['url']}?"; $tbody_html .= $parsedVars; @@ -401,7 +401,7 @@ class HTMLTableController extends HTMLController * * @return null|string */ - private function printUrlVars(&$vars, &$fields, bool $do_print = true) + private function printUrlVars(&$vars, &$fields ) { $url_vars_html = ''; @@ -409,10 +409,8 @@ class HTMLTableController extends HTMLController $url_vars_html .= "{$var}=" . \urlencode($fields[$varfield]) . '&'; } - if ($do_print) { - echo $url_vars_html; - } else { + return $url_vars_html; - } + } } |