mirror of
https://github.com/Combodo/iTop.git
synced 2026-02-13 07:24:13 +01:00
Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts: # application/displayblock.class.inc.php # application/ui.extkeywidget.class.inc.php # application/utils.inc.php # approot.inc.php # core/config.class.inc.php # css/css-variables.scss # datamodels/2.x/authent-cas/module.authent-cas.php # datamodels/2.x/authent-external/module.authent-external.php # datamodels/2.x/authent-ldap/module.authent-ldap.php # datamodels/2.x/authent-local/module.authent-local.php # datamodels/2.x/combodo-db-tools/module.combodo-db-tools.php # datamodels/2.x/itop-attachments/module.itop-attachments.php # datamodels/2.x/itop-backup/module.itop-backup.php # datamodels/2.x/itop-bridge-virtualization-storage/module.itop-bridge-virtualization-storage.php # datamodels/2.x/itop-change-mgmt-itil/module.itop-change-mgmt-itil.php # datamodels/2.x/itop-change-mgmt/module.itop-change-mgmt.php # datamodels/2.x/itop-config-mgmt/module.itop-config-mgmt.php # datamodels/2.x/itop-config/module.itop-config.php # datamodels/2.x/itop-core-update/module.itop-core-update.php # datamodels/2.x/itop-datacenter-mgmt/module.itop-datacenter-mgmt.php # datamodels/2.x/itop-endusers-devices/module.itop-endusers-devices.php # datamodels/2.x/itop-files-information/module.itop-files-information.php # datamodels/2.x/itop-full-itil/module.itop-full-itil.php # datamodels/2.x/itop-hub-connector/module.itop-hub-connector.php # datamodels/2.x/itop-incident-mgmt-itil/module.itop-incident-mgmt-itil.php # datamodels/2.x/itop-knownerror-mgmt/module.itop-knownerror-mgmt.php # datamodels/2.x/itop-portal-base/module.itop-portal-base.php # datamodels/2.x/itop-portal/module.itop-portal.php # datamodels/2.x/itop-problem-mgmt/module.itop-problem-mgmt.php # datamodels/2.x/itop-profiles-itil/module.itop-profiles-itil.php # datamodels/2.x/itop-request-mgmt-itil/module.itop-request-mgmt-itil.php # datamodels/2.x/itop-request-mgmt/module.itop-request-mgmt.php # datamodels/2.x/itop-service-mgmt-provider/module.itop-service-mgmt-provider.php # datamodels/2.x/itop-service-mgmt/module.itop-service-mgmt.php # datamodels/2.x/itop-sla-computation/module.itop-sla-computation.php # datamodels/2.x/itop-storage-mgmt/module.itop-storage-mgmt.php # datamodels/2.x/itop-tickets/module.itop-tickets.php # datamodels/2.x/itop-virtualization-mgmt/module.itop-virtualization-mgmt.php # datamodels/2.x/itop-welcome-itil/module.itop-welcome-itil.php # datamodels/2.x/version.xml # lib/composer/autoload_classmap.php # lib/composer/autoload_static.php # lib/composer/installed.php # setup/modelfactory.class.inc.php # setup/setuputils.class.inc.php # test/integration/iTopModulesPhpVersionChecklistTest.php
This commit is contained in:
@@ -26,7 +26,7 @@ require_once (__DIR__.DIRECTORY_SEPARATOR.'update.classes.inc.php');
|
|||||||
$aFilesUpdaters = array(
|
$aFilesUpdaters = array(
|
||||||
new iTopVersionFileUpdater(),
|
new iTopVersionFileUpdater(),
|
||||||
new DatamodelsModulesFiles(),
|
new DatamodelsModulesFiles(),
|
||||||
new ConstantFileUpdater('ITOP_CORE_VERSION', 'core/config.class.inc.php'),
|
new ConstantFileUpdater('ITOP_CORE_VERSION', 'approot.inc.php'),
|
||||||
);
|
);
|
||||||
|
|
||||||
if (count($argv) === 1)
|
if (count($argv) === 1)
|
||||||
|
|||||||
@@ -539,8 +539,10 @@ class DisplayBlock
|
|||||||
* @throws DictExceptionMissingString
|
* @throws DictExceptionMissingString
|
||||||
* @throws MySQLException
|
* @throws MySQLException
|
||||||
* @throws Exception
|
* @throws Exception
|
||||||
|
*
|
||||||
|
* @since 2.7.7 3.0.1 3.1.0 N°3129 add type hinting to $aExtraParams
|
||||||
*/
|
*/
|
||||||
public function GetRenderContent(WebPage $oPage, array $aExtraParams = [], string $sId = null)
|
public function GetRenderContent(WebPage $oPage, array $aExtraParams, string $sId)
|
||||||
{
|
{
|
||||||
$sHtml = '';
|
$sHtml = '';
|
||||||
$oBlock = null;
|
$oBlock = null;
|
||||||
@@ -1730,7 +1732,24 @@ class HistoryBlock extends DisplayBlock
|
|||||||
$this->iLimitCount = $iCount;
|
$this->iLimitCount = $iCount;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function GetRenderContent(WebPage $oPage, array $aExtraParams = [], string $sId = null)
|
/**
|
||||||
|
* @param \WebPage $oPage
|
||||||
|
* @param array $aExtraParams
|
||||||
|
* @param string $sId
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
* @throws \ArchivedObjectException
|
||||||
|
* @throws \CoreException
|
||||||
|
* @throws \CoreUnexpectedValue
|
||||||
|
* @throws \DictExceptionMissingString
|
||||||
|
* @throws \MissingQueryArgument
|
||||||
|
* @throws \MySQLException
|
||||||
|
* @throws \MySQLHasGoneAwayException
|
||||||
|
*
|
||||||
|
* @since 2.7.7 3.0.1 3.1.0 N°3129 Remove default value for $aExtraParams and add type hinting for PHP 8.0 compatibility
|
||||||
|
* (var is unused, and all calls were already made using a default value)
|
||||||
|
*/
|
||||||
|
public function GetRenderContent(WebPage $oPage, array $aExtraParams, string $sId)
|
||||||
{
|
{
|
||||||
$sHtml = '';
|
$sHtml = '';
|
||||||
$bTruncated = false;
|
$bTruncated = false;
|
||||||
@@ -1871,11 +1890,10 @@ class MenuBlock extends DisplayBlock
|
|||||||
* @throws \DictExceptionMissingString
|
* @throws \DictExceptionMissingString
|
||||||
* @throws \MissingQueryArgument
|
* @throws \MissingQueryArgument
|
||||||
* @throws \MySQLException
|
* @throws \MySQLException
|
||||||
* @throws \MySQLHasGoneAwayException
|
*
|
||||||
* @throws \OQLException
|
* @since 2.7.7 3.0.1 3.1.0 N°3129 Remove default value and add type hinting on $aExtraParams for PHP 8.0 compatibility
|
||||||
* @throws \ReflectionException
|
|
||||||
*/
|
*/
|
||||||
public function GetRenderContent(WebPage $oPage, array $aExtraParams = [], string $sId = null)
|
public function GetRenderContent(WebPage $oPage, array $aExtraParams, string $sId)
|
||||||
{
|
{
|
||||||
$oRenderBlock = new UIContentBlock();
|
$oRenderBlock = new UIContentBlock();
|
||||||
|
|
||||||
|
|||||||
@@ -61,6 +61,8 @@ class UIExtKeyWidget
|
|||||||
protected $sAttCode;
|
protected $sAttCode;
|
||||||
protected $bSearchMode;
|
protected $bSearchMode;
|
||||||
|
|
||||||
|
//public function __construct($sAttCode, $sClass, $sTitle, $oAllowedValues, $value, $iInputId, $bMandatory, $sNameSuffix = '', $sFieldPrefix = '', $sFormPrefix = '')
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param \WebPage $oPage
|
* @param \WebPage $oPage
|
||||||
* @param string $sAttCode
|
* @param string $sAttCode
|
||||||
@@ -80,18 +82,13 @@ class UIExtKeyWidget
|
|||||||
* @throws \Exception
|
* @throws \Exception
|
||||||
*
|
*
|
||||||
* @since 3.0.0 N°3750 new $sInputType parameter
|
* @since 3.0.0 N°3750 new $sInputType parameter
|
||||||
|
* @since 2.7.7 3.0.1 3.1.0 N°3129 Add default value for $aArgs for PHP 8.0 compat
|
||||||
*/
|
*/
|
||||||
public static function DisplayFromAttCode(
|
public static function DisplayFromAttCode(
|
||||||
$oPage, $sAttCode, $sClass, $sTitle, $oAllowedValues, $value, $iInputId, $bMandatory, $sFieldName = '', $sFormPrefix = '',
|
$oPage, $sAttCode, $sClass, $sTitle, $oAllowedValues, $value, $iInputId, $bMandatory, $sFieldName = '', $sFormPrefix = '',
|
||||||
$aArgs = [], $bSearchMode = false, &$sInputType = ''
|
$aArgs = [], $bSearchMode = false, &$sInputType = ''
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
// we will only use key & name, so let's reduce fields loaded !
|
|
||||||
$aAttToLoad = [
|
|
||||||
$sClass => [], // nothing, id and friendlyname are automatically added by the API
|
|
||||||
];
|
|
||||||
$oAllowedValues->OptimizeColumnLoad($aAttToLoad);
|
|
||||||
|
|
||||||
$oAttDef = MetaModel::GetAttributeDef($sClass, $sAttCode);
|
$oAttDef = MetaModel::GetAttributeDef($sClass, $sAttCode);
|
||||||
$sTargetClass = $oAttDef->GetTargetClass();
|
$sTargetClass = $oAttDef->GetTargetClass();
|
||||||
$iMaxComboLength = $oAttDef->GetMaximumComboLength();
|
$iMaxComboLength = $oAttDef->GetMaximumComboLength();
|
||||||
@@ -776,9 +773,11 @@ JS
|
|||||||
*
|
*
|
||||||
* @throws CoreException
|
* @throws CoreException
|
||||||
* @throws OQLException
|
* @throws OQLException
|
||||||
|
*
|
||||||
|
* @since 2.7.7 3.0.1 3.1.0 N°3129 Remove default value for $oObj for PHP 8.0 compatibility
|
||||||
*/
|
*/
|
||||||
public function AutoComplete(
|
public function AutoComplete(
|
||||||
WebPage $oP, $sFilter, $oObj = null, $sContains = '', $sOutputFormat = self::ENUM_OUTPUT_FORMAT_CSV, $sOperation = null
|
WebPage $oP, $sFilter, $oObj, $sContains, $sOutputFormat = self::ENUM_OUTPUT_FORMAT_CSV, $sOperation = null
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
if (is_null($sFilter)) {
|
if (is_null($sFilter)) {
|
||||||
|
|||||||
@@ -75,9 +75,15 @@ class UILinksWidgetDirect
|
|||||||
* @param array $aArgs
|
* @param array $aArgs
|
||||||
* @param string $sFormPrefix
|
* @param string $sFormPrefix
|
||||||
* @param DBObject $oCurrentObj
|
* @param DBObject $oCurrentObj
|
||||||
|
*
|
||||||
|
* @since 2.7.7 3.0.1 3.1.0 N°3129 Remove default value for $aArgs for PHP 8.0 compatibility (handling wrong values at method start)
|
||||||
*/
|
*/
|
||||||
public function Display(WebPage $oPage, $oValue, $aArgs = array(), $sFormPrefix, $oCurrentObj)
|
public function Display(WebPage $oPage, $oValue, $aArgs, $sFormPrefix, $oCurrentObj)
|
||||||
{
|
{
|
||||||
|
if (empty($aArgs)) {
|
||||||
|
$aArgs = [];
|
||||||
|
}
|
||||||
|
|
||||||
$oLinksetDef = MetaModel::GetAttributeDef($this->sClass, $this->sAttCode);
|
$oLinksetDef = MetaModel::GetAttributeDef($this->sClass, $this->sAttCode);
|
||||||
switch($oLinksetDef->GetEditMode())
|
switch($oLinksetDef->GetEditMode())
|
||||||
{
|
{
|
||||||
@@ -127,8 +133,10 @@ class UILinksWidgetDirect
|
|||||||
* @param string $sFormPrefix
|
* @param string $sFormPrefix
|
||||||
* @param DBObject $oCurrentObj
|
* @param DBObject $oCurrentObj
|
||||||
* @param bool $bDisplayMenu
|
* @param bool $bDisplayMenu
|
||||||
|
*
|
||||||
|
* @since 2.7.7 3.0.1 3.1.0 N°3129 Remove default value for $aArgs for PHP 8.0 compatibility (protected method, always called with default value)
|
||||||
*/
|
*/
|
||||||
protected function DisplayAsBlock(WebPage $oPage, $oValue, $aArgs = array(), $sFormPrefix, $oCurrentObj, $bDisplayMenu)
|
protected function DisplayAsBlock(WebPage $oPage, $oValue, $aArgs, $sFormPrefix, $oCurrentObj, $bDisplayMenu)
|
||||||
{
|
{
|
||||||
$oLinksetDef = MetaModel::GetAttributeDef($this->sClass, $this->sAttCode);
|
$oLinksetDef = MetaModel::GetAttributeDef($this->sClass, $this->sAttCode);
|
||||||
$sTargetClass = $oLinksetDef->GetLinkedClass();
|
$sTargetClass = $oLinksetDef->GetLinkedClass();
|
||||||
@@ -228,8 +236,10 @@ class UILinksWidgetDirect
|
|||||||
* @param string $sFormPrefix
|
* @param string $sFormPrefix
|
||||||
* @param DBObject $oCurrentObj
|
* @param DBObject $oCurrentObj
|
||||||
* @param array $aButtons
|
* @param array $aButtons
|
||||||
|
*
|
||||||
|
* @since 2.7.7 3.0.1 3.1.0 N°3129 Remove default value for $aArgs for PHP 8.0 compatibility (protected method, caller already handles it)
|
||||||
*/
|
*/
|
||||||
protected function DisplayEditInPlace(WebPage $oPage, $oValue, $aArgs = array(), $sFormPrefix, $oCurrentObj, $aButtons = array('create', 'delete'))
|
protected function DisplayEditInPlace(WebPage $oPage, $oValue, $aArgs, $sFormPrefix, $oCurrentObj, $aButtons = array('create', 'delete'))
|
||||||
{
|
{
|
||||||
$aAttribs = $this->GetTableConfig();
|
$aAttribs = $this->GetTableConfig();
|
||||||
$oValue->Rewind();
|
$oValue->Rewind();
|
||||||
|
|||||||
@@ -2404,43 +2404,19 @@ class utils
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return string eg : '2_7_0' ITOP_VERSION is '2.7.1-dev'
|
* @return string eg : '2_7_0' if iTop core version is '2.7.5-2'
|
||||||
|
* @throws \ApplicationException if constant value is invalid
|
||||||
|
* @uses ITOP_CORE_VERSION
|
||||||
*/
|
*/
|
||||||
public static function GetItopVersionWikiSyntax() {
|
public static function GetCoreVersionWikiSyntax()
|
||||||
$sMinorVersion = self::GetItopMinorVersion();
|
{
|
||||||
|
$aExplodedVersion = explode('.', ITOP_CORE_VERSION);
|
||||||
|
|
||||||
return str_replace('.', '_', $sMinorVersion).'_0';
|
if (empty($aExplodedVersion[0]) || empty($aExplodedVersion[1])) {
|
||||||
}
|
throw new ApplicationException('iTop version is wrongfully configured!');
|
||||||
|
|
||||||
/**
|
|
||||||
* @param string $sPatchVersion if non provided, will call GetItopPatchVersion
|
|
||||||
*
|
|
||||||
* @return string eg 2.7 if ITOP_VERSION is '2.7.0-dev'
|
|
||||||
* @throws \Exception
|
|
||||||
*/
|
|
||||||
public static function GetItopMinorVersion($sPatchVersion = null) {
|
|
||||||
if (is_null($sPatchVersion)) {
|
|
||||||
$sPatchVersion = self::GetItopPatchVersion();
|
|
||||||
}
|
|
||||||
$aExplodedVersion = explode('.', $sPatchVersion);
|
|
||||||
|
|
||||||
if (count($aExplodedVersion) < 2) {
|
|
||||||
throw new Exception('iTop version is wrongfully configured!');
|
|
||||||
}
|
|
||||||
if (($aExplodedVersion[0] == '') || ($aExplodedVersion[1] == '')) {
|
|
||||||
throw new Exception('iTop version is wrongfully configured!');
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return sprintf('%d.%d', $aExplodedVersion[0], $aExplodedVersion[1]);
|
return "{$aExplodedVersion[0]}_{$aExplodedVersion[1]}_0";
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @return string eg '2.7.0' if ITOP_VERSION is '2.7.0-dev'
|
|
||||||
*/
|
|
||||||
public static function GetItopPatchVersion() {
|
|
||||||
$aExplodedVersion = explode('-', ITOP_VERSION);
|
|
||||||
|
|
||||||
return $aExplodedVersion[0];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -13,4 +13,16 @@ define('APPCONF', APPROOT.'conf/');
|
|||||||
*/
|
*/
|
||||||
define('ITOP_DESIGN_LATEST_VERSION', '3.0');
|
define('ITOP_DESIGN_LATEST_VERSION', '3.0');
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Constant containing the iTop core version, whatever application was built
|
||||||
|
*
|
||||||
|
* Note that in iTop 3.0.0 we used {@see ITOP_DESIGN_LATEST_VERSION} to get core version.
|
||||||
|
* When releasing, both constants should be updated : see `.make/release/update-versions.php` for that !
|
||||||
|
*
|
||||||
|
* @since 2.7.7 3.0.1 3.1.0 N°4714 constant creation
|
||||||
|
* @used-by utils::GetCoreVersionWikiSyntax()
|
||||||
|
* @used-by iTopModulesPhpVersionIntegrationTest
|
||||||
|
*/
|
||||||
|
define('ITOP_CORE_VERSION', '2.7.7');
|
||||||
|
|
||||||
require_once APPROOT.'bootstrap.inc.php';
|
require_once APPROOT.'bootstrap.inc.php';
|
||||||
|
|||||||
32
composer.lock
generated
32
composer.lock
generated
@@ -2221,16 +2221,16 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/twig-bundle",
|
"name": "symfony/twig-bundle",
|
||||||
"version": "v3.4.36",
|
"version": "v3.4.47",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/twig-bundle.git",
|
"url": "https://github.com/symfony/twig-bundle.git",
|
||||||
"reference": "d39ed8f5df62aeeeb27a6f3bf7f58a6c02a58ea9"
|
"reference": "977b3096e2df96bc8a8d2329e83466cfc30c373d"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/twig-bundle/zipball/d39ed8f5df62aeeeb27a6f3bf7f58a6c02a58ea9",
|
"url": "https://api.github.com/repos/symfony/twig-bundle/zipball/977b3096e2df96bc8a8d2329e83466cfc30c373d",
|
||||||
"reference": "d39ed8f5df62aeeeb27a6f3bf7f58a6c02a58ea9",
|
"reference": "977b3096e2df96bc8a8d2329e83466cfc30c373d",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@@ -2263,11 +2263,6 @@
|
|||||||
"symfony/yaml": "~2.8|~3.0|~4.0"
|
"symfony/yaml": "~2.8|~3.0|~4.0"
|
||||||
},
|
},
|
||||||
"type": "symfony-bundle",
|
"type": "symfony-bundle",
|
||||||
"extra": {
|
|
||||||
"branch-alias": {
|
|
||||||
"dev-master": "3.4-dev"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"autoload": {
|
"autoload": {
|
||||||
"psr-4": {
|
"psr-4": {
|
||||||
"Symfony\\Bundle\\TwigBundle\\": ""
|
"Symfony\\Bundle\\TwigBundle\\": ""
|
||||||
@@ -2292,7 +2287,24 @@
|
|||||||
],
|
],
|
||||||
"description": "Symfony TwigBundle",
|
"description": "Symfony TwigBundle",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"time": "2019-10-01T15:13:36+00:00"
|
"support": {
|
||||||
|
"source": "https://github.com/symfony/twig-bundle/tree/v3.4.47"
|
||||||
|
},
|
||||||
|
"funding": [
|
||||||
|
{
|
||||||
|
"url": "https://symfony.com/sponsor",
|
||||||
|
"type": "custom"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"url": "https://github.com/fabpot",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
||||||
|
"type": "tidelift"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"time": "2020-10-24T10:57:07+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/yaml",
|
"name": "symfony/yaml",
|
||||||
|
|||||||
@@ -31,17 +31,6 @@ define('ITOP_APPLICATION_SHORT', 'iTop');
|
|||||||
*/
|
*/
|
||||||
define('ITOP_VERSION', '3.0.1-dev');
|
define('ITOP_VERSION', '3.0.1-dev');
|
||||||
|
|
||||||
/**
|
|
||||||
* Constant containing the iTop core version, whatever application was built
|
|
||||||
*
|
|
||||||
* Note that in iTop 3.0.0 we used {@see ITOP_DESIGN_LATEST_VERSION} to get core version.
|
|
||||||
* When releasing, both constants should be updated : see `.make/release/update-versions.php` for that !
|
|
||||||
*
|
|
||||||
* @since 2.7.7 3.0.1 3.1.1 N°4714 constant creation
|
|
||||||
* @used-by utils::GetItopPatchVersion
|
|
||||||
*/
|
|
||||||
define('ITOP_CORE_VERSION', '3.0.1');
|
|
||||||
|
|
||||||
define('ITOP_VERSION_NAME', 'Fullmoon');
|
define('ITOP_VERSION_NAME', 'Fullmoon');
|
||||||
define('ITOP_REVISION', 'svn');
|
define('ITOP_REVISION', 'svn');
|
||||||
define('ITOP_BUILD_DATE', '$WCNOW$');
|
define('ITOP_BUILD_DATE', '$WCNOW$');
|
||||||
|
|||||||
@@ -1236,7 +1236,7 @@ class DBObjectSearch extends DBSearch
|
|||||||
elseif (MetaModel::IsParentClass($oRightFilter->GetFirstJoinedClass(), $oLeftFilter->GetClass()))
|
elseif (MetaModel::IsParentClass($oRightFilter->GetFirstJoinedClass(), $oLeftFilter->GetClass()))
|
||||||
{
|
{
|
||||||
// Specialize $oRightFilter
|
// Specialize $oRightFilter
|
||||||
$oRightFilter->ChangeClass($oLeftFilter->GetClass());
|
$oRightFilter->ChangeClass($oLeftFilter->GetFirstJoinedClass());
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -655,7 +655,7 @@ abstract class MetaModel
|
|||||||
* @param string $sRuleId
|
* @param string $sRuleId
|
||||||
*
|
*
|
||||||
* @throws \CoreException
|
* @throws \CoreException
|
||||||
* @since 2.6.1 N°1918 (sous les pavés, la plage) initialize in 'root_class' property the class that has the first
|
* @since 2.6.1 N°1968 (sous les pavés, la plage) initialize in 'root_class' property the class that has the first
|
||||||
* definition of the rule in the hierarchy
|
* definition of the rule in the hierarchy
|
||||||
*/
|
*/
|
||||||
private static function SetUniquenessRuleRootClass($sRootClass, $sRuleId)
|
private static function SetUniquenessRuleRootClass($sRootClass, $sRuleId)
|
||||||
|
|||||||
@@ -494,7 +494,17 @@ class SQLObjectQuery extends SQLQuery
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private function PrepareSingleTable(SQLObjectQuery $oRootQuery, &$aFrom, $sCallerAlias = '', $aJoinData)
|
/**
|
||||||
|
* @param \SQLObjectQuery $oRootQuery
|
||||||
|
* @param $aFrom
|
||||||
|
* @param $sCallerAlias
|
||||||
|
* @param $aJoinData
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*
|
||||||
|
* @since 2.7.7 3.0.1 3.1.0 N°3129 Remove default value for $sCallerAlias for PHP 8.0 compat (Private method with only 2 calls in the class, both providing the optional parameter)
|
||||||
|
*/
|
||||||
|
private function PrepareSingleTable(SQLObjectQuery $oRootQuery, &$aFrom, $sCallerAlias, $aJoinData)
|
||||||
{
|
{
|
||||||
$aTranslationTable[$this->m_sTable]['*'] = $this->m_sTableAlias;
|
$aTranslationTable[$this->m_sTable]['*'] = $this->m_sTableAlias;
|
||||||
$sJoinCond = '';
|
$sJoinCond = '';
|
||||||
@@ -613,6 +623,7 @@ class SQLObjectQuery extends SQLQuery
|
|||||||
$aTempFrom = array(); // temporary subset of 'from' specs, to be grouped in the final query
|
$aTempFrom = array(); // temporary subset of 'from' specs, to be grouped in the final query
|
||||||
foreach ($this->m_aJoinSelects as $aJoinData)
|
foreach ($this->m_aJoinSelects as $aJoinData)
|
||||||
{
|
{
|
||||||
|
/** @var \SQLObjectQuery $oRightSelect */
|
||||||
$oRightSelect = $aJoinData["select"];
|
$oRightSelect = $aJoinData["select"];
|
||||||
|
|
||||||
$oRightSelect->PrepareSingleTable($oRootQuery, $aTempFrom, $this->m_sTableAlias, $aJoinData);
|
$oRightSelect->PrepareSingleTable($oRootQuery, $aTempFrom, $this->m_sTableAlias, $aJoinData);
|
||||||
|
|||||||
@@ -15,6 +15,9 @@
|
|||||||
*
|
*
|
||||||
* You should have received a copy of the GNU Affero General Public License
|
* You should have received a copy of the GNU Affero General Public License
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
// Beware the version number MUST be enclosed with quotes otherwise v2.3.0 becomes v2 0.3 .0
|
||||||
|
$version: "v2.7.7";
|
||||||
$approot-relative: "../../../../" !default; // relative to env-***/branding/themes/***/main.css
|
$approot-relative: "../../../../" !default; // relative to env-***/branding/themes/***/main.css
|
||||||
|
|
||||||
// Base colors
|
// Base colors
|
||||||
|
|||||||
3
lib/.gitignore
vendored
3
lib/.gitignore
vendored
@@ -32,4 +32,5 @@
|
|||||||
# TWIG
|
# TWIG
|
||||||
/twig/twig/doc
|
/twig/twig/doc
|
||||||
/twig/twig/test
|
/twig/twig/test
|
||||||
/twig/twig/drupal_test.sh
|
/twig/twig/drupal_test.sh
|
||||||
|
/symfony/twig-bundle/Tests
|
||||||
|
|||||||
@@ -2361,6 +2361,8 @@ return array(
|
|||||||
'iApplicationUIExtension' => $baseDir . '/application/applicationextension.inc.php',
|
'iApplicationUIExtension' => $baseDir . '/application/applicationextension.inc.php',
|
||||||
'iAttributeNoGroupBy' => $baseDir . '/core/attributedef.class.inc.php',
|
'iAttributeNoGroupBy' => $baseDir . '/core/attributedef.class.inc.php',
|
||||||
'iBackgroundProcess' => $baseDir . '/core/backgroundprocess.inc.php',
|
'iBackgroundProcess' => $baseDir . '/core/backgroundprocess.inc.php',
|
||||||
|
'iBackofficeDictEntriesExtension' => $baseDir . '/application/applicationextension.inc.php',
|
||||||
|
'iBackofficeDictEntriesPrefixesExtension' => $baseDir . '/application/applicationextension.inc.php',
|
||||||
'iBackofficeEarlyScriptExtension' => $baseDir . '/application/applicationextension.inc.php',
|
'iBackofficeEarlyScriptExtension' => $baseDir . '/application/applicationextension.inc.php',
|
||||||
'iBackofficeInitScriptExtension' => $baseDir . '/application/applicationextension.inc.php',
|
'iBackofficeInitScriptExtension' => $baseDir . '/application/applicationextension.inc.php',
|
||||||
'iBackofficeLinkedScriptsExtension' => $baseDir . '/application/applicationextension.inc.php',
|
'iBackofficeLinkedScriptsExtension' => $baseDir . '/application/applicationextension.inc.php',
|
||||||
|
|||||||
@@ -2591,6 +2591,8 @@ class ComposerStaticInit0018331147de7601e7552f7da8e3bb8b
|
|||||||
'iApplicationUIExtension' => __DIR__ . '/../..' . '/application/applicationextension.inc.php',
|
'iApplicationUIExtension' => __DIR__ . '/../..' . '/application/applicationextension.inc.php',
|
||||||
'iAttributeNoGroupBy' => __DIR__ . '/../..' . '/core/attributedef.class.inc.php',
|
'iAttributeNoGroupBy' => __DIR__ . '/../..' . '/core/attributedef.class.inc.php',
|
||||||
'iBackgroundProcess' => __DIR__ . '/../..' . '/core/backgroundprocess.inc.php',
|
'iBackgroundProcess' => __DIR__ . '/../..' . '/core/backgroundprocess.inc.php',
|
||||||
|
'iBackofficeDictEntriesExtension' => __DIR__ . '/../..' . '/application/applicationextension.inc.php',
|
||||||
|
'iBackofficeDictEntriesPrefixesExtension' => __DIR__ . '/../..' . '/application/applicationextension.inc.php',
|
||||||
'iBackofficeEarlyScriptExtension' => __DIR__ . '/../..' . '/application/applicationextension.inc.php',
|
'iBackofficeEarlyScriptExtension' => __DIR__ . '/../..' . '/application/applicationextension.inc.php',
|
||||||
'iBackofficeInitScriptExtension' => __DIR__ . '/../..' . '/application/applicationextension.inc.php',
|
'iBackofficeInitScriptExtension' => __DIR__ . '/../..' . '/application/applicationextension.inc.php',
|
||||||
'iBackofficeLinkedScriptsExtension' => __DIR__ . '/../..' . '/application/applicationextension.inc.php',
|
'iBackofficeLinkedScriptsExtension' => __DIR__ . '/../..' . '/application/applicationextension.inc.php',
|
||||||
|
|||||||
@@ -2367,17 +2367,17 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/twig-bundle",
|
"name": "symfony/twig-bundle",
|
||||||
"version": "v3.4.36",
|
"version": "v3.4.47",
|
||||||
"version_normalized": "3.4.36.0",
|
"version_normalized": "3.4.47.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/twig-bundle.git",
|
"url": "https://github.com/symfony/twig-bundle.git",
|
||||||
"reference": "d39ed8f5df62aeeeb27a6f3bf7f58a6c02a58ea9"
|
"reference": "977b3096e2df96bc8a8d2329e83466cfc30c373d"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/twig-bundle/zipball/d39ed8f5df62aeeeb27a6f3bf7f58a6c02a58ea9",
|
"url": "https://api.github.com/repos/symfony/twig-bundle/zipball/977b3096e2df96bc8a8d2329e83466cfc30c373d",
|
||||||
"reference": "d39ed8f5df62aeeeb27a6f3bf7f58a6c02a58ea9",
|
"reference": "977b3096e2df96bc8a8d2329e83466cfc30c373d",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@@ -2409,13 +2409,8 @@
|
|||||||
"symfony/web-link": "~3.3|~4.0",
|
"symfony/web-link": "~3.3|~4.0",
|
||||||
"symfony/yaml": "~2.8|~3.0|~4.0"
|
"symfony/yaml": "~2.8|~3.0|~4.0"
|
||||||
},
|
},
|
||||||
"time": "2019-10-01T15:13:36+00:00",
|
"time": "2020-10-24T10:57:07+00:00",
|
||||||
"type": "symfony-bundle",
|
"type": "symfony-bundle",
|
||||||
"extra": {
|
|
||||||
"branch-alias": {
|
|
||||||
"dev-master": "3.4-dev"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"installation-source": "dist",
|
"installation-source": "dist",
|
||||||
"autoload": {
|
"autoload": {
|
||||||
"psr-4": {
|
"psr-4": {
|
||||||
@@ -2441,6 +2436,23 @@
|
|||||||
],
|
],
|
||||||
"description": "Symfony TwigBundle",
|
"description": "Symfony TwigBundle",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
|
"support": {
|
||||||
|
"source": "https://github.com/symfony/twig-bundle/tree/v3.4.47"
|
||||||
|
},
|
||||||
|
"funding": [
|
||||||
|
{
|
||||||
|
"url": "https://symfony.com/sponsor",
|
||||||
|
"type": "custom"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"url": "https://github.com/fabpot",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
||||||
|
"type": "tidelift"
|
||||||
|
}
|
||||||
|
],
|
||||||
"install-path": "../symfony/twig-bundle"
|
"install-path": "../symfony/twig-bundle"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
'type' => 'project',
|
'type' => 'project',
|
||||||
'install_path' => __DIR__ . '/../../',
|
'install_path' => __DIR__ . '/../../',
|
||||||
'aliases' => array(),
|
'aliases' => array(),
|
||||||
'reference' => '1d28bbe3f4e8467dc8f5459f638bed79526022bc',
|
'reference' => '47feb7f4259aebc4e9b27cfc8a6eafbbbf0b3686',
|
||||||
'name' => '__root__',
|
'name' => '__root__',
|
||||||
'dev' => true,
|
'dev' => true,
|
||||||
),
|
),
|
||||||
@@ -16,7 +16,7 @@
|
|||||||
'type' => 'project',
|
'type' => 'project',
|
||||||
'install_path' => __DIR__ . '/../../',
|
'install_path' => __DIR__ . '/../../',
|
||||||
'aliases' => array(),
|
'aliases' => array(),
|
||||||
'reference' => '1d28bbe3f4e8467dc8f5459f638bed79526022bc',
|
'reference' => '47feb7f4259aebc4e9b27cfc8a6eafbbbf0b3686',
|
||||||
'dev_requirement' => false,
|
'dev_requirement' => false,
|
||||||
),
|
),
|
||||||
'combodo/tcpdf' => array(
|
'combodo/tcpdf' => array(
|
||||||
@@ -383,12 +383,12 @@
|
|||||||
'dev_requirement' => false,
|
'dev_requirement' => false,
|
||||||
),
|
),
|
||||||
'symfony/twig-bundle' => array(
|
'symfony/twig-bundle' => array(
|
||||||
'pretty_version' => 'v3.4.36',
|
'pretty_version' => 'v3.4.47',
|
||||||
'version' => '3.4.36.0',
|
'version' => '3.4.47.0',
|
||||||
'type' => 'symfony-bundle',
|
'type' => 'symfony-bundle',
|
||||||
'install_path' => __DIR__ . '/../symfony/twig-bundle',
|
'install_path' => __DIR__ . '/../symfony/twig-bundle',
|
||||||
'aliases' => array(),
|
'aliases' => array(),
|
||||||
'reference' => 'd39ed8f5df62aeeeb27a6f3bf7f58a6c02a58ea9',
|
'reference' => '977b3096e2df96bc8a8d2329e83466cfc30c373d',
|
||||||
'dev_requirement' => false,
|
'dev_requirement' => false,
|
||||||
),
|
),
|
||||||
'symfony/var-dumper' => array(
|
'symfony/var-dumper' => array(
|
||||||
|
|||||||
@@ -40,9 +40,9 @@ class TemplateCacheWarmer implements CacheWarmerInterface, ServiceSubscriberInte
|
|||||||
$this->container = $container;
|
$this->container = $container;
|
||||||
} elseif ($container instanceof Environment) {
|
} elseif ($container instanceof Environment) {
|
||||||
$this->twig = $container;
|
$this->twig = $container;
|
||||||
@trigger_error(sprintf('Using a "%s" as first argument of %s is deprecated since Symfony 3.4 and will be unsupported in version 4.0. Use a %s instead.', Environment::class, __CLASS__, ContainerInterface::class), E_USER_DEPRECATED);
|
@trigger_error(sprintf('Using a "%s" as first argument of %s is deprecated since Symfony 3.4 and will be unsupported in version 4.0. Use a %s instead.', Environment::class, __CLASS__, ContainerInterface::class), \E_USER_DEPRECATED);
|
||||||
} else {
|
} else {
|
||||||
throw new \InvalidArgumentException(sprintf('%s only accepts instance of Psr\Container\ContainerInterface as first argument.', __CLASS__));
|
throw new \InvalidArgumentException(sprintf('"%s" only accepts instance of Psr\Container\ContainerInterface as first argument.', __CLASS__));
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->iterator = $iterator;
|
$this->iterator = $iterator;
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
|
|
||||||
namespace Symfony\Bundle\TwigBundle\Command;
|
namespace Symfony\Bundle\TwigBundle\Command;
|
||||||
|
|
||||||
@trigger_error(sprintf('The %s class is deprecated since Symfony 3.4 and will be removed in 4.0. Use Symfony\Bridge\Twig\Command\DebugCommand instead.', DebugCommand::class), E_USER_DEPRECATED);
|
@trigger_error(sprintf('The %s class is deprecated since Symfony 3.4 and will be removed in 4.0. Use Symfony\Bridge\Twig\Command\DebugCommand instead.', DebugCommand::class), \E_USER_DEPRECATED);
|
||||||
|
|
||||||
use Symfony\Bridge\Twig\Command\DebugCommand as BaseDebugCommand;
|
use Symfony\Bridge\Twig\Command\DebugCommand as BaseDebugCommand;
|
||||||
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
|
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
|
|
||||||
namespace Symfony\Bundle\TwigBundle;
|
namespace Symfony\Bundle\TwigBundle;
|
||||||
|
|
||||||
@trigger_error(sprintf('The %s class is deprecated since Symfony 3.3 and will be removed in 4.0. Use the Twig\RuntimeLoader\ContainerRuntimeLoader class instead.', ContainerAwareRuntimeLoader::class), E_USER_DEPRECATED);
|
@trigger_error(sprintf('The %s class is deprecated since Symfony 3.3 and will be removed in 4.0. Use the Twig\RuntimeLoader\ContainerRuntimeLoader class instead.', ContainerAwareRuntimeLoader::class), \E_USER_DEPRECATED);
|
||||||
|
|
||||||
use Psr\Log\LoggerInterface;
|
use Psr\Log\LoggerInterface;
|
||||||
use Symfony\Component\DependencyInjection\ContainerInterface;
|
use Symfony\Component\DependencyInjection\ContainerInterface;
|
||||||
|
|||||||
@@ -39,7 +39,7 @@ class TwigLoaderPass implements CompilerPassInterface
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!$found) {
|
if (!$found) {
|
||||||
throw new LogicException('No twig loaders found. You need to tag at least one loader with "twig.loader"');
|
throw new LogicException('No twig loaders found. You need to tag at least one loader with "twig.loader".');
|
||||||
}
|
}
|
||||||
|
|
||||||
if (1 === $found) {
|
if (1 === $found) {
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
Copyright (c) 2004-2019 Fabien Potencier
|
Copyright (c) 2004-2020 Fabien Potencier
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
@@ -32,7 +32,8 @@ class TwigBundle extends Bundle
|
|||||||
{
|
{
|
||||||
parent::build($container);
|
parent::build($container);
|
||||||
|
|
||||||
$container->addCompilerPass(new ExtensionPass());
|
// ExtensionPass must be run before the FragmentRendererPass as it adds tags that are processed later
|
||||||
|
$container->addCompilerPass(new ExtensionPass(), PassConfig::TYPE_BEFORE_OPTIMIZATION, 10);
|
||||||
$container->addCompilerPass(new TwigEnvironmentPass());
|
$container->addCompilerPass(new TwigEnvironmentPass());
|
||||||
$container->addCompilerPass(new TwigLoaderPass());
|
$container->addCompilerPass(new TwigLoaderPass());
|
||||||
$container->addCompilerPass(new ExceptionListenerPass());
|
$container->addCompilerPass(new ExceptionListenerPass());
|
||||||
|
|||||||
@@ -50,10 +50,5 @@
|
|||||||
"/Tests/"
|
"/Tests/"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"minimum-stability": "dev",
|
"minimum-stability": "dev"
|
||||||
"extra": {
|
|
||||||
"branch-alias": {
|
|
||||||
"dev-master": "3.4-dev"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2311,6 +2311,9 @@ EOF;
|
|||||||
* Replaces a node by another one, making sure that recursive nodes are preserved
|
* Replaces a node by another one, making sure that recursive nodes are preserved
|
||||||
*
|
*
|
||||||
* @param MFElement $oNewNode The replacement
|
* @param MFElement $oNewNode The replacement
|
||||||
|
*
|
||||||
|
* @since 2.7.7 3.0.1 3.1.0 N°3129 rename method (from `ReplaceWith` to `MFReplaceWith`) to avoid collision with parent `\DOMElement::replaceWith` method (different method modifier and parameters :
|
||||||
|
* throws fatal error in PHP 8.0)
|
||||||
*/
|
*/
|
||||||
protected function ReplaceWithSingleNode($oNewNode)
|
protected function ReplaceWithSingleNode($oNewNode)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1012,7 +1012,7 @@ class SetupUtils
|
|||||||
$oPage, $bIsItopInstall, $sDBServer, $sDBUser, $sDBPwd, $sDBName, $sDBPrefix, $bTlsEnabled, $sTlsCA,
|
$oPage, $bIsItopInstall, $sDBServer, $sDBUser, $sDBPwd, $sDBName, $sDBPrefix, $bTlsEnabled, $sTlsCA,
|
||||||
$sNewDBName = ''
|
$sNewDBName = ''
|
||||||
) {
|
) {
|
||||||
$sWikiVersion = utils::GetItopVersionWikiSyntax(); //eg : '2_7_0';
|
$sWikiVersion = utils::GetCoreVersionWikiSyntax(); //eg : '2_7_0';
|
||||||
$sMysqlTlsWikiPageUrl = 'https://www.itophub.io/wiki/page?id='.$sWikiVersion.':install:php_and_mysql_tls';
|
$sMysqlTlsWikiPageUrl = 'https://www.itophub.io/wiki/page?id='.$sWikiVersion.':install:php_and_mysql_tls';
|
||||||
|
|
||||||
$oPage->add('<fieldset><legend>Database Server Connection</legend>');
|
$oPage->add('<fieldset><legend>Database Server Connection</legend>');
|
||||||
@@ -1268,7 +1268,7 @@ EOF
|
|||||||
{
|
{
|
||||||
$aResult['checks'][] = new CheckResult(CheckResult::INFO, "MySQL server's max_allowed_packet ($sMaxAllowedPacketFriendly) is big enough compared to upload_max_filesize ($sMaxUploadSizeFriendly).");
|
$aResult['checks'][] = new CheckResult(CheckResult::INFO, "MySQL server's max_allowed_packet ($sMaxAllowedPacketFriendly) is big enough compared to upload_max_filesize ($sMaxUploadSizeFriendly).");
|
||||||
} else if ($iMaxAllowedPacket < $iMaxUploadSize) {
|
} else if ($iMaxAllowedPacket < $iMaxUploadSize) {
|
||||||
$sWikiVersion = utils::GetItopVersionWikiSyntax(); //eg : '2_7_0';
|
$sWikiVersion = utils::GetCoreVersionWikiSyntax(); //eg : '2_7_0';
|
||||||
$sAttachmentsVarsWikiPageUrl = 'https://www.itophub.io/wiki/page?id='.$sWikiVersion
|
$sAttachmentsVarsWikiPageUrl = 'https://www.itophub.io/wiki/page?id='.$sWikiVersion
|
||||||
.':install:php_and_mysql_configuration#attachments_upload';
|
.':install:php_and_mysql_configuration#attachments_upload';
|
||||||
|
|
||||||
|
|||||||
@@ -75,6 +75,8 @@ class iTopModulesPhpVersionIntegrationTest extends ItopTestCase {
|
|||||||
*
|
*
|
||||||
* @group skipPostBuild
|
* @group skipPostBuild
|
||||||
* @uses utils::GetItopMinorVersion()
|
* @uses utils::GetItopMinorVersion()
|
||||||
|
*
|
||||||
|
* @since 2.7.7 3.0.1 3.1.0 N°4714 uses new {@link ITOP_CORE_VERSION} constant
|
||||||
*/
|
*/
|
||||||
public function testITopModulesPhpVersion(): void {
|
public function testITopModulesPhpVersion(): void {
|
||||||
if (is_dir(APPROOT.'datamodels/2.x')) {
|
if (is_dir(APPROOT.'datamodels/2.x')) {
|
||||||
@@ -89,8 +91,7 @@ class iTopModulesPhpVersionIntegrationTest extends ItopTestCase {
|
|||||||
$sPath = $DatamodelsPath.'/*/module.*.php';
|
$sPath = $DatamodelsPath.'/*/module.*.php';
|
||||||
$aPhpFiles = glob($sPath);
|
$aPhpFiles = glob($sPath);
|
||||||
|
|
||||||
$sMinorVersion = \utils::GetItopMinorVersion();
|
$sExpectedVersion = ITOP_CORE_VERSION;
|
||||||
$sExpectedVersion = '/^'.str_replace('.', '\.', $sMinorVersion).'\.\d+$/';
|
|
||||||
|
|
||||||
$aModuleWithError = [];
|
$aModuleWithError = [];
|
||||||
foreach ($aPhpFiles as $sPhpFile) {
|
foreach ($aPhpFiles as $sPhpFile) {
|
||||||
|
|||||||
@@ -19,7 +19,7 @@
|
|||||||
<phpunit bootstrap="unittestautoload.php"
|
<phpunit bootstrap="unittestautoload.php"
|
||||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/6.3/phpunit.xsd"
|
xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/6.3/phpunit.xsd"
|
||||||
backupGlobals="false"
|
backupGlobals="true"
|
||||||
backupStaticAttributes="false"
|
backupStaticAttributes="false"
|
||||||
cacheTokens="false"
|
cacheTokens="false"
|
||||||
colors="true"
|
colors="true"
|
||||||
@@ -29,7 +29,7 @@
|
|||||||
forceCoversAnnotation="false"
|
forceCoversAnnotation="false"
|
||||||
mapTestClassNameToCoveredClassName="false"
|
mapTestClassNameToCoveredClassName="false"
|
||||||
printerClass="\PHPUnit\TextUI\ResultPrinter"
|
printerClass="\PHPUnit\TextUI\ResultPrinter"
|
||||||
processIsolation="true"
|
processIsolation="false"
|
||||||
stopOnError="false"
|
stopOnError="false"
|
||||||
stopOnFailure="false"
|
stopOnFailure="false"
|
||||||
stopOnIncomplete="false"
|
stopOnIncomplete="false"
|
||||||
|
|||||||
Reference in New Issue
Block a user