diff --git a/.gitignore b/.gitignore index 53e15da..8d8d8d6 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,8 @@ +adsapi_php.ini.backup /googleServiceAccount.json adsapi_php.ini /vendor +/customerConfig sftp-config.json /.php_cs.cache /customerConfig diff --git a/app/AdManager/CompanyManager.php b/app/AdManager/CompanyManager.php index 9865356..d2529e1 100644 --- a/app/AdManager/CompanyManager.php +++ b/app/AdManager/CompanyManager.php @@ -4,9 +4,9 @@ require __DIR__.'/../../vendor/autoload.php'; -use Google\AdsApi\AdManager\v201811\Company; -use Google\AdsApi\AdManager\v201811\CompanyType; -use Google\AdsApi\AdManager\Util\v201811\StatementBuilder; +use Google\AdsApi\AdManager\v201908\Company; +use Google\AdsApi\AdManager\v201908\CompanyType; +use Google\AdsApi\AdManager\Util\v201908\StatementBuilder; class CompanyManager extends Manager { diff --git a/app/AdManager/CreativeManager.php b/app/AdManager/CreativeManager.php index 427d6ce..498f9c3 100644 --- a/app/AdManager/CreativeManager.php +++ b/app/AdManager/CreativeManager.php @@ -4,10 +4,11 @@ require __DIR__.'/../../vendor/autoload.php'; -use Google\AdsApi\AdManager\Util\v201811\StatementBuilder; -use Google\AdsApi\AdManager\v201811\CreativeService; -use Google\AdsApi\AdManager\v201811\ThirdPartyCreative; -use Google\AdsApi\AdManager\v201811\Size; +use Google\AdsApi\AdManager\Util\v201908\StatementBuilder; +use Google\AdsApi\AdManager\v201908\CreativeService; +use Google\AdsApi\AdManager\v201908\ThirdPartyCreative; +use Google\AdsApi\AdManager\v201908\Size; +use Google\AdsApi\AdManager\v201908\ApiException; class CreativeManager extends Manager { @@ -28,8 +29,10 @@ public function setAdvertiserId($advertiserId) return $this; } - public function setUpCreatives() + public function setUpCreatives($type = "old") { + $safeframe = $type == "old" ? false : true; + $output = []; //Create a creativeName List $creativeNameList = []; @@ -43,9 +46,9 @@ public function setUpCreatives() foreach ($creativeNameList as $creativeName) { if (empty(($foo = $this->getCreative($creativeName)))) { - $foo = $this->createCreative($creativeName, $this->createSnippet(), $this->advertiserId); + $foo = $this->createCreative($creativeName, $this->createSnippet($type), $this->advertiserId, $safeframe); } else { - $foo = $this->updateCreative($creativeName, $this->createSnippet(), $this->advertiserId); + $foo = $this->updateCreative($creativeName, $this->createSnippet($type), $this->advertiserId, $safeframe); } array_push($output, $foo[0]); } @@ -90,7 +93,26 @@ public function getCreative($creativeName) ->where('name = :name AND advertiserId = :advertiserId') ->WithBindVariableValue('name', $creativeName) ->WithBindVariableValue('advertiserId', $this->advertiserId); - $data = $creativeService->getCreativesByStatement($statementBuilder->toStatement()); + do{ + try{ + $data = $creativeService->getCreativesByStatement($statementBuilder->toStatement()); + } catch (ApiException $Exception) { + echo "\n\n======EXCEPTION======\n\n"; + $ApiErrors = $Exception->getErrors(); + foreach ($ApiErrors as $Error) { + printf( + "There was an error on the field '%s', caused by an invalid value '%s', with the error message '%s'\n", + $Error->getFieldPath(), + $Error->getTrigger(), + $Error->getErrorString() + ); + } + ++$attempts; + sleep(30); + continue; + } + break; + } while ($attempts < 5); if (null !== $data->getResults()) { foreach ($data->getResults() as $creative) { $foo = [ @@ -104,7 +126,7 @@ public function getCreative($creativeName) return $output; } - public function createCreative($creativeName, $snippet, $advertiserId) + public function createCreative($creativeName, $snippet, $advertiserId, $safeframe) { $output = []; $creativeService = $this->serviceFactory->createCreativeService($this->session); @@ -117,12 +139,31 @@ public function createCreative($creativeName, $snippet, $advertiserId) $creative->setName($creativeName) ->setAdvertiserId($advertiserId) - ->setIsSafeFrameCompatible(false) + ->setIsSafeFrameCompatible($safeframe) ->setSnippet($snippet) ->setSize($size); // Create the order on the server. - $results = $creativeService->createCreatives([$creative]); + do{ + try{ + $results = $creativeService->createCreatives([$creative]); + } catch (ApiException $Exception) { + echo "\n\n======EXCEPTION======\n\n"; + $ApiErrors = $Exception->getErrors(); + foreach ($ApiErrors as $Error) { + printf( + "There was an error on the field '%s', caused by an invalid value '%s', with the error message '%s'\n", + $Error->getFieldPath(), + $Error->getTrigger(), + $Error->getErrorString() + ); + } + ++$attempts; + sleep(30); + continue; + } + break; + } while ($attempts < 5); foreach ($results as $creative) { $foo = [ 'creativeId' => $creative->getId(), @@ -134,7 +175,7 @@ public function createCreative($creativeName, $snippet, $advertiserId) return $output; } - public function updateCreative($creativeName, $snippet, $advertiserId) + public function updateCreative($creativeName, $snippet, $advertiserId, $safeframe) { $output = []; $creativeService = $this->serviceFactory->createCreativeService($this->session); @@ -155,12 +196,32 @@ public function updateCreative($creativeName, $snippet, $advertiserId) $creative->setName($creativeName) ->setAdvertiserId($advertiserId) - ->setIsSafeFrameCompatible(true) + ->setIsSafeFrameCompatible($safeframe) ->setSnippet($snippet) ->setSize($size); // Create the order on the server. - $results = $creativeService->updateCreatives([$creative]); + do { + try { + $results = $creativeService->updateCreatives([$creative]); + } catch (ApiException $Exception) { + echo "\n\n======EXCEPTION======\n\n"; + $ApiErrors = $Exception->getErrors(); + foreach ($ApiErrors as $Error) { + printf( + "There was an error on the field '%s', caused by an invalid value '%s', with the error message '%s'\n", + $Error->getFieldPath(), + $Error->getTrigger(), + $Error->getErrorString() + ); + } + ++$attempts; + sleep(30); + continue; + } + break; + } while ($attempts < 5); + foreach ($results as $creative) { $foo = [ 'creativeId' => $creative->getId(), @@ -172,7 +233,7 @@ public function updateCreative($creativeName, $snippet, $advertiserId) return $output; } - + /* private function createSnippet() { $snippet = "\n"; @@ -191,8 +252,18 @@ private function createSnippet() return $snippet; } - /* - private function createSnippet() + */ + + private function createSnippet($type) + { + if($type == "old"){ + return $this->createOldSnippet(); + } else { + return $this->createNewSnippet(); + } + } + + private function createOldSnippet() { if (empty($this->ssp)) { $key = substr('hb_adid', 0, 20); @@ -217,5 +288,25 @@ private function createSnippet() return $snippet; } - */ + private function createNewSnippet() + { + $snippet = "\n"; + $snippet .= "\n"; + + return $snippet; + + } + + } diff --git a/app/AdManager/KeyManager.php b/app/AdManager/KeyManager.php index ea46477..722fe5e 100644 --- a/app/AdManager/KeyManager.php +++ b/app/AdManager/KeyManager.php @@ -4,9 +4,9 @@ require __DIR__.'/../../vendor/autoload.php'; -use Google\AdsApi\AdManager\v201811\CustomTargetingKey; -use Google\AdsApi\AdManager\v201811\CustomTargetingKeyType; -use Google\AdsApi\AdManager\Util\v201811\StatementBuilder; +use Google\AdsApi\AdManager\v201908\CustomTargetingKey; +use Google\AdsApi\AdManager\v201908\CustomTargetingKeyType; +use Google\AdsApi\AdManager\Util\v201908\StatementBuilder; class KeyManager extends Manager diff --git a/app/AdManager/LineItemCreativeAssociationManager.php b/app/AdManager/LineItemCreativeAssociationManager.php index 2335047..393fbfa 100644 --- a/app/AdManager/LineItemCreativeAssociationManager.php +++ b/app/AdManager/LineItemCreativeAssociationManager.php @@ -4,11 +4,11 @@ require __DIR__.'/../../vendor/autoload.php'; -use Google\AdsApi\AdManager\v201811\LineItemCreativeAssociation; -use Google\AdsApi\AdManager\v201811\LineItemCreativeAssociationService; -use Google\AdsApi\AdManager\v201811\Size; -use Google\AdsApi\AdManager\Util\v201811\StatementBuilder; -use Google\AdsApi\AdManager\v201811\ApiException; +use Google\AdsApi\AdManager\v201908\LineItemCreativeAssociation; +use Google\AdsApi\AdManager\v201908\LineItemCreativeAssociationService; +use Google\AdsApi\AdManager\v201908\Size; +use Google\AdsApi\AdManager\Util\v201908\StatementBuilder; +use Google\AdsApi\AdManager\v201908\ApiException; class LineItemCreativeAssociationManager extends Manager { diff --git a/app/AdManager/LineItemManager.php b/app/AdManager/LineItemManager.php index 5809e2f..e67d68e 100644 --- a/app/AdManager/LineItemManager.php +++ b/app/AdManager/LineItemManager.php @@ -4,26 +4,26 @@ require __DIR__.'/../../vendor/autoload.php'; -use Google\AdsApi\AdManager\v201811\AdUnitTargeting; -use Google\AdsApi\AdManager\v201811\CostType; -use Google\AdsApi\AdManager\v201811\CreativePlaceholder; -use Google\AdsApi\AdManager\v201811\CreativeRotationType; -use Google\AdsApi\AdManager\v201811\CustomCriteria; -use Google\AdsApi\AdManager\v201811\CustomCriteriaComparisonOperator; -use Google\AdsApi\AdManager\v201811\CustomCriteriaSet; -use Google\AdsApi\AdManager\v201811\CustomCriteriaSetLogicalOperator; -use Google\AdsApi\AdManager\v201811\Goal; -use Google\AdsApi\AdManager\v201811\GoalType; -use Google\AdsApi\AdManager\v201811\InventoryTargeting; -use Google\AdsApi\AdManager\v201811\LineItem; -use Google\AdsApi\AdManager\v201811\LineItemService; -use Google\AdsApi\AdManager\v201811\LineItemType; -use Google\AdsApi\AdManager\v201811\Money; -use Google\AdsApi\AdManager\v201811\Size; -use Google\AdsApi\AdManager\v201811\StartDateTimeType; -use Google\AdsApi\AdManager\v201811\Targeting; -use Google\AdsApi\AdManager\Util\v201811\StatementBuilder; -use Google\AdsApi\AdManager\v201811\ApiException; +use Google\AdsApi\AdManager\v201908\AdUnitTargeting; +use Google\AdsApi\AdManager\v201908\CostType; +use Google\AdsApi\AdManager\v201908\CreativePlaceholder; +use Google\AdsApi\AdManager\v201908\CreativeRotationType; +use Google\AdsApi\AdManager\v201908\CustomCriteria; +use Google\AdsApi\AdManager\v201908\CustomCriteriaComparisonOperator; +use Google\AdsApi\AdManager\v201908\CustomCriteriaSet; +use Google\AdsApi\AdManager\v201908\CustomCriteriaSetLogicalOperator; +use Google\AdsApi\AdManager\v201908\Goal; +use Google\AdsApi\AdManager\v201908\GoalType; +use Google\AdsApi\AdManager\v201908\InventoryTargeting; +use Google\AdsApi\AdManager\v201908\LineItem; +use Google\AdsApi\AdManager\v201908\LineItemService; +use Google\AdsApi\AdManager\v201908\LineItemType; +use Google\AdsApi\AdManager\v201908\Money; +use Google\AdsApi\AdManager\v201908\Size; +use Google\AdsApi\AdManager\v201908\StartDateTimeType; +use Google\AdsApi\AdManager\v201908\Targeting; +use Google\AdsApi\AdManager\Util\v201908\StatementBuilder; +use Google\AdsApi\AdManager\v201908\ApiException; class LineItemManager extends Manager { diff --git a/app/AdManager/Manager.php b/app/AdManager/Manager.php index 987d9d2..b0ab6ab 100644 --- a/app/AdManager/Manager.php +++ b/app/AdManager/Manager.php @@ -8,7 +8,7 @@ use Google\AdsApi\AdManager\AdManagerSessionBuilder; use Google\AdsApi\Common\OAuth2TokenBuilder; -use Google\AdsApi\AdManager\v201811\ServiceFactory; +use Google\AdsApi\AdManager\v201908\ServiceFactory; class Manager { protected $serviceFactory; diff --git a/app/AdManager/NetworkManager.php b/app/AdManager/NetworkManager.php index 6647bda..d89c9db 100644 --- a/app/AdManager/NetworkManager.php +++ b/app/AdManager/NetworkManager.php @@ -4,7 +4,7 @@ require __DIR__.'/../../vendor/autoload.php'; -use Google\AdsApi\AdManager\v201811\NetworkService; +use Google\AdsApi\AdManager\v201908\NetworkService; class NetworkManager extends Manager { diff --git a/app/AdManager/OrderManager.php b/app/AdManager/OrderManager.php index 9c7675a..6d9319e 100644 --- a/app/AdManager/OrderManager.php +++ b/app/AdManager/OrderManager.php @@ -4,10 +4,10 @@ require __DIR__.'/../../vendor/autoload.php'; -use Google\AdsApi\AdManager\v201811\Order; -use Google\AdsApi\AdManager\Util\v201811\StatementBuilder; -use Google\AdsApi\AdManager\v201811\ApproveOrders as ApproveOrdersAction; -use Google\AdsApi\AdManager\v201811\ApiException; +use Google\AdsApi\AdManager\v201908\Order; +use Google\AdsApi\AdManager\Util\v201908\StatementBuilder; +use Google\AdsApi\AdManager\v201908\ApproveOrders as ApproveOrdersAction; +use Google\AdsApi\AdManager\v201908\ApiException; class OrderManager extends Manager diff --git a/app/AdManager/RootAdUnitManager.php b/app/AdManager/RootAdUnitManager.php index 42be559..0a8403e 100644 --- a/app/AdManager/RootAdUnitManager.php +++ b/app/AdManager/RootAdUnitManager.php @@ -4,7 +4,7 @@ require __DIR__.'/../../vendor/autoload.php'; -use Google\AdsApi\AdManager\v201811\NetworkService; +use Google\AdsApi\AdManager\v201908\NetworkService; class RootAdUnitManager extends Manager { diff --git a/app/AdManager/ValueManager.php b/app/AdManager/ValueManager.php index 12654cf..ab11e9f 100644 --- a/app/AdManager/ValueManager.php +++ b/app/AdManager/ValueManager.php @@ -5,9 +5,9 @@ require __DIR__.'/../../vendor/autoload.php'; -use Google\AdsApi\AdManager\v201811\CustomTargetingValue; -use Google\AdsApi\AdManager\v201811\CustomTargetingValueMatchType; -use Google\AdsApi\AdManager\Util\v201811\StatementBuilder; +use Google\AdsApi\AdManager\v201908\CustomTargetingValue; +use Google\AdsApi\AdManager\v201908\CustomTargetingValueMatchType; +use Google\AdsApi\AdManager\Util\v201908\StatementBuilder; class ValueManager extends Manager { diff --git a/app/Scripts/AdsApiGenerator.php b/app/Scripts/AdsApiGenerator.php new file mode 100644 index 0000000..9719967 --- /dev/null +++ b/app/Scripts/AdsApiGenerator.php @@ -0,0 +1,72 @@ +generateContent()); + } + fclose($fp1); + } + + public function deleteAdsApi() + { + unlink(__DIR__."/../../adsapi_php.ini"); + } + + public function setCredentials($credentials) + { + $this->networkCode = $credentials['networkCode']; + $this->applicationName = $credentials['applicationName']; + $this->jsonKeyFilePath = $credentials['jsonKeyFilePath']; + $this->impersonatedEmail = $credentials['impersonatedEmail']; + + return $this; + } + + private function generateContent() + { + $output = "[AD_MANAGER]\n"; + $output .= "networkCode = \"".$this->networkCode."\"\n"; + $output .= "applicationName = \"".$this->applicationName."\"\n"; + $output .= "[OAUTH2]\n"; + $output .= "jsonKeyFilePath = \"".$this->jsonKeyFilePath."\"\n"; + $output .= "scopes = \"".$this->scopes."\"\n"; + $output .= "impersonatedEmail = \"".$this->impersonatedEmail."\"\n"; + return $output; + + } + + public function setNetworkCode($networkCode) + { + $this->networkCode = $networkCode; + return $this; + } + + public function setApplicationName($applicationName) + { + $this->applicationName = $applicationName; + return $this; + } + + public function setJsonKeyFilePath($jsonKeyFilePath) + { + $this->jsonKeyFilePath = $jsonKeyFilePath; + return $this; + } + + public function setImpersonatedEmail($impersonatedEmail) + { + $this->impersonatedEmail = $impersonatedEmail; + return $this; + } +} \ No newline at end of file diff --git a/app/Scripts/Buckets.php b/app/Scripts/Buckets.php index 5852c7e..51e445d 100644 --- a/app/Scripts/Buckets.php +++ b/app/Scripts/Buckets.php @@ -52,7 +52,7 @@ public static function createBuckets($value) private static function create($priceGranularity) { - $buckets = []; + $buckets = ["0.00"]; $lastValue = 0; foreach ($priceGranularity as $value) { $precision = isset($value['precision']) ? $value['precision'] : 2; diff --git a/app/Scripts/HeaderBiddingScript.php b/app/Scripts/HeaderBiddingScript.php index a9de12c..b23be17 100644 --- a/app/Scripts/HeaderBiddingScript.php +++ b/app/Scripts/HeaderBiddingScript.php @@ -8,8 +8,23 @@ class HeaderBiddingScript protected $advertiserId; protected $orderId; protected $keyId; + protected $adsApi; - public static function createAdUnits($params) + public function setCredentials($credentials) + { + $this->adsApi = new \App\Scripts\AdsApiGenerator; + $this->adsApi->setCredentials($credentials) + ->generateAdsApi(); + return $this; + } + + public function clearCredentials() + { + + $this->adsApi->deleteAdsApi(); + } + + public function createAdUnits($params) { foreach ($params['ssp'] as $ssp) { $param = [ @@ -27,9 +42,31 @@ public static function createAdUnits($params) $script->createAdUnits(); } + return $this; + } + + public function updateCreatives($params, $type) + { + foreach ($params['ssp'] as $ssp) { + $param = [ + 'orderName' => $params['orderPrefix'].ucfirst($ssp), + 'advertiserName' => $params['orderPrefix'].ucfirst($ssp), + 'priceGranularity' => $params['priceGranularity'], + 'sizes' => $params['sizes'], + 'priceKeyName' => substr("hb_pb_$ssp", 0, 20), + 'adidKeyName' => substr("hb_adid_$ssp", 0, 20), + 'sizeKeyName' => substr("hb_size_$ssp", 0, 20), + 'currency' => $params['currency'], + 'ssp' => $ssp, + ]; + $script = new SSPScript($param); + + $script->updateCreatives($type); + } + return $this; } - public static function createGlobalAdunits($params) + public function createGlobalAdunits($params) { $params = [ 'orderName' => $params['orderPrefix'], diff --git a/app/Scripts/SSPScript.php b/app/Scripts/SSPScript.php index b10cf74..88b2e61 100644 --- a/app/Scripts/SSPScript.php +++ b/app/Scripts/SSPScript.php @@ -66,9 +66,7 @@ public function createAdUnits() $this->dfpValuesList = $valuesManager->convertValuesListToDFPValuesList($this->valuesList); echo "Values List Created\n"; - - - + $creativeManager = new \App\AdManager\CreativeManager(); $creativeManager->setSsp($this->ssp) ->setAdvertiserId($this->advertiserId); @@ -108,7 +106,21 @@ public function createAdUnits() echo round(($i / count($this->dfpValuesList)) * 100, 1)."% done\n\n"; } - + (new \App\AdManager\OrderManager())->approveOrder($this->orderId); + + } + + + public function updateCreatives($type = "old") + { + $this->advertiserId = (new \App\AdManager\CompanyManager())->setUpCompany($this->advertiserName); + echo 'AdvertiserName : '.$this->advertiserName."\tAdvertiserId: ".$this->advertiserId."\n"; + + $creativeManager = new \App\AdManager\CreativeManager(); + $creativeManager->setSsp($this->ssp) + ->setAdvertiserId($this->advertiserId); + $this->creativesList = $creativeManager->setUpCreatives($type); } + } diff --git a/composer.json b/composer.json index 03f11df..72cd845 100644 --- a/composer.json +++ b/composer.json @@ -1,6 +1,6 @@ { "require": { - "googleads/googleads-php-lib": "^38.0" + "googleads/googleads-php-lib": "^43.0" }, "require-dev": { "friendsofphp/php-cs-fixer": "^2.13" diff --git a/composer.lock b/composer.lock index a636e66..e8847c4 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "This file is @generated automatically" ], - "content-hash": "9afd3978540e4ed2e2abb28fe9d6014f", + "content-hash": "a7565816c307a939c89275443edcbb7c", "packages": [ { "name": "firebase/php-jwt", @@ -54,16 +54,16 @@ }, { "name": "google/auth", - "version": "v1.4.0", + "version": "v1.6.0", "source": { "type": "git", "url": "https://github.com/googleapis/google-auth-library-php.git", - "reference": "196237248e636a3554a7d9e4dfddeb97f450ab5c" + "reference": "6d5455b4c0f4a58b1f1b4bdf2ba49221123698b3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/googleapis/google-auth-library-php/zipball/196237248e636a3554a7d9e4dfddeb97f450ab5c", - "reference": "196237248e636a3554a7d9e4dfddeb97f450ab5c", + "url": "https://api.github.com/repos/googleapis/google-auth-library-php/zipball/6d5455b4c0f4a58b1f1b4bdf2ba49221123698b3", + "reference": "6d5455b4c0f4a58b1f1b4bdf2ba49221123698b3", "shasum": "" }, "require": { @@ -77,9 +77,13 @@ "require-dev": { "friendsofphp/php-cs-fixer": "^1.11", "guzzlehttp/promises": "0.1.1|^1.3", + "phpseclib/phpseclib": "^2", "phpunit/phpunit": "^4.8.36|^5.7", "sebastian/comparator": ">=1.2.3" }, + "suggest": { + "phpseclib/phpseclib": "May be used in place of OpenSSL for signing strings or for token management. Please require version ^2." + }, "type": "library", "autoload": { "psr-4": { @@ -97,20 +101,20 @@ "google", "oauth2" ], - "time": "2018-09-17T20:29:21+00:00" + "time": "2019-10-01T18:35:05+00:00" }, { "name": "googleads/googleads-php-lib", - "version": "38.0.0", + "version": "43.0.0", "source": { "type": "git", "url": "https://github.com/googleads/googleads-php-lib.git", - "reference": "04fda7fd0fe004654b9a4cff7b7541897f6477b0" + "reference": "bf121165f10fc6701b7d72e23d6c7a07fd48e5c5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/googleads/googleads-php-lib/zipball/04fda7fd0fe004654b9a4cff7b7541897f6477b0", - "reference": "04fda7fd0fe004654b9a4cff7b7541897f6477b0", + "url": "https://api.github.com/repos/googleads/googleads-php-lib/zipball/bf121165f10fc6701b7d72e23d6c7a07fd48e5c5", + "reference": "bf121165f10fc6701b7d72e23d6c7a07fd48e5c5", "shasum": "" }, "require": { @@ -121,17 +125,16 @@ "guzzlehttp/guzzle": "^6.0", "guzzlehttp/psr7": "^1.2", "monolog/monolog": "^1.17.1", - "php": ">=5.5.9", + "php": ">=7.1", "phpdocumentor/reflection-docblock": "^4.0.0 || ^3.0.3", "symfony/serializer": "^2.8.0 || ^3.0.3 || ^4.0.0" }, "require-dev": { - "php": ">=5.5.17", - "phpunit/phpunit": "^4.8.35 || ^5.7", + "phpunit/phpunit": "^7.5", "squizlabs/php_codesniffer": "^2.9 || ^3.2" }, "suggest": { - "php-64bit": ">=5.5.9" + "php-64bit": ">=7.1" }, "type": "library", "autoload": { @@ -151,7 +154,7 @@ ], "description": "Google Ads APIs Client Library for PHP (AdWords and Ad Manager)", "homepage": "https://github.com/googleads/googleads-php-lib", - "time": "2018-11-16T17:39:25+00:00" + "time": "2019-08-14T16:54:13+00:00" }, { "name": "guzzlehttp/guzzle", @@ -271,33 +274,37 @@ }, { "name": "guzzlehttp/psr7", - "version": "1.5.2", + "version": "1.6.1", "source": { "type": "git", "url": "https://github.com/guzzle/psr7.git", - "reference": "9f83dded91781a01c63574e387eaa769be769115" + "reference": "239400de7a173fe9901b9ac7c06497751f00727a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/9f83dded91781a01c63574e387eaa769be769115", - "reference": "9f83dded91781a01c63574e387eaa769be769115", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/239400de7a173fe9901b9ac7c06497751f00727a", + "reference": "239400de7a173fe9901b9ac7c06497751f00727a", "shasum": "" }, "require": { "php": ">=5.4.0", "psr/http-message": "~1.0", - "ralouphie/getallheaders": "^2.0.5" + "ralouphie/getallheaders": "^2.0.5 || ^3.0.0" }, "provide": { "psr/http-message-implementation": "1.0" }, "require-dev": { + "ext-zlib": "*", "phpunit/phpunit": "~4.8.36 || ^5.7.27 || ^6.5.8" }, + "suggest": { + "zendframework/zend-httphandlerrunner": "Emit PSR-7 responses" + }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.5-dev" + "dev-master": "1.6-dev" } }, "autoload": { @@ -334,20 +341,20 @@ "uri", "url" ], - "time": "2018-12-04T20:46:45+00:00" + "time": "2019-07-01T23:21:34+00:00" }, { "name": "monolog/monolog", - "version": "1.24.0", + "version": "1.25.1", "source": { "type": "git", "url": "https://github.com/Seldaek/monolog.git", - "reference": "bfc9ebb28f97e7a24c45bdc3f0ff482e47bb0266" + "reference": "70e65a5470a42cfec1a7da00d30edb6e617e8dcf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/bfc9ebb28f97e7a24c45bdc3f0ff482e47bb0266", - "reference": "bfc9ebb28f97e7a24c45bdc3f0ff482e47bb0266", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/70e65a5470a42cfec1a7da00d30edb6e617e8dcf", + "reference": "70e65a5470a42cfec1a7da00d30edb6e617e8dcf", "shasum": "" }, "require": { @@ -412,39 +419,37 @@ "logging", "psr-3" ], - "time": "2018-11-05T09:00:11+00:00" + "time": "2019-09-06T13:49:17+00:00" }, { "name": "phpdocumentor/reflection-common", - "version": "1.0.1", + "version": "2.0.0", "source": { "type": "git", "url": "https://github.com/phpDocumentor/ReflectionCommon.git", - "reference": "21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6" + "reference": "63a995caa1ca9e5590304cd845c15ad6d482a62a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6", - "reference": "21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/63a995caa1ca9e5590304cd845c15ad6d482a62a", + "reference": "63a995caa1ca9e5590304cd845c15ad6d482a62a", "shasum": "" }, "require": { - "php": ">=5.5" + "php": ">=7.1" }, "require-dev": { - "phpunit/phpunit": "^4.6" + "phpunit/phpunit": "~6" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "2.x-dev" } }, "autoload": { "psr-4": { - "phpDocumentor\\Reflection\\": [ - "src" - ] + "phpDocumentor\\Reflection\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -466,33 +471,39 @@ "reflection", "static analysis" ], - "time": "2017-09-11T18:02:19+00:00" + "time": "2018-08-07T13:53:10+00:00" }, { "name": "phpdocumentor/reflection-docblock", - "version": "3.3.2", + "version": "4.3.2", "source": { "type": "git", "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "bf329f6c1aadea3299f08ee804682b7c45b326a2" + "reference": "b83ff7cfcfee7827e1e78b637a5904fe6a96698e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/bf329f6c1aadea3299f08ee804682b7c45b326a2", - "reference": "bf329f6c1aadea3299f08ee804682b7c45b326a2", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/b83ff7cfcfee7827e1e78b637a5904fe6a96698e", + "reference": "b83ff7cfcfee7827e1e78b637a5904fe6a96698e", "shasum": "" }, "require": { - "php": "^5.6 || ^7.0", - "phpdocumentor/reflection-common": "^1.0.0", - "phpdocumentor/type-resolver": "^0.4.0", + "php": "^7.0", + "phpdocumentor/reflection-common": "^1.0.0 || ^2.0.0", + "phpdocumentor/type-resolver": "~0.4 || ^1.0.0", "webmozart/assert": "^1.0" }, "require-dev": { - "mockery/mockery": "^0.9.4", - "phpunit/phpunit": "^4.4" + "doctrine/instantiator": "^1.0.5", + "mockery/mockery": "^1.0", + "phpunit/phpunit": "^6.4" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.x-dev" + } + }, "autoload": { "psr-4": { "phpDocumentor\\Reflection\\": [ @@ -511,41 +522,40 @@ } ], "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", - "time": "2017-11-10T14:09:06+00:00" + "time": "2019-09-12T14:27:41+00:00" }, { "name": "phpdocumentor/type-resolver", - "version": "0.4.0", + "version": "1.0.1", "source": { "type": "git", "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "9c977708995954784726e25d0cd1dddf4e65b0f7" + "reference": "2e32a6d48972b2c1976ed5d8967145b6cec4a4a9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/9c977708995954784726e25d0cd1dddf4e65b0f7", - "reference": "9c977708995954784726e25d0cd1dddf4e65b0f7", + "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/2e32a6d48972b2c1976ed5d8967145b6cec4a4a9", + "reference": "2e32a6d48972b2c1976ed5d8967145b6cec4a4a9", "shasum": "" }, "require": { - "php": "^5.5 || ^7.0", - "phpdocumentor/reflection-common": "^1.0" + "php": "^7.1", + "phpdocumentor/reflection-common": "^2.0" }, "require-dev": { - "mockery/mockery": "^0.9.4", - "phpunit/phpunit": "^5.2||^4.8.24" + "ext-tokenizer": "^7.1", + "mockery/mockery": "~1", + "phpunit/phpunit": "^7.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "1.x-dev" } }, "autoload": { "psr-4": { - "phpDocumentor\\Reflection\\": [ - "src/" - ] + "phpDocumentor\\Reflection\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -558,7 +568,8 @@ "email": "me@mikevanriel.com" } ], - "time": "2017-07-14T14:27:02+00:00" + "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names", + "time": "2019-08-22T18:11:29+00:00" }, { "name": "psr/cache", @@ -705,24 +716,24 @@ }, { "name": "ralouphie/getallheaders", - "version": "2.0.5", + "version": "3.0.3", "source": { "type": "git", "url": "https://github.com/ralouphie/getallheaders.git", - "reference": "5601c8a83fbba7ef674a7369456d12f1e0d0eafa" + "reference": "120b605dfeb996808c31b6477290a714d356e822" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/5601c8a83fbba7ef674a7369456d12f1e0d0eafa", - "reference": "5601c8a83fbba7ef674a7369456d12f1e0d0eafa", + "url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822", + "reference": "120b605dfeb996808c31b6477290a714d356e822", "shasum": "" }, "require": { - "php": ">=5.3" + "php": ">=5.6" }, "require-dev": { - "phpunit/phpunit": "~3.7.0", - "satooshi/php-coveralls": ">=1.0" + "php-coveralls/php-coveralls": "^2.1", + "phpunit/phpunit": "^5 || ^6.5" }, "type": "library", "autoload": { @@ -741,20 +752,20 @@ } ], "description": "A polyfill for getallheaders.", - "time": "2016-02-11T07:05:27+00:00" + "time": "2019-03-08T08:55:37+00:00" }, { "name": "symfony/polyfill-ctype", - "version": "v1.10.0", + "version": "v1.12.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "e3d826245268269cd66f8326bd8bc066687b4a19" + "reference": "550ebaac289296ce228a706d0867afc34687e3f4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/e3d826245268269cd66f8326bd8bc066687b4a19", - "reference": "e3d826245268269cd66f8326bd8bc066687b4a19", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/550ebaac289296ce228a706d0867afc34687e3f4", + "reference": "550ebaac289296ce228a706d0867afc34687e3f4", "shasum": "" }, "require": { @@ -766,7 +777,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.9-dev" + "dev-master": "1.12-dev" } }, "autoload": { @@ -782,13 +793,13 @@ "MIT" ], "authors": [ - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - }, { "name": "Gert de Pagter", "email": "BackEndTea@gmail.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], "description": "Symfony polyfill for ctype functions", @@ -799,43 +810,44 @@ "polyfill", "portable" ], - "time": "2018-08-06T14:22:27+00:00" + "time": "2019-08-06T08:03:45+00:00" }, { "name": "symfony/serializer", - "version": "v3.4.21", + "version": "v4.3.5", "source": { "type": "git", "url": "https://github.com/symfony/serializer.git", - "reference": "3bb84f8a785bf30be3d4aef6f3c80f103acc54df" + "reference": "805eacc72d28e237ef31659344a4d72acef335ec" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/serializer/zipball/3bb84f8a785bf30be3d4aef6f3c80f103acc54df", - "reference": "3bb84f8a785bf30be3d4aef6f3c80f103acc54df", + "url": "https://api.github.com/repos/symfony/serializer/zipball/805eacc72d28e237ef31659344a4d72acef335ec", + "reference": "805eacc72d28e237ef31659344a4d72acef335ec", "shasum": "" }, "require": { - "php": "^5.5.9|>=7.0.8", + "php": "^7.1.3", "symfony/polyfill-ctype": "~1.8" }, "conflict": { "phpdocumentor/type-resolver": "<0.2.1", - "symfony/dependency-injection": "<3.2", - "symfony/property-access": ">=3.0,<3.0.4|>=2.8,<2.8.4", - "symfony/property-info": "<3.1", + "symfony/dependency-injection": "<3.4", + "symfony/property-access": "<3.4", + "symfony/property-info": "<3.4", "symfony/yaml": "<3.4" }, "require-dev": { "doctrine/annotations": "~1.0", "doctrine/cache": "~1.0", "phpdocumentor/reflection-docblock": "^3.0|^4.0", - "symfony/cache": "~3.1|~4.0", - "symfony/config": "~2.8|~3.0|~4.0", - "symfony/dependency-injection": "~3.2|~4.0", - "symfony/http-foundation": "~2.8|~3.0|~4.0", - "symfony/property-access": "~2.8|~3.0|~4.0", - "symfony/property-info": "~3.1|~4.0", + "symfony/cache": "~3.4|~4.0", + "symfony/config": "~3.4|~4.0", + "symfony/dependency-injection": "~3.4|~4.0", + "symfony/http-foundation": "~3.4|~4.0", + "symfony/property-access": "~3.4|~4.0", + "symfony/property-info": "^3.4.13|~4.0", + "symfony/validator": "~3.4|~4.0", "symfony/yaml": "~3.4|~4.0" }, "suggest": { @@ -843,7 +855,7 @@ "doctrine/cache": "For using the default cached annotation reader and metadata cache.", "psr/cache-implementation": "For using the metadata cache.", "symfony/config": "For using the XML mapping loader.", - "symfony/http-foundation": "To use the DataUriNormalizer.", + "symfony/http-foundation": "For using a MIME type guesser within the DataUriNormalizer.", "symfony/property-access": "For using the ObjectNormalizer.", "symfony/property-info": "To deserialize relations.", "symfony/yaml": "For using the default YAML mapping loader." @@ -851,7 +863,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "3.4-dev" + "dev-master": "4.3-dev" } }, "autoload": { @@ -878,20 +890,20 @@ ], "description": "Symfony Serializer Component", "homepage": "https://symfony.com", - "time": "2019-01-01T13:45:19+00:00" + "time": "2019-10-02T15:03:35+00:00" }, { "name": "webmozart/assert", - "version": "1.4.0", + "version": "1.5.0", "source": { "type": "git", "url": "https://github.com/webmozart/assert.git", - "reference": "83e253c8e0be5b0257b881e1827274667c5c17a9" + "reference": "88e6d84706d09a236046d686bbea96f07b3a34f4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/webmozart/assert/zipball/83e253c8e0be5b0257b881e1827274667c5c17a9", - "reference": "83e253c8e0be5b0257b881e1827274667c5c17a9", + "url": "https://api.github.com/repos/webmozart/assert/zipball/88e6d84706d09a236046d686bbea96f07b3a34f4", + "reference": "88e6d84706d09a236046d686bbea96f07b3a34f4", "shasum": "" }, "require": { @@ -899,8 +911,7 @@ "symfony/polyfill-ctype": "^1.8" }, "require-dev": { - "phpunit/phpunit": "^4.6", - "sebastian/version": "^1.0.1" + "phpunit/phpunit": "^4.8.36 || ^7.5.13" }, "type": "library", "extra": { @@ -929,22 +940,22 @@ "check", "validate" ], - "time": "2018-12-25T11:19:39+00:00" + "time": "2019-08-24T08:43:50+00:00" } ], "packages-dev": [ { "name": "composer/semver", - "version": "1.4.2", + "version": "1.5.0", "source": { "type": "git", "url": "https://github.com/composer/semver.git", - "reference": "c7cb9a2095a074d131b65a8a0cd294479d785573" + "reference": "46d9139568ccb8d9e7cdd4539cab7347568a5e2e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/semver/zipball/c7cb9a2095a074d131b65a8a0cd294479d785573", - "reference": "c7cb9a2095a074d131b65a8a0cd294479d785573", + "url": "https://api.github.com/repos/composer/semver/zipball/46d9139568ccb8d9e7cdd4539cab7347568a5e2e", + "reference": "46d9139568ccb8d9e7cdd4539cab7347568a5e2e", "shasum": "" }, "require": { @@ -993,20 +1004,20 @@ "validation", "versioning" ], - "time": "2016-08-30T16:08:34+00:00" + "time": "2019-03-19T17:25:45+00:00" }, { "name": "composer/xdebug-handler", - "version": "1.3.1", + "version": "1.3.3", "source": { "type": "git", "url": "https://github.com/composer/xdebug-handler.git", - "reference": "dc523135366eb68f22268d069ea7749486458562" + "reference": "46867cbf8ca9fb8d60c506895449eb799db1184f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/dc523135366eb68f22268d069ea7749486458562", - "reference": "dc523135366eb68f22268d069ea7749486458562", + "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/46867cbf8ca9fb8d60c506895449eb799db1184f", + "reference": "46867cbf8ca9fb8d60c506895449eb799db1184f", "shasum": "" }, "require": { @@ -1037,34 +1048,34 @@ "Xdebug", "performance" ], - "time": "2018-11-29T10:59:02+00:00" + "time": "2019-05-27T17:52:04+00:00" }, { "name": "doctrine/annotations", - "version": "v1.4.0", + "version": "v1.8.0", "source": { "type": "git", "url": "https://github.com/doctrine/annotations.git", - "reference": "54cacc9b81758b14e3ce750f205a393d52339e97" + "reference": "904dca4eb10715b92569fbcd79e201d5c349b6bc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/annotations/zipball/54cacc9b81758b14e3ce750f205a393d52339e97", - "reference": "54cacc9b81758b14e3ce750f205a393d52339e97", + "url": "https://api.github.com/repos/doctrine/annotations/zipball/904dca4eb10715b92569fbcd79e201d5c349b6bc", + "reference": "904dca4eb10715b92569fbcd79e201d5c349b6bc", "shasum": "" }, "require": { "doctrine/lexer": "1.*", - "php": "^5.6 || ^7.0" + "php": "^7.1" }, "require-dev": { "doctrine/cache": "1.*", - "phpunit/phpunit": "^5.7" + "phpunit/phpunit": "^7.5" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.4.x-dev" + "dev-master": "1.7.x-dev" } }, "autoload": { @@ -1077,6 +1088,10 @@ "MIT" ], "authors": [ + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, { "name": "Roman Borschel", "email": "roman@code-factory.org" @@ -1085,10 +1100,6 @@ "name": "Benjamin Eberlei", "email": "kontakt@beberlei.de" }, - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com" - }, { "name": "Jonathan Wage", "email": "jonwage@gmail.com" @@ -1105,34 +1116,39 @@ "docblock", "parser" ], - "time": "2017-02-24T16:22:25+00:00" + "time": "2019-10-01T18:55:10+00:00" }, { "name": "doctrine/lexer", - "version": "v1.0.1", + "version": "1.1.0", "source": { "type": "git", "url": "https://github.com/doctrine/lexer.git", - "reference": "83893c552fd2045dd78aef794c31e694c37c0b8c" + "reference": "e17f069ede36f7534b95adec71910ed1b49c74ea" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/lexer/zipball/83893c552fd2045dd78aef794c31e694c37c0b8c", - "reference": "83893c552fd2045dd78aef794c31e694c37c0b8c", + "url": "https://api.github.com/repos/doctrine/lexer/zipball/e17f069ede36f7534b95adec71910ed1b49c74ea", + "reference": "e17f069ede36f7534b95adec71910ed1b49c74ea", "shasum": "" }, "require": { - "php": ">=5.3.2" + "php": "^7.2" + }, + "require-dev": { + "doctrine/coding-standard": "^6.0", + "phpstan/phpstan": "^0.11.8", + "phpunit/phpunit": "^8.2" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "1.1.x-dev" } }, "autoload": { - "psr-0": { - "Doctrine\\Common\\Lexer\\": "lib/" + "psr-4": { + "Doctrine\\Common\\Lexer\\": "lib/Doctrine/Common/Lexer" } }, "notification-url": "https://packagist.org/downloads/", @@ -1140,39 +1156,42 @@ "MIT" ], "authors": [ - { - "name": "Roman Borschel", - "email": "roman@code-factory.org" - }, { "name": "Guilherme Blanco", "email": "guilhermeblanco@gmail.com" }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, { "name": "Johannes Schmitt", "email": "schmittjoh@gmail.com" } ], - "description": "Base library for a lexer that can be used in Top-Down, Recursive Descent Parsers.", - "homepage": "http://www.doctrine-project.org", + "description": "PHP Doctrine Lexer parser library that can be used in Top-Down, Recursive Descent Parsers.", + "homepage": "https://www.doctrine-project.org/projects/lexer.html", "keywords": [ + "annotations", + "docblock", "lexer", - "parser" + "parser", + "php" ], - "time": "2014-09-09T13:34:57+00:00" + "time": "2019-07-30T19:33:28+00:00" }, { "name": "friendsofphp/php-cs-fixer", - "version": "v2.14.0", + "version": "v2.15.3", "source": { "type": "git", "url": "https://github.com/FriendsOfPHP/PHP-CS-Fixer.git", - "reference": "b788ea0af899cedc8114dca7db119c93b6685da2" + "reference": "705490b0f282f21017d73561e9498d2b622ee34c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/FriendsOfPHP/PHP-CS-Fixer/zipball/b788ea0af899cedc8114dca7db119c93b6685da2", - "reference": "b788ea0af899cedc8114dca7db119c93b6685da2", + "url": "https://api.github.com/repos/FriendsOfPHP/PHP-CS-Fixer/zipball/705490b0f282f21017d73561e9498d2b622ee34c", + "reference": "705490b0f282f21017d73561e9498d2b622ee34c", "shasum": "" }, "require": { @@ -1193,9 +1212,6 @@ "symfony/process": "^3.0 || ^4.0", "symfony/stopwatch": "^3.0 || ^4.0" }, - "conflict": { - "hhvm": "*" - }, "require-dev": { "johnkary/phpunit-speedtrap": "^1.1 || ^2.0 || ^3.0", "justinrainbow/json-schema": "^5.0", @@ -1203,11 +1219,12 @@ "mikey179/vfsstream": "^1.6", "php-coveralls/php-coveralls": "^2.1", "php-cs-fixer/accessible-object": "^1.0", - "php-cs-fixer/phpunit-constraint-isidenticalstring": "^1.0.1", - "php-cs-fixer/phpunit-constraint-xmlmatchesxsd": "^1.0.1", - "phpunit/phpunit": "^5.7.27 || ^6.5.8 || ^7.1", - "phpunitgoodpractices/traits": "^1.5.1", - "symfony/phpunit-bridge": "^4.0" + "php-cs-fixer/phpunit-constraint-isidenticalstring": "^1.1", + "php-cs-fixer/phpunit-constraint-xmlmatchesxsd": "^1.1", + "phpunit/phpunit": "^5.7.27 || ^6.5.14 || ^7.1", + "phpunitgoodpractices/traits": "^1.8", + "symfony/phpunit-bridge": "^4.3", + "symfony/yaml": "^3.0 || ^4.0" }, "suggest": { "ext-mbstring": "For handling non-UTF8 characters in cache signature.", @@ -1219,11 +1236,6 @@ "php-cs-fixer" ], "type": "application", - "extra": { - "branch-alias": { - "dev-master": "2.14-dev" - } - }, "autoload": { "psr-4": { "PhpCsFixer\\": "src/" @@ -1245,47 +1257,43 @@ "MIT" ], "authors": [ - { - "name": "Dariusz Rumiński", - "email": "dariusz.ruminski@gmail.com" - }, { "name": "Fabien Potencier", "email": "fabien@symfony.com" + }, + { + "name": "Dariusz Rumiński", + "email": "dariusz.ruminski@gmail.com" } ], "description": "A tool to automatically fix PHP code style", - "time": "2019-01-04T18:29:47+00:00" + "time": "2019-08-31T12:51:54+00:00" }, { "name": "paragonie/random_compat", - "version": "v2.0.18", + "version": "v9.99.99", "source": { "type": "git", "url": "https://github.com/paragonie/random_compat.git", - "reference": "0a58ef6e3146256cc3dc7cc393927bcc7d1b72db" + "reference": "84b4dfb120c6f9b4ff7b3685f9b8f1aa365a0c95" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/paragonie/random_compat/zipball/0a58ef6e3146256cc3dc7cc393927bcc7d1b72db", - "reference": "0a58ef6e3146256cc3dc7cc393927bcc7d1b72db", + "url": "https://api.github.com/repos/paragonie/random_compat/zipball/84b4dfb120c6f9b4ff7b3685f9b8f1aa365a0c95", + "reference": "84b4dfb120c6f9b4ff7b3685f9b8f1aa365a0c95", "shasum": "" }, "require": { - "php": ">=5.2.0" + "php": "^7" }, "require-dev": { - "phpunit/phpunit": "4.*|5.*" + "phpunit/phpunit": "4.*|5.*", + "vimeo/psalm": "^1" }, "suggest": { "ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes." }, "type": "library", - "autoload": { - "files": [ - "lib/random.php" - ] - }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" @@ -1304,7 +1312,7 @@ "pseudorandom", "random" ], - "time": "2019-01-03T20:59:08+00:00" + "time": "2018-07-02T15:55:56+00:00" }, { "name": "php-cs-fixer/diff", @@ -1357,39 +1365,94 @@ ], "time": "2018-02-15T16:58:55+00:00" }, + { + "name": "psr/container", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/container.git", + "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/container/zipball/b7ce3b176482dbbc1245ebf52b181af44c2cf55f", + "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Container\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common Container Interface (PHP FIG PSR-11)", + "homepage": "https://github.com/php-fig/container", + "keywords": [ + "PSR-11", + "container", + "container-interface", + "container-interop", + "psr" + ], + "time": "2017-02-14T16:28:37+00:00" + }, { "name": "symfony/console", - "version": "v3.4.21", + "version": "v4.3.5", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "a700b874d3692bc8342199adfb6d3b99f62cc61a" + "reference": "929ddf360d401b958f611d44e726094ab46a7369" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/a700b874d3692bc8342199adfb6d3b99f62cc61a", - "reference": "a700b874d3692bc8342199adfb6d3b99f62cc61a", + "url": "https://api.github.com/repos/symfony/console/zipball/929ddf360d401b958f611d44e726094ab46a7369", + "reference": "929ddf360d401b958f611d44e726094ab46a7369", "shasum": "" }, "require": { - "php": "^5.5.9|>=7.0.8", - "symfony/debug": "~2.8|~3.0|~4.0", - "symfony/polyfill-mbstring": "~1.0" + "php": "^7.1.3", + "symfony/polyfill-mbstring": "~1.0", + "symfony/polyfill-php73": "^1.8", + "symfony/service-contracts": "^1.1" }, "conflict": { "symfony/dependency-injection": "<3.4", + "symfony/event-dispatcher": "<4.3", "symfony/process": "<3.3" }, + "provide": { + "psr/log-implementation": "1.0" + }, "require-dev": { "psr/log": "~1.0", - "symfony/config": "~3.3|~4.0", + "symfony/config": "~3.4|~4.0", "symfony/dependency-injection": "~3.4|~4.0", - "symfony/event-dispatcher": "~2.8|~3.0|~4.0", + "symfony/event-dispatcher": "^4.3", "symfony/lock": "~3.4|~4.0", - "symfony/process": "~3.3|~4.0" + "symfony/process": "~3.4|~4.0", + "symfony/var-dumper": "^4.3" }, "suggest": { - "psr/log-implementation": "For using the console logger", + "psr/log": "For using the console logger", "symfony/event-dispatcher": "", "symfony/lock": "", "symfony/process": "" @@ -1397,7 +1460,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "3.4-dev" + "dev-master": "4.3-dev" } }, "autoload": { @@ -1424,41 +1487,55 @@ ], "description": "Symfony Console Component", "homepage": "https://symfony.com", - "time": "2019-01-04T04:42:43+00:00" + "time": "2019-10-07T12:36:49+00:00" }, { - "name": "symfony/debug", - "version": "v3.4.21", + "name": "symfony/event-dispatcher", + "version": "v4.3.5", "source": { "type": "git", - "url": "https://github.com/symfony/debug.git", - "reference": "26d7f23b9bd0b93bee5583e4d6ca5cb1ab31b186" + "url": "https://github.com/symfony/event-dispatcher.git", + "reference": "6229f58993e5a157f6096fc7145c0717d0be8807" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/debug/zipball/26d7f23b9bd0b93bee5583e4d6ca5cb1ab31b186", - "reference": "26d7f23b9bd0b93bee5583e4d6ca5cb1ab31b186", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/6229f58993e5a157f6096fc7145c0717d0be8807", + "reference": "6229f58993e5a157f6096fc7145c0717d0be8807", "shasum": "" }, "require": { - "php": "^5.5.9|>=7.0.8", - "psr/log": "~1.0" + "php": "^7.1.3", + "symfony/event-dispatcher-contracts": "^1.1" }, "conflict": { - "symfony/http-kernel": ">=2.3,<2.3.24|~2.4.0|>=2.5,<2.5.9|>=2.6,<2.6.2" + "symfony/dependency-injection": "<3.4" + }, + "provide": { + "psr/event-dispatcher-implementation": "1.0", + "symfony/event-dispatcher-implementation": "1.1" }, "require-dev": { - "symfony/http-kernel": "~2.8|~3.0|~4.0" + "psr/log": "~1.0", + "symfony/config": "~3.4|~4.0", + "symfony/dependency-injection": "~3.4|~4.0", + "symfony/expression-language": "~3.4|~4.0", + "symfony/http-foundation": "^3.4|^4.0", + "symfony/service-contracts": "^1.1", + "symfony/stopwatch": "~3.4|~4.0" + }, + "suggest": { + "symfony/dependency-injection": "", + "symfony/http-kernel": "" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.4-dev" + "dev-master": "4.3-dev" } }, "autoload": { "psr-4": { - "Symfony\\Component\\Debug\\": "" + "Symfony\\Component\\EventDispatcher\\": "" }, "exclude-from-classmap": [ "/Tests/" @@ -1478,54 +1555,41 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony Debug Component", + "description": "Symfony EventDispatcher Component", "homepage": "https://symfony.com", - "time": "2019-01-01T13:45:19+00:00" + "time": "2019-10-01T16:40:32+00:00" }, { - "name": "symfony/event-dispatcher", - "version": "v3.4.21", + "name": "symfony/event-dispatcher-contracts", + "version": "v1.1.7", "source": { "type": "git", - "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "d1cdd46c53c264a2bd42505bd0e8ce21423bd0e2" + "url": "https://github.com/symfony/event-dispatcher-contracts.git", + "reference": "c43ab685673fb6c8d84220c77897b1d6cdbe1d18" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/d1cdd46c53c264a2bd42505bd0e8ce21423bd0e2", - "reference": "d1cdd46c53c264a2bd42505bd0e8ce21423bd0e2", + "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/c43ab685673fb6c8d84220c77897b1d6cdbe1d18", + "reference": "c43ab685673fb6c8d84220c77897b1d6cdbe1d18", "shasum": "" }, "require": { - "php": "^5.5.9|>=7.0.8" - }, - "conflict": { - "symfony/dependency-injection": "<3.3" - }, - "require-dev": { - "psr/log": "~1.0", - "symfony/config": "~2.8|~3.0|~4.0", - "symfony/dependency-injection": "~3.3|~4.0", - "symfony/expression-language": "~2.8|~3.0|~4.0", - "symfony/stopwatch": "~2.8|~3.0|~4.0" + "php": "^7.1.3" }, "suggest": { - "symfony/dependency-injection": "", - "symfony/http-kernel": "" + "psr/event-dispatcher": "", + "symfony/event-dispatcher-implementation": "" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.4-dev" + "dev-master": "1.1-dev" } }, "autoload": { "psr-4": { - "Symfony\\Component\\EventDispatcher\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] + "Symfony\\Contracts\\EventDispatcher\\": "" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -1533,40 +1597,48 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony EventDispatcher Component", + "description": "Generic abstractions related to dispatching event", "homepage": "https://symfony.com", - "time": "2019-01-01T18:08:36+00:00" + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], + "time": "2019-09-17T09:54:03+00:00" }, { "name": "symfony/filesystem", - "version": "v3.4.21", + "version": "v4.3.5", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "c24ce3d18ccc9bb9d7e1d6ce9330fcc6061cafde" + "reference": "9abbb7ef96a51f4d7e69627bc6f63307994e4263" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/c24ce3d18ccc9bb9d7e1d6ce9330fcc6061cafde", - "reference": "c24ce3d18ccc9bb9d7e1d6ce9330fcc6061cafde", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/9abbb7ef96a51f4d7e69627bc6f63307994e4263", + "reference": "9abbb7ef96a51f4d7e69627bc6f63307994e4263", "shasum": "" }, "require": { - "php": "^5.5.9|>=7.0.8", + "php": "^7.1.3", "symfony/polyfill-ctype": "~1.8" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.4-dev" + "dev-master": "4.3-dev" } }, "autoload": { @@ -1593,29 +1665,29 @@ ], "description": "Symfony Filesystem Component", "homepage": "https://symfony.com", - "time": "2019-01-01T13:45:19+00:00" + "time": "2019-08-20T14:07:54+00:00" }, { "name": "symfony/finder", - "version": "v3.4.21", + "version": "v4.3.5", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "3f2a2ab6315dd7682d4c16dcae1e7b95c8b8555e" + "reference": "5e575faa95548d0586f6bedaeabec259714e44d1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/3f2a2ab6315dd7682d4c16dcae1e7b95c8b8555e", - "reference": "3f2a2ab6315dd7682d4c16dcae1e7b95c8b8555e", + "url": "https://api.github.com/repos/symfony/finder/zipball/5e575faa95548d0586f6bedaeabec259714e44d1", + "reference": "5e575faa95548d0586f6bedaeabec259714e44d1", "shasum": "" }, "require": { - "php": "^5.5.9|>=7.0.8" + "php": "^7.1.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.4-dev" + "dev-master": "4.3-dev" } }, "autoload": { @@ -1642,29 +1714,29 @@ ], "description": "Symfony Finder Component", "homepage": "https://symfony.com", - "time": "2019-01-01T13:45:19+00:00" + "time": "2019-09-16T11:29:48+00:00" }, { "name": "symfony/options-resolver", - "version": "v3.4.21", + "version": "v4.3.5", "source": { "type": "git", "url": "https://github.com/symfony/options-resolver.git", - "reference": "8a10e36ffd04c0c551051594952304d34ecece71" + "reference": "81c2e120522a42f623233968244baebd6b36cb6a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/options-resolver/zipball/8a10e36ffd04c0c551051594952304d34ecece71", - "reference": "8a10e36ffd04c0c551051594952304d34ecece71", + "url": "https://api.github.com/repos/symfony/options-resolver/zipball/81c2e120522a42f623233968244baebd6b36cb6a", + "reference": "81c2e120522a42f623233968244baebd6b36cb6a", "shasum": "" }, "require": { - "php": "^5.5.9|>=7.0.8" + "php": "^7.1.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.4-dev" + "dev-master": "4.3-dev" } }, "autoload": { @@ -1696,20 +1768,20 @@ "configuration", "options" ], - "time": "2019-01-01T13:45:19+00:00" + "time": "2019-08-08T09:29:19+00:00" }, { "name": "symfony/polyfill-mbstring", - "version": "v1.10.0", + "version": "v1.12.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "c79c051f5b3a46be09205c73b80b346e4153e494" + "reference": "b42a2f66e8f1b15ccf25652c3424265923eb4f17" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/c79c051f5b3a46be09205c73b80b346e4153e494", - "reference": "c79c051f5b3a46be09205c73b80b346e4153e494", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/b42a2f66e8f1b15ccf25652c3424265923eb4f17", + "reference": "b42a2f66e8f1b15ccf25652c3424265923eb4f17", "shasum": "" }, "require": { @@ -1721,7 +1793,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.9-dev" + "dev-master": "1.12-dev" } }, "autoload": { @@ -1755,20 +1827,20 @@ "portable", "shim" ], - "time": "2018-09-21T13:07:52+00:00" + "time": "2019-08-06T08:03:45+00:00" }, { "name": "symfony/polyfill-php70", - "version": "v1.10.0", + "version": "v1.12.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php70.git", - "reference": "6b88000cdd431cd2e940caa2cb569201f3f84224" + "reference": "54b4c428a0054e254223797d2713c31e08610831" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php70/zipball/6b88000cdd431cd2e940caa2cb569201f3f84224", - "reference": "6b88000cdd431cd2e940caa2cb569201f3f84224", + "url": "https://api.github.com/repos/symfony/polyfill-php70/zipball/54b4c428a0054e254223797d2713c31e08610831", + "reference": "54b4c428a0054e254223797d2713c31e08610831", "shasum": "" }, "require": { @@ -1778,7 +1850,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.9-dev" + "dev-master": "1.12-dev" } }, "autoload": { @@ -1814,20 +1886,20 @@ "portable", "shim" ], - "time": "2018-09-21T06:26:08+00:00" + "time": "2019-08-06T08:03:45+00:00" }, { "name": "symfony/polyfill-php72", - "version": "v1.10.0", + "version": "v1.12.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php72.git", - "reference": "9050816e2ca34a8e916c3a0ae8b9c2fccf68b631" + "reference": "04ce3335667451138df4307d6a9b61565560199e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/9050816e2ca34a8e916c3a0ae8b9c2fccf68b631", - "reference": "9050816e2ca34a8e916c3a0ae8b9c2fccf68b631", + "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/04ce3335667451138df4307d6a9b61565560199e", + "reference": "04ce3335667451138df4307d6a9b61565560199e", "shasum": "" }, "require": { @@ -1836,7 +1908,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.9-dev" + "dev-master": "1.12-dev" } }, "autoload": { @@ -1869,29 +1941,87 @@ "portable", "shim" ], - "time": "2018-09-21T13:07:52+00:00" + "time": "2019-08-06T08:03:45+00:00" + }, + { + "name": "symfony/polyfill-php73", + "version": "v1.12.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php73.git", + "reference": "2ceb49eaccb9352bff54d22570276bb75ba4a188" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/2ceb49eaccb9352bff54d22570276bb75ba4a188", + "reference": "2ceb49eaccb9352bff54d22570276bb75ba4a188", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.12-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Php73\\": "" + }, + "files": [ + "bootstrap.php" + ], + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 7.3+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "time": "2019-08-06T08:03:45+00:00" }, { "name": "symfony/process", - "version": "v3.4.21", + "version": "v4.3.5", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "0d41dd7d95ed179aed6a13393b0f4f97bfa2d25c" + "reference": "50556892f3cc47d4200bfd1075314139c4c9ff4b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/0d41dd7d95ed179aed6a13393b0f4f97bfa2d25c", - "reference": "0d41dd7d95ed179aed6a13393b0f4f97bfa2d25c", + "url": "https://api.github.com/repos/symfony/process/zipball/50556892f3cc47d4200bfd1075314139c4c9ff4b", + "reference": "50556892f3cc47d4200bfd1075314139c4c9ff4b", "shasum": "" }, "require": { - "php": "^5.5.9|>=7.0.8" + "php": "^7.1.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.4-dev" + "dev-master": "4.3-dev" } }, "autoload": { @@ -1918,29 +2048,88 @@ ], "description": "Symfony Process Component", "homepage": "https://symfony.com", - "time": "2019-01-02T21:24:08+00:00" + "time": "2019-09-26T21:17:10+00:00" + }, + { + "name": "symfony/service-contracts", + "version": "v1.1.7", + "source": { + "type": "git", + "url": "https://github.com/symfony/service-contracts.git", + "reference": "ffcde9615dc5bb4825b9f6aed07716f1f57faae0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/ffcde9615dc5bb4825b9f6aed07716f1f57faae0", + "reference": "ffcde9615dc5bb4825b9f6aed07716f1f57faae0", + "shasum": "" + }, + "require": { + "php": "^7.1.3", + "psr/container": "^1.0" + }, + "suggest": { + "symfony/service-implementation": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.1-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Contracts\\Service\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Generic abstractions related to writing services", + "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], + "time": "2019-09-17T11:12:18+00:00" }, { "name": "symfony/stopwatch", - "version": "v3.4.21", + "version": "v4.3.5", "source": { "type": "git", "url": "https://github.com/symfony/stopwatch.git", - "reference": "af55d31cb58c5452d2c160655fa1968b872a8084" + "reference": "1e4ff456bd625be5032fac9be4294e60442e9b71" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/stopwatch/zipball/af55d31cb58c5452d2c160655fa1968b872a8084", - "reference": "af55d31cb58c5452d2c160655fa1968b872a8084", + "url": "https://api.github.com/repos/symfony/stopwatch/zipball/1e4ff456bd625be5032fac9be4294e60442e9b71", + "reference": "1e4ff456bd625be5032fac9be4294e60442e9b71", "shasum": "" }, "require": { - "php": "^5.5.9|>=7.0.8" + "php": "^7.1.3", + "symfony/service-contracts": "^1.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.4-dev" + "dev-master": "4.3-dev" } }, "autoload": { @@ -1967,7 +2156,7 @@ ], "description": "Symfony Stopwatch Component", "homepage": "https://symfony.com", - "time": "2019-01-01T13:45:19+00:00" + "time": "2019-08-07T11:52:19+00:00" } ], "aliases": [], diff --git a/customerConfigSample.php b/customerConfigSample.php new file mode 100644 index 0000000..4120b77 --- /dev/null +++ b/customerConfigSample.php @@ -0,0 +1,11 @@ + ['msqappprv', 'msqrubprv', 'msqappmax'], // Needs to be bidder code defined in prebid documentation, ie appnexus, rubicon, improvedigital, smartadserver + 'priceGranularity' => 'dense', // can be 'low', 'med', 'high', 'auto','dense', 'test' + 'currency' => 'EUR', + 'sizes' => [[120,600],[160,600],[300,50],[300,100],[300,250],[300,600],[300,1000],[320,50],[320,100],[336,280],[728,90],[970,90],[970,150],[970,250],[1000,90],[1000,200],[1000,250],[1000,300]], + 'orderPrefix' => 'Insideall - Prebid - ' +]; \ No newline at end of file diff --git a/script/hb/CreativeUpdate.php b/script/hb/CreativeUpdate.php new file mode 100644 index 0000000..6dca43d --- /dev/null +++ b/script/hb/CreativeUpdate.php @@ -0,0 +1,30 @@ + $networkCode, + "applicationName" => $applicationName, + "jsonKeyFilePath" => $jsonKeyFilePath, + "impersonatedEmail" => $impersonatedEmail +); + + + +$script = new HeaderBiddingScript(); + +$script->setCredentials($credentials) + ->updateCreatives($entry, "old") + ->clearCredentials(); diff --git a/script/hb/HeaderBiddingCreation.php b/script/hb/HeaderBiddingCreation.php index 0f314fd..0e5f442 100644 --- a/script/hb/HeaderBiddingCreation.php +++ b/script/hb/HeaderBiddingCreation.php @@ -3,35 +3,30 @@ putenv('HOME='.dirname(__DIR__)."/../"); require __DIR__.'/../../vendor/autoload.php'; -use App\Scripts\HeaderBiddingScript; +require __DIR__.'/../../customerConfigSample.php'; + + +use App\Scripts\HeaderBiddingScript; -/* -$buckets = - ["buckets" =>[ - ['precision' => 2, 'min' => 0, 'max' => 120, 'increment' => 0.40], - ['precision' => 2, 'min' => 120, 'max' => 320, 'increment' => 2], - ['precision' => 2, 'min' => 320, 'max' => 800, 'increment' => 20] - ] -]; -*/ +$applicationName = "Insideall - Test 1"; +$jsonKeyFilePath = "/home/gabriel/dfp/googleServiceAccount.json"; +$scopes = "https://www.googleapis.com/auth/dfp"; +$impersonatedEmail = "insideall@headerbidding-199413.iam.gserviceaccount.com"; -// $entry set import -require __DIR__.'/../../customerConfig/Bayard.php'; +$credentials = array( + "networkCode" => $networkCode, + "applicationName" => $applicationName, + "jsonKeyFilePath" => $jsonKeyFilePath, + "impersonatedEmail" => $impersonatedEmail +); -/* -$entry = [ - 'ssp' => ['appnexus'], // Needs to be bidder code defined in prebid documentation, ie appnexus, rubicon, improvedigital, smartadserver - 'priceGranularity' => 'dense', // can be 'low', 'med', 'high', 'auto','dense', 'test' - 'currency' => 'EUR', - 'sizes' => [[120,600],[160,600],[300,50],[300,100],[300,250],[300,600],[300,1000],[320,50],[320,100],[336,280],[728,90],[970,90],[970,150],[970,250],[1000,90],[1000,200],[1000,250],[1000,300]], - 'orderPrefix' => 'Insideall - Prebid - ' -]; -*/ $script = new HeaderBiddingScript(); -$script->createAdUnits($entry); +$script->setCredentials($credentials) + ->createAdUnits($entry) + ->clearCredentials(); diff --git a/script/tests/ConnexionTest.php b/script/tests/ConnexionTest.php index 4858c10..35a9bc2 100644 --- a/script/tests/ConnexionTest.php +++ b/script/tests/ConnexionTest.php @@ -1,8 +1,31 @@ -tegetUserId(); +require __DIR__.'/../../customerConfigSample.php'; + + +$applicationName = "Insideall - Test 1"; +$jsonKeyFilePath = "/home/gabriel/dfp/googleServiceAccount.json"; +$scopes = "https://www.googleapis.com/auth/dfp"; +$impersonatedEmail = "insideall@headerbidding-199413.iam.gserviceaccount.com"; + +$credentials = array( + "networkCode" => $networkCode, + "applicationName" => $applicationName, + "jsonKeyFilePath" => $jsonKeyFilePath, + "impersonatedEmail" => $impersonatedEmail +); + +$foo = new App\Scripts\AdsApiGenerator; +$foo->setCredentials($credentials) + ->generateAdsApi(); + + +$traffickerId = (new \App\AdManager\UserManager())->getUserId(); + +$foo->deleteAdsApi(); if (is_numeric($traffickerId)) { echo "\n====Connexion OK====\n\n"; diff --git a/script/tests/bucketsCreation.php b/script/tests/bucketsCreation.php index 3a6b908..2fa6a63 100644 --- a/script/tests/bucketsCreation.php +++ b/script/tests/bucketsCreation.php @@ -4,8 +4,20 @@ use App\Scripts\Buckets; +$buckets = Buckets::createBuckets(["buckets" =>[ + ['precision' => 2, 'min' => 0, 'max' => 4.49, 'increment' => 0.01] + ] +]); + $buckets = Buckets::createBuckets('dense'); echo json_encode($buckets, JSON_PRETTY_PRINT); echo count($buckets); +/* +['precision' => 2, 'min' => 0, 'max' => 4.49, 'increment' => 0.01] +['precision' => 2, 'min' => 4.50, 'max' => 8.99, 'increment' => 0.01] +['precision' => 2, 'min' => 9.00, 'max' => 13.49, 'increment' => 0.01] +['precision' => 2, 'min' => 13.50, 'max' => 17.99, 'increment' => 0.01] +['precision' => 2, 'min' => 18.00, 'max' => 20.00, 'increment' => 0.01] +