diff options
author | ffflabs <amenadiel@gmail.com> | 2020-03-05 15:14:33 +0300 |
---|---|---|
committer | ffflabs <amenadiel@gmail.com> | 2020-03-05 15:14:33 +0300 |
commit | d01b97ad571ecb4ab70f0741f5d2e554b16b9d34 (patch) | |
tree | 52be9a720289154bb0be17cd754a4dd2d25a49d4 | |
parent | f8cdda8a794ef7f101ee8f55db85d05cde6989f3 (diff) |
fixing broken constants
28 files changed, 728 insertions, 1548 deletions
diff --git a/psalm-baseline.xml b/psalm-baseline.xml deleted file mode 100644 index d4f11396..00000000 --- a/psalm-baseline.xml +++ /dev/null @@ -1,827 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<files psalm-version="3.9.3@2e4154d76e24d1b4e59e6cc2bebef7790cb9e550"> - <file src="src/classes/ADONewConnection.php"> - <UndefinedClass occurrences="1"> - <code>\ADONewConnection</code> - </UndefinedClass> - </file> - <file src="src/classes/ADOdbException.php"> - <UndefinedDocblockClass occurrences="2"> - <code>number</code> - <code>number</code> - </UndefinedDocblockClass> - </file> - <file src="src/classes/ContainerUtils.php"> - <UndefinedClass occurrences="1"> - <code>\Slim\ContainerInterface</code> - </UndefinedClass> - <UndefinedInterfaceMethod occurrences="7"> - <code>$container</code> - <code>$container</code> - <code>$container</code> - <code>$container</code> - <code>$container</code> - <code>$container</code> - <code>$container</code> - </UndefinedInterfaceMethod> - </file> - <file src="src/classes/Misc.php"> - <InvalidNullableReturnType occurrences="1"> - <code>string</code> - </InvalidNullableReturnType> - <NullableReturnStatement occurrences="3"> - <code>$this->_server_info</code> - <code>$this->halt($this->lang['strinvalidserverparam'])</code> - <code>$this->halt($lang['strcannotdumponwindows'])</code> - </NullableReturnStatement> - <UndefinedMethod occurrences="1"> - <code>setSchema</code> - </UndefinedMethod> - </file> - <file src="src/controllers/AggregatesController.php"> - <NullReference occurrences="1"> - <code>$_REQUEST</code> - </NullReference> - </file> - <file src="src/controllers/AlldbController.php"> - <NullReference occurrences="3"> - <code>$_POST</code> - <code>$_POST</code> - <code>$_POST</code> - </NullReference> - </file> - <file src="src/controllers/BaseController.php"> - <UndefinedConstant occurrences="1"> - <code>BASE_PATH</code> - </UndefinedConstant> - <UndefinedThisPropertyAssignment occurrences="1"> - <code>$this->postgresqlMinVer</code> - </UndefinedThisPropertyAssignment> - </file> - <file src="src/controllers/ColpropertiesController.php"> - <NullArgument occurrences="1"> - <code>null</code> - </NullArgument> - <NullReference occurrences="1"> - <code>$_REQUEST</code> - </NullReference> - </file> - <file src="src/controllers/ConstraintsController.php"> - <NullReference occurrences="5"> - <code>$_POST</code> - <code>$_POST</code> - <code>$_POST</code> - <code>$_POST</code> - <code>$_POST</code> - </NullReference> - <UndefinedMethod occurrences="1"> - <code>doTree</code> - </UndefinedMethod> - </file> - <file src="src/controllers/DatabaseController.php"> - <NullReference occurrences="1"> - <code>$_REQUEST</code> - </NullReference> - </file> - <file src="src/controllers/DataexportController.php"> - <InvalidArgument occurrences="16"> - <code>"REQUEST['what']"</code> - <code>'DUMP ENABLED, d_format is'</code> - <code>$_REQUEST['d_format']</code> - <code>'d_format is'</code> - <code>'d_oids is'</code> - <code>isset($_REQUEST['d_oids'])</code> - <code>'$_REQUEST[query]'</code> - <code>\htmlspecialchars(\urlencode($_REQUEST['query']))</code> - <code>'$_SESSION[sqlquery]'</code> - <code>\htmlspecialchars(\urlencode($_SESSION['sqlquery']))</code> - <code>"REQUEST['what']"</code> - <code>'subject'</code> - <code>'object'</code> - <code>'tabledefprefix'</code> - <code>'tabledefsuffix'</code> - <code>'$_REQUEST[query]'</code> - </InvalidArgument> - </file> - <file src="src/controllers/DbexportController.php"> - <EmptyArrayAccess occurrences="1"> - <code>$version[1]</code> - </EmptyArrayAccess> - <InvalidArgument occurrences="8"> - <code>'REQUEST[subject]'</code> - <code>'$exe'</code> - <code>'version'</code> - <code>'REQUEST[output]'</code> - <code>'f_object'</code> - <code>'ENV VARS'</code> - <code>'cmd'</code> - <code>$cmd</code> - </InvalidArgument> - </file> - <file src="src/controllers/DisplayController.php"> - <EmptyArrayAccess occurrences="1"> - <code>$urlvars['search_path']</code> - </EmptyArrayAccess> - <InvalidArgument occurrences="1"> - <code>$resultset->recordCount()</code> - </InvalidArgument> - <InvalidArrayOffset occurrences="9"> - <code>$_gets['schema']</code> - <code>$_gets['subject']</code> - <code>$_gets['query']</code> - <code>$_gets['count']</code> - <code>$_gets['return']</code> - <code>$_gets['search_path']</code> - <code>$_gets['table']</code> - <code>$_gets['nohistory']</code> - <code>$fields['schema']</code> - </InvalidArrayOffset> - <InvalidNullableReturnType occurrences="1"> - <code>string</code> - </InvalidNullableReturnType> - <NullReference occurrences="5"> - <code>$_REQUEST</code> - <code>$_REQUEST</code> - <code>$_REQUEST</code> - <code>$_REQUEST</code> - <code>$_POST</code> - </NullReference> - <UndefinedDocblockClass occurrences="7"> - <code>$resultset->recordCount()</code> - <code>$resultset->recordCount()</code> - <code>$resultset->fetchField($index)</code> - <code>$finfo->name</code> - <code>$finfo->name</code> - <code>$resultset->fetchField($j++)</code> - <code>$finfo->type</code> - </UndefinedDocblockClass> - </file> - <file src="src/controllers/DomainsController.php"> - <NullReference occurrences="3"> - <code>$_POST</code> - <code>$_POST</code> - <code>$_POST</code> - </NullReference> - </file> - <file src="src/controllers/FulltextController.php"> - <NullReference occurrences="6"> - <code>$_POST</code> - <code>$_POST</code> - <code>$_POST</code> - <code>$_POST</code> - <code>$_POST</code> - <code>$_POST</code> - </NullReference> - </file> - <file src="src/controllers/FunctionsController.php"> - <InvalidNullableReturnType occurrences="1"> - <code>string</code> - </InvalidNullableReturnType> - <NullableReturnStatement occurrences="2"> - <code>$this->_printNavLinks('functions-properties', $func_full)</code> - <code>$this->_printNavLinks('functions-properties', $func_full)</code> - </NullableReturnStatement> - <TooFewArguments occurrences="1"> - <code>showDefinition</code> - </TooFewArguments> - <UndefinedVariable occurrences="1"> - <code>$f</code> - </UndefinedVariable> - </file> - <file src="src/controllers/GroupsController.php"> - <NullReference occurrences="3"> - <code>$_POST</code> - <code>$_POST</code> - <code>$_POST</code> - </NullReference> - </file> - <file src="src/controllers/IndexesController.php"> - <NullReference occurrences="4"> - <code>$_REQUEST</code> - <code>$_REQUEST</code> - <code>$_REQUEST</code> - <code>$_POST</code> - </NullReference> - </file> - <file src="src/controllers/InfoController.php"> - <InvalidReturnType occurrences="1"> - <code>string|void</code> - </InvalidReturnType> - <UndefinedThisPropertyAssignment occurrences="1"> - <code>$this->shownull</code> - </UndefinedThisPropertyAssignment> - <UndefinedThisPropertyFetch occurrences="4"> - <code>$this->shownull</code> - <code>$this->shownull</code> - <code>$this->shownull</code> - <code>$this->shownull</code> - </UndefinedThisPropertyFetch> - </file> - <file src="src/controllers/LoginController.php"> - <InvalidArgument occurrences="1"> - <code>'invalid server param'</code> - </InvalidArgument> - </file> - <file src="src/controllers/MaterializedviewpropertiesController.php"> - <InvalidArgument occurrences="1"> - <code>$sql</code> - </InvalidArgument> - <NullReference occurrences="2"> - <code>$_REQUEST</code> - <code>$_POST</code> - </NullReference> - </file> - <file src="src/controllers/MaterializedviewsController.php"> - <NullReference occurrences="2"> - <code>$_REQUEST</code> - <code>$_REQUEST</code> - </NullReference> - </file> - <file src="src/controllers/PrivilegesController.php"> - <NullReference occurrences="2"> - <code>$_REQUEST</code> - <code>$_REQUEST</code> - </NullReference> - </file> - <file src="src/controllers/RolesController.php"> - <NullReference occurrences="4"> - <code>$_POST</code> - <code>$_POST</code> - <code>$_POST</code> - <code>$_POST</code> - </NullReference> - </file> - <file src="src/controllers/RulesController.php"> - <NullReference occurrences="1"> - <code>$_POST</code> - </NullReference> - </file> - <file src="src/controllers/SchemasController.php"> - <NullReference occurrences="2"> - <code>$_POST</code> - <code>$_POST</code> - </NullReference> - </file> - <file src="src/controllers/SequencesController.php"> - <NullReference occurrences="3"> - <code>$_POST</code> - <code>$_POST</code> - <code>$_POST</code> - </NullReference> - </file> - <file src="src/controllers/SqleditController.php"> - <NullReference occurrences="2"> - <code>$_REQUEST</code> - <code>$_REQUEST</code> - </NullReference> - </file> - <file src="src/controllers/TablesController.php"> - <NullReference occurrences="3"> - <code>$_REQUEST</code> - <code>$_POST</code> - <code>$_POST</code> - </NullReference> - <UndefinedDocblockClass occurrences="1"> - <code>$tables->recordCount()</code> - </UndefinedDocblockClass> - </file> - <file src="src/controllers/TablespacesController.php"> - <NullReference occurrences="2"> - <code>$_POST</code> - <code>$_POST</code> - </NullReference> - </file> - <file src="src/controllers/TblpropertiesController.php"> - <InvalidArgument occurrences="1"> - <code>'$hasID'</code> - </InvalidArgument> - <NullReference occurrences="4"> - <code>$_POST</code> - <code>$_POST</code> - <code>$_REQUEST</code> - <code>$_POST</code> - </NullReference> - </file> - <file src="src/controllers/TreeController.php"> - <InvalidReturnStatement occurrences="1"> - <code>$parent</code> - </InvalidReturnStatement> - <UndefinedConstant occurrences="5"> - <code>\SUBFOLDER</code> - <code>\SUBFOLDER</code> - <code>\SUBFOLDER</code> - <code>\SUBFOLDER</code> - <code>BASE_PATH</code> - </UndefinedConstant> - </file> - <file src="src/controllers/TriggersController.php"> - <NullReference occurrences="1"> - <code>$_POST</code> - </NullReference> - </file> - <file src="src/controllers/TypesController.php"> - <InvalidArrayOffset occurrences="1"> - <code>$navlinks['enum']</code> - </InvalidArrayOffset> - <NullReference occurrences="3"> - <code>$_REQUEST</code> - <code>$_REQUEST</code> - <code>$_POST</code> - </NullReference> - </file> - <file src="src/controllers/UsersController.php"> - <NullReference occurrences="2"> - <code>$_POST</code> - <code>$_POST</code> - </NullReference> - </file> - <file src="src/controllers/ViewpropertiesController.php"> - <NullReference occurrences="2"> - <code>$_REQUEST</code> - <code>$_POST</code> - </NullReference> - </file> - <file src="src/controllers/ViewsController.php"> - <NullReference occurrences="2"> - <code>$_REQUEST</code> - <code>$_REQUEST</code> - </NullReference> - </file> - <file src="src/database/ADOdbBase.php"> - <InvalidArgument occurrences="1"> - <code>$e->getMessage()</code> - </InvalidArgument> - <InvalidReturnStatement occurrences="2"> - <code>$e->getCode()</code> - <code>$e->getCode()</code> - </InvalidReturnStatement> - <MissingDependency occurrences="1"> - <code>\PHPPgAdmin\ADONewConnection</code> - </MissingDependency> - </file> - <file src="src/database/Connection.php"> - <InvalidReturnStatement occurrences="1"> - <code>-3</code> - </InvalidReturnStatement> - <NullableReturnStatement occurrences="1"> - <code>null</code> - </NullableReturnStatement> - <UndefinedDocblockClass occurrences="1"> - <code>$this->conn</code> - </UndefinedDocblockClass> - </file> - <file src="src/database/Postgres.php"> - <InvalidArgument occurrences="12"> - <code>'bslash_count'</code> - <code>$bslash_count</code> - <code>$line</code> - <code>'dol_quote'</code> - <code>$dol_quote</code> - <code>$line</code> - <code>'open_xcomment'</code> - <code>$in_xcomment</code> - <code>$line</code> - <code>$i</code> - <code>$prevlen</code> - <code>$thislen</code> - </InvalidArgument> - <LoopInvalidation occurrences="1"> - <code>$i</code> - </LoopInvalidation> - <ReferenceConstraintViolation occurrences="4"> - <code>return -3;</code> - <code>return -1;</code> - <code>return $rs;</code> - <code>$max_pages</code> - </ReferenceConstraintViolation> - <UndefinedDocblockClass occurrences="1"> - <code>$rs->recordCount()</code> - </UndefinedDocblockClass> - </file> - <file src="src/database/Postgres12.php"> - <InvalidNullableReturnType occurrences="1"> - <code>false</code> - </InvalidNullableReturnType> - <NullableReturnStatement occurrences="1"> - <code>null</code> - </NullableReturnStatement> - </file> - <file src="src/database/Postgres74.php"> - <MoreSpecificImplementedParamType occurrences="1"> - <code>$default</code> - </MoreSpecificImplementedParamType> - </file> - <file src="src/database/Postgres80.php"> - <MoreSpecificImplementedParamType occurrences="1"> - <code>$cycledvalue</code> - </MoreSpecificImplementedParamType> - <NullArgument occurrences="1"> - <code>null</code> - </NullArgument> - </file> - <file src="src/database/Postgres81.php"> - <InvalidArgument occurrences="1"> - <code>$toid</code> - </InvalidArgument> - <InvalidCast occurrences="2"> - <code>$toid</code> - <code>$toid</code> - </InvalidCast> - <UndefinedDocblockClass occurrences="2"> - <code>$rs->fields('oid')</code> - <code>$rs->recordCount()</code> - </UndefinedDocblockClass> - </file> - <file src="src/database/Postgres82.php"> - <ConflictingReferenceConstraint occurrences="1"> - <code>else {</code> - </ConflictingReferenceConstraint> - <LessSpecificImplementedReturnType occurrences="1"> - <code>array</code> - </LessSpecificImplementedReturnType> - <MoreSpecificImplementedParamType occurrences="1"> - <code>$operator_oid</code> - </MoreSpecificImplementedParamType> - <NullArgument occurrences="1"> - <code>null</code> - </NullArgument> - </file> - <file src="src/database/Postgres83.php"> - <InvalidArgument occurrences="1"> - <code>$toid</code> - </InvalidArgument> - <InvalidCast occurrences="2"> - <code>$toid</code> - <code>$toid</code> - </InvalidCast> - <MoreSpecificImplementedParamType occurrences="1"> - <code>$cycledvalue</code> - </MoreSpecificImplementedParamType> - <UndefinedDocblockClass occurrences="2"> - <code>$rs->fields('oid')</code> - <code>$rs->recordCount()</code> - </UndefinedDocblockClass> - </file> - <file src="src/database/databasetraits/FtsTrait.php"> - <InvalidArrayOffset occurrences="12"> - <code>$parser['schema']</code> - <code>$parser['parser']</code> - <code>$parser['schema']</code> - <code>$parser['parser']</code> - <code>$template['schema']</code> - <code>$template['name']</code> - <code>$template['schema']</code> - <code>$template['name']</code> - <code>$template['schema']</code> - <code>$template['name']</code> - <code>$template['schema']</code> - <code>$template['name']</code> - </InvalidArrayOffset> - </file> - <file src="src/database/databasetraits/FunctionTrait.php"> - <ConflictingReferenceConstraint occurrences="1"> - <code>else {</code> - </ConflictingReferenceConstraint> - <InvalidReturnType occurrences="1"> - <code>\PHPPgAdmin\ADORecordSet</code> - </InvalidReturnType> - <NullArgument occurrences="1"> - <code>null</code> - </NullArgument> - </file> - <file src="src/database/databasetraits/IndexTrait.php"> - <UndefinedDocblockClass occurrences="1"> - <code>$v->recordCount()</code> - </UndefinedDocblockClass> - </file> - <file src="src/database/databasetraits/RoleTrait.php"> - <UndefinedDocblockClass occurrences="3"> - <code>number</code> - <code>number</code> - <code>number</code> - </UndefinedDocblockClass> - </file> - <file src="src/database/databasetraits/RowTrait.php"> - <UndefinedDocblockClass occurrences="1"> - <code>$rs->recordCount()</code> - </UndefinedDocblockClass> - </file> - <file src="src/database/databasetraits/SchemaTrait.php"> - <InvalidReturnType occurrences="1"> - <code>int</code> - </InvalidReturnType> - </file> - <file src="src/database/databasetraits/SequenceTrait.php"> - <InvalidArgument occurrences="6"> - <code>$increment</code> - <code>$minvalue</code> - <code>$maxvalue</code> - <code>$restartvalue</code> - <code>$cachevalue</code> - <code>$startvalue</code> - </InvalidArgument> - <UndefinedDocblockClass occurrences="18"> - <code>number</code> - <code>$seq->recordCount()</code> - <code>number</code> - <code>number</code> - <code>number</code> - <code>number</code> - <code>number</code> - <code>number</code> - <code>number</code> - <code>number</code> - <code>number</code> - <code>number</code> - <code>number</code> - <code>number</code> - <code>number</code> - <code>number</code> - <code>number</code> - <code>number</code> - </UndefinedDocblockClass> - </file> - <file src="src/database/databasetraits/TableTrait.php"> - <InvalidArgument occurrences="1"> - <code>$privs</code> - </InvalidArgument> - <InvalidReturnType occurrences="1"> - <code>\PHPPgAdmin\ADORecordSet</code> - </InvalidReturnType> - <UndefinedDocblockClass occurrences="8"> - <code>$t->recordCount()</code> - <code>$atts->recordCount()</code> - <code>$cons->recordCount()</code> - <code>$rs->recordCount()</code> - <code>$indexes->recordCount()</code> - <code>$triggers->recordCount()</code> - <code>$rules->recordCount()</code> - <code>$data->recordCount()</code> - </UndefinedDocblockClass> - </file> - <file src="src/database/databasetraits/TriggerTrait.php"> - <InvalidReturnType occurrences="1"> - <code>int</code> - </InvalidReturnType> - </file> - <file src="src/database/databasetraits/ViewTrait.php"> - <UndefinedDocblockClass occurrences="1"> - <code>$data->recordCount()</code> - </UndefinedDocblockClass> - </file> - <file src="src/decorators/ActionUrlDecorator.php"> - <UndefinedConstant occurrences="1"> - <code>\SUBFOLDER</code> - </UndefinedConstant> - <UndefinedThisPropertyAssignment occurrences="4"> - <code>$this->base</code> - <code>$this->queryVars</code> - <code>$this->base</code> - <code>$this->queryVars</code> - </UndefinedThisPropertyAssignment> - <UndefinedThisPropertyFetch occurrences="1"> - <code>$this->base</code> - </UndefinedThisPropertyFetch> - </file> - <file src="src/decorators/ArrayMergeDecorator.php"> - <UndefinedThisPropertyAssignment occurrences="1"> - <code>$this->m</code> - </UndefinedThisPropertyAssignment> - <UndefinedThisPropertyFetch occurrences="1"> - <code>$this->m</code> - </UndefinedThisPropertyFetch> - </file> - <file src="src/decorators/BranchUrlDecorator.php"> - <UndefinedConstant occurrences="3"> - <code>\SUBFOLDER</code> - <code>\SUBFOLDER</code> - <code>\SUBFOLDER</code> - </UndefinedConstant> - <UndefinedThisPropertyAssignment occurrences="4"> - <code>$this->base</code> - <code>$this->queryVars</code> - <code>$this->base</code> - <code>$this->queryVars</code> - </UndefinedThisPropertyAssignment> - <UndefinedThisPropertyFetch occurrences="1"> - <code>$this->base</code> - </UndefinedThisPropertyFetch> - </file> - <file src="src/decorators/CallbackDecorator.php"> - <UndefinedThisPropertyAssignment occurrences="2"> - <code>$this->fn</code> - <code>$this->p</code> - </UndefinedThisPropertyAssignment> - <UndefinedThisPropertyFetch occurrences="2"> - <code>$this->fn</code> - <code>$this->p</code> - </UndefinedThisPropertyFetch> - </file> - <file src="src/decorators/ConcatDecorator.php"> - <UndefinedThisPropertyAssignment occurrences="1"> - <code>$this->c</code> - </UndefinedThisPropertyAssignment> - <UndefinedThisPropertyFetch occurrences="1"> - <code>$this->c</code> - </UndefinedThisPropertyFetch> - </file> - <file src="src/decorators/Decorator.php"> - <UndefinedThisPropertyAssignment occurrences="1"> - <code>$this->val</code> - </UndefinedThisPropertyAssignment> - <UndefinedThisPropertyFetch occurrences="1"> - <code>$this->val</code> - </UndefinedThisPropertyFetch> - </file> - <file src="src/decorators/FieldDecorator.php"> - <UndefinedThisPropertyAssignment occurrences="2"> - <code>$this->f</code> - <code>$this->d</code> - </UndefinedThisPropertyAssignment> - <UndefinedThisPropertyFetch occurrences="2"> - <code>$this->f</code> - <code>$this->d</code> - </UndefinedThisPropertyFetch> - </file> - <file src="src/decorators/IfEmptyDecorator.php"> - <UndefinedThisPropertyAssignment occurrences="6"> - <code>$this->val</code> - <code>$this->empty</code> - <code>$this->full</code> - <code>$this->val</code> - <code>$this->empty</code> - <code>$this->full</code> - </UndefinedThisPropertyAssignment> - <UndefinedThisPropertyFetch occurrences="2"> - <code>$this->val</code> - <code>$this->empty</code> - </UndefinedThisPropertyFetch> - </file> - <file src="src/decorators/RedirectUrlDecorator.php"> - <UndefinedConstant occurrences="3"> - <code>\SUBFOLDER</code> - <code>\SUBFOLDER</code> - <code>\SUBFOLDER</code> - </UndefinedConstant> - <UndefinedThisPropertyAssignment occurrences="4"> - <code>$this->base</code> - <code>$this->queryVars</code> - <code>$this->base</code> - <code>$this->queryVars</code> - </UndefinedThisPropertyAssignment> - <UndefinedThisPropertyFetch occurrences="1"> - <code>$this->base</code> - </UndefinedThisPropertyFetch> - </file> - <file src="src/decorators/ReplaceDecorator.php"> - <UndefinedThisPropertyAssignment occurrences="2"> - <code>$this->s</code> - <code>$this->p</code> - </UndefinedThisPropertyAssignment> - <UndefinedThisPropertyFetch occurrences="2"> - <code>$this->s</code> - <code>$this->p</code> - </UndefinedThisPropertyFetch> - </file> - <file src="src/decorators/UrlDecorator.php"> - <UndefinedConstant occurrences="3"> - <code>\SUBFOLDER</code> - <code>\SUBFOLDER</code> - <code>\SUBFOLDER</code> - </UndefinedConstant> - <UndefinedThisPropertyAssignment occurrences="4"> - <code>$this->base</code> - <code>$this->queryVars</code> - <code>$this->base</code> - <code>$this->queryVars</code> - </UndefinedThisPropertyAssignment> - <UndefinedThisPropertyFetch occurrences="1"> - <code>$this->base</code> - </UndefinedThisPropertyFetch> - </file> - <file src="src/lib.inc.php"> - <EmptyArrayAccess occurrences="2"> - <code>$conf['debugmode']</code> - <code>$conf['register_debuggers']</code> - </EmptyArrayAccess> - </file> - <file src="src/middleware/PopulateRequestResponse.php"> - <UndefinedConstant occurrences="2"> - <code>SUBFOLDER</code> - <code>SUBFOLDER</code> - </UndefinedConstant> - <UndefinedInterfaceMethod occurrences="4"> - <code>getParam</code> - <code>getParam</code> - <code>getParam</code> - <code>getParams</code> - </UndefinedInterfaceMethod> - </file> - <file src="src/router.php"> - <InvalidScope occurrences="6"> - <code>$this</code> - <code>$this</code> - <code>$this</code> - <code>$this</code> - <code>$this</code> - <code>$this</code> - </InvalidScope> - </file> - <file src="src/traits/AdminTrait.php"> - <InvalidArrayOffset occurrences="2"> - <code>$actions['edit']['vars']</code> - <code>$actions['delete']['vars']</code> - </InvalidArrayOffset> - <ParadoxicalCondition occurrences="1"> - <code>empty($_REQUEST['table'])</code> - </ParadoxicalCondition> - <UndefinedConstant occurrences="16"> - <code>\SUBFOLDER</code> - <code>\SUBFOLDER</code> - <code>\SUBFOLDER</code> - <code>\SUBFOLDER</code> - <code>\SUBFOLDER</code> - <code>\SUBFOLDER</code> - <code>\SUBFOLDER</code> - <code>\SUBFOLDER</code> - <code>\SUBFOLDER</code> - <code>\SUBFOLDER</code> - <code>\SUBFOLDER</code> - <code>\SUBFOLDER</code> - <code>\SUBFOLDER</code> - <code>\SUBFOLDER</code> - <code>\SUBFOLDER</code> - <code>\SUBFOLDER</code> - </UndefinedConstant> - <UndefinedDocblockClass occurrences="1"> - <code>$autovac->recordCount()</code> - </UndefinedDocblockClass> - </file> - <file src="src/traits/ExportTrait.php"> - <UndefinedConstant occurrences="1"> - <code>\SUBFOLDER</code> - </UndefinedConstant> - </file> - <file src="src/traits/HelperTrait.php"> - <UndefinedConstant occurrences="1"> - <code>BASE_PATH</code> - </UndefinedConstant> - <UndefinedDocblockClass occurrences="1"> - <code>$set->recordCount()</code> - </UndefinedDocblockClass> - <UndefinedThisPropertyFetch occurrences="3"> - <code>$this->container</code> - <code>$this->container</code> - <code>$this->container</code> - </UndefinedThisPropertyFetch> - </file> - <file src="src/traits/InsertEditRowTrait.php"> - <UndefinedConstant occurrences="2"> - <code>SUBFOLDER</code> - <code>SUBFOLDER</code> - </UndefinedConstant> - </file> - <file src="src/traits/MiscTrait.php"> - <UndefinedConstant occurrences="5"> - <code>SUBFOLDER</code> - <code>SUBFOLDER</code> - <code>SUBFOLDER</code> - <code>\SUBFOLDER</code> - <code>\SUBFOLDER</code> - </UndefinedConstant> - <UndefinedMethod occurrences="1"> - <code>isSuperUser</code> - </UndefinedMethod> - </file> - <file src="src/traits/ViewsMatviewsTrait.php"> - <EmptyArrayAccess occurrences="1"> - <code>$formLink[$i]</code> - </EmptyArrayAccess> - <NullReference occurrences="1"> - <code>$_POST</code> - </NullReference> - <UndefinedConstant occurrences="3"> - <code>\SUBFOLDER</code> - <code>\SUBFOLDER</code> - <code>\SUBFOLDER</code> - </UndefinedConstant> - </file> - <file src="src/xhtml/HTMLNavbarController.php"> - <InvalidArgument occurrences="1"> - <code>$alltabs</code> - </InvalidArgument> - <InvalidReturnType occurrences="1"> - <code>? string</code> - </InvalidReturnType> - </file> - <file src="src/xhtml/HTMLTableController.php"> - <UndefinedConstant occurrences="1"> - <code>SUBFOLDER</code> - </UndefinedConstant> - </file> - <file src="src/xhtml/XHtmlElement.php"> - <MismatchingDocblockParamType occurrences="1"> - <code>XHtmlElement</code> - </MismatchingDocblockParamType> - </file> -</files> @@ -1,11 +1,12 @@ <?xml version="1.0"?> <psalm totallyTyped="false" - errorLevel="5" + errorLevel="3" resolveFromConfigFile="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="https://getpsalm.org/schema/config" xsi:schemaLocation="https://getpsalm.org/schema/config vendor/vimeo/psalm/config.xsd" + errorBaseline=".build/psalm/psalm-baseline.xml" > <projectFiles> diff --git a/src/classes/ContainerUtils.php b/src/classes/ContainerUtils.php index fc54b322..4c3d6403 100644 --- a/src/classes/ContainerUtils.php +++ b/src/classes/ContainerUtils.php @@ -13,10 +13,11 @@ use Slim\App; \defined('THEME_PATH') || \define('THEME_PATH', BASE_PATH . '/assets/themes'); \defined('SUBFOLDER') || \define( 'SUBFOLDER', - \str_replace($_SERVER['DOCUMENT_ROOT'] ?? '', '', 'BASE_PATH') + \str_replace($_SERVER['DOCUMENT_ROOT'] ?? '', '', BASE_PATH) ); \defined('DEBUGMODE') || \define('DEBUGMODE', false); \defined('IN_TEST') || \define('IN_TEST', false); + /** * @file * A class that adds convenience methods to the container @@ -42,6 +43,11 @@ class ContainerUtils const DEBUGMODE = DEBUGMODE; /** + * + * @var string + */ + const THEME_PATH = THEME_PATH; + /** * @var ContainerInterface */ protected $container; @@ -62,56 +68,56 @@ class ContainerUtils public function __construct() { $composerinfo = \json_decode(\file_get_contents(BASE_PATH . '/composer.json')); - $appVersion = $composerinfo->extra->version; + $appVersion = $composerinfo->extra->version; $phpMinVer = (\str_replace(['<', '>', '='], '', $composerinfo->require->php)); //$this->prtrace($appVersion); //$this->dump($composerinfo); $settings = [ 'determineRouteBeforeAppMiddleware' => true, - 'base_path' => self::BASE_PATH, - 'debug' => self::DEBUGMODE, + 'base_path' => self::BASE_PATH, + 'debug' => self::DEBUGMODE, // Configuration file version. If this is greater than that in config.inc.php, then // the app will refuse to run. This and $conf['version'] should be incremented whenever // backwards incompatible changes are made to config.inc.php-dist. - 'base_version' => 60, + 'base_version' => 60, // Application version - 'appVersion' => 'v' . $appVersion, + 'appVersion' => 'v' . $appVersion, // Application name - 'appName' => 'phpPgAdmin6', + 'appName' => 'phpPgAdmin6', // PostgreSQL and PHP minimum version - 'postgresqlMinVer' => '9.3', - 'phpMinVer' => $phpMinVer, - 'displayErrorDetails' => self::DEBUGMODE, - 'addContentLengthHeader' => false, + 'postgresqlMinVer' => '9.3', + 'phpMinVer' => $phpMinVer, + 'displayErrorDetails' => self::DEBUGMODE, + 'addContentLengthHeader' => false, ]; if (!self::DEBUGMODE && !IN_TEST) { $settings['routerCacheFile'] = self::BASE_PATH . '/temp/route.cache.php'; } $config = [ - 'msg' => '', + 'msg' => '', 'appThemes' => [ - 'default' => 'Default', + 'default' => 'Default', 'cappuccino' => 'Cappuccino', - 'gotar' => 'Blue/Green', - 'bootstrap' => 'Bootstrap3', + 'gotar' => 'Blue/Green', + 'bootstrap' => 'Bootstrap3', ], - 'settings' => $settings, + 'settings' => $settings, ]; $this->_app = new App($config); // Fetch DI Container - $container = $this->_app->getContainer(); - $container['utils'] = $this; - $container['version'] = 'v' . $appVersion; - $container['errors'] = []; - $container['requestobj'] = $container['request']; + $container = $this->_app->getContainer(); + $container['utils'] = $this; + $container['version'] = 'v' . $appVersion; + $container['errors'] = []; + $container['requestobj'] = $container['request']; $container['responseobj'] = $container['response']; - $this->container = $container; + $this->container = $container; } public static function getContainerInstance() @@ -143,13 +149,13 @@ class ContainerUtils $conf['display_sizes'] = [ 'schemas' => (bool) $display_sizes, - 'tables' => (bool) $display_sizes, + 'tables' => (bool) $display_sizes, ]; if (\is_array($display_sizes)) { $conf['display_sizes'] = [ 'schemas' => $display_sizes['schemas'] ?? \in_array('schemas', $display_sizes, true), - 'tables' => $display_sizes['tables'] ?? \in_array('tables', $display_sizes, true), + 'tables' => $display_sizes['tables'] ?? \in_array('tables', $display_sizes, true), ]; } @@ -189,6 +195,7 @@ class ContainerUtils } $container->subfolder = $subfolder ?? self::SUBFOLDER; + $container->subfolder = $subfolder ?? self::SUBFOLDER; //ddd($container->subfolder); return [$container, self::$_instance->_app]; } @@ -200,14 +207,14 @@ class ContainerUtils $in_test = $c->view->offsetGet('in_test'); if ('1' === $in_test) { - $className = '\PHPPgAdmin\Controller\\' . \ucfirst($subject) . 'Controller'; + $className = '\PHPPgAdmin\Controller\\' . \ucfirst($subject) . 'Controller'; $controller = new $className($c); return $controller->render(); } $viewVars = [ - 'url' => '/src/views/' . $subject . ($query_string ? '?' . $query_string : ''), + 'url' => '/src/views/' . $subject . ($query_string ? '?' . $query_string : ''), 'headertemplate' => 'header.twig', ]; @@ -273,10 +280,10 @@ class ContainerUtils // if server_id isn't set, then you will be redirected to intro if (null === $this->container->requestobj->getQueryParam('server')) { - $destinationurl = \SUBFOLDER . '/src/views/intro'; + $destinationurl = self::SUBFOLDER . '/src/views/intro'; } else { // otherwise, you'll be redirected to the login page for that server; - $destinationurl = \SUBFOLDER . '/src/views/login' . ($query_string ? '?' . $query_string : ''); + $destinationurl = self::SUBFOLDER . '/src/views/login' . ($query_string ? '?' . $query_string : ''); } return $destinationurl; @@ -310,10 +317,10 @@ class ContainerUtils $urlvars[$key] = \PHPPgAdmin\Decorators\Decorator::get_sanitized_value($urlvar, $_REQUEST); } $_REQUEST = \array_merge($_REQUEST, $urlvars); - $_GET = \array_merge($_GET, $urlvars); + $_GET = \array_merge($_GET, $urlvars); } - $actionurl = \PHPPgAdmin\Decorators\Decorator::actionurl($url['url'], $_GET); + $actionurl = \PHPPgAdmin\Decorators\Decorator::actionurl($url['url'], $_GET); $destinationurl = $actionurl->value($_GET); } $destinationurl = \str_replace('views/?', "views/{$subject}?", $destinationurl); @@ -330,7 +337,7 @@ class ContainerUtils */ public function addError(string $errormsg): ContainerInterface { - $errors = $this->container->get('errors'); + $errors = $this->container->get('errors'); $errors[] = $errormsg; $this->container->offsetSet('errors', $errors); @@ -346,7 +353,7 @@ class ContainerUtils private function getThemeFolders() { // no THEME_PATH (how?) then return empty array - if (!$gestor = \opendir(THEME_PATH)) { + if (!$gestor = \opendir(self::THEME_PATH)) { \closedir($gestor); return []; @@ -359,7 +366,7 @@ class ContainerUtils continue; } - $folderpath = \sprintf('%s%s%s', THEME_PATH, \DIRECTORY_SEPARATOR, $foldername); + $folderpath = \sprintf('%s%s%s', self::THEME_PATH, \DIRECTORY_SEPARATOR, $foldername); $stylesheet = \sprintf('%s%s%s', $folderpath, \DIRECTORY_SEPARATOR, 'global.css'); // if $folderpath if indeed a folder and contains a global.css file, then it's a theme if (\is_dir($folderpath) && diff --git a/src/classes/Misc.php b/src/classes/Misc.php index 6b493add..c65795bb 100644 --- a/src/classes/Misc.php +++ b/src/classes/Misc.php @@ -6,13 +6,6 @@ namespace PHPPgAdmin; -\defined('BASE_PATH') || \define('BASE_PATH', \dirname(__DIR__, 2)); -\defined('SUBFOLDER') || \define( - 'SUBFOLDER', - \str_replace($_SERVER['DOCUMENT_ROOT'] ?? '', '', BASE_PATH) -); -\defined('DEBUGMODE') || \define('DEBUGMODE', false); - /** * @file * Class to hold various commonly used functions @@ -33,15 +26,15 @@ class Misc /** * @var string */ - const BASE_PATH = BASE_PATH; + const BASE_PATH = ContainerUtils::BASE_PATH; /** * @var string */ - const SUBFOLDER = SUBFOLDER; + const SUBFOLDER = ContainerUtils::SUBFOLDER; /** * @var string */ - const DEBUGMODE = DEBUGMODE; + const DEBUGMODE = ContainerUtils::DEBUGMODE; public $appLangFiles = []; @@ -556,7 +549,7 @@ class Misc } } - public function getDatabase($database = '') + public function getDatabase(string $database = '') { if (null === $this->_server_id && !isset($_REQUEST['database'])) { return null; diff --git a/src/controllers/BaseController.php b/src/controllers/BaseController.php index 6a174a4f..907e6d26 100644 --- a/src/controllers/BaseController.php +++ b/src/controllers/BaseController.php @@ -6,16 +6,10 @@ namespace PHPPgAdmin\Controller; +use PHPPgAdmin\ContainerUtils; use PHPPgAdmin\XHtml; -\defined('BASE_PATH') || \define('BASE_PATH', \dirname(__DIR__, 2)); -\defined('SUBFOLDER') || \define( - 'SUBFOLDER', - \str_replace($_SERVER['DOCUMENT_ROOT'] ?? '', '', BASE_PATH) -); -\defined('DEBUGMODE') || \define('DEBUGMODE', false); - -\ini_set('display_errors', DEBUGMODE); +\ini_set('display_errors', ContainerUtils::DEBUGMODE); /** * Base controller class. */ @@ -25,15 +19,15 @@ class BaseController /** * @var string */ - const BASE_PATH = BASE_PATH; + const BASE_PATH = ContainerUtils::BASE_PATH; /** * @var string */ - const SUBFOLDER = SUBFOLDER; + const SUBFOLDER = ContainerUtils::SUBFOLDER; /** * @var string */ - const DEBUGMODE = DEBUGMODE; + const DEBUGMODE = ContainerUtils::DEBUGMODE; public $appLangFiles = []; diff --git a/src/controllers/BrowserController.php b/src/controllers/BrowserController.php index 66e01b5a..9b79b1f2 100644 --- a/src/controllers/BrowserController.php +++ b/src/controllers/BrowserController.php @@ -19,8 +19,10 @@ class BrowserController extends BaseController * Default method to render the controller according to the action parameter. * * @param null|mixed $action + * + * @return string */ - public function render($action = null) + public function render($action = null): string { if (null === $action) { $action = $this->action; diff --git a/src/controllers/DatabaseController.php b/src/controllers/DatabaseController.php index 549c8460..2a7e3d6e 100644 --- a/src/controllers/DatabaseController.php +++ b/src/controllers/DatabaseController.php @@ -600,7 +600,7 @@ class DatabaseController extends BaseController return $optionhtml; } - private function _translatedType($curr) + private function _translatedType(string $curr) { $types = [ 'COLUMN' => $this->lang['strcolumns'], diff --git a/src/controllers/DataexportController.php b/src/controllers/DataexportController.php index e420c3b2..e3d1d26e 100644 --- a/src/controllers/DataexportController.php +++ b/src/controllers/DataexportController.php @@ -228,7 +228,7 @@ class DataexportController extends BaseController return $response; } - private function _getRS($data, $object, $oids) + private function _getRS($data, $object, bool $oids) { if ($object) { return $data->dumpRelation($object, $oids); @@ -269,7 +269,7 @@ class DataexportController extends BaseController ->withHeader('Content-Disposition', 'attachment; filename=dump.' . $ext); } - private function pickFormat($data, $object, $oids, $rs, $format, $response) + private function pickFormat($data, $object, bool $oids, $rs, $format, $response) { if ('copy' === $format) { $this->_mimicCopy($data, $object, $oids, $rs); diff --git a/src/controllers/DisplayController.php b/src/controllers/DisplayController.php index 7a8644cc..95732d33 100644 --- a/src/controllers/DisplayController.php +++ b/src/controllers/DisplayController.php @@ -294,7 +294,7 @@ class DisplayController extends BaseController /** * @param array $_gets */ - public function getBrowseNavLinks($type, array $_gets, $page, $subject, $object, $resultset) + public function getBrowseNavLinks($type, array $_gets, $page, string $subject, $object, $resultset) { $fields = [ 'server' => $_REQUEST['server'], @@ -948,7 +948,7 @@ class DisplayController extends BaseController echo '</div>'; } - private function _getKeyAndActions(object $resultset, $object, $data, $page, $_gets) + private function _getKeyAndActions(object $resultset, $object, $data, $page, array $_gets) { $key = []; $strings = $_gets['strings']; diff --git a/src/controllers/TreeController.php b/src/controllers/TreeController.php index 1f38fe66..de56ea67 100644 --- a/src/controllers/TreeController.php +++ b/src/controllers/TreeController.php @@ -14,18 +14,6 @@ use PHPPgAdmin\Decorators\Decorator; class TreeController extends BaseController { use \PHPPgAdmin\Traits\HelperTrait; - /** - * @var string - */ - const BASE_PATH = BASE_PATH; - /** - * @var string - */ - const SUBFOLDER = SUBFOLDER; - /** - * @var string - */ - const DEBUGMODE = DEBUGMODE; public $form = ''; @@ -57,17 +45,17 @@ class TreeController extends BaseController public function __construct(\Slim\Container $container, $controller_name = null) { $this->container = $container; - $this->lang = $container->get('lang'); + $this->lang = $container->get('lang'); //$this->conf = $container->get('conf'); $this->view = $container->get('view'); - $this->appName = $container->get('settings')['appName']; - $this->appVersion = $container->get('settings')['appVersion']; + $this->appName = $container->get('settings')['appName']; + $this->appVersion = $container->get('settings')['appVersion']; $this->appLangFiles = $container->get('appLangFiles'); - $this->misc = $container->get('misc'); - $this->conf = $this->misc->getConf(); - $this->appThemes = $container->get('appThemes'); - $this->action = $container->get('action'); + $this->misc = $container->get('misc'); + $this->conf = $this->misc->getConf(); + $this->appThemes = $container->get('appThemes'); + $this->action = $container->get('action'); if (null !== $controller_name) { $this->controller_name = $controller_name; @@ -106,8 +94,8 @@ class TreeController extends BaseController $tree_params = [ 'treedata' => &$treedata, - 'attrs' => &$attrs, - 'section' => $section, + 'attrs' => &$attrs, + 'section' => $section, ]; return $this->printTreeJSON($treedata, $attrs, $print); @@ -155,13 +143,13 @@ class TreeController extends BaseController if (isset($attrs['is_root'])) { $parent = [ - 'id' => 'root', + 'id' => 'root', 'children' => true, - 'icon' => \SUBFOLDER . '/assets/images/themes/default/Servers.png', - 'state' => ['opened' => true], - 'a_attr' => ['href' => \str_replace('//', '/', \SUBFOLDER . '/src/views/servers')], - 'url' => \str_replace('//', '/', \SUBFOLDER . '/src/views/servers?action=tree'), - 'text' => 'Servers', + 'icon' => self::SUBFOLDER . '/assets/images/themes/default/Servers.png', + 'state' => ['opened' => true], + 'a_attr' => ['href' => \str_replace('//', '/', self::SUBFOLDER . '/src/views/servers')], + 'url' => \str_replace('//', '/', self::SUBFOLDER . '/src/views/servers?action=tree'), + 'text' => 'Servers', ]; } elseif (0 < \count($treedata)) { foreach ($treedata as $rec) { @@ -172,23 +160,23 @@ class TreeController extends BaseController } $tree = [ - 'text' => Decorator::get_sanitized_value($attrs['text'], $rec), - 'id' => \sha1(Decorator::get_sanitized_value($attrs['action'], $rec)), - 'icon' => Decorator::get_sanitized_value($icon, $rec), + 'text' => Decorator::get_sanitized_value($attrs['text'], $rec), + 'id' => \sha1(Decorator::get_sanitized_value($attrs['action'], $rec)), + 'icon' => Decorator::get_sanitized_value($icon, $rec), 'iconaction' => Decorator::get_sanitized_value($attrs['iconAction'], $rec), - 'openicon' => Decorator::get_sanitized_value($icon, $rec), - 'tooltip' => Decorator::get_sanitized_value($attrs['toolTip'], $rec), - 'a_attr' => ['href' => Decorator::get_sanitized_value($attrs['action'], $rec)], - 'children' => false, + 'openicon' => Decorator::get_sanitized_value($icon, $rec), + 'tooltip' => Decorator::get_sanitized_value($attrs['toolTip'], $rec), + 'a_attr' => ['href' => Decorator::get_sanitized_value($attrs['action'], $rec)], + 'children' => false, ]; $url = Decorator::get_sanitized_value($attrs['branch'], $rec); if ($url && false === \mb_strpos($url, '/src/views')) { - $url = \str_replace('//', '/', \SUBFOLDER . '/src/views/' . $url); + $url = \str_replace('//', '/', self::SUBFOLDER . '/src/views/' . $url); } if ($url) { - $tree['url'] = $url; + $tree['url'] = $url; $tree['children'] = true; } @@ -203,7 +191,7 @@ class TreeController extends BaseController if (true === $print) { if (isset($_REQUEST['children'])) { $children = $parent; - $parent = ['children' => $children]; + $parent = ['children' => $children]; } return $this diff --git a/src/database/Postgres12.php b/src/database/Postgres12.php index d2480702..ad23a347 100644 --- a/src/database/Postgres12.php +++ b/src/database/Postgres12.php @@ -29,6 +29,6 @@ class Postgres12 extends Postgres11 */ public function hasObjectID($table) { - return null; + return false; } } diff --git a/src/decorators/ActionUrlDecorator.php b/src/decorators/ActionUrlDecorator.php index 84359170..bd34c2f8 100644 --- a/src/decorators/ActionUrlDecorator.php +++ b/src/decorators/ActionUrlDecorator.php @@ -42,6 +42,6 @@ class ActionUrlDecorator extends Decorator } } - return \SUBFOLDER . '/src/views/' . \str_replace('.php', '', $url); + return self::SUBFOLDER . '/src/views/' . \str_replace('.php', '', $url); } } diff --git a/src/decorators/BranchUrlDecorator.php b/src/decorators/BranchUrlDecorator.php index 6194151b..6bda297b 100644 --- a/src/decorators/BranchUrlDecorator.php +++ b/src/decorators/BranchUrlDecorator.php @@ -32,7 +32,7 @@ class BranchUrlDecorator extends Decorator \ksort($queryVars); foreach ($queryVars as $var => $value) { - $varname = Decorator::value_url($var, $fields); + $varname = Decorator::value_url($var, $fields); $varvalue = Decorator::value_url($value, $fields); $url .= $sep . $varname . '=' . $varvalue; $sep = '&'; @@ -43,8 +43,8 @@ class BranchUrlDecorator extends Decorator $url = \str_replace('//', '/', '/src/views/' . $url); } - if (\SUBFOLDER !== '' && (0 === \mb_strpos($url, '/')) && (0 !== \mb_strpos($url, \SUBFOLDER))) { - $url = \str_replace('//', '/', \SUBFOLDER . '/' . $url); + if (self::SUBFOLDER !== '' && (0 === \mb_strpos($url, '/')) && (0 !== \mb_strpos($url, self::SUBFOLDER))) { + $url = \str_replace('//', '/', self::SUBFOLDER . '/' . $url); } return \str_replace('.php', '', $url); diff --git a/src/decorators/Decorator.php b/src/decorators/Decorator.php index 37c791cc..a395be8c 100644 --- a/src/decorators/Decorator.php +++ b/src/decorators/Decorator.php @@ -6,10 +6,25 @@ namespace PHPPgAdmin\Decorators; +use PHPPgAdmin\ContainerUtils; + class Decorator { use \PHPPgAdmin\Traits\HelperTrait; + /** + * @var string + */ + const BASE_PATH = ContainerUtils::BASE_PATH; + /** + * @var string + */ + const SUBFOLDER = ContainerUtils::SUBFOLDER; + /** + * @var string + */ + const DEBUGMODE = ContainerUtils::DEBUGMODE; + public $container; public function __construct($value) @@ -17,13 +32,14 @@ class Decorator $this->val = $value; } - public function value($fields) + public function value(array $fields) { return $this->val; } /** * @param null|string $esc + * @param scalar $var */ public static function get_sanitized_value(&$var, array &$fields, ? string $esc = null) { @@ -65,7 +81,7 @@ class Decorator /** * @param scalar $var */ - public static function value_url(&$var, &$fields) + public static function value_url(&$var, array &$fields) { return self::get_sanitized_value($var, $fields, 'url'); } @@ -91,7 +107,10 @@ class Decorator return new FieldDecorator($fieldName, $default); } - public static function branchurl($base, $vars = null/* ... */) + /** + * @param array|null $vars + */ + public static function branchurl($base, ? array $vars = null/* ... */) { // If more than one array of vars is given, // use an ArrayMergeDecorator to have them merged @@ -124,7 +143,10 @@ class Decorator return new ActionUrlDecorator($base, $vars); } - public static function redirecturl(string $base, $vars = null/* ... */) + /** + * @param array|null $vars + */ + public static function redirecturl(string $base, ? array $vars = null/* ... */) { // If more than one array of vars is given, // use an ArrayMergeDecorator to have them merged diff --git a/src/decorators/RedirectUrlDecorator.php b/src/decorators/RedirectUrlDecorator.php index 174e2097..b025f8c7 100644 --- a/src/decorators/RedirectUrlDecorator.php +++ b/src/decorators/RedirectUrlDecorator.php @@ -34,7 +34,7 @@ class RedirectUrlDecorator extends Decorator \ksort($queryVars); foreach ($queryVars as $var => $value) { - $varname = Decorator::value_url($var, $fields); + $varname = Decorator::value_url($var, $fields); $varvalue = Decorator::value_url($value, $fields); if ('subject' === $varname) { @@ -47,8 +47,8 @@ class RedirectUrlDecorator extends Decorator } } - if (\SUBFOLDER !== '' && (0 === \mb_strpos($url, '/')) && (false === \mb_strpos($url, \SUBFOLDER))) { - $url = \str_replace('//', '/', \SUBFOLDER . '/' . $url); + if (self::SUBFOLDER !== '' && (0 === \mb_strpos($url, '/')) && (false === \mb_strpos($url, self::SUBFOLDER))) { + $url = \str_replace('//', '/', self::SUBFOLDER . '/' . $url); } return \str_replace('.php', '', $url); diff --git a/src/decorators/UrlDecorator.php b/src/decorators/UrlDecorator.php index 03a69f43..131ca0b5 100644 --- a/src/decorators/UrlDecorator.php +++ b/src/decorators/UrlDecorator.php @@ -37,8 +37,8 @@ class UrlDecorator extends Decorator } } //$this->prtrace('url before', $url); - if (\SUBFOLDER !== '' && (0 === \mb_strpos($url, '/')) && (false === \mb_strpos($url, \SUBFOLDER))) { - $url = \str_replace('//', '/', \SUBFOLDER . '/' . $url); + if (self::SUBFOLDER !== '' && (0 === \mb_strpos($url, '/')) && (false === \mb_strpos($url, self::SUBFOLDER))) { + $url = \str_replace('//', '/', self::SUBFOLDER . '/' . $url); } //$this->prtrace('url after', $url); return $url; diff --git a/src/lib.inc.php b/src/lib.inc.php index be35607b..f8fcfdc4 100644 --- a/src/lib.inc.php +++ b/src/lib.inc.php @@ -111,13 +111,13 @@ $container['view'] = static function ($c) { $misc = $c->misc; $view = new \Slim\Views\Twig(BASE_PATH . '/assets/templates', [ - 'cache' => BASE_PATH . '/temp/twigcache', + 'cache' => BASE_PATH . '/temp/twigcache', 'auto_reload' => $c->get('settings')['debug'], - 'debug' => $c->get('settings')['debug'], + 'debug' => $c->get('settings')['debug'], ]); - $environment = $c->get('environment'); + $environment = $c->get('environment'); $base_script_trailing_str = \mb_substr($environment['SCRIPT_NAME'], 1); - $request_basepath = $c['request']->getUri()->getBasePath(); + $request_basepath = $c['request']->getUri()->getBasePath(); // Instantiate and add Slim specific extension $basePath = \rtrim(\str_ireplace($base_script_trailing_str, '', $request_basepath), '/'); diff --git a/src/router.php b/src/router.php index 0bf98692..a776ccb6 100644 --- a/src/router.php +++ b/src/router.php @@ -32,8 +32,8 @@ $app->post('/redirect/server', function ( $body = $response->getBody(); $misc = $this->misc; - $loginShared = $request->getParsedBodyParam('loginShared'); - $loginServer = $request->getParsedBodyParam('loginServer'); + $loginShared = $request->getParsedBodyParam('loginShared'); + $loginServer = $request->getParsedBodyParam('loginServer'); $loginUsername = $request->getParsedBodyParam('loginUsername'); $loginPassword = $request->getParsedBodyParam('loginPassword_' . \md5($loginServer)); @@ -83,7 +83,7 @@ $app->get('/redirect[/{subject}]', function ( /* @scrutinizer ignore-unused */ $args ) { - $subject = (isset($args['subject'])) ? $args['subject'] : 'root'; + $subject = (isset($args['subject'])) ? $args['subject'] : 'root'; $destinationurl = $this->utils->getDestinationWithLastTab($subject); return $response->withStatus(302)->withHeader('Location', $destinationurl); @@ -116,7 +116,7 @@ $app->map(['GET', 'POST'], '/src/views/{subject}', function ( return $response->withStatus(302)->withHeader('Location', $destinationurl); } - $className = '\PHPPgAdmin\Controller\\' . \ucfirst($subject) . 'Controller'; + $className = '\PHPPgAdmin\Controller\\' . \ucfirst($subject) . 'Controller'; $controller = new $className($this); return $controller->render(); @@ -130,10 +130,10 @@ $app->get('/{subject:\w+}', function ( /* @scrutinizer ignore-unused */ $args ) { - $subject = (isset($args['subject'])) ? $args['subject'] : 'intro'; + $subject = (isset($args['subject'])) ? $args['subject'] : 'intro'; $_server_info = $this->misc->getServerInfo(); $query_string = $request->getUri()->getQuery(); - $server_id = $request->getQueryParam('server'); + $server_id = $request->getQueryParam('server'); //$this->utils->prtrace($_server_info); @@ -164,7 +164,7 @@ $app->get('/', function ( }); $app->get('[/{path:.*}]', function ($request, $response, $args) { - $filepath = \BASE_PATH . '/' . $args['path']; + $filepath = dirname(__DIR__) . '/' . $args['path']; $query_string = $request->getUri()->getQuery(); $this->utils->dump($query_string, $filepath); diff --git a/src/traits/AdminTrait.php b/src/traits/AdminTrait.php index ecab40f6..e6f0a31a 100644 --- a/src/traits/AdminTrait.php +++ b/src/traits/AdminTrait.php @@ -34,7 +34,7 @@ trait AdminTrait $this->printTrail('schema'); $this->printTitle($this->lang['strclusterindex'], 'pg.index.cluster'); - echo '<form action="' . \SUBFOLDER . "/src/views/{$script}\" method=\"post\">" . \PHP_EOL; + echo '<form action="' . self::SUBFOLDER . "/src/views/{$script}\" method=\"post\">" . \PHP_EOL; foreach ($_REQUEST['ma'] as $v) { $a = \unserialize(\htmlspecialchars_decode($v, \ENT_QUOTES)); @@ -45,7 +45,7 @@ trait AdminTrait $this->printTrail($type); $this->printTitle($this->lang['strclusterindex'], 'pg.index.cluster'); - echo '<form action="' . \SUBFOLDER . "/src/views/{$script}\" method=\"post\">" . \PHP_EOL; + echo '<form action="' . self::SUBFOLDER . "/src/views/{$script}\" method=\"post\">" . \PHP_EOL; if ('table' === $type) { echo '<p>', \sprintf($this->lang['strconfclustertable'], $this->misc->printVal($_REQUEST['object'])), '</p>' . \PHP_EOL; @@ -86,7 +86,7 @@ trait AdminTrait $this->printTrail('schema'); $this->printTitle($this->lang['strreindex'], 'pg.reindex'); - echo '<form action="' . \SUBFOLDER . "/src/views/{$script}\" method=\"post\">" . \PHP_EOL; + echo '<form action="' . self::SUBFOLDER . "/src/views/{$script}\" method=\"post\">" . \PHP_EOL; foreach ($_REQUEST['ma'] as $v) { $a = \unserialize(\htmlspecialchars_decode($v, \ENT_QUOTES)); @@ -97,7 +97,7 @@ trait AdminTrait $this->printTrail($type); $this->printTitle($this->lang['strreindex'], 'pg.reindex'); - echo '<form action="' . \SUBFOLDER . "/src/views/{$script}\" method=\"post\">" . \PHP_EOL; + echo '<form action="' . self::SUBFOLDER . "/src/views/{$script}\" method=\"post\">" . \PHP_EOL; if ('table' === $type) { echo '<p>', \sprintf($this->lang['strconfreindextable'], $this->misc->printVal($_REQUEST['object'])), '</p>' . \PHP_EOL; @@ -141,7 +141,7 @@ trait AdminTrait $this->printTrail('schema'); $this->printTitle($this->lang['stranalyze'], 'pg.analyze'); - echo '<form action="' . \SUBFOLDER . "/src/views/{$script}\" method=\"post\">" . \PHP_EOL; + echo '<form action="' . self::SUBFOLDER . "/src/views/{$script}\" method=\"post\">" . \PHP_EOL; foreach ($_REQUEST['ma'] as $v) { $a = \unserialize(\htmlspecialchars_decode($v, \ENT_QUOTES)); @@ -153,7 +153,7 @@ trait AdminTrait $this->printTrail($type); $this->printTitle($this->lang['stranalyze'], 'pg.analyze'); - echo '<form action="' . \SUBFOLDER . "/src/views/{$script}\" method=\"post\">" . \PHP_EOL; + echo '<form action="' . self::SUBFOLDER . "/src/views/{$script}\" method=\"post\">" . \PHP_EOL; if ('table' === $type) { echo '<p>', \sprintf($this->lang['strconfanalyzetable'], $this->misc->printVal($_REQUEST['object'])), '</p>' . \PHP_EOL; @@ -190,7 +190,7 @@ trait AdminTrait $this->printTrail('schema'); $this->printTitle($this->lang['strvacuum'], 'pg.vacuum'); - echo '<form action="' . \SUBFOLDER . "/src/views/{$script}\" method=\"post\">" . \PHP_EOL; + echo '<form action="' . self::SUBFOLDER . "/src/views/{$script}\" method=\"post\">" . \PHP_EOL; foreach ($_REQUEST['ma'] as $v) { $a = \unserialize(\htmlspecialchars_decode($v, \ENT_QUOTES)); @@ -202,7 +202,7 @@ trait AdminTrait $this->printTrail($type); $this->printTitle($this->lang['strvacuum'], 'pg.vacuum'); - echo '<form action="' . \SUBFOLDER . "/src/views/{$script}\" method=\"post\">" . \PHP_EOL; + echo '<form action="' . self::SUBFOLDER . "/src/views/{$script}\" method=\"post\">" . \PHP_EOL; if ('table' === $type) { echo '<p>', \sprintf($this->lang['strconfvacuumtable'], $this->misc->printVal($_REQUEST['object'])), '</p>' . \PHP_EOL; @@ -286,7 +286,7 @@ trait AdminTrait $old_val['autovacuum_vacuum_cost_limit'] = ''; } - echo '<form action="' . \SUBFOLDER . "/src/views/{$script}\" method=\"post\">" . \PHP_EOL; + echo '<form action="' . self::SUBFOLDER . "/src/views/{$script}\" method=\"post\">" . \PHP_EOL; echo $this->misc->form; echo '<input type="hidden" name="action" value="editautovac" />' . \PHP_EOL; echo '<input type="hidden" name="table" value="', \htmlspecialchars($_REQUEST['table']), '" />' . \PHP_EOL; @@ -661,7 +661,7 @@ trait AdminTrait // Vacuum echo '<tr class="row1">' . \PHP_EOL; echo '<td style="text-align: center; vertical-align: bottom">' . \PHP_EOL; - echo '<form action="' . \SUBFOLDER . "/src/views/{$script}\" method=\"post\">" . \PHP_EOL; + echo '<form action="' . self::SUBFOLDER . "/src/views/{$script}\" method=\"post\">" . \PHP_EOL; echo '<p><input type="hidden" name="action" value="confirm_vacuum" />' . \PHP_EOL; echo $this->misc->form; @@ -672,7 +672,7 @@ trait AdminTrait // Analyze echo '<td style="text-align: center; vertical-align: bottom">' . \PHP_EOL; - echo '<form action="' . \SUBFOLDER . "/src/views/{$script}\" method=\"post\">" . \PHP_EOL; + echo '<form action="' . self::SUBFOLDER . "/src/views/{$script}\" method=\"post\">" . \PHP_EOL; echo '<p><input type="hidden" name="action" value="confirm_analyze" />' . \PHP_EOL; echo $this->misc->form; echo $table_hidden_inputs; @@ -685,7 +685,7 @@ trait AdminTrait // Reindex echo '<td style="text-align: center; vertical-align: bottom">' . \PHP_EOL; - echo '<form action="' . \SUBFOLDER . "/src/views/{$script}\" method=\"post\">" . \PHP_EOL; + echo '<form action="' . self::SUBFOLDER . "/src/views/{$script}\" method=\"post\">" . \PHP_EOL; echo '<p><input type="hidden" name="action" value="confirm_reindex" />' . \PHP_EOL; echo $this->misc->form; echo $table_hidden_inputs; @@ -807,7 +807,7 @@ trait AdminTrait $disabled = ''; $reclusterconf = '<td style="text-align: center; vertical-align: bottom">' . \PHP_EOL; - $reclusterconf .= '<form action="' . \SUBFOLDER . "/src/views/{$script}\" method=\"post\">" . \PHP_EOL; + $reclusterconf .= '<form action="' . self::SUBFOLDER . "/src/views/{$script}\" method=\"post\">" . \PHP_EOL; $reclusterconf .= $this->misc->form; $reclusterconf .= $table_hidden_inputs; @@ -854,13 +854,13 @@ trait AdminTrait 'namespace' => [ 'title' => $this->lang['strschema'], 'field' => Decorator::field('nspname'), - 'url' => \SUBFOLDER . "/redirect/schema?{$this->misc->href}&", + 'url' => self::SUBFOLDER . "/redirect/schema?{$this->misc->href}&", 'vars' => ['schema' => 'nspname'], ], 'relname' => [ 'title' => $this->lang['strtable'], 'field' => Decorator::field('relname'), - 'url' => \SUBFOLDER . "/redirect/table?{$this->misc->href}&", + 'url' => self::SUBFOLDER . "/redirect/table?{$this->misc->href}&", 'vars' => ['table' => 'relname', 'schema' => 'nspname'], ], 'autovacuum_enabled' => [ @@ -947,7 +947,7 @@ trait AdminTrait if (('table' === $type) && (0 === $autovac->recordCount())) { echo '<br />'; - echo '<a href="' . \SUBFOLDER . "/src/views/tables?action=confeditautovac&{$this->misc->href}&table="; + echo '<a href="' . self::SUBFOLDER . "/src/views/tables?action=confeditautovac&{$this->misc->href}&table="; echo \htmlspecialchars($_REQUEST['table']); echo "\">{$this->lang['straddvacuumtable']}</a>"; } diff --git a/src/traits/ExportTrait.php b/src/traits/ExportTrait.php index 5d06695d..725910fe 100644 --- a/src/traits/ExportTrait.php +++ b/src/traits/ExportTrait.php @@ -144,7 +144,7 @@ trait ExportTrait $checked ? 'checked="checked"' : '' ); $content .= \sprintf( - '<label for="what2">%s</label></th>', + '<label for="what2">%s</label></th>%s', $this->lang['strstructureonly'], \PHP_EOL ); @@ -172,7 +172,7 @@ trait ExportTrait { $content = \sprintf( '<form id="export_form" action="%s/%s" method="post">%s', - \SUBFOLDER . '/src/views', + self::SUBFOLDER . '/src/views', $endpoint, \PHP_EOL ); @@ -209,7 +209,7 @@ trait ExportTrait \PHP_EOL ); $content .= \sprintf( - '<input type="hidden" name="%s" value="%s" />', + '<input type="hidden" name="%s" value="%s" />%s', $subject, \htmlspecialchars($object), \PHP_EOL @@ -247,7 +247,7 @@ trait ExportTrait ); $content .= '<p><input type="radio" id="output1" name="output" value="show" checked="checked" />'; $content .= \sprintf( - '<label for="output1">%s</label>', + '<label for="output1">%s</label>%s', $this->lang['strshow'], \PHP_EOL ); diff --git a/src/traits/HelperTrait.php b/src/traits/HelperTrait.php index f6750010..b71520d5 100644 --- a/src/traits/HelperTrait.php +++ b/src/traits/HelperTrait.php @@ -72,23 +72,23 @@ trait HelperTrait public static function getBackTrace($offset = 0) { - $i0 = $offset; - $i1 = $offset + 1; + $i0 = $offset; + $i1 = $offset + 1; $backtrace = \debug_backtrace(\DEBUG_BACKTRACE_IGNORE_ARGS, $offset + 3); return [ - 'class' => 'Closure' === $backtrace[$i1]['class'] ? + 'class' => 'Closure' === $backtrace[$i1]['class'] ? $backtrace[$i0]['file'] : $backtrace[$i1]['class'], - 'type' => $backtrace[$i1]['type'], + 'type' => $backtrace[$i1]['type'], 'function' => '{closure}' === $backtrace[$i1]['function'] ? $backtrace[$i0]['function'] : $backtrace[$i1]['function'], - 'spacer4' => ' ', - 'line' => $backtrace[$i0]['line'], + 'spacer4' => ' ', + 'line' => $backtrace[$i0]['line'], ]; //dump($backtrace); } @@ -203,9 +203,9 @@ trait HelperTrait * * @param array ...$args */ - public function prtrace(array ...$args): void + public function prtrace(array...$args): void { - self::staticTrace($args, '', false); + self::staticTrace($args); } /** @@ -213,9 +213,9 @@ trait HelperTrait * * @param array ...$args The arguments */ - public function dump(array ...$args): void + public function dump(array...$args): void { - self::staticTrace($args, '', false); + self::staticTrace($args); } /** @@ -223,9 +223,10 @@ trait HelperTrait * * @param array ...$args The arguments */ - public function dumpAndDie(array ...$args): void + public function dumpAndDie(array...$args): void { - self::staticTrace($args, '', true); + self::staticTrace($args); + exit(); } /** @@ -233,31 +234,29 @@ trait HelperTrait * called from. * * @param array $variablesToDump - * @param string $whoCalledMe - * @param bool $exitAfterwards */ private static function staticTrace( - array $variablesToDump = [], - string $whoCalledMe = '', - $exitAfterwards = false + array...$variablesToDump ): void { if (!$variablesToDump) { $variablesToDump = \func_get_args(); } - if ('' === $whoCalledMe) { - $whoCalledMe = \str_replace(BASE_PATH, '', \implode('', self::getBackTrace(2))); - } - - if ($exitAfterwards && \function_exists('dd')) { - dd([ - 'args' => $variablesToDump, - 'from' => $whoCalledMe, - ]); - } elseif (\function_exists('dump')) { + $calledFrom = \str_replace( + dirname( + dirname(__DIR__) + ), + '', + implode( + '', + self::getBackTrace(2) + ) + ); + + if (\function_exists('dump')) { dump([ 'args' => $variablesToDump, - 'from' => $whoCalledMe, + 'from' => $calledFrom, ]); } } diff --git a/src/traits/MiscTrait.php b/src/traits/MiscTrait.php index e1437760..84b2d751 100644 --- a/src/traits/MiscTrait.php +++ b/src/traits/MiscTrait.php @@ -20,7 +20,7 @@ trait MiscTrait { public function getSubjectParams($subject) { - $vars = []; + $vars = []; $common_params = []; if (\array_key_exists('server', $_REQUEST)) { @@ -47,15 +47,15 @@ trait MiscTrait case 'server': $vars = ['params' => [ 'subject' => 'server', - 'server' => $_REQUEST['server'], + 'server' => $_REQUEST['server'], ]]; break; case 'role': $vars = ['params' => [ - 'subject' => 'role', - 'server' => $_REQUEST['server'], - 'action' => 'properties', + 'subject' => 'role', + 'server' => $_REQUEST['server'], + 'action' => 'properties', 'rolename' => $_REQUEST['rolename'], ]]; @@ -76,24 +76,24 @@ trait MiscTrait $vars = ['params' => \array_merge($common_params, [ 'subject' => 'table', - 'table' => $_REQUEST['table'], + 'table' => $_REQUEST['table'], ])]; break; case 'selectrows': $vars = [ - 'url' => 'tables', + 'url' => 'tables', 'params' => \array_merge($common_params, [ 'subject' => 'table', - 'table' => $_REQUEST['table'], - 'action' => 'confselectrows', - ]), ]; + 'table' => $_REQUEST['table'], + 'action' => 'confselectrows', + ])]; break; case 'view': $vars = ['params' => \array_merge($common_params, [ 'subject' => 'view', - 'view' => $_REQUEST['view'], + 'view' => $_REQUEST['view'], ])]; break; @@ -108,23 +108,23 @@ trait MiscTrait case 'ftscfg': $vars = ['params' => \array_merge($common_params, [ 'subject' => 'fulltext', - 'action' => 'viewconfig', - 'ftscfg' => $_REQUEST['ftscfg'], + 'action' => 'viewconfig', + 'ftscfg' => $_REQUEST['ftscfg'], ])]; break; case 'function': $vars = ['params' => \array_merge($common_params, [ - 'subject' => 'function', - 'function' => $_REQUEST['function'], + 'subject' => 'function', + 'function' => $_REQUEST['function'], 'function_oid' => $_REQUEST['function_oid'], ])]; break; case 'aggregate': $vars = ['params' => \array_merge($common_params, [ - 'subject' => 'aggregate', - 'action' => 'properties', + 'subject' => 'aggregate', + 'action' => 'properties', 'aggrname' => $_REQUEST['aggrname'], 'aggrtype' => $_REQUEST['aggrtype'], ])]; @@ -135,22 +135,22 @@ trait MiscTrait $vars = ['params' => \array_merge($common_params, [ 'subject' => 'column', - 'table' => $_REQUEST['table'], - 'column' => $_REQUEST['column'], + 'table' => $_REQUEST['table'], + 'column' => $_REQUEST['column'], ])]; } elseif (isset($_REQUEST['view'])) { $vars = ['params' => \array_merge($common_params, [ 'subject' => 'column', - 'view' => $_REQUEST['view'], - 'column' => $_REQUEST['column'], + 'view' => $_REQUEST['view'], + 'column' => $_REQUEST['column'], ])]; } elseif (isset($_REQUEST['matview'])) { $vars = ['params' => \array_merge($common_params, [ 'subject' => 'column', 'matview' => $_REQUEST['matview'], - 'column' => $_REQUEST['column'], + 'column' => $_REQUEST['column'], ])]; } @@ -161,11 +161,11 @@ trait MiscTrait } if (!isset($vars['url'])) { - $vars['url'] = SUBFOLDER . '/redirect'; + $vars['url'] = self::SUBFOLDER . '/redirect'; } - if (SUBFOLDER . '/redirect' === $vars['url'] && isset($vars['params']['subject'])) { - $vars['url'] = SUBFOLDER . '/redirect/' . $vars['params']['subject']; + if (self::SUBFOLDER . '/redirect' === $vars['url'] && isset($vars['params']['subject'])) { + $vars['url'] = self::SUBFOLDER . '/redirect/' . $vars['params']['subject']; unset($vars['params']['subject']); } @@ -181,7 +181,7 @@ trait MiscTrait if (!isset($params['clip']) || true !== $params['clip']) { return $str; } - $maxlen = isset($params['cliplen']) && \is_int($params['cliplen']) ? $params['cliplen'] : $this->conf['max_chars']; + $maxlen = isset($params['cliplen']) && \is_int($params['cliplen']) ? $params['cliplen'] : $this->conf['max_chars']; $ellipsis = $params['ellipsis'] ?? $this->lang['strellipsis']; if (\mb_strlen($str) > $maxlen) { @@ -206,19 +206,19 @@ trait MiscTrait switch ($str) { case 't': - $out = ($params['true'] ?? $lang['strtrue']); + $out = ($params['true'] ?? $lang['strtrue']); $align = 'center'; break; case 'f': - $out = ($params['false'] ?? $lang['strfalse']); + $out = ($params['false'] ?? $lang['strfalse']); $align = 'center'; break; default: $align = null; - $out = \htmlspecialchars($str); + $out = \htmlspecialchars($str); } return [$str, $align, $out]; @@ -271,7 +271,7 @@ trait MiscTrait $str = $this->maybeClipStr($str, $params); - $out = ''; + $out = ''; $class = ''; switch ($type) { @@ -287,7 +287,7 @@ trait MiscTrait case 'cid': case 'tid': $align = 'right'; - $out = \nl2br(\htmlspecialchars(\PHPPgAdmin\Traits\HelperTrait::br2ln($str))); + $out = \nl2br(\htmlspecialchars(\PHPPgAdmin\Traits\HelperTrait::br2ln($str))); break; case 'yesno': @@ -297,15 +297,15 @@ trait MiscTrait break; case 'bytea': - $tag = 'div'; + $tag = 'div'; $class = 'pre'; - $out = $data->escapeBytea($str); + $out = $data->escapeBytea($str); break; case 'errormsg': - $tag = 'pre'; + $tag = 'pre'; $class = 'error'; - $out = \htmlspecialchars($str); + $out = \htmlspecialchars($str); break; case 'pre': @@ -340,9 +340,9 @@ trait MiscTrait // character, a space at the start of a line, or a space at the start of // the whole string then render within a pre-formatted element (<pre>). if (\preg_match('/(^ | |\t|\n )/m', $str)) { - $tag = 'pre'; + $tag = 'pre'; $class = 'data'; - $out = \htmlspecialchars($str); + $out = \htmlspecialchars($str); } else { //$tag = 'span'; $out = \nl2br(\htmlspecialchars(\PHPPgAdmin\Traits\HelperTrait::br2ln($str))); @@ -371,7 +371,7 @@ trait MiscTrait if (isset($tag)) { $alignattr = isset($align) ? " style=\"text-align: {$align}\"" : ''; $classattr = !empty($class) ? " class=\"{$class}\"" : ''; - $out = "<{$tag}{$alignattr}{$classattr}>{$out}</{$tag}>"; + $out = "<{$tag}{$alignattr}{$classattr}>{$out}</{$tag}>"; } } @@ -387,15 +387,15 @@ trait MiscTrait $lang = $this->lang; return [ - 'intro' => [ + 'intro' => [ 'title' => $lang['strintroduction'], - 'url' => 'intro', - 'icon' => 'Introduction', + 'url' => 'intro', + 'icon' => 'Introduction', ], 'servers' => [ 'title' => $lang['strservers'], - 'url' => 'servers', - 'icon' => 'Servers', + 'url' => 'servers', + 'icon' => 'Servers', ], ]; } @@ -409,7 +409,7 @@ trait MiscTrait */ public function getTabsServer($data) { - $lang = $this->lang; + $lang = $this->lang; $hide_users = true; $hide_roles = false; @@ -419,69 +419,69 @@ trait MiscTrait $tabs = [ 'databases' => [ - 'title' => $lang['strdatabases'], - 'url' => 'alldb', + 'title' => $lang['strdatabases'], + 'url' => 'alldb', 'urlvars' => ['subject' => 'server'], - 'help' => 'pg.database', - 'icon' => 'Databases', + 'help' => 'pg.database', + 'icon' => 'Databases', ], - 'users' => [ - 'title' => $lang['strusers'], - 'url' => 'users', + 'users' => [ + 'title' => $lang['strusers'], + 'url' => 'users', 'urlvars' => ['subject' => 'server'], - 'hide' => $hide_roles, - 'help' => 'pg.user', - 'icon' => 'Users', + 'hide' => $hide_roles, + 'help' => 'pg.user', + 'icon' => 'Users', ], ]; if ($data && $data->hasRoles()) { $tabs = \array_merge($tabs, [ 'roles' => [ - 'title' => $lang['strroles'], - 'url' => 'roles', + 'title' => $lang['strroles'], + 'url' => 'roles', 'urlvars' => ['subject' => 'server'], - 'hide' => $hide_roles, - 'help' => 'pg.role', - 'icon' => 'Roles', + 'hide' => $hide_roles, + 'help' => 'pg.role', + 'icon' => 'Roles', ], ]); } else { $tabs = \array_merge($tabs, [ 'groups' => [ - 'title' => $lang['strgroups'], - 'url' => 'groups', + 'title' => $lang['strgroups'], + 'url' => 'groups', 'urlvars' => ['subject' => 'server'], - 'hide' => $hide_users, - 'help' => 'pg.group', - 'icon' => 'UserGroups', + 'hide' => $hide_users, + 'help' => 'pg.group', + 'icon' => 'UserGroups', ], ]); } return \array_merge($tabs, [ - 'account' => [ - 'title' => $lang['straccount'], - 'url' => ($data && $data->hasRoles()) ? 'roles' : 'users', + 'account' => [ + 'title' => $lang['straccount'], + 'url' => ($data && $data->hasRoles()) ? 'roles' : 'users', 'urlvars' => ['subject' => 'server', 'action' => 'account'], - 'hide' => !$hide_users, - 'help' => 'pg.role', - 'icon' => 'User', + 'hide' => !$hide_users, + 'help' => 'pg.role', + 'icon' => 'User', ], 'tablespaces' => [ - 'title' => $lang['strtablespaces'], - 'url' => 'tablespaces', + 'title' => $lang['strtablespaces'], + 'url' => 'tablespaces', 'urlvars' => ['subject' => 'server'], - 'hide' => !$data || !$data->hasTablespaces(), - 'help' => 'pg.tablespace', - 'icon' => 'Tablespaces', + 'hide' => !$data || !$data->hasTablespaces(), + 'help' => 'pg.tablespace', + 'icon' => 'Tablespaces', ], - 'export' => [ - 'title' => $lang['strexport'], - 'url' => 'alldb', + 'export' => [ + 'title' => $lang['strexport'], + 'url' => 'alldb', 'urlvars' => ['subject' => 'server', 'action' => 'export'], - 'hide' => !$this->isDumpEnabled(), - 'icon' => 'Export', + 'hide' => !$this->isDumpEnabled(), + 'icon' => 'Export', ], ]); } @@ -495,209 +495,209 @@ trait MiscTrait */ public function getTabsDatabase($data) { - $lang = $this->lang; + $lang = $this->lang; $hide_advanced = (false === $this->conf['show_advanced']); return [ - 'schemas' => [ - 'title' => $lang['strschemas'], - 'url' => 'schemas', + 'schemas' => [ + 'title' => $lang['strschemas'], + 'url' => 'schemas', 'urlvars' => ['subject' => 'database'], - 'help' => 'pg.schema', - 'icon' => 'Schemas', + 'help' => 'pg.schema', + 'icon' => 'Schemas', ], - 'sql' => [ - 'title' => $lang['strsql'], - 'url' => 'database', + 'sql' => [ + 'title' => $lang['strsql'], + 'url' => 'database', 'urlvars' => ['subject' => 'database', 'action' => 'sql', 'new' => 1], - 'help' => 'pg.sql', - 'tree' => false, - 'icon' => 'SqlEditor', + 'help' => 'pg.sql', + 'tree' => false, + 'icon' => 'SqlEditor', ], - 'find' => [ - 'title' => $lang['strfind'], - 'url' => 'database', + 'find' => [ + 'title' => $lang['strfind'], + 'url' => 'database', 'urlvars' => ['subject' => 'database', 'action' => 'find'], - 'tree' => false, - 'icon' => 'Search', + 'tree' => false, + 'icon' => 'Search', ], - 'variables' => [ - 'title' => $lang['strvariables'], - 'url' => 'database', + 'variables' => [ + 'title' => $lang['strvariables'], + 'url' => 'database', 'urlvars' => ['subject' => 'database', 'action' => 'variables'], - 'help' => 'pg.variable', - 'tree' => false, - 'icon' => 'Variables', + 'help' => 'pg.variable', + 'tree' => false, + 'icon' => 'Variables', ], - 'processes' => [ - 'title' => $lang['strprocesses'], - 'url' => 'database', + 'processes' => [ + 'title' => $lang['strprocesses'], + 'url' => 'database', 'urlvars' => ['subject' => 'database', 'action' => 'processes'], - 'help' => 'pg.process', - 'tree' => false, - 'icon' => 'Processes', + 'help' => 'pg.process', + 'tree' => false, + 'icon' => 'Processes', ], - 'locks' => [ - 'title' => $lang['strlocks'], - 'url' => 'database', + 'locks' => [ + 'title' => $lang['strlocks'], + 'url' => 'database', 'urlvars' => ['subject' => 'database', 'action' => 'locks'], - 'help' => 'pg.locks', - 'tree' => false, - 'icon' => 'Key', + 'help' => 'pg.locks', + 'tree' => false, + 'icon' => 'Key', ], - 'admin' => [ - 'title' => $lang['stradmin'], - 'url' => 'database', + 'admin' => [ + 'title' => $lang['stradmin'], + 'url' => 'database', 'urlvars' => ['subject' => 'database', 'action' => 'admin'], - 'tree' => false, - 'icon' => 'Admin', + 'tree' => false, + 'icon' => 'Admin', ], 'privileges' => [ - 'title' => $lang['strprivileges'], - 'url' => 'privileges', + 'title' => $lang['strprivileges'], + 'url' => 'privileges', 'urlvars' => ['subject' => 'database'], - 'hide' => !isset($data->privlist['database']), - 'help' => 'pg.privilege', - 'tree' => false, - 'icon' => 'Privileges', - ], - 'languages' => [ - 'title' => $lang['strlanguages'], - 'url' => 'languages', + 'hide' => !isset($data->privlist['database']), + 'help' => 'pg.privilege', + 'tree' => false, + 'icon' => 'Privileges', + ], + 'languages' => [ + 'title' => $lang['strlanguages'], + 'url' => 'languages', 'urlvars' => ['subject' => 'database'], - 'hide' => $hide_advanced, - 'help' => 'pg.language', - 'icon' => 'Languages', + 'hide' => $hide_advanced, + 'help' => 'pg.language', + 'icon' => 'Languages', ], - 'casts' => [ - 'title' => $lang['strcasts'], - 'url' => 'casts', + 'casts' => [ + 'title' => $lang['strcasts'], + 'url' => 'casts', 'urlvars' => ['subject' => 'database'], - 'hide' => $hide_advanced, - 'help' => 'pg.cast', - 'icon' => 'Casts', + 'hide' => $hide_advanced, + 'help' => 'pg.cast', + 'icon' => 'Casts', ], - 'export' => [ - 'title' => $lang['strexport'], - 'url' => 'database', + 'export' => [ + 'title' => $lang['strexport'], + 'url' => 'database', 'urlvars' => ['subject' => 'database', 'action' => 'export'], - 'hide' => !$this->isDumpEnabled(), - 'tree' => false, - 'icon' => 'Export', + 'hide' => !$this->isDumpEnabled(), + 'tree' => false, + 'icon' => 'Export', ], ]; } public function getTabsSchema($data) { - $lang = $this->lang; + $lang = $this->lang; $hide_advanced = (false === $this->conf['show_advanced']); - $tabs = [ - 'tables' => [ - 'title' => $lang['strtables'], - 'url' => 'tables', + $tabs = [ + 'tables' => [ + 'title' => $lang['strtables'], + 'url' => 'tables', 'urlvars' => ['subject' => 'schema'], - 'help' => 'pg.table', - 'icon' => 'Tables', + 'help' => 'pg.table', + 'icon' => 'Tables', ], - 'views' => [ - 'title' => $lang['strviews'], - 'url' => 'views', + 'views' => [ + 'title' => $lang['strviews'], + 'url' => 'views', 'urlvars' => ['subject' => 'schema'], - 'help' => 'pg.view', - 'icon' => 'Views', + 'help' => 'pg.view', + 'icon' => 'Views', ], - 'matviews' => [ - 'title' => 'M ' . $lang['strviews'], - 'url' => 'materializedviews', + 'matviews' => [ + 'title' => 'M ' . $lang['strviews'], + 'url' => 'materializedviews', 'urlvars' => ['subject' => 'schema'], - 'help' => 'pg.matview', - 'icon' => 'MViews', + 'help' => 'pg.matview', + 'icon' => 'MViews', ], - 'sequences' => [ - 'title' => $lang['strsequences'], - 'url' => 'sequences', + 'sequences' => [ + 'title' => $lang['strsequences'], + 'url' => 'sequences', 'urlvars' => ['subject' => 'schema'], - 'help' => 'pg.sequence', - 'icon' => 'Sequences', + 'help' => 'pg.sequence', + 'icon' => 'Sequences', ], - 'functions' => [ - 'title' => $lang['strfunctions'], - 'url' => 'functions', + 'functions' => [ + 'title' => $lang['strfunctions'], + 'url' => 'functions', 'urlvars' => ['subject' => 'schema'], - 'help' => 'pg.function', - 'icon' => 'Functions', + 'help' => 'pg.function', + 'icon' => 'Functions', ], - 'fulltext' => [ - 'title' => $lang['strfulltext'], - 'url' => 'fulltext', + 'fulltext' => [ + 'title' => $lang['strfulltext'], + 'url' => 'fulltext', 'urlvars' => ['subject' => 'schema'], - 'help' => 'pg.fts', - 'tree' => true, - 'icon' => 'Fts', + 'help' => 'pg.fts', + 'tree' => true, + 'icon' => 'Fts', ], - 'domains' => [ - 'title' => $lang['strdomains'], - 'url' => 'domains', + 'domains' => [ + 'title' => $lang['strdomains'], + 'url' => 'domains', 'urlvars' => ['subject' => 'schema'], - 'help' => 'pg.domain', - 'icon' => 'Domains', + 'help' => 'pg.domain', + 'icon' => 'Domains', ], - 'aggregates' => [ - 'title' => $lang['straggregates'], - 'url' => 'aggregates', + 'aggregates' => [ + 'title' => $lang['straggregates'], + 'url' => 'aggregates', 'urlvars' => ['subject' => 'schema'], - 'hide' => $hide_advanced, - 'help' => 'pg.aggregate', - 'icon' => 'Aggregates', + 'hide' => $hide_advanced, + 'help' => 'pg.aggregate', + 'icon' => 'Aggregates', ], - 'types' => [ - 'title' => $lang['strtypes'], - 'url' => 'types', + 'types' => [ + 'title' => $lang['strtypes'], + 'url' => 'types', 'urlvars' => ['subject' => 'schema'], - 'hide' => $hide_advanced, - 'help' => 'pg.type', - 'icon' => 'Types', + 'hide' => $hide_advanced, + 'help' => 'pg.type', + 'icon' => 'Types', ], - 'operators' => [ - 'title' => $lang['stroperators'], - 'url' => 'operators', + 'operators' => [ + 'title' => $lang['stroperators'], + 'url' => 'operators', 'urlvars' => ['subject' => 'schema'], - 'hide' => $hide_advanced, - 'help' => 'pg.operator', - 'icon' => 'Operators', + 'hide' => $hide_advanced, + 'help' => 'pg.operator', + 'icon' => 'Operators', ], - 'opclasses' => [ - 'title' => $lang['stropclasses'], - 'url' => 'opclasses', + 'opclasses' => [ + 'title' => $lang['stropclasses'], + 'url' => 'opclasses', 'urlvars' => ['subject' => 'schema'], - 'hide' => $hide_advanced, - 'help' => 'pg.opclass', - 'icon' => 'OperatorClasses', + 'hide' => $hide_advanced, + 'help' => 'pg.opclass', + 'icon' => 'OperatorClasses', ], 'conversions' => [ - 'title' => $lang['strconversions'], - 'url' => 'conversions', + 'title' => $lang['strconversions'], + 'url' => 'conversions', 'urlvars' => ['subject' => 'schema'], - 'hide' => $hide_advanced, - 'help' => 'pg.conversion', - 'icon' => 'Conversions', + 'hide' => $hide_advanced, + 'help' => 'pg.conversion', + 'icon' => 'Conversions', ], - 'privileges' => [ - 'title' => $lang['strprivileges'], - 'url' => 'privileges', + 'privileges' => [ + 'title' => $lang['strprivileges'], + 'url' => 'privileges', 'urlvars' => ['subject' => 'schema'], - 'help' => 'pg.privilege', - 'tree' => false, - 'icon' => 'Privileges', + 'help' => 'pg.privilege', + 'tree' => false, + 'icon' => 'Privileges', ], - 'export' => [ - 'title' => $lang['strexport'], - 'url' => 'schemas', + 'export' => [ + 'title' => $lang['strexport'], + 'url' => 'schemas', 'urlvars' => ['subject' => 'schema', 'action' => 'export'], - 'hide' => !$this->isDumpEnabled(), - 'tree' => false, - 'icon' => 'Export', + 'hide' => !$this->isDumpEnabled(), + 'tree' => false, + 'icon' => 'Export', ], ]; @@ -713,102 +713,102 @@ trait MiscTrait $lang = $this->lang; return [ - 'columns' => [ - 'title' => $lang['strcolumns'], - 'url' => 'tblproperties', + 'columns' => [ + 'title' => $lang['strcolumns'], + 'url' => 'tblproperties', 'urlvars' => ['subject' => 'table', 'table' => Decorator::field('table')], - 'icon' => 'Columns', - 'branch' => true, + 'icon' => 'Columns', + 'branch' => true, ], - 'browse' => [ - 'title' => $lang['strbrowse'], - 'icon' => 'Columns', - 'url' => 'display', + 'browse' => [ + 'title' => $lang['strbrowse'], + 'icon' => 'Columns', + 'url' => 'display', 'urlvars' => ['subject' => 'table', 'table' => Decorator::field('table')], - 'return' => 'table', - 'branch' => true, + 'return' => 'table', + 'branch' => true, ], - 'select' => [ - 'title' => $lang['strselect'], - 'icon' => 'Search', - 'url' => 'tables', + 'select' => [ + 'title' => $lang['strselect'], + 'icon' => 'Search', + 'url' => 'tables', 'urlvars' => ['subject' => 'table', 'table' => Decorator::field('table'), 'action' => 'confselectrows'], - 'help' => 'pg.sql.select', + 'help' => 'pg.sql.select', ], - 'insert' => [ - 'title' => $lang['strinsert'], - 'url' => 'tables', + 'insert' => [ + 'title' => $lang['strinsert'], + 'url' => 'tables', 'urlvars' => [ 'action' => 'confinsertrow', - 'table' => Decorator::field('table'), + 'table' => Decorator::field('table'), ], - 'help' => 'pg.sql.insert', - 'icon' => 'Operator', + 'help' => 'pg.sql.insert', + 'icon' => 'Operator', ], - 'indexes' => [ - 'title' => $lang['strindexes'], - 'url' => 'indexes', + 'indexes' => [ + 'title' => $lang['strindexes'], + 'url' => 'indexes', 'urlvars' => ['subject' => 'table', 'table' => Decorator::field('table')], - 'help' => 'pg.index', - 'icon' => 'Indexes', - 'branch' => true, + 'help' => 'pg.index', + 'icon' => 'Indexes', + 'branch' => true, ], 'constraints' => [ - 'title' => $lang['strconstraints'], - 'url' => 'constraints', + 'title' => $lang['strconstraints'], + 'url' => 'constraints', 'urlvars' => ['subject' => 'table', 'table' => Decorator::field('table')], - 'help' => 'pg.constraint', - 'icon' => 'Constraints', - 'branch' => true, + 'help' => 'pg.constraint', + 'icon' => 'Constraints', + 'branch' => true, ], - 'triggers' => [ - 'title' => $lang['strtriggers'], - 'url' => 'triggers', + 'triggers' => [ + 'title' => $lang['strtriggers'], + 'url' => 'triggers', 'urlvars' => ['subject' => 'table', 'table' => Decorator::field('table')], - 'help' => 'pg.trigger', - 'icon' => 'Triggers', - 'branch' => true, + 'help' => 'pg.trigger', + 'icon' => 'Triggers', + 'branch' => true, ], - 'rules' => [ - 'title' => $lang['strrules'], - 'url' => 'rules', + 'rules' => [ + 'title' => $lang['strrules'], + 'url' => 'rules', 'urlvars' => ['subject' => 'table', 'table' => Decorator::field('table')], - 'help' => 'pg.rule', - 'icon' => 'Rules', - 'branch' => true, + 'help' => 'pg.rule', + 'icon' => 'Rules', + 'branch' => true, ], - 'admin' => [ - 'title' => $lang['stradmin'], - 'url' => 'tables', + 'admin' => [ + 'title' => $lang['stradmin'], + 'url' => 'tables', 'urlvars' => ['subject' => 'table', 'table' => Decorator::field('table'), 'action' => 'admin'], - 'icon' => 'Admin', + 'icon' => 'Admin', ], - 'info' => [ - 'title' => $lang['strinfo'], - 'url' => 'info', + 'info' => [ + 'title' => $lang['strinfo'], + 'url' => 'info', 'urlvars' => ['subject' => 'table', 'table' => Decorator::field('table')], - 'icon' => 'Statistics', + 'icon' => 'Statistics', ], - 'privileges' => [ - 'title' => $lang['strprivileges'], - 'url' => 'privileges', + 'privileges' => [ + 'title' => $lang['strprivileges'], + 'url' => 'privileges', 'urlvars' => ['subject' => 'table', 'table' => Decorator::field('table')], - 'help' => 'pg.privilege', - 'icon' => 'Privileges', + 'help' => 'pg.privilege', + 'icon' => 'Privileges', ], - 'import' => [ - 'title' => $lang['strimport'], - 'url' => 'tblproperties', + 'import' => [ + 'title' => $lang['strimport'], + 'url' => 'tblproperties', 'urlvars' => ['subject' => 'table', 'table' => Decorator::field('table'), 'action' => 'import'], - 'icon' => 'Import', - 'hide' => false, + 'icon' => 'Import', + 'hide' => false, ], - 'export' => [ - 'title' => $lang['strexport'], - 'url' => 'tblproperties', + 'export' => [ + 'title' => $lang['strexport'], + 'url' => 'tblproperties', 'urlvars' => ['subject' => 'table', 'table' => Decorator::field('table'), 'action' => 'export'], - 'icon' => 'Export', - 'hide' => false, + 'icon' => 'Export', + 'hide' => false, ], ]; } @@ -818,59 +818,59 @@ trait MiscTrait $lang = $this->lang; return [ - 'columns' => [ - 'title' => $lang['strcolumns'], - 'url' => 'viewproperties', + 'columns' => [ + 'title' => $lang['strcolumns'], + 'url' => 'viewproperties', 'urlvars' => ['subject' => 'view', 'view' => Decorator::field('view')], - 'icon' => 'Columns', - 'branch' => true, + 'icon' => 'Columns', + 'branch' => true, ], - 'browse' => [ - 'title' => $lang['strbrowse'], - 'icon' => 'Columns', - 'url' => 'display', + 'browse' => [ + 'title' => $lang['strbrowse'], + 'icon' => 'Columns', + 'url' => 'display', 'urlvars' => [ - 'action' => 'confselectrows', - 'return' => 'schema', + 'action' => 'confselectrows', + 'return' => 'schema', 'subject' => 'view', - 'view' => Decorator::field('view'), + 'view' => Decorator::field('view'), ], - 'branch' => true, + 'branch' => true, ], - 'select' => [ - 'title' => $lang['strselect'], - 'icon' => 'Search', - 'url' => 'views', + 'select' => [ + 'title' => $lang['strselect'], + 'icon' => 'Search', + 'url' => 'views', 'urlvars' => ['action' => 'confselectrows', 'view' => Decorator::field('view')], - 'help' => 'pg.sql.select', + 'help' => 'pg.sql.select', ], 'definition' => [ - 'title' => $lang['strdefinition'], - 'url' => 'viewproperties', + 'title' => $lang['strdefinition'], + 'url' => 'viewproperties', 'urlvars' => ['subject' => 'view', 'view' => Decorator::field('view'), 'action' => 'definition'], - 'icon' => 'Definition', + 'icon' => 'Definition', ], - 'rules' => [ - 'title' => $lang['strrules'], - 'url' => 'rules', + 'rules' => [ + 'title' => $lang['strrules'], + 'url' => 'rules', 'urlvars' => ['subject' => 'view', 'view' => Decorator::field('view')], - 'help' => 'pg.rule', - 'icon' => 'Rules', - 'branch' => true, + 'help' => 'pg.rule', + 'icon' => 'Rules', + 'branch' => true, ], 'privileges' => [ - 'title' => $lang['strprivileges'], - 'url' => 'privileges', + 'title' => $lang['strprivileges'], + 'url' => 'privileges', 'urlvars' => ['subject' => 'view', 'view' => Decorator::field('view')], - 'help' => 'pg.privilege', - 'icon' => 'Privileges', + 'help' => 'pg.privilege', + 'icon' => 'Privileges', ], - 'export' => [ - 'title' => $lang['strexport'], - 'url' => 'viewproperties', + 'export' => [ + 'title' => $lang['strexport'], + 'url' => 'viewproperties', 'urlvars' => ['subject' => 'view', 'view' => Decorator::field('view'), 'action' => 'export'], - 'icon' => 'Export', - 'hide' => false, + 'icon' => 'Export', + 'hide' => false, ], ]; } @@ -880,45 +880,45 @@ trait MiscTrait $lang = $this->lang; return [ - 'columns' => [ - 'title' => $lang['strcolumns'], - 'url' => 'materializedviewproperties', + 'columns' => [ + 'title' => $lang['strcolumns'], + 'url' => 'materializedviewproperties', 'urlvars' => ['subject' => 'matview', 'matview' => Decorator::field('matview')], - 'icon' => 'Columns', - 'branch' => true, + 'icon' => 'Columns', + 'branch' => true, ], - 'browse' => [ - 'title' => $lang['strbrowse'], - 'icon' => 'Columns', - 'url' => 'display', + 'browse' => [ + 'title' => $lang['strbrowse'], + 'icon' => 'Columns', + 'url' => 'display', 'urlvars' => [ - 'action' => 'confselectrows', - 'return' => 'schema', + 'action' => 'confselectrows', + 'return' => 'schema', 'subject' => 'matview', 'matview' => Decorator::field('matview'), ], - 'branch' => true, + 'branch' => true, ], - 'select' => [ - 'title' => $lang['strselect'], - 'icon' => 'Search', - 'url' => 'materializedviews', + 'select' => [ + 'title' => $lang['strselect'], + 'icon' => 'Search', + 'url' => 'materializedviews', 'urlvars' => ['action' => 'confselectrows', 'matview' => Decorator::field('matview')], - 'help' => 'pg.sql.select', + 'help' => 'pg.sql.select', ], 'definition' => [ - 'title' => $lang['strdefinition'], - 'url' => 'materializedviewproperties', + 'title' => $lang['strdefinition'], + 'url' => 'materializedviewproperties', 'urlvars' => ['subject' => 'matview', 'matview' => Decorator::field('matview'), 'action' => 'definition'], - 'icon' => 'Definition', + 'icon' => 'Definition', ], - 'indexes' => [ - 'title' => $lang['strindexes'], - 'url' => 'indexes', + 'indexes' => [ + 'title' => $lang['strindexes'], + 'url' => 'indexes', 'urlvars' => ['subject' => 'matview', 'matview' => Decorator::field('matview')], - 'help' => 'pg.index', - 'icon' => 'Indexes', - 'branch' => true, + 'help' => 'pg.index', + 'icon' => 'Indexes', + 'branch' => true, ], /*'constraints' => [ 'title' => $lang['strconstraints'], @@ -929,27 +929,27 @@ trait MiscTrait 'branch' => true, */ - 'rules' => [ - 'title' => $lang['strrules'], - 'url' => 'rules', + 'rules' => [ + 'title' => $lang['strrules'], + 'url' => 'rules', 'urlvars' => ['subject' => 'matview', 'matview' => Decorator::field('matview')], - 'help' => 'pg.rule', - 'icon' => 'Rules', - 'branch' => true, + 'help' => 'pg.rule', + 'icon' => 'Rules', + 'branch' => true, ], 'privileges' => [ - 'title' => $lang['strprivileges'], - 'url' => 'privileges', + 'title' => $lang['strprivileges'], + 'url' => 'privileges', 'urlvars' => ['subject' => 'matview', 'matview' => Decorator::field('matview')], - 'help' => 'pg.privilege', - 'icon' => 'Privileges', + 'help' => 'pg.privilege', + 'icon' => 'Privileges', ], - 'export' => [ - 'title' => $lang['strexport'], - 'url' => 'materializedviewproperties', + 'export' => [ + 'title' => $lang['strexport'], + 'url' => 'materializedviewproperties', 'urlvars' => ['subject' => 'matview', 'matview' => Decorator::field('matview'), 'action' => 'export'], - 'icon' => 'Export', - 'hide' => false, + 'icon' => 'Export', + 'hide' => false, ], ]; } @@ -960,36 +960,36 @@ trait MiscTrait return [ 'definition' => [ - 'title' => $lang['strdefinition'], - 'url' => 'functions', + 'title' => $lang['strdefinition'], + 'url' => 'functions', 'urlvars' => [ - 'subject' => 'function', - 'function' => Decorator::field('function'), + 'subject' => 'function', + 'function' => Decorator::field('function'), 'function_oid' => Decorator::field('function_oid'), - 'action' => 'properties', + 'action' => 'properties', ], - 'icon' => 'Definition', + 'icon' => 'Definition', ], 'privileges' => [ - 'title' => $lang['strprivileges'], - 'url' => 'privileges', + 'title' => $lang['strprivileges'], + 'url' => 'privileges', 'urlvars' => [ - 'subject' => 'function', - 'function' => Decorator::field('function'), + 'subject' => 'function', + 'function' => Decorator::field('function'), 'function_oid' => Decorator::field('function_oid'), ], - 'icon' => 'Privileges', + 'icon' => 'Privileges', ], - 'show' => [ - 'title' => $lang['strshow'] . ' ' . $lang['strdefinition'], - 'url' => 'functions', + 'show' => [ + 'title' => $lang['strshow'] . ' ' . $lang['strdefinition'], + 'url' => 'functions', 'urlvars' => [ - 'subject' => 'function', - 'function' => Decorator::field('function'), + 'subject' => 'function', + 'function' => Decorator::field('function'), 'function_oid' => Decorator::field('function_oid'), - 'action' => 'show', + 'action' => 'show', ], - 'icon' => 'Search', + 'icon' => 'Search', ], ]; } @@ -1000,15 +1000,15 @@ trait MiscTrait return [ 'definition' => [ - 'title' => $lang['strdefinition'], - 'url' => 'aggregates', + 'title' => $lang['strdefinition'], + 'url' => 'aggregates', 'urlvars' => [ - 'subject' => 'aggregate', + 'subject' => 'aggregate', 'aggrname' => Decorator::field('aggrname'), 'aggrtype' => Decorator::field('aggrtype'), - 'action' => 'properties', + 'action' => 'properties', ], - 'icon' => 'Definition', + 'icon' => 'Definition', ], ]; } @@ -1019,14 +1019,14 @@ trait MiscTrait return [ 'definition' => [ - 'title' => $lang['strdefinition'], - 'url' => 'roles', + 'title' => $lang['strdefinition'], + 'url' => 'roles', 'urlvars' => [ - 'subject' => 'role', + 'subject' => 'role', 'rolename' => Decorator::field('rolename'), - 'action' => 'properties', + 'action' => 'properties', ], - 'icon' => 'Definition', + 'icon' => 'Definition', ], ]; } @@ -1036,18 +1036,18 @@ trait MiscTrait $lang = $this->lang; return [ - 'sql' => [ - 'title' => $lang['strsql'], - 'url' => \SUBFOLDER . '/src/views/sqledit', + 'sql' => [ + 'title' => $lang['strsql'], + 'url' => self::SUBFOLDER . '/src/views/sqledit', 'urlvars' => ['action' => 'sql', 'subject' => 'schema'], - 'help' => 'pg.sql', - 'icon' => 'SqlEditor', + 'help' => 'pg.sql', + 'icon' => 'SqlEditor', ], 'find' => [ - 'title' => $lang['strfind'], - 'url' => \SUBFOLDER . '/src/views/sqledit', + 'title' => $lang['strfind'], + 'url' => self::SUBFOLDER . '/src/views/sqledit', 'urlvars' => ['action' => 'find', 'subject' => 'schema'], - 'icon' => 'Search', + 'icon' => 'Search', ], ]; } @@ -1057,27 +1057,27 @@ trait MiscTrait $lang = $this->lang; $tabs = [ 'properties' => [ - 'title' => $lang['strcolprop'], - 'url' => 'colproperties', + 'title' => $lang['strcolprop'], + 'url' => 'colproperties', 'urlvars' => [ 'subject' => 'column', - 'table' => Decorator::field('table'), - 'view' => Decorator::field('view'), - 'column' => Decorator::field('column'), + 'table' => Decorator::field('table'), + 'view' => Decorator::field('view'), + 'column' => Decorator::field('column'), ], - 'icon' => 'Column', + 'icon' => 'Column', ], 'privileges' => [ - 'title' => $lang['strprivileges'], - 'url' => 'privileges', + 'title' => $lang['strprivileges'], + 'url' => 'privileges', 'urlvars' => [ 'subject' => 'column', - 'table' => Decorator::field('table'), - 'view' => Decorator::field('view'), - 'column' => Decorator::field('column'), + 'table' => Decorator::field('table'), + 'view' => Decorator::field('view'), + 'column' => Decorator::field('column'), ], - 'help' => 'pg.privilege', - 'icon' => 'Privileges', + 'help' => 'pg.privilege', + 'icon' => 'Privileges', ], ]; @@ -1098,31 +1098,31 @@ trait MiscTrait return [ 'ftsconfigs' => [ - 'title' => $lang['strftstabconfigs'], - 'url' => 'fulltext', + 'title' => $lang['strftstabconfigs'], + 'url' => 'fulltext', 'urlvars' => ['subject' => 'schema'], - 'hide' => !$data->hasFTS(), - 'help' => 'pg.ftscfg', - 'tree' => true, - 'icon' => 'FtsCfg', - ], - 'ftsdicts' => [ - 'title' => $lang['strftstabdicts'], - 'url' => 'fulltext', + 'hide' => !$data->hasFTS(), + 'help' => 'pg.ftscfg', + 'tree' => true, + 'icon' => 'FtsCfg', + ], + 'ftsdicts' => [ + 'title' => $lang['strftstabdicts'], + 'url' => 'fulltext', 'urlvars' => ['subject' => 'schema', 'action' => 'viewdicts'], - 'hide' => !$data->hasFTS(), - 'help' => 'pg.ftsdict', - 'tree' => true, - 'icon' => 'FtsDict', + 'hide' => !$data->hasFTS(), + 'help' => 'pg.ftsdict', + 'tree' => true, + 'icon' => 'FtsDict', ], 'ftsparsers' => [ - 'title' => $lang['strftstabparsers'], - 'url' => 'fulltext', + 'title' => $lang['strftstabparsers'], + 'url' => 'fulltext', 'urlvars' => ['subject' => 'schema', 'action' => 'viewparsers'], - 'hide' => !$data->hasFTS(), - 'help' => 'pg.ftsparser', - 'tree' => true, - 'icon' => 'FtsParser', + 'hide' => !$data->hasFTS(), + 'help' => 'pg.ftsparser', + 'tree' => true, + 'icon' => 'FtsParser', ], ]; } @@ -1140,7 +1140,7 @@ trait MiscTrait $lang = $this->lang; $hide_advanced = (false === $this->conf['show_advanced']); - $tabs = []; + $tabs = []; switch ($section) { case 'root':$tabs = $this->getTabsRoot($data); @@ -1186,7 +1186,7 @@ trait MiscTrait // Tabs hook's place $plugin_functions_parameters = [ - 'tabs' => &$tabs, + 'tabs' => &$tabs, 'section' => $section, ]; diff --git a/src/traits/ViewsMatviewsTrait.php b/src/traits/ViewsMatviewsTrait.php index 34b28a10..4c401302 100644 --- a/src/traits/ViewsMatviewsTrait.php +++ b/src/traits/ViewsMatviewsTrait.php @@ -21,13 +21,13 @@ trait ViewsMatviewsTrait public function doSubTree() { - $tabs = $this->misc->getNavTabs($this->keystring); - $items = $this->adjustTabsForTree($tabs); + $tabs = $this->misc->getNavTabs($this->keystring); + $items = $this->adjustTabsForTree($tabs); $reqvars = $this->misc->getRequestVars($this->keystring); $attrs = [ - 'text' => Decorator::field('title'), - 'icon' => Decorator::field('icon'), + 'text' => Decorator::field('title'), + 'icon' => Decorator::field('icon'), 'action' => Decorator::actionurl(Decorator::field('url'), $reqvars, Decorator::field('urlvars'), [$this->keystring => $_REQUEST[$this->keystring]]), 'branch' => Decorator::ifempty( Decorator::field('branch'), @@ -37,7 +37,7 @@ trait ViewsMatviewsTrait Decorator::field('urlvars'), $reqvars, [ - 'action' => 'tree', + 'action' => 'tree', $this->keystring => $_REQUEST[$this->keystring], ] ) @@ -64,7 +64,7 @@ trait ViewsMatviewsTrait $attrs = $data->getTableAttributes($_REQUEST[$this->keystring]); - echo '<form action="' . \SUBFOLDER . '/src/views/' . $this->script . '" method="post" id="selectform">'; + echo '<form action="' . self::SUBFOLDER . '/src/views/' . $this->script . '" method="post" id="selectform">'; echo \PHP_EOL; if (0 < $attrs->recordCount()) { @@ -165,7 +165,7 @@ trait ViewsMatviewsTrait // Generate query SQL $query = $data->getSelectSQL($_REQUEST[$this->keystring], \array_keys($_POST['show']), $_POST['values'], $_POST['ops']); - $_REQUEST['query'] = $query; + $_REQUEST['query'] = $query; $_REQUEST['return'] = 'schema'; $this->setNoOutput(true); @@ -184,7 +184,7 @@ trait ViewsMatviewsTrait $tables = $data->getAllTables(); - echo '<form action="' . \SUBFOLDER . "/src/views/{$this->script}\" method=\"post\">" . \PHP_EOL; + echo '<form action="' . self::SUBFOLDER . "/src/views/{$this->script}\" method=\"post\">" . \PHP_EOL; echo '<table>' . \PHP_EOL; echo "<tr><th class=\"data\">{$this->lang['strtables']}</th></tr>"; echo "<tr>\n<td class=\"data1\">" . \PHP_EOL; @@ -192,10 +192,10 @@ trait ViewsMatviewsTrait $arrTables = []; while (!$tables->EOF) { - $arrTmp = []; - $arrTmp['schemaname'] = $tables->fields['nspname']; - $arrTmp['tablename'] = $tables->fields['relname']; - $schema_and_name = $tables->fields['nspname'] . '.' . $tables->fields['relname']; + $arrTmp = []; + $arrTmp['schemaname'] = $tables->fields['nspname']; + $arrTmp['tablename'] = $tables->fields['relname']; + $schema_and_name = $tables->fields['nspname'] . '.' . $tables->fields['relname']; $arrTables[$schema_and_name] = \serialize($arrTmp); $tables->moveNext(); } @@ -243,8 +243,8 @@ trait ViewsMatviewsTrait $selFields = \mb_substr($selFields, 0, -2); unset($arrTmp, $tmpHsh); - $linkFields = ''; - $arrJoined = []; + $linkFields = ''; + $arrJoined = []; $arrUsedTbls = []; [$arrLinks, $count] = $this->_getArrLinks(); @@ -255,7 +255,7 @@ trait ViewsMatviewsTrait while ($j < $count) { foreach ($arrLinks as $curLink) { - $arrLeftLink = \unserialize($curLink['leftlink']); + $arrLeftLink = \unserialize($curLink['leftlink']); $arrRightLink = \unserialize($curLink['rightlink']); $data->fieldArrayClean($arrLeftLink); $data->fieldArrayClean($arrRightLink); @@ -337,7 +337,7 @@ trait ViewsMatviewsTrait { $data = $this->misc->getDatabaseAccessor(); - $tblCount = \count($_POST['formTables']); + $tblCount = \count($_POST['formTables']); $arrSelTables = []; //unserialize our schema/table information and store in arrSelTables for ($i = 0; $i < $tblCount; ++$i) { @@ -346,7 +346,7 @@ trait ViewsMatviewsTrait //get linking keys $rsLinkKeys = $data->getLinkingKeys($arrSelTables); - $linkCount = $rsLinkKeys->recordCount() > $tblCount ? $rsLinkKeys->recordCount() : $tblCount; + $linkCount = $rsLinkKeys->recordCount() > $tblCount ? $rsLinkKeys->recordCount() : $tblCount; $arrFields = []; //array that will hold all our table/field names @@ -365,8 +365,8 @@ trait ViewsMatviewsTrait $arrFields["{$arrSelTables[$i]['schemaname']}.{$arrSelTables[$i]['tablename']}.{$attrs->fields['attname']}"] = \serialize( [ 'schemaname' => $arrSelTables[$i]['schemaname'], - 'tablename' => $arrSelTables[$i]['tablename'], - 'fieldname' => $attrs->fields['attname'], ] + 'tablename' => $arrSelTables[$i]['tablename'], + 'fieldname' => $attrs->fields['attname']] ); $attrs->moveNext(); } @@ -375,7 +375,7 @@ trait ViewsMatviewsTrait } \asort($arrFields); - echo '<form action="' . \SUBFOLDER . '/src/views/materializedviews" method="post">' . \PHP_EOL; + echo '<form action="' . self::SUBFOLDER . '/src/views/materializedviews" method="post">' . \PHP_EOL; echo '<table>' . \PHP_EOL; echo "<tr><th class=\"data\">{$this->lang['strviewname']}</th></tr>"; echo "<tr>\n<td class=\"data1\">" . \PHP_EOL; @@ -414,11 +414,11 @@ trait ViewsMatviewsTrait echo "<tr>\n<td class=\"{$rowClass}\">" . \PHP_EOL; if (!$rsLinkKeys->EOF) { - $curLeftLink = \htmlspecialchars(\serialize(['schemaname' => $rsLinkKeys->fields['p_schema'], 'tablename' => $rsLinkKeys->fields['p_table'], 'fieldname' => $rsLinkKeys->fields['p_field']])); + $curLeftLink = \htmlspecialchars(\serialize(['schemaname' => $rsLinkKeys->fields['p_schema'], 'tablename' => $rsLinkKeys->fields['p_table'], 'fieldname' => $rsLinkKeys->fields['p_field']])); $curRightLink = \htmlspecialchars(\serialize(['schemaname' => $rsLinkKeys->fields['f_schema'], 'tablename' => $rsLinkKeys->fields['f_table'], 'fieldname' => $rsLinkKeys->fields['f_field']])); $rsLinkKeys->moveNext(); } else { - $curLeftLink = ''; + $curLeftLink = ''; $curRightLink = ''; } @@ -499,7 +499,7 @@ trait ViewsMatviewsTrait private function _getArrLinks() { $arrLinks = []; - $count = 0; + $count = 0; // If we have links, out put the JOIN ... ON statements if (\is_array($_POST['formLink'])) { // Filter out invalid/blank entries for our links diff --git a/src/xhtml/HTMLController.php b/src/xhtml/HTMLController.php index b1b1575e..1af9c32a 100644 --- a/src/xhtml/HTMLController.php +++ b/src/xhtml/HTMLController.php @@ -6,15 +6,9 @@ namespace PHPPgAdmin\XHtml; +use PHPPgAdmin\ContainerUtils; use PHPPgAdmin\Decorators\Decorator; -\defined('BASE_PATH') || \define('BASE_PATH', \dirname(__DIR__, 2)); -\defined('SUBFOLDER') || \define( - 'SUBFOLDER', - \str_replace($_SERVER['DOCUMENT_ROOT'] ?? '', '', BASE_PATH) -); -\defined('DEBUGMODE') || \define('DEBUGMODE', false); - /** * Base HTMLController controller class. */ @@ -24,15 +18,15 @@ class HTMLController /** * @var string */ - const BASE_PATH = BASE_PATH; + const BASE_PATH = ContainerUtils::BASE_PATH; /** * @var string */ - const SUBFOLDER = SUBFOLDER; + const SUBFOLDER = ContainerUtils::SUBFOLDER; /** * @var string */ - const DEBUGMODE = DEBUGMODE; + const DEBUGMODE = ContainerUtils::DEBUGMODE; public $form = ''; @@ -66,16 +60,16 @@ class HTMLController public function __construct(\Slim\Container $container, $controller_name = null) { $this->container = $container; - $this->lang = $container->get('lang'); - $this->view = $container->get('view'); + $this->lang = $container->get('lang'); + $this->view = $container->get('view'); - $this->appName = $container->get('settings')['appName']; - $this->appVersion = $container->get('settings')['appVersion']; + $this->appName = $container->get('settings')['appName']; + $this->appVersion = $container->get('settings')['appVersion']; $this->appLangFiles = $container->get('appLangFiles'); - $this->misc = $container->get('misc'); - $this->conf = $this->misc->getConf(); - $this->appThemes = $container->get('appThemes'); - $this->action = $container->get('action'); + $this->misc = $container->get('misc'); + $this->conf = $this->misc->getConf(); + $this->appThemes = $container->get('appThemes'); + $this->action = $container->get('action'); if (null !== $controller_name) { $this->controller_name = $controller_name; @@ -110,7 +104,7 @@ class HTMLController $link['fields'] = $_REQUEST; } $from = $from ? $from : __METHOD__; - $tag = '<a '; + $tag = '<a '; foreach ($link['attr'] as $attr => $value) { if ('href' === $attr && \is_array($value)) { @@ -145,15 +139,32 @@ class HTMLController * @internal param $ (optional) $bMultiple bool to specify whether or not we want a multi select combo box * @internal param $ (optional) $iSize int to specify the size IF a multi select combo */ - public static function printCombo(&$arrOptions, $szName, $bBlankEntry = true, $szDefault = '', $bMultiple = false, $iSize = 10) - { + public static function printCombo( + &$arrOptions, + $szName, + $bBlankEntry = true, + $szDefault = '', + $bMultiple = false, + $iSize = 10 + ) { $htmlOut = ''; if ($bMultiple) { // If multiple select combo - $htmlOut .= "<select rel=\"printCombo\" name=\"{$szName}\" id=\"{$szName}\" multiple=\"multiple\" size=\"{$iSize}\">" . \PHP_EOL; + $htmlOut .= sprintf( + '<select rel="printCombo" name="%s" id="%s" multiple="multiple" size="%s">', + $szName, + $szName, + $iSize + ) + . \PHP_EOL; } else { - $htmlOut .= "<select rel=\"printCombo\" name=\"{$szName}\" id=\"{$szName}\" class=\"select2\" >" . \PHP_EOL; + $htmlOut .= sprintf( + '<select rel="printCombo" name="%s" id="%s" class="select2" >', + $szName, + $szName + ) + . \PHP_EOL; } if ($bBlankEntry) { @@ -204,9 +215,9 @@ class HTMLController $subject = ''; } - $server = $this->container->server; + $server = $this->container->server; $database = $this->container->database; - $schema = $this->container->schema; + $schema = $this->container->schema; /* $server = $this->container->has('server') ? $this->container->server : $_REQUEST['server']; diff --git a/src/xhtml/HTMLNavbarController.php b/src/xhtml/HTMLNavbarController.php index 289647e5..2e9e4846 100644 --- a/src/xhtml/HTMLNavbarController.php +++ b/src/xhtml/HTMLNavbarController.php @@ -225,7 +225,7 @@ class HTMLNavbarController extends HTMLController 'sql' => [ 'attr' => [ 'href' => [ - 'url' => SUBFOLDER . '/src/views/sqledit', + 'url' => self::SUBFOLDER . '/src/views/sqledit', 'urlvars' => \array_merge($reqvars, [ 'action' => 'sql', ]), @@ -239,7 +239,7 @@ class HTMLNavbarController extends HTMLController 'history' => [ 'attr' => [ 'href' => [ - 'url' => SUBFOLDER . '/src/views/history', + 'url' => self::SUBFOLDER . '/src/views/history', 'urlvars' => \array_merge($reqvars, [ 'action' => 'pophistory', ]), @@ -252,7 +252,7 @@ class HTMLNavbarController extends HTMLController 'find' => [ 'attr' => [ 'href' => [ - 'url' => SUBFOLDER . '/src/views/sqledit', + 'url' => self::SUBFOLDER . '/src/views/sqledit', 'urlvars' => \array_merge($reqvars, [ 'action' => 'find', ]), @@ -266,7 +266,7 @@ class HTMLNavbarController extends HTMLController 'logout' => [ 'attr' => [ 'href' => [ - 'url' => SUBFOLDER . '/src/views/servers', + 'url' => self::SUBFOLDER . '/src/views/servers', 'urlvars' => [ 'action' => 'logout', 'logoutServer' => \sha1("{$server_info['host']}:{$server_info['port']}:{$server_info['sslmode']}"), @@ -326,7 +326,7 @@ class HTMLNavbarController extends HTMLController $trail['root'] = [ 'text' => $appName, - 'url' => SUBFOLDER . '/src/views/servers', + 'url' => self::SUBFOLDER . '/src/views/servers', 'icon' => 'Introduction', ]; diff --git a/src/xhtml/XHtmlSimpleElement.php b/src/xhtml/XHtmlSimpleElement.php index c0919004..d8803fc7 100644 --- a/src/xhtml/XHtmlSimpleElement.php +++ b/src/xhtml/XHtmlSimpleElement.php @@ -6,12 +6,7 @@ namespace PHPPgAdmin\XHtml; -\defined('BASE_PATH') || \define('BASE_PATH', \dirname(__DIR__, 2)); -\defined('SUBFOLDER') || \define( - 'SUBFOLDER', - \str_replace($_SERVER['DOCUMENT_ROOT'] ?? '', '', BASE_PATH) -); -\defined('DEBUGMODE') || \define('DEBUGMODE', false); +use PHPPgAdmin\ContainerUtils; /** * XHtmlSimpleElement. @@ -27,15 +22,15 @@ class XHtmlSimpleElement /** * @var string */ - const BASE_PATH = BASE_PATH; + const BASE_PATH = ContainerUtils::BASE_PATH; /** * @var string */ - const SUBFOLDER = SUBFOLDER; + const SUBFOLDER = ContainerUtils::SUBFOLDER; /** * @var string */ - const DEBUGMODE = DEBUGMODE; + const DEBUGMODE = ContainerUtils::DEBUGMODE; public $_element; diff --git a/tests/_support/Helper/Unit.php b/tests/_support/Helper/Unit.php index a72c96d7..d18682ee 100644 --- a/tests/_support/Helper/Unit.php +++ b/tests/_support/Helper/Unit.php @@ -9,12 +9,6 @@ namespace Helper; use PHPPgAdmin\ContainerUtils; -defined('BASE_PATH') || define('BASE_PATH', dirname(dirname(dirname(__DIR__)))); -defined('SUBFOLDER') || define( - 'SUBFOLDER', - str_replace($_SERVER['DOCUMENT_ROOT'] ?? '', '', BASE_PATH) -); -defined('DEBUGMODE') || define('DEBUGMODE', false); if (!is_readable(BASE_PATH . '/src/lib.inc.php')) { die('lib.inc.php is not readable'); } @@ -25,11 +19,11 @@ defined('IN_TEST') || define('IN_TEST', true); class Unit extends \Codeception\Module { /** @var string */ - const BASE_PATH = BASE_PATH; + const BASE_PATH = ContainerUtils::BASE_PATH; /** @var string */ - const SUBFOLDER = SUBFOLDER; + const SUBFOLDER = ContainerUtils::SUBFOLDER; /** @var string */ - const DEBUGMODE = DEBUGMODE; + const DEBUGMODE = ContainerUtils::DEBUGMODE; /** * @var \PHPPgAdmin */ diff --git a/tests/unit/ViewTest.php b/tests/unit/ViewTest.php index 651237a9..5099e6dd 100644 --- a/tests/unit/ViewTest.php +++ b/tests/unit/ViewTest.php @@ -7,6 +7,7 @@ class ViewTest extends \Codeception\Test\Unit { + const BASE_PATH = \Codeception\Util::BASE_PATH; /** * @var \UnitTester */ @@ -31,7 +32,7 @@ class ViewTest extends \Codeception\Test\Unit public function testAcinsertView() { $_container = $this->container; - require BASE_PATH . '/tests/views/acinsert.php'; + require self::BASE_PATH . '/tests/views/acinsert.php'; $controller = acinsertFactory($_container); $this->assertSame($controller->controller_name, 'AcinsertController', 'controller name should be AcinsertController'); } @@ -39,7 +40,7 @@ class ViewTest extends \Codeception\Test\Unit public function testAggregatesView() { $_container = $this->container; - require BASE_PATH . '/tests/views/aggregates.php'; + require self::BASE_PATH . '/tests/views/aggregates.php'; $controller = aggregatesFactory($_container); $this->assertSame($controller->controller_name, 'AggregatesController', 'controller name should be AggregatesController'); } @@ -47,7 +48,7 @@ class ViewTest extends \Codeception\Test\Unit public function testAlldbView() { $_container = $this->container; - require BASE_PATH . '/tests/views/alldb.php'; + require self::BASE_PATH . '/tests/views/alldb.php'; $controller = alldbFactory($_container); $this->assertSame($controller->controller_name, 'AlldbController', 'controller name should be AlldbController'); } @@ -55,7 +56,7 @@ class ViewTest extends \Codeception\Test\Unit public function testBrowserView() { $_container = $this->container; - require BASE_PATH . '/tests/views/browser.php'; + require self::BASE_PATH . '/tests/views/browser.php'; $controller = browserFactory($_container); $this->assertSame($controller->controller_name, 'BrowserController', 'controller name should be BrowserController'); } @@ -63,7 +64,7 @@ class ViewTest extends \Codeception\Test\Unit public function testCastsView() { $_container = $this->container; - require BASE_PATH . '/tests/views/casts.php'; + require self::BASE_PATH . '/tests/views/casts.php'; $controller = castsFactory($_container); $this->assertSame($controller->controller_name, 'CastsController', 'controller name should be CastsController'); } @@ -71,7 +72,7 @@ class ViewTest extends \Codeception\Test\Unit public function testColpropertiesView() { $_container = $this->container; - require BASE_PATH . '/tests/views/colproperties.php'; + require self::BASE_PATH . '/tests/views/colproperties.php'; $controller = colpropertiesFactory($_container); $this->assertSame($controller->controller_name, 'ColpropertiesController', 'controller name should be ColpropertiesController'); } @@ -79,7 +80,7 @@ class ViewTest extends \Codeception\Test\Unit public function testConstraintsView() { $_container = $this->container; - require BASE_PATH . '/tests/views/constraints.php'; + require self::BASE_PATH . '/tests/views/constraints.php'; $controller = constraintsFactory($_container); $this->assertSame($controller->controller_name, 'ConstraintsController', 'controller name should be ConstraintsController'); } @@ -87,7 +88,7 @@ class ViewTest extends \Codeception\Test\Unit public function testConversionsView() { $_container = $this->container; - require BASE_PATH . '/tests/views/conversions.php'; + require self::BASE_PATH . '/tests/views/conversions.php'; $controller = conversionsFactory($_container); $this->assertSame($controller->controller_name, 'ConversionsController', 'controller name should be ConversionsController'); } @@ -95,7 +96,7 @@ class ViewTest extends \Codeception\Test\Unit public function testDatabaseView() { $_container = $this->container; - require BASE_PATH . '/tests/views/database.php'; + require self::BASE_PATH . '/tests/views/database.php'; $controller = databaseFactory($_container); $this->assertSame($controller->controller_name, 'DatabaseController', 'controller name should be DatabaseController'); } @@ -103,7 +104,7 @@ class ViewTest extends \Codeception\Test\Unit public function testDataexportView() { $_container = $this->container; - require BASE_PATH . '/tests/views/dataexport.php'; + require self::BASE_PATH . '/tests/views/dataexport.php'; $controller = dataexportFactory($_container); $this->assertSame($controller->controller_name, 'DataexportController', 'controller name should be DataexportController'); } @@ -111,7 +112,7 @@ class ViewTest extends \Codeception\Test\Unit public function testDataimportView() { $_container = $this->container; - require BASE_PATH . '/tests/views/dataimport.php'; + require self::BASE_PATH . '/tests/views/dataimport.php'; $controller = dataimportFactory($_container); $this->assertSame($controller->controller_name, 'DataimportController', 'controller name should be DataimportController'); } @@ -119,7 +120,7 @@ class ViewTest extends \Codeception\Test\Unit public function testDbexportView() { $_container = $this->container; - require BASE_PATH . '/tests/views/dbexport.php'; + require self::BASE_PATH . '/tests/views/dbexport.php'; $controller = dbexportFactory($_container); $this->assertSame($controller->controller_name, 'DbexportController', 'controller name should be DbexportController'); } @@ -127,7 +128,7 @@ class ViewTest extends \Codeception\Test\Unit public function testDisplayView() { $_container = $this->container; - require BASE_PATH . '/tests/views/display.php'; + require self::BASE_PATH . '/tests/views/display.php'; $controller = displayFactory($_container); $this->assertSame($controller->controller_name, 'DisplayController', 'controller name should be DisplayController'); } @@ -135,7 +136,7 @@ class ViewTest extends \Codeception\Test\Unit public function testDomainsView() { $_container = $this->container; - require BASE_PATH . '/tests/views/domains.php'; + require self::BASE_PATH . '/tests/views/domains.php'; $controller = domainsFactory($_container); $this->assertSame($controller->controller_name, 'DomainsController', 'controller name should be DomainsController'); } @@ -143,7 +144,7 @@ class ViewTest extends \Codeception\Test\Unit public function testFulltextView() { $_container = $this->container; - require BASE_PATH . '/tests/views/fulltext.php'; + require self::BASE_PATH . '/tests/views/fulltext.php'; $controller = fulltextFactory($_container); $this->assertSame($controller->controller_name, 'FulltextController', 'controller name should be FulltextController'); } @@ -151,7 +152,7 @@ class ViewTest extends \Codeception\Test\Unit public function testFunctionsView() { $_container = $this->container; - require BASE_PATH . '/tests/views/functions.php'; + require self::BASE_PATH . '/tests/views/functions.php'; $controller = functionsFactory($_container); $this->assertSame($controller->controller_name, 'FunctionsController', 'controller name should be FunctionsController'); } @@ -159,7 +160,7 @@ class ViewTest extends \Codeception\Test\Unit public function testGroupsView() { $_container = $this->container; - require BASE_PATH . '/tests/views/groups.php'; + require self::BASE_PATH . '/tests/views/groups.php'; $controller = groupsFactory($_container); $this->assertSame($controller->controller_name, 'GroupsController', 'controller name should be GroupsController'); } @@ -167,7 +168,7 @@ class ViewTest extends \Codeception\Test\Unit public function testHelpView() { $_container = $this->container; - require BASE_PATH . '/tests/views/help.php'; + require self::BASE_PATH . '/tests/views/help.php'; $controller = helpFactory($_container); $this->assertSame($controller->controller_name, 'HelpController', 'controller name should be HelpController'); } @@ -175,7 +176,7 @@ class ViewTest extends \Codeception\Test\Unit public function testHistoryView() { $_container = $this->container; - require BASE_PATH . '/tests/views/history.php'; + require self::BASE_PATH . '/tests/views/history.php'; $controller = historyFactory($_container); $this->assertSame($controller->controller_name, 'HistoryController', 'controller name should be HistoryController'); } @@ -183,7 +184,7 @@ class ViewTest extends \Codeception\Test\Unit public function testIndexesView() { $_container = $this->container; - require BASE_PATH . '/tests/views/indexes.php'; + require self::BASE_PATH . '/tests/views/indexes.php'; $controller = indexesFactory($_container); $this->assertSame($controller->controller_name, 'IndexesController', 'controller name should be IndexesController'); } @@ -191,7 +192,7 @@ class ViewTest extends \Codeception\Test\Unit public function testInfoView() { $_container = $this->container; - require BASE_PATH . '/tests/views/info.php'; + require self::BASE_PATH . '/tests/views/info.php'; $controller = infoFactory($_container); $this->assertSame($controller->controller_name, 'InfoController', 'controller name should be InfoController'); } @@ -199,7 +200,7 @@ class ViewTest extends \Codeception\Test\Unit public function testIntroView() { $_container = $this->container; - require BASE_PATH . '/tests/views/intro.php'; + require self::BASE_PATH . '/tests/views/intro.php'; $controller = introFactory($_container); $this->assertSame($controller->controller_name, 'IntroController', 'controller name should be IntroController'); } @@ -207,7 +208,7 @@ class ViewTest extends \Codeception\Test\Unit public function testLanguagesView() { $_container = $this->container; - require BASE_PATH . '/tests/views/languages.php'; + require self::BASE_PATH . '/tests/views/languages.php'; $controller = languagesFactory($_container); $this->assertSame($controller->controller_name, 'LanguagesController', 'controller name should be LanguagesController'); } @@ -215,7 +216,7 @@ class ViewTest extends \Codeception\Test\Unit public function testLoginView() { $_container = $this->container; - require BASE_PATH . '/tests/views/login.php'; + require self::BASE_PATH . '/tests/views/login.php'; $controller = loginFactory($_container); $this->assertSame($controller->controller_name, 'LoginController', 'controller name should be LoginController'); } @@ -223,7 +224,7 @@ class ViewTest extends \Codeception\Test\Unit public function testOpclassesView() { $_container = $this->container; - require BASE_PATH . '/tests/views/opclasses.php'; + require self::BASE_PATH . '/tests/views/opclasses.php'; $controller = opclassesFactory($_container); $this->assertSame($controller->controller_name, 'OpclassesController', 'controller name should be OpclassesController'); } @@ -231,7 +232,7 @@ class ViewTest extends \Codeception\Test\Unit public function testOperatorsView() { $_container = $this->container; - require BASE_PATH . '/tests/views/operators.php'; + require self::BASE_PATH . '/tests/views/operators.php'; $controller = operatorsFactory($_container); $this->assertSame($controller->controller_name, 'OperatorsController', 'controller name should be OperatorsController'); } @@ -239,7 +240,7 @@ class ViewTest extends \Codeception\Test\Unit public function testPrivilegesView() { $_container = $this->container; - require BASE_PATH . '/tests/views/privileges.php'; + require self::BASE_PATH . '/tests/views/privileges.php'; $controller = privilegesFactory($_container); $this->assertSame($controller->controller_name, 'PrivilegesController', 'controller name should be PrivilegesController'); } @@ -247,7 +248,7 @@ class ViewTest extends \Codeception\Test\Unit public function testRolesView() { $_container = $this->container; - require BASE_PATH . '/tests/views/roles.php'; + require self::BASE_PATH . '/tests/views/roles.php'; $controller = rolesFactory($_container); $this->assertSame($controller->controller_name, 'RolesController', 'controller name should be RolesController'); } @@ -255,7 +256,7 @@ class ViewTest extends \Codeception\Test\Unit public function testRulesView() { $_container = $this->container; - require BASE_PATH . '/tests/views/rules.php'; + require self::BASE_PATH . '/tests/views/rules.php'; $controller = rulesFactory($_container); $this->assertSame($controller->controller_name, 'RulesController', 'controller name should be RulesController'); } @@ -263,7 +264,7 @@ class ViewTest extends \Codeception\Test\Unit public function testSchemasView() { $_container = $this->container; - require BASE_PATH . '/tests/views/schemas.php'; + require self::BASE_PATH . '/tests/views/schemas.php'; $controller = schemasFactory($_container); $this->assertSame($controller->controller_name, 'SchemasController', 'controller name should be SchemasController'); } @@ -271,7 +272,7 @@ class ViewTest extends \Codeception\Test\Unit public function testSequencesView() { $_container = $this->container; - require BASE_PATH . '/tests/views/sequences.php'; + require self::BASE_PATH . '/tests/views/sequences.php'; $controller = sequencesFactory($_container); $this->assertSame($controller->controller_name, 'SequencesController', 'controller name should be SequencesController'); } @@ -279,7 +280,7 @@ class ViewTest extends \Codeception\Test\Unit public function testServersView() { $_container = $this->container; - require BASE_PATH . '/tests/views/servers.php'; + require self::BASE_PATH . '/tests/views/servers.php'; $controller = serversFactory($_container); $this->assertSame($controller->controller_name, 'ServersController', 'controller name should be ServersController'); } @@ -287,7 +288,7 @@ class ViewTest extends \Codeception\Test\Unit public function testSqleditView() { $_container = $this->container; - require BASE_PATH . '/tests/views/sqledit.php'; + require self::BASE_PATH . '/tests/views/sqledit.php'; $controller = sqleditFactory($_container); $this->assertSame($controller->controller_name, 'SqleditController', 'controller name should be SqleditController'); } @@ -295,7 +296,7 @@ class ViewTest extends \Codeception\Test\Unit public function testSqlView() { $_container = $this->container; - require BASE_PATH . '/tests/views/sql.php'; + require self::BASE_PATH . '/tests/views/sql.php'; $controller = sqlFactory($_container); $this->assertSame($controller->controller_name, 'SqlController', 'controller name should be SqlController'); } @@ -303,7 +304,7 @@ class ViewTest extends \Codeception\Test\Unit public function testTablespacesView() { $_container = $this->container; - require BASE_PATH . '/tests/views/tablespaces.php'; + require self::BASE_PATH . '/tests/views/tablespaces.php'; $controller = tablespacesFactory($_container); $this->assertSame($controller->controller_name, 'TablespacesController', 'controller name should be TablespacesController'); } @@ -311,7 +312,7 @@ class ViewTest extends \Codeception\Test\Unit public function testTriggersView() { $_container = $this->container; - require BASE_PATH . '/tests/views/triggers.php'; + require self::BASE_PATH . '/tests/views/triggers.php'; $controller = triggersFactory($_container); $this->assertSame($controller->controller_name, 'TriggersController', 'controller name should be TriggersController'); } @@ -319,7 +320,7 @@ class ViewTest extends \Codeception\Test\Unit public function testTypesView() { $_container = $this->container; - require BASE_PATH . '/tests/views/types.php'; + require self::BASE_PATH . '/tests/views/types.php'; $controller = typesFactory($_container); $this->assertSame($controller->controller_name, 'TypesController', 'controller name should be TypesController'); } @@ -327,7 +328,7 @@ class ViewTest extends \Codeception\Test\Unit public function testUsersView() { $_container = $this->container; - require BASE_PATH . '/tests/views/users.php'; + require self::BASE_PATH . '/tests/views/users.php'; $controller = usersFactory($_container); $this->assertSame($controller->controller_name, 'UsersController', 'controller name should be UsersController'); } |