You've already forked grav-plugin-listmonk
use local version of listmonk-php
This commit is contained in:
1
vendor/adnanhussainturki/listmonk-php
vendored
Symbolic link
1
vendor/adnanhussainturki/listmonk-php
vendored
Symbolic link
@@ -0,0 +1 @@
|
||||
/home/magdev/workspaces/php/listmonk-php/
|
||||
@@ -1,2 +0,0 @@
|
||||
vendor
|
||||
test/.credentials
|
||||
@@ -1,21 +0,0 @@
|
||||
{
|
||||
"name": "adnanhussainturki/listmonk-php",
|
||||
"description": "Package aims to ease up the API calls to a listmonk API from PHP based application",
|
||||
"type": "library",
|
||||
"require": {
|
||||
"guzzlehttp/guzzle": "^7.8"
|
||||
},
|
||||
"license": "MIT",
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"AdnanHussainTurki\\ListMonk\\": "src/"
|
||||
}
|
||||
},
|
||||
"authors": [
|
||||
{
|
||||
"name": "Adnan Hussain Turki",
|
||||
"email": "adnanhussainturki@gmail.com"
|
||||
}
|
||||
],
|
||||
"minimum-stability": "stable"
|
||||
}
|
||||
615
vendor/adnanhussainturki/listmonk-php/composer.lock
generated
vendored
615
vendor/adnanhussainturki/listmonk-php/composer.lock
generated
vendored
@@ -1,615 +0,0 @@
|
||||
{
|
||||
"_readme": [
|
||||
"This file locks the dependencies of your project to a known state",
|
||||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
||||
"This file is @generated automatically"
|
||||
],
|
||||
"content-hash": "6467066da8a0b5c7d46cd8ced7c64571",
|
||||
"packages": [
|
||||
{
|
||||
"name": "guzzlehttp/guzzle",
|
||||
"version": "7.8.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/guzzle/guzzle.git",
|
||||
"reference": "1110f66a6530a40fe7aea0378fe608ee2b2248f9"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/guzzle/guzzle/zipball/1110f66a6530a40fe7aea0378fe608ee2b2248f9",
|
||||
"reference": "1110f66a6530a40fe7aea0378fe608ee2b2248f9",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"ext-json": "*",
|
||||
"guzzlehttp/promises": "^1.5.3 || ^2.0.1",
|
||||
"guzzlehttp/psr7": "^1.9.1 || ^2.5.1",
|
||||
"php": "^7.2.5 || ^8.0",
|
||||
"psr/http-client": "^1.0",
|
||||
"symfony/deprecation-contracts": "^2.2 || ^3.0"
|
||||
},
|
||||
"provide": {
|
||||
"psr/http-client-implementation": "1.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"bamarni/composer-bin-plugin": "^1.8.1",
|
||||
"ext-curl": "*",
|
||||
"php-http/client-integration-tests": "dev-master#2c025848417c1135031fdf9c728ee53d0a7ceaee as 3.0.999",
|
||||
"php-http/message-factory": "^1.1",
|
||||
"phpunit/phpunit": "^8.5.29 || ^9.5.23",
|
||||
"psr/log": "^1.1 || ^2.0 || ^3.0"
|
||||
},
|
||||
"suggest": {
|
||||
"ext-curl": "Required for CURL handler support",
|
||||
"ext-intl": "Required for Internationalized Domain Name (IDN) support",
|
||||
"psr/log": "Required for using the Log middleware"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"bamarni-bin": {
|
||||
"bin-links": true,
|
||||
"forward-command": false
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"files": [
|
||||
"src/functions_include.php"
|
||||
],
|
||||
"psr-4": {
|
||||
"GuzzleHttp\\": "src/"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Graham Campbell",
|
||||
"email": "hello@gjcampbell.co.uk",
|
||||
"homepage": "https://github.com/GrahamCampbell"
|
||||
},
|
||||
{
|
||||
"name": "Michael Dowling",
|
||||
"email": "mtdowling@gmail.com",
|
||||
"homepage": "https://github.com/mtdowling"
|
||||
},
|
||||
{
|
||||
"name": "Jeremy Lindblom",
|
||||
"email": "jeremeamia@gmail.com",
|
||||
"homepage": "https://github.com/jeremeamia"
|
||||
},
|
||||
{
|
||||
"name": "George Mponos",
|
||||
"email": "gmponos@gmail.com",
|
||||
"homepage": "https://github.com/gmponos"
|
||||
},
|
||||
{
|
||||
"name": "Tobias Nyholm",
|
||||
"email": "tobias.nyholm@gmail.com",
|
||||
"homepage": "https://github.com/Nyholm"
|
||||
},
|
||||
{
|
||||
"name": "Márk Sági-Kazár",
|
||||
"email": "mark.sagikazar@gmail.com",
|
||||
"homepage": "https://github.com/sagikazarmark"
|
||||
},
|
||||
{
|
||||
"name": "Tobias Schultze",
|
||||
"email": "webmaster@tubo-world.de",
|
||||
"homepage": "https://github.com/Tobion"
|
||||
}
|
||||
],
|
||||
"description": "Guzzle is a PHP HTTP client library",
|
||||
"keywords": [
|
||||
"client",
|
||||
"curl",
|
||||
"framework",
|
||||
"http",
|
||||
"http client",
|
||||
"psr-18",
|
||||
"psr-7",
|
||||
"rest",
|
||||
"web service"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/guzzle/guzzle/issues",
|
||||
"source": "https://github.com/guzzle/guzzle/tree/7.8.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://github.com/GrahamCampbell",
|
||||
"type": "github"
|
||||
},
|
||||
{
|
||||
"url": "https://github.com/Nyholm",
|
||||
"type": "github"
|
||||
},
|
||||
{
|
||||
"url": "https://tidelift.com/funding/github/packagist/guzzlehttp/guzzle",
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2023-08-27T10:20:53+00:00"
|
||||
},
|
||||
{
|
||||
"name": "guzzlehttp/promises",
|
||||
"version": "2.0.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/guzzle/promises.git",
|
||||
"reference": "111166291a0f8130081195ac4556a5587d7f1b5d"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/guzzle/promises/zipball/111166291a0f8130081195ac4556a5587d7f1b5d",
|
||||
"reference": "111166291a0f8130081195ac4556a5587d7f1b5d",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": "^7.2.5 || ^8.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"bamarni/composer-bin-plugin": "^1.8.1",
|
||||
"phpunit/phpunit": "^8.5.29 || ^9.5.23"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"bamarni-bin": {
|
||||
"bin-links": true,
|
||||
"forward-command": false
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"GuzzleHttp\\Promise\\": "src/"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Graham Campbell",
|
||||
"email": "hello@gjcampbell.co.uk",
|
||||
"homepage": "https://github.com/GrahamCampbell"
|
||||
},
|
||||
{
|
||||
"name": "Michael Dowling",
|
||||
"email": "mtdowling@gmail.com",
|
||||
"homepage": "https://github.com/mtdowling"
|
||||
},
|
||||
{
|
||||
"name": "Tobias Nyholm",
|
||||
"email": "tobias.nyholm@gmail.com",
|
||||
"homepage": "https://github.com/Nyholm"
|
||||
},
|
||||
{
|
||||
"name": "Tobias Schultze",
|
||||
"email": "webmaster@tubo-world.de",
|
||||
"homepage": "https://github.com/Tobion"
|
||||
}
|
||||
],
|
||||
"description": "Guzzle promises library",
|
||||
"keywords": [
|
||||
"promise"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/guzzle/promises/issues",
|
||||
"source": "https://github.com/guzzle/promises/tree/2.0.1"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://github.com/GrahamCampbell",
|
||||
"type": "github"
|
||||
},
|
||||
{
|
||||
"url": "https://github.com/Nyholm",
|
||||
"type": "github"
|
||||
},
|
||||
{
|
||||
"url": "https://tidelift.com/funding/github/packagist/guzzlehttp/promises",
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2023-08-03T15:11:55+00:00"
|
||||
},
|
||||
{
|
||||
"name": "guzzlehttp/psr7",
|
||||
"version": "2.6.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/guzzle/psr7.git",
|
||||
"reference": "be45764272e8873c72dbe3d2edcfdfcc3bc9f727"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/guzzle/psr7/zipball/be45764272e8873c72dbe3d2edcfdfcc3bc9f727",
|
||||
"reference": "be45764272e8873c72dbe3d2edcfdfcc3bc9f727",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": "^7.2.5 || ^8.0",
|
||||
"psr/http-factory": "^1.0",
|
||||
"psr/http-message": "^1.1 || ^2.0",
|
||||
"ralouphie/getallheaders": "^3.0"
|
||||
},
|
||||
"provide": {
|
||||
"psr/http-factory-implementation": "1.0",
|
||||
"psr/http-message-implementation": "1.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"bamarni/composer-bin-plugin": "^1.8.1",
|
||||
"http-interop/http-factory-tests": "^0.9",
|
||||
"phpunit/phpunit": "^8.5.29 || ^9.5.23"
|
||||
},
|
||||
"suggest": {
|
||||
"laminas/laminas-httphandlerrunner": "Emit PSR-7 responses"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"bamarni-bin": {
|
||||
"bin-links": true,
|
||||
"forward-command": false
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"GuzzleHttp\\Psr7\\": "src/"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Graham Campbell",
|
||||
"email": "hello@gjcampbell.co.uk",
|
||||
"homepage": "https://github.com/GrahamCampbell"
|
||||
},
|
||||
{
|
||||
"name": "Michael Dowling",
|
||||
"email": "mtdowling@gmail.com",
|
||||
"homepage": "https://github.com/mtdowling"
|
||||
},
|
||||
{
|
||||
"name": "George Mponos",
|
||||
"email": "gmponos@gmail.com",
|
||||
"homepage": "https://github.com/gmponos"
|
||||
},
|
||||
{
|
||||
"name": "Tobias Nyholm",
|
||||
"email": "tobias.nyholm@gmail.com",
|
||||
"homepage": "https://github.com/Nyholm"
|
||||
},
|
||||
{
|
||||
"name": "Márk Sági-Kazár",
|
||||
"email": "mark.sagikazar@gmail.com",
|
||||
"homepage": "https://github.com/sagikazarmark"
|
||||
},
|
||||
{
|
||||
"name": "Tobias Schultze",
|
||||
"email": "webmaster@tubo-world.de",
|
||||
"homepage": "https://github.com/Tobion"
|
||||
},
|
||||
{
|
||||
"name": "Márk Sági-Kazár",
|
||||
"email": "mark.sagikazar@gmail.com",
|
||||
"homepage": "https://sagikazarmark.hu"
|
||||
}
|
||||
],
|
||||
"description": "PSR-7 message implementation that also provides common utility methods",
|
||||
"keywords": [
|
||||
"http",
|
||||
"message",
|
||||
"psr-7",
|
||||
"request",
|
||||
"response",
|
||||
"stream",
|
||||
"uri",
|
||||
"url"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/guzzle/psr7/issues",
|
||||
"source": "https://github.com/guzzle/psr7/tree/2.6.1"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://github.com/GrahamCampbell",
|
||||
"type": "github"
|
||||
},
|
||||
{
|
||||
"url": "https://github.com/Nyholm",
|
||||
"type": "github"
|
||||
},
|
||||
{
|
||||
"url": "https://tidelift.com/funding/github/packagist/guzzlehttp/psr7",
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2023-08-27T10:13:57+00:00"
|
||||
},
|
||||
{
|
||||
"name": "psr/http-client",
|
||||
"version": "1.0.3",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/php-fig/http-client.git",
|
||||
"reference": "bb5906edc1c324c9a05aa0873d40117941e5fa90"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/php-fig/http-client/zipball/bb5906edc1c324c9a05aa0873d40117941e5fa90",
|
||||
"reference": "bb5906edc1c324c9a05aa0873d40117941e5fa90",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": "^7.0 || ^8.0",
|
||||
"psr/http-message": "^1.0 || ^2.0"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "1.0.x-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Psr\\Http\\Client\\": "src/"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "PHP-FIG",
|
||||
"homepage": "https://www.php-fig.org/"
|
||||
}
|
||||
],
|
||||
"description": "Common interface for HTTP clients",
|
||||
"homepage": "https://github.com/php-fig/http-client",
|
||||
"keywords": [
|
||||
"http",
|
||||
"http-client",
|
||||
"psr",
|
||||
"psr-18"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/php-fig/http-client"
|
||||
},
|
||||
"time": "2023-09-23T14:17:50+00:00"
|
||||
},
|
||||
{
|
||||
"name": "psr/http-factory",
|
||||
"version": "1.0.2",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/php-fig/http-factory.git",
|
||||
"reference": "e616d01114759c4c489f93b099585439f795fe35"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/php-fig/http-factory/zipball/e616d01114759c4c489f93b099585439f795fe35",
|
||||
"reference": "e616d01114759c4c489f93b099585439f795fe35",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=7.0.0",
|
||||
"psr/http-message": "^1.0 || ^2.0"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "1.0.x-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Psr\\Http\\Message\\": "src/"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "PHP-FIG",
|
||||
"homepage": "https://www.php-fig.org/"
|
||||
}
|
||||
],
|
||||
"description": "Common interfaces for PSR-7 HTTP message factories",
|
||||
"keywords": [
|
||||
"factory",
|
||||
"http",
|
||||
"message",
|
||||
"psr",
|
||||
"psr-17",
|
||||
"psr-7",
|
||||
"request",
|
||||
"response"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/php-fig/http-factory/tree/1.0.2"
|
||||
},
|
||||
"time": "2023-04-10T20:10:41+00:00"
|
||||
},
|
||||
{
|
||||
"name": "psr/http-message",
|
||||
"version": "2.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/php-fig/http-message.git",
|
||||
"reference": "402d35bcb92c70c026d1a6a9883f06b2ead23d71"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/php-fig/http-message/zipball/402d35bcb92c70c026d1a6a9883f06b2ead23d71",
|
||||
"reference": "402d35bcb92c70c026d1a6a9883f06b2ead23d71",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": "^7.2 || ^8.0"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "2.0.x-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Psr\\Http\\Message\\": "src/"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "PHP-FIG",
|
||||
"homepage": "https://www.php-fig.org/"
|
||||
}
|
||||
],
|
||||
"description": "Common interface for HTTP messages",
|
||||
"homepage": "https://github.com/php-fig/http-message",
|
||||
"keywords": [
|
||||
"http",
|
||||
"http-message",
|
||||
"psr",
|
||||
"psr-7",
|
||||
"request",
|
||||
"response"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/php-fig/http-message/tree/2.0"
|
||||
},
|
||||
"time": "2023-04-04T09:54:51+00:00"
|
||||
},
|
||||
{
|
||||
"name": "ralouphie/getallheaders",
|
||||
"version": "3.0.3",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/ralouphie/getallheaders.git",
|
||||
"reference": "120b605dfeb996808c31b6477290a714d356e822"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822",
|
||||
"reference": "120b605dfeb996808c31b6477290a714d356e822",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=5.6"
|
||||
},
|
||||
"require-dev": {
|
||||
"php-coveralls/php-coveralls": "^2.1",
|
||||
"phpunit/phpunit": "^5 || ^6.5"
|
||||
},
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
"files": [
|
||||
"src/getallheaders.php"
|
||||
]
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Ralph Khattar",
|
||||
"email": "ralph.khattar@gmail.com"
|
||||
}
|
||||
],
|
||||
"description": "A polyfill for getallheaders.",
|
||||
"support": {
|
||||
"issues": "https://github.com/ralouphie/getallheaders/issues",
|
||||
"source": "https://github.com/ralouphie/getallheaders/tree/develop"
|
||||
},
|
||||
"time": "2019-03-08T08:55:37+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/deprecation-contracts",
|
||||
"version": "v3.3.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/deprecation-contracts.git",
|
||||
"reference": "7c3aff79d10325257a001fcf92d991f24fc967cf"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/7c3aff79d10325257a001fcf92d991f24fc967cf",
|
||||
"reference": "7c3aff79d10325257a001fcf92d991f24fc967cf",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=8.1"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-main": "3.4-dev"
|
||||
},
|
||||
"thanks": {
|
||||
"name": "symfony/contracts",
|
||||
"url": "https://github.com/symfony/contracts"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"files": [
|
||||
"function.php"
|
||||
]
|
||||
},
|
||||
"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": "A generic function and convention to trigger deprecation notices",
|
||||
"homepage": "https://symfony.com",
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/deprecation-contracts/tree/v3.3.0"
|
||||
},
|
||||
"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": "2023-05-23T14:45:45+00:00"
|
||||
}
|
||||
],
|
||||
"packages-dev": [],
|
||||
"aliases": [],
|
||||
"minimum-stability": "stable",
|
||||
"stability-flags": [],
|
||||
"prefer-stable": false,
|
||||
"prefer-lowest": false,
|
||||
"platform": [],
|
||||
"platform-dev": [],
|
||||
"plugin-api-version": "2.6.0"
|
||||
}
|
||||
135
vendor/adnanhussainturki/listmonk-php/readme.md
vendored
135
vendor/adnanhussainturki/listmonk-php/readme.md
vendored
@@ -1,135 +0,0 @@
|
||||
# ListMonk - PHP
|
||||
The package allows easy access to ListMonk API from PHP based applications.
|
||||
|
||||
|
||||
### Installation
|
||||
You can install this library to your project via composer using the following command:
|
||||
|
||||
`composer require adnanhussainturki/listmonk-php`
|
||||
|
||||
### Usage
|
||||
|
||||
|
||||
```
|
||||
<?php
|
||||
|
||||
require __DIR__ . 'vendor/autoload.php';
|
||||
|
||||
// Create a new ListMonk instance
|
||||
$listMonk = new \AdnanHussainTurki\ListMonk\ListMonk(
|
||||
"http://localhost:9000", // Server URL
|
||||
"listmonk", // Username
|
||||
"listmonk", // Password
|
||||
);
|
||||
|
||||
?>
|
||||
```
|
||||
|
||||
### Managing lists
|
||||
```php
|
||||
|
||||
// Get all lists
|
||||
$lists = $listMonk->lists()->getAll();
|
||||
echo "All lists:\n";
|
||||
foreach ($lists as $list) {
|
||||
echo $list->getId() . " - " . $list->getName() . "\n";
|
||||
}
|
||||
|
||||
// Get a list by id
|
||||
$list = $listMonk->lists()->get(3);
|
||||
echo "List with id 3:\n";
|
||||
echo $list->getId() . " - " . $list->getName() . "\n";
|
||||
|
||||
// Create a new list
|
||||
$newList = new \AdnanHussainTurki\ListMonk\Models\MonkList();
|
||||
$newList->setName("Test List");
|
||||
$newList->setType("private");
|
||||
$newList->setOptin("single");
|
||||
$newList->setTags(["test", "list"]);
|
||||
$newListMonk = $listMonk->lists()->create($newList);
|
||||
echo "New list created:\n";
|
||||
echo $newListMonk->getId(). " - " . $newListMonk->getName() . "\n";
|
||||
|
||||
|
||||
// Update the created list
|
||||
$newListMonk->setName("Test List Updated");
|
||||
$newListMonk->setType("public");
|
||||
$newListMonk->setOptin("double");
|
||||
$newListMonk->setTags(["test", "list", "updated"]);
|
||||
$updatedList = $listMonk->lists()->update($newListMonk);
|
||||
echo "Updated list:\n";
|
||||
echo $updatedList->getId(). " - " . $updatedList->getName() . "\n";
|
||||
|
||||
|
||||
// Delete the created list
|
||||
$deletedList = $listMonk->lists()->delete($updatedList->getId());
|
||||
echo "List deleted:\n";
|
||||
echo $deletedList->getId(). " - " . $deletedList->getName() . "\n";
|
||||
|
||||
|
||||
```
|
||||
|
||||
### Managing subscribers
|
||||
```php
|
||||
<?php
|
||||
|
||||
require_once __DIR__ . '/init.php';
|
||||
|
||||
// Get all subscribers
|
||||
$subscribers = $listMonk->subscribers()->getAll();
|
||||
echo "All subscribers:\n";
|
||||
foreach ($subscribers as $subscriber) {
|
||||
echo $subscriber->getId() . " - " . $subscriber->getName() . "\n";
|
||||
}
|
||||
|
||||
// Get a subscriber by id
|
||||
$subscriber = $listMonk->subscribers()->get(5);
|
||||
echo "Subscriber with id 1:\n";
|
||||
echo $subscriber->getId() . " - " . $subscriber->getName() . "\n";
|
||||
|
||||
// Create a new subscriber
|
||||
$newSubscriber = new \AdnanHussainTurki\ListMonk\Models\MonkSubscriber();
|
||||
$newSubscriber->setName("Test Subscriber");
|
||||
$newSubscriber->setEmail(random_int(23, 1000). "@gmail.com");
|
||||
$newSubscriber->setStatus("enabled");
|
||||
$newSubscriber->setLists([1, 2]);
|
||||
|
||||
$newSubscriberMonk = $listMonk->subscribers()->create($newSubscriber);
|
||||
echo "New subscriber created:\n";
|
||||
echo $newSubscriberMonk->getId(). " - " . $newSubscriberMonk->getName() . "\n";
|
||||
|
||||
// Update the created subscriber
|
||||
$newSubscriberMonk->setName("Test Subscriber Updated");
|
||||
$newSubscriberMonk->setEmail(random_int(23, 1000). "@email.com");
|
||||
$newSubscriberMonk->setStatus("disabled");
|
||||
$newSubscriberMonk->setLists([1, 2, 3]);
|
||||
$updatedSubscriber = $listMonk->subscribers()->update($newSubscriberMonk);
|
||||
echo "Updated subscriber:\n";
|
||||
echo $updatedSubscriber->getId(). " - " . $updatedSubscriber->getName() . "\n";
|
||||
|
||||
// Delete the created subscriber
|
||||
$deletedSubscriber = $listMonk->subscribers()->delete($updatedSubscriber->getId());
|
||||
echo "Subscriber deleted:\n";
|
||||
echo $deletedSubscriber->getId(). " - " . $deletedSubscriber->getName() . "\n";
|
||||
|
||||
```
|
||||
|
||||
|
||||
### Whats more to be done?
|
||||
- All routes of `Subscriber` is not yet handled.
|
||||
- `Campaign` needs to be implemented.
|
||||
- `Media` needs to be implemented.
|
||||
- `Import` needs to be implemented.
|
||||
- `Template` needs to be implemented.
|
||||
- `Transactional` needs to be implemented.
|
||||
|
||||
|
||||
### Buy me a coffee
|
||||
[](https://www.buymeacoffee.com/adnanturki)
|
||||
|
||||
### How to contribute
|
||||
- Create a fork, make changes and send a pull request.
|
||||
- Raise a issue
|
||||
|
||||
### License
|
||||
Licensed under Apache 2.0. You can check its details [here](https://choosealicense.com/licenses/apache-2.0/ "here").
|
||||
@@ -1,67 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace AdnanHussainTurki\ListMonk\Controllers;
|
||||
|
||||
use AdnanHussainTurki\ListMonk\ListMonk;
|
||||
use AdnanHussainTurki\ListMonk\Models\MonkList;
|
||||
|
||||
class ListsController {
|
||||
protected $listMonk;
|
||||
|
||||
function __construct(ListMonk $listMonk)
|
||||
{
|
||||
$this->listMonk = $listMonk;
|
||||
}
|
||||
|
||||
function getAll($page=1, $perPage=100) : array
|
||||
{
|
||||
$response = $this->listMonk->http('/api/lists' . '?page=' . $page . '&per_page=' . $perPage);
|
||||
$lists = json_decode($response)->data->results;
|
||||
$listObjects = [];
|
||||
foreach ($lists as $key => $list) {
|
||||
$listObjects[$key] = new MonkList($list);
|
||||
}
|
||||
return $listObjects;
|
||||
}
|
||||
|
||||
function get($id) {
|
||||
$response = $this->listMonk->http('/api/lists/' . $id);
|
||||
return new MonkList(json_decode($response)->data);
|
||||
}
|
||||
|
||||
function create(MonkList $list) {
|
||||
$response = $this->listMonk->http('/api/lists', 'post', [
|
||||
'name' => $list->getName(),
|
||||
'type' => $list->getType(),
|
||||
'optin' => $list->getOptin(),
|
||||
'tags' => $list->getTags()
|
||||
]);
|
||||
return new MonkList(json_decode($response)->data);
|
||||
}
|
||||
|
||||
function update(MonkList $list) {
|
||||
if ($list->getId() == null) throw new \Exception("List id is required");
|
||||
$response = $this->listMonk->http('/api/lists/' . $list->getId(), 'put', [
|
||||
'list_id' => $list->getId(),
|
||||
'name' => $list->getName(),
|
||||
'type' => $list->getType(),
|
||||
'optin' => $list->getOptin(),
|
||||
'tags' => $list->getTags()
|
||||
]);
|
||||
return new MonkList(json_decode($response)->data);
|
||||
}
|
||||
|
||||
function delete($id) {
|
||||
$stored = $this->get($id);
|
||||
if ($stored == null) throw new \Exception("List not found");
|
||||
$response = $this->listMonk->http('/api/lists/' . $id, 'delete');
|
||||
try {
|
||||
$this->get($id);
|
||||
|
||||
} catch (\Throwable $th) {
|
||||
return $stored;
|
||||
}
|
||||
throw new \Exception("List not deleted");
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,81 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace AdnanHussainTurki\ListMonk\Controllers;
|
||||
|
||||
use AdnanHussainTurki\ListMonk\ListMonk;
|
||||
use AdnanHussainTurki\ListMonk\Models\MonkSubscriber;
|
||||
use GuzzleHttp\Exception\ClientException;
|
||||
|
||||
class SubscribersController {
|
||||
protected $listMonk;
|
||||
function __construct(ListMonk $listMonk)
|
||||
{
|
||||
$this->listMonk = $listMonk;
|
||||
}
|
||||
function getAll($page=1, $perPage=100) : array
|
||||
{
|
||||
$response = $this->listMonk->http('/api/subscribers' . '?page=' . $page . '&per_page=' . $perPage);
|
||||
$subscribers = json_decode($response)->data->results;
|
||||
$subscriberObjects = [];
|
||||
foreach ($subscribers as $key => $subscriber) {
|
||||
$subscriberObjects[$key] = new MonkSubscriber($subscriber);
|
||||
}
|
||||
return $subscriberObjects;
|
||||
}
|
||||
|
||||
function get($id) {
|
||||
$response = $this->listMonk->http('/api/subscribers/' . $id);
|
||||
return new MonkSubscriber(json_decode($response)->data);
|
||||
}
|
||||
|
||||
function create(MonkSubscriber $subscriber, $preConfirm = false) {
|
||||
$data = [
|
||||
'name' => $subscriber->getName(),
|
||||
'email' => $subscriber->getEmail(),
|
||||
'status' => $subscriber->getStatus(),
|
||||
'lists' => $subscriber->getLists(),
|
||||
'preconfirm_subscriptions' => $preConfirm
|
||||
];
|
||||
if ($subscriber->getAttribs() != null) {
|
||||
$data['attribs'] = $subscriber->getAttribs();
|
||||
}
|
||||
try {
|
||||
$response = $this->listMonk->http('/api/subscribers', 'post', $data);
|
||||
} catch (ClientException $th) {
|
||||
throw new \Exception($th->getResponse()->getBody()->getContents());
|
||||
}
|
||||
|
||||
return new MonkSubscriber(json_decode($response)->data);
|
||||
}
|
||||
|
||||
function modifyLists($subscriber_ids, $action, $target_list_ids, $status = null) {
|
||||
if (!in_array($action, ["add", "remove", "unsubscribe"])) throw new \Exception("Invalid action, allowed actions are: add, remove, unsubscribe.");
|
||||
if ($action == "add") {
|
||||
if (!in_array($status, ["confirmed", "unsubscribed", "unconfirmed"])) throw new \Exception("Invalid status, allowed status are: subscribed, unsubscribed, unconfirmed.");
|
||||
}
|
||||
return $this->listMonk->http('/api/subscribers/lists', 'put', [
|
||||
'ids' => $subscriber_ids,
|
||||
'action' => $action,
|
||||
'target_list_ids' => $target_list_ids,
|
||||
'status' => $status
|
||||
]);
|
||||
}
|
||||
function update(MonkSubscriber $subscriber) {
|
||||
if ($subscriber->getId() == null) throw new \Exception("Subscriber id is required");
|
||||
$response = $this->listMonk->http('/api/subscribers/' . $subscriber->getId(), 'put', $subscriber->toArray());
|
||||
return new MonkSubscriber(json_decode($response)->data);
|
||||
}
|
||||
|
||||
function delete($id) {
|
||||
$stored = $this->get($id);
|
||||
if ($stored == null) throw new \Exception("Subscriber not found");
|
||||
$response = $this->listMonk->http('/api/subscribers/' . $id, 'delete');
|
||||
try {
|
||||
$this->get($id);
|
||||
|
||||
} catch (\Throwable $th) {
|
||||
return $stored;
|
||||
}
|
||||
throw new \Exception("Subscriber not deleted");
|
||||
}
|
||||
}
|
||||
@@ -1,68 +0,0 @@
|
||||
<?php
|
||||
|
||||
|
||||
namespace AdnanHussainTurki\ListMonk;
|
||||
|
||||
use AdnanHussainTurki\ListMonk\Controllers\ListsController;
|
||||
use AdnanHussainTurki\ListMonk\Controllers\SubscribersController;
|
||||
use GuzzleHttp\Client;
|
||||
use GuzzleHttp\Psr7\Request;
|
||||
|
||||
class ListMonk
|
||||
{
|
||||
private $serverUrl;
|
||||
private $username;
|
||||
private $password;
|
||||
private $listsController;
|
||||
private $subscribersController;
|
||||
|
||||
public function __construct($serverUrl, $username, $password)
|
||||
{
|
||||
$this->serverUrl = $serverUrl;
|
||||
$this->username = $username;
|
||||
$this->password = $password;
|
||||
}
|
||||
|
||||
public function lists()
|
||||
{
|
||||
$this->listsController = new ListsController($this);
|
||||
return $this->listsController;
|
||||
}
|
||||
|
||||
public function subscribers()
|
||||
{
|
||||
$this->subscribersController = new SubscribersController($this);
|
||||
return $this->subscribersController;
|
||||
}
|
||||
|
||||
public function getServerUrl()
|
||||
{
|
||||
return $this->serverUrl;
|
||||
}
|
||||
|
||||
public function getUsername()
|
||||
{
|
||||
return $this->username;
|
||||
}
|
||||
|
||||
public function getPassword()
|
||||
{
|
||||
return $this->password;
|
||||
}
|
||||
|
||||
public function http($path, $method = "get", $data = [])
|
||||
{
|
||||
$client = new Client();
|
||||
$headers = [
|
||||
'Authorization' => 'Basic ' . base64_encode($this->username . ":" . $this->password)
|
||||
];
|
||||
if (strtolower($method) == "get") {
|
||||
$request = new Request(strtoupper($method), $this->serverUrl . $path, $headers);
|
||||
} else {
|
||||
$headers['Content-Type'] = 'application/json';
|
||||
$request = new Request(strtoupper($method), $this->serverUrl . $path, $headers, json_encode($data));
|
||||
}
|
||||
$res = $client->sendAsync($request)->wait();
|
||||
return $res->getBody();
|
||||
}
|
||||
}
|
||||
@@ -1,126 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace AdnanHussainTurki\ListMonk\Models;
|
||||
|
||||
class MonkList {
|
||||
private $id;
|
||||
private $created_at;
|
||||
private $updated_at;
|
||||
private $uuid;
|
||||
private $name;
|
||||
private $type;
|
||||
private $optin;
|
||||
private $tags = [];
|
||||
private $subscriber_count;
|
||||
private $allowed_types = ["public", "private"];
|
||||
private $allowed_options = ["single", "double"];
|
||||
|
||||
public function __construct(object $list = null) {
|
||||
if ($list == null) return;
|
||||
$this->id = $list->id;
|
||||
$this->created_at = $list->created_at;
|
||||
$this->updated_at = $list->updated_at;
|
||||
$this->uuid = $list->uuid;
|
||||
$this->name = $list->name;
|
||||
$this->type = $list->type;
|
||||
$this->optin = $list->optin;
|
||||
$this->tags = $list->tags;
|
||||
$this->subscriber_count = $list->subscriber_count;
|
||||
}
|
||||
|
||||
public function getId() {
|
||||
return $this->id;
|
||||
}
|
||||
|
||||
public function setId($id) {
|
||||
$this->id = $id;
|
||||
}
|
||||
|
||||
public function getCreatedAt() {
|
||||
return $this->created_at;
|
||||
}
|
||||
|
||||
public function setCreatedAt($createdAt) {
|
||||
$this->created_at = $createdAt;
|
||||
}
|
||||
|
||||
public function getUpdatedAt() {
|
||||
return $this->updated_at;
|
||||
}
|
||||
|
||||
public function setUpdatedAt($updatedAt) {
|
||||
$this->updated_at = $updatedAt;
|
||||
}
|
||||
|
||||
public function getUuid() {
|
||||
return $this->uuid;
|
||||
}
|
||||
|
||||
public function setUuid($uuid) {
|
||||
$this->uuid = $uuid;
|
||||
}
|
||||
|
||||
public function getName() {
|
||||
return $this->name;
|
||||
}
|
||||
|
||||
public function setName($name) {
|
||||
$this->name = $name;
|
||||
}
|
||||
|
||||
public function getType() {
|
||||
return $this->type;
|
||||
}
|
||||
|
||||
public function setType($type) {
|
||||
if (!in_array($type, $this->allowed_types)) {
|
||||
throw new \Exception("Invalid list type. Allowed types are: " . implode(", ", $this->allowed_types));
|
||||
}
|
||||
$this->type = $type;
|
||||
}
|
||||
|
||||
public function getOptin() {
|
||||
return $this->optin;
|
||||
}
|
||||
|
||||
public function setOptin($optin) {
|
||||
if (!in_array($optin, $this->allowed_options)) {
|
||||
throw new \Exception("Invalid optin type. Allowed types are: " . implode(", ", $this->allowed_options));
|
||||
}
|
||||
$this->optin = $optin;
|
||||
}
|
||||
|
||||
public function getTags() {
|
||||
return $this->tags;
|
||||
}
|
||||
|
||||
public function setTags($tags) {
|
||||
$this->tags = $tags;
|
||||
}
|
||||
|
||||
public function getSubscriberCount() {
|
||||
return $this->subscriber_count;
|
||||
}
|
||||
|
||||
public function setSubscriberCount($subscriber_count) {
|
||||
$this->subscriber_count = $subscriber_count;
|
||||
}
|
||||
|
||||
public function toArray() {
|
||||
return [
|
||||
'id' => $this->id,
|
||||
'created_at' => $this->created_at,
|
||||
'updated_at' => $this->updated_at,
|
||||
'uuid' => $this->uuid,
|
||||
'name' => $this->name,
|
||||
'type' => $this->type,
|
||||
'optin' => $this->optin,
|
||||
'tags' => $this->tags,
|
||||
'subscriber_count' => $this->subscriber_count
|
||||
];
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
?>
|
||||
@@ -1,126 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace AdnanHussainTurki\ListMonk\Models;
|
||||
|
||||
class MonkSubscriber {
|
||||
|
||||
private $id;
|
||||
private $created_at;
|
||||
private $updated_at;
|
||||
private $uuid;
|
||||
private $email;
|
||||
private $name;
|
||||
private $attribs = [];
|
||||
private $status;
|
||||
private $lists = [];
|
||||
|
||||
private $allowed_status = ["enabled", "disabled", "blocklisted"];
|
||||
|
||||
// Constructor to initialize the object
|
||||
public function __construct(object $subscriber = null) {
|
||||
if ($subscriber == null) return;
|
||||
$this->id = $subscriber->id;
|
||||
$this->created_at = $subscriber->created_at;
|
||||
$this->updated_at = $subscriber->updated_at;
|
||||
$this->uuid = $subscriber->uuid;
|
||||
$this->email = $subscriber->email;
|
||||
$this->name = $subscriber->name;
|
||||
$this->attribs = $subscriber->attribs;
|
||||
$this->status = $subscriber->status;
|
||||
$this->lists = $subscriber->lists;
|
||||
}
|
||||
|
||||
public function getId() {
|
||||
return $this->id;
|
||||
}
|
||||
|
||||
public function setId($id) {
|
||||
$this->id = $id;
|
||||
}
|
||||
|
||||
public function getCreatedAt() {
|
||||
return $this->created_at;
|
||||
}
|
||||
|
||||
public function setCreatedAt($createdAt) {
|
||||
$this->created_at = $createdAt;
|
||||
}
|
||||
|
||||
public function getUpdatedAt() {
|
||||
return $this->updated_at;
|
||||
}
|
||||
|
||||
public function setUpdatedAt($updatedAt) {
|
||||
$this->updated_at = $updatedAt;
|
||||
}
|
||||
|
||||
public function getUuid() {
|
||||
return $this->uuid;
|
||||
}
|
||||
|
||||
public function setUuid($uuid) {
|
||||
$this->uuid = $uuid;
|
||||
}
|
||||
|
||||
public function getEmail() {
|
||||
return $this->email;
|
||||
}
|
||||
|
||||
public function setEmail($email) {
|
||||
$this->email= $email;
|
||||
}
|
||||
|
||||
public function getName() {
|
||||
return $this->name;
|
||||
}
|
||||
|
||||
public function setName($name) {
|
||||
$this->name= $name;
|
||||
}
|
||||
|
||||
public function getAttribs() {
|
||||
return $this->attribs;
|
||||
}
|
||||
|
||||
public function setAttribs($attribs) {
|
||||
$this->attribs= $attribs;
|
||||
}
|
||||
|
||||
public function getStatus() {
|
||||
return $this->status;
|
||||
}
|
||||
|
||||
public function setStatus($status) {
|
||||
if (!in_array($status, $this->allowed_status)) {
|
||||
throw new \Exception("Invalid status, allowed status are: " . implode(", ", $this->allowed_status) . ".");
|
||||
}
|
||||
$this->status= $status;
|
||||
}
|
||||
|
||||
public function getLists() {
|
||||
return $this->lists;
|
||||
}
|
||||
|
||||
public function setLists($lists) {
|
||||
$this->lists= $lists;
|
||||
}
|
||||
|
||||
public function toArray() {
|
||||
return [
|
||||
'id' => $this->id,
|
||||
'created_at' => $this->created_at,
|
||||
'updated_at' => $this->updated_at,
|
||||
'uuid' => $this->uuid,
|
||||
'email' => $this->email,
|
||||
'name' => $this->name,
|
||||
'attribs' => $this->attribs,
|
||||
'status' => $this->status,
|
||||
'lists' => $this->lists
|
||||
];
|
||||
}
|
||||
|
||||
public function toJson() {
|
||||
return json_encode($this->toArray());
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
{
|
||||
"serverUrl" : "",
|
||||
"username" : "",
|
||||
"password" : ""
|
||||
}
|
||||
@@ -1,20 +0,0 @@
|
||||
<?php
|
||||
|
||||
require __DIR__ . '/../vendor/autoload.php';
|
||||
|
||||
// Read files from .credentials
|
||||
try {
|
||||
$credentials = json_decode(file_get_contents(__DIR__ . '/.credentials'), true);
|
||||
} catch (\Throwable $th) {
|
||||
echo "Error reading credentials file: " . $th->getMessage();
|
||||
exit;
|
||||
}
|
||||
|
||||
// Create a new ListMonk instance
|
||||
$listMonk = new \AdnanHussainTurki\ListMonk\ListMonk(
|
||||
$credentials['serverUrl'],
|
||||
$credentials['username'],
|
||||
$credentials['password']
|
||||
);
|
||||
|
||||
?>
|
||||
@@ -1,42 +0,0 @@
|
||||
<?php
|
||||
|
||||
require_once __DIR__ . '/init.php';
|
||||
|
||||
// Get all lists
|
||||
$lists = $listMonk->lists()->getAll();
|
||||
echo "All lists:\n";
|
||||
foreach ($lists as $list) {
|
||||
echo $list->getId() . " - " . $list->getName() . "\n";
|
||||
}
|
||||
|
||||
// Get a list by id
|
||||
$list = $listMonk->lists()->get(3);
|
||||
echo "List with id 3:\n";
|
||||
echo $list->getId() . " - " . $list->getName() . "\n";
|
||||
|
||||
// Create a new list
|
||||
$newList = new \AdnanHussainTurki\ListMonk\Models\MonkList();
|
||||
$newList->setName("Test List");
|
||||
$newList->setType("private");
|
||||
$newList->setOptin("single");
|
||||
$newList->setTags(["test", "list"]);
|
||||
$newListMonk = $listMonk->lists()->create($newList);
|
||||
echo "New list created:\n";
|
||||
echo $newListMonk->getId(). " - " . $newListMonk->getName() . "\n";
|
||||
|
||||
|
||||
// Update the created list
|
||||
$newListMonk->setName("Test List Updated");
|
||||
$newListMonk->setType("public");
|
||||
$newListMonk->setOptin("double");
|
||||
$newListMonk->setTags(["test", "list", "updated"]);
|
||||
$updatedList = $listMonk->lists()->update($newListMonk);
|
||||
echo "Updated list:\n";
|
||||
echo $updatedList->getId(). " - " . $updatedList->getName() . "\n";
|
||||
|
||||
|
||||
// Delete the created list
|
||||
$deletedList = $listMonk->lists()->delete($updatedList->getId());
|
||||
echo "List deleted:\n";
|
||||
echo $deletedList->getId(). " - " . $deletedList->getName() . "\n";
|
||||
|
||||
@@ -1,41 +0,0 @@
|
||||
<?php
|
||||
|
||||
require_once __DIR__ . '/init.php';
|
||||
|
||||
// Get all subscribers
|
||||
$subscribers = $listMonk->subscribers()->getAll();
|
||||
echo "All subscribers:\n";
|
||||
foreach ($subscribers as $subscriber) {
|
||||
echo $subscriber->getId() . " - " . $subscriber->getName() . "\n";
|
||||
}
|
||||
|
||||
// Get a subscriber by id
|
||||
$subscriber = $listMonk->subscribers()->get(5);
|
||||
echo "Subscriber with id 1:\n";
|
||||
echo $subscriber->getId() . " - " . $subscriber->getName() . "\n";
|
||||
|
||||
// Create a new subscriber
|
||||
$newSubscriber = new \AdnanHussainTurki\ListMonk\Models\MonkSubscriber();
|
||||
$newSubscriber->setName("Test Subscriber");
|
||||
$newSubscriber->setEmail(random_int(23, 1000). "@gmail.com");
|
||||
$newSubscriber->setStatus("enabled");
|
||||
$newSubscriber->setLists([1, 2]);
|
||||
|
||||
$newSubscriberMonk = $listMonk->subscribers()->create($newSubscriber);
|
||||
echo "New subscriber created:\n";
|
||||
echo $newSubscriberMonk->getId(). " - " . $newSubscriberMonk->getName() . "\n";
|
||||
|
||||
// Update the created subscriber
|
||||
$newSubscriberMonk->setName("Test Subscriber Updated");
|
||||
$newSubscriberMonk->setEmail(random_int(23, 1000). "@email.com");
|
||||
$newSubscriberMonk->setStatus("disabled");
|
||||
$newSubscriberMonk->setLists([1, 2, 3]);
|
||||
$updatedSubscriber = $listMonk->subscribers()->update($newSubscriberMonk);
|
||||
echo "Updated subscriber:\n";
|
||||
echo $updatedSubscriber->getId(). " - " . $updatedSubscriber->getName() . "\n";
|
||||
|
||||
// Delete the created subscriber
|
||||
$deletedSubscriber = $listMonk->subscribers()->delete($updatedSubscriber->getId());
|
||||
echo "Subscriber deleted:\n";
|
||||
echo $deletedSubscriber->getId(). " - " . $deletedSubscriber->getName() . "\n";
|
||||
|
||||
5
vendor/autoload.php
vendored
5
vendor/autoload.php
vendored
@@ -14,10 +14,7 @@ if (PHP_VERSION_ID < 50600) {
|
||||
echo $err;
|
||||
}
|
||||
}
|
||||
trigger_error(
|
||||
$err,
|
||||
E_USER_ERROR
|
||||
);
|
||||
throw new RuntimeException($err);
|
||||
}
|
||||
|
||||
require_once __DIR__ . '/composer/autoload_real.php';
|
||||
|
||||
45
vendor/composer/InstalledVersions.php
vendored
45
vendor/composer/InstalledVersions.php
vendored
@@ -26,12 +26,23 @@ use Composer\Semver\VersionParser;
|
||||
*/
|
||||
class InstalledVersions
|
||||
{
|
||||
/**
|
||||
* @var string|null if set (by reflection by Composer), this should be set to the path where this class is being copied to
|
||||
* @internal
|
||||
*/
|
||||
private static $selfDir = null;
|
||||
|
||||
/**
|
||||
* @var mixed[]|null
|
||||
* @psalm-var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}|array{}|null
|
||||
*/
|
||||
private static $installed;
|
||||
|
||||
/**
|
||||
* @var bool
|
||||
*/
|
||||
private static $installedIsLocalDir;
|
||||
|
||||
/**
|
||||
* @var bool|null
|
||||
*/
|
||||
@@ -309,6 +320,24 @@ class InstalledVersions
|
||||
{
|
||||
self::$installed = $data;
|
||||
self::$installedByVendor = array();
|
||||
|
||||
// when using reload, we disable the duplicate protection to ensure that self::$installed data is
|
||||
// always returned, but we cannot know whether it comes from the installed.php in __DIR__ or not,
|
||||
// so we have to assume it does not, and that may result in duplicate data being returned when listing
|
||||
// all installed packages for example
|
||||
self::$installedIsLocalDir = false;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
private static function getSelfDir()
|
||||
{
|
||||
if (self::$selfDir === null) {
|
||||
self::$selfDir = strtr(__DIR__, '\\', '/');
|
||||
}
|
||||
|
||||
return self::$selfDir;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -322,19 +351,27 @@ class InstalledVersions
|
||||
}
|
||||
|
||||
$installed = array();
|
||||
$copiedLocalDir = false;
|
||||
|
||||
if (self::$canGetVendors) {
|
||||
$selfDir = self::getSelfDir();
|
||||
foreach (ClassLoader::getRegisteredLoaders() as $vendorDir => $loader) {
|
||||
$vendorDir = strtr($vendorDir, '\\', '/');
|
||||
if (isset(self::$installedByVendor[$vendorDir])) {
|
||||
$installed[] = self::$installedByVendor[$vendorDir];
|
||||
} elseif (is_file($vendorDir.'/composer/installed.php')) {
|
||||
/** @var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>} $required */
|
||||
$required = require $vendorDir.'/composer/installed.php';
|
||||
$installed[] = self::$installedByVendor[$vendorDir] = $required;
|
||||
if (null === self::$installed && strtr($vendorDir.'/composer', '\\', '/') === strtr(__DIR__, '\\', '/')) {
|
||||
self::$installed = $installed[count($installed) - 1];
|
||||
self::$installedByVendor[$vendorDir] = $required;
|
||||
$installed[] = $required;
|
||||
if (self::$installed === null && $vendorDir.'/composer' === $selfDir) {
|
||||
self::$installed = $required;
|
||||
self::$installedIsLocalDir = true;
|
||||
}
|
||||
}
|
||||
if (self::$installedIsLocalDir && $vendorDir.'/composer' === $selfDir) {
|
||||
$copiedLocalDir = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -350,7 +387,7 @@ class InstalledVersions
|
||||
}
|
||||
}
|
||||
|
||||
if (self::$installed !== array()) {
|
||||
if (self::$installed !== array() && !$copiedLocalDir) {
|
||||
$installed[] = self::$installed;
|
||||
}
|
||||
|
||||
|
||||
24
vendor/composer/installed.json
vendored
24
vendor/composer/installed.json
vendored
@@ -2,23 +2,16 @@
|
||||
"packages": [
|
||||
{
|
||||
"name": "adnanhussainturki/listmonk-php",
|
||||
"version": "0.1",
|
||||
"version_normalized": "0.1.0.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/AdnanHussainTurki/listmonk-php.git",
|
||||
"reference": "0d43700377dfe5eac43f4f6751e83b42e85b5400"
|
||||
},
|
||||
"version": "dev-main",
|
||||
"version_normalized": "dev-main",
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/AdnanHussainTurki/listmonk-php/zipball/0d43700377dfe5eac43f4f6751e83b42e85b5400",
|
||||
"reference": "0d43700377dfe5eac43f4f6751e83b42e85b5400",
|
||||
"shasum": ""
|
||||
"type": "path",
|
||||
"url": "/home/magdev/workspaces/php/listmonk-php",
|
||||
"reference": "13ece3885c574ccab39cdbe711ff0cfda408b561"
|
||||
},
|
||||
"require": {
|
||||
"guzzlehttp/guzzle": "^7.8"
|
||||
},
|
||||
"time": "2023-11-12T00:45:46+00:00",
|
||||
"type": "library",
|
||||
"installation-source": "dist",
|
||||
"autoload": {
|
||||
@@ -26,7 +19,6 @@
|
||||
"AdnanHussainTurki\\ListMonk\\": "src/"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
@@ -37,9 +29,9 @@
|
||||
}
|
||||
],
|
||||
"description": "Package aims to ease up the API calls to a listmonk API from PHP based application",
|
||||
"support": {
|
||||
"issues": "https://github.com/AdnanHussainTurki/listmonk-php/issues",
|
||||
"source": "https://github.com/AdnanHussainTurki/listmonk-php/tree/0.1"
|
||||
"transport-options": {
|
||||
"symlink": true,
|
||||
"relative": false
|
||||
},
|
||||
"install-path": "../adnanhussainturki/listmonk-php"
|
||||
},
|
||||
|
||||
6
vendor/composer/installed.php
vendored
6
vendor/composer/installed.php
vendored
@@ -11,9 +11,9 @@
|
||||
),
|
||||
'versions' => array(
|
||||
'adnanhussainturki/listmonk-php' => array(
|
||||
'pretty_version' => '0.1',
|
||||
'version' => '0.1.0.0',
|
||||
'reference' => '0d43700377dfe5eac43f4f6751e83b42e85b5400',
|
||||
'pretty_version' => 'dev-main',
|
||||
'version' => 'dev-main',
|
||||
'reference' => '13ece3885c574ccab39cdbe711ff0cfda408b561',
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../adnanhussainturki/listmonk-php',
|
||||
'aliases' => array(),
|
||||
|
||||
5
vendor/composer/platform_check.php
vendored
5
vendor/composer/platform_check.php
vendored
@@ -19,8 +19,7 @@ if ($issues) {
|
||||
echo 'Composer detected issues in your platform:' . PHP_EOL.PHP_EOL . str_replace('You are running '.PHP_VERSION.'.', '', implode(PHP_EOL, $issues)) . PHP_EOL.PHP_EOL;
|
||||
}
|
||||
}
|
||||
trigger_error(
|
||||
'Composer detected issues in your platform: ' . implode(' ', $issues),
|
||||
E_USER_ERROR
|
||||
throw new \RuntimeException(
|
||||
'Composer detected issues in your platform: ' . implode(' ', $issues)
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user